Author Topic: Bug Reports  (Read 403376 times)

0 Members and 3 Guests are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Bug Reports
« Reply #495 on: July 08, 2010, 02:54:43 pm »
I would need to do it and show the code in action to explain what I mean. I could maybe attempt a TI-BASIC demo, though, or if someone post an Axe made circle routine I could use it to show you.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #496 on: July 08, 2010, 02:59:30 pm »
Yeah sometimes its easier to explain things with images (most of the time actualy) hmmm Basic could work, what about a image program like paint?

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #497 on: July 08, 2010, 03:52:46 pm »
I know the circle can be used for cool effects, but what I'm thinking is that its far more useful for a circle to disappear with a small radii than it is for a random effect to occur.  The first would be used far more often, and using the min() command each time would be a hassle and increase the code size.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Bug Reports
« Reply #498 on: July 08, 2010, 11:45:00 pm »
Yeah I guess it's better to make the routine so it is as convenient as possible for the average user, not for the few people who may use it for unconventional purposes (like the magic animation)

Also someone could simply write his own circle routine and attempt at doing that animation manually anyway if he absolutely needs it
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline cooliojazz

  • Support Staff
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 619
  • Rating: +66/-9
  • I omnoms on your soul
    • View Profile
    • Unreal Phantasies
Re: Bug Reports
« Reply #499 on: July 09, 2010, 12:11:45 am »
Unknown Error: 3224869
I get this after I get a bad symbol error, and try to scroll to it.
This code is causing the error:
Code: [Select]
For(P,0,7)
For(O,0,15)
Output(O,P,{Str1+{O*4+(P*64)+(theta)+3}+({Str1+{O*4+(P*64)+(theta)+2}*2)+({Str1+{O*4+(P*64)+(theta)+1}*4)+({Str1+{O*4+(P*64)+(theta)}*8)}>Frac
End
End
Repeat getKey:End
« Last Edit: July 09, 2010, 12:12:29 am by cooliojazz »
Spoiler For Random signess:
You can not beat my skills.
Trust me.
So don't even try.
And remember never to trust someone who says, "Trust me."

TI File Editor Progress: Remade in java like a boss. 50% we'll call it? IDK =P
Java Libraries: JIRC - 90% JTIF - 5%
TI Projects: Unreal Notator - -5000%
Nomcraft, a Bukkit mod
Some of the music I write can be found here | The Rest Should Be Here (Bandcamp)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #500 on: July 09, 2010, 02:33:04 am »
Whoops!  What was supposed to happen was if the source is in archive and you try to scroll to the error it quits instead and if the source file is not found on the calculator at all... then something is terribly wrong so it gives an unknown error.  I accidentally switched these 2 conditions lol.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Bug Reports
« Reply #501 on: July 09, 2010, 02:36:32 am »
That happens ;D
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #502 on: July 09, 2010, 02:38:09 am »
It seems the line -{N}r isn't handled correctly, it gives me weird values and has been the source of much a headahe the last few days x.x

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #503 on: July 09, 2010, 03:45:58 am »
Not again ahhhh...  >:(

This is like the 5th time I've had to redo the negative numbers.  Is probably one of the most complicated parts about the parser since I not only have to parse it correctly, but also automatically optimize things like making a subtraction of a negative number an addition or ignoring double negatives for example.  Its extremely difficult for 2 reasons.  First of all, they don't behave like normal functions because they have no end parenthesis.  It would be a breeze to implement Neg() as a function or even X% where % is some kind of postscript symbol like the "squared" button.  But NO! I have to figure out where to put the closing parenthesis and its a lot harder than it sounds.  In builderboy's problem it was putting the parenthesis like this: -({R)} so making R negative instead of {R}.  The second reason negatives are annoying and confusing is that when the parser reaches a negative sign, it has no idea if the expression is a constant or variable because the 2 are handled very differently.  I have to use some look ahead parsing for that which just complicates things further.

Anyway, I've fixed the problem.  Hopefully I will find a better system for this soon.
« Last Edit: July 09, 2010, 03:47:57 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #504 on: July 09, 2010, 04:11:02 am »
Yikes that sounds like a whole lot of not fun :( imma just using -1* right now so it's all good

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Bug Reports
« Reply #505 on: July 09, 2010, 08:35:29 am »
Sorry this is so late (I hate being in a different time zone (BST) from anyone else :(), but I if Axe were to add code that automatically checks whether the radius is negative, wouldn't it inflate the code? This would be a bigger problem than having the user do a min( as it would affect everyone's code, even if the radius never would go negative. Besides, the only plausible instance I can think of right now of a circle radius being negative (unless the author purposely hard-coded it that way for some reason) is where user input affects it (as in your example), so IMHO, it might not be worth it to add the extra code.




Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Bug Reports
« Reply #506 on: July 09, 2010, 01:10:50 pm »
i agree with deep thought. what if the programmer was debugging the code and tried to draw a circle with a negative radius, and then nothing happened? wouldn't it be much more useful to debug if some sporadic fractal appeared? this way they can easily post on omnimaga or somewhere else where someone can say "yep. that's what happens in axe when you try to draw a circle with a negative radius." also, the problem can easily be fixed with abs(radius) so that it never goes negative..


Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #507 on: July 09, 2010, 02:45:30 pm »
Actually that problem has already resolved itself differently than I though.  First of all the reason it was so strange was the way it handles pixels because it makes a call to the built in pixel drawing command to save space.  That routine is modular with base 256 so pixels way off the screen in any direction loop back.  So it wasn't a problem with the circle radii at all.  You can just draw the circle far off the screen and get the same problem.  So I decided I just wouldn't add any more checks and just keep it the way it is.

And no, a check in assembly is 2 or 3 bytes for the entire code since I can use flags and its only a single byte number whereas the min and max commands are probably more like 9 bytes EVERY time you call the routine.  Huge difference.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Bug Reports
« Reply #508 on: July 09, 2010, 03:25:37 pm »
The last time I checked (pretty recently, when I was writing my own circle routine in Axe code), pixel-plotting commands weren't clipped properly. I mean, I actually got a RAM clear once. Not good :(
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #509 on: July 09, 2010, 03:53:14 pm »
Yeah, I fixed that too.  I couldn't believe how dangerous it was before.  It required the high byte of both arguments to be zero but it never bothered setting them to zero because it assumed the input was already valid.  That really wasn't safe I completely forgot it was like that until I started the circle routine and noticed that.  Sometimes my optimizations compromise too much hehe.
« Last Edit: July 09, 2010, 03:53:42 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!