CodeWalrus

Development => Calculators => Calculator News, Coding, Help & Talk => Topic started by: DarkestEx on October 13, 2015, 07:36:06 PM

Title: TI-OS 84+ Bugs
Post by: DarkestEx on October 13, 2015, 07:36:06 PM
I discovered another bug in TIOS some time ago. It shifts the screen up (I assume the display gets out of sync) until the calculator is turned off and on again.

This simple Basic program is enough to trigger it:

CLASSIC
Degree
Seq
-47//10->Xmin
47//10->Xmax
1->Xscl
-31//0->Ymin
31//10->Ymax
1->Yscl
1->Xres
{100}->u(nMin)
"u(n-1)+.15*(80-u(n-1))"->u
DispGraph

The // is the thick /.

https://vimeo.com/142299996 (https://vimeo.com/142299996)
Title: Re: TI-OS 84+ Bugs
Post by: Adriweb on October 13, 2015, 07:55:27 PM
Interesting but, hmm you have a "π" in the program name... ?
Title: Re: TI-OS 84+ Bugs
Post by: CVSoft on October 13, 2015, 07:59:07 PM
Quote from: DarkestEx on October 13, 2015, 07:36:06 PM{100}->u(nMin)

This is the line that is at fault. TI-OS doesn't properly clean up the floating point stack when storing to u(nMin), v(nMin), or w(nMin). With the FPS corrupted, calculator behavior becomes undefined during program execution. Here's a safe example:
:{0}->u(nMin)
:Disp {1}+Ans

The bug affects the TI-83, TI-83 Plus, TI-84 Plus series. I am not sure if the TI-84 Plus CE / TI-83 Premium CE is affected.
Title: Re: TI-OS 84+ Bugs
Post by: DarkestEx on October 13, 2015, 07:59:30 PM
Quote from: Adriweb on October 13, 2015, 07:55:27 PM
Interesting but, hmm you have a "π" in the program name... ?
Thats just zStart unarchiving the program. It has no effect on this glitch as I tested earlier. Even without zstart does this glitch happen.

Quote from: CVSoft on October 13, 2015, 07:59:07 PM
Quote from: DarkestEx on October 13, 2015, 07:36:06 PM{100}->u(nMin)

This is the line that is at fault. TI-OS doesn't properly clean up the floating point stack when storing to u(nMin), v(nMin), or w(nMin). With the FPS corrupted, calculator behavior becomes undefined during program execution. Here's a safe example:
:{0}->u(nMin)
:Disp {1}+Ans

The bug affects the TI-83, TI-83 Plus, TI-84 Plus series. I am not sure if the TI-84 Plus CE / TI-83 Premium CE is affected.
Thats interesting. I wasn't aware of that.
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on October 14, 2015, 02:33:05 AM
Question, how do you access the thick / character in the program editor? I forgot


Interesting bug, though. I tried Adriweb's example on a TI-84+CSE and what happened is that some horizontal pixel garbage showed up on the graph screen. Nothing out of the ordinary on the 84+CE, though.


Could @CVSoft try this on a TI-82 (assuming it has those commands)?
Title: Re: TI-OS 84+ Bugs
Post by: CVSoft on October 14, 2015, 02:43:39 AM
Quote from: DJ Omnimaga on October 14, 2015, 02:33:05 AM
Question, how do you access the thick / character in the program editor? I forgot
I remember it being a graph style, not sure if it's accessible directly.

Quote from: DJ Omnimaga on October 14, 2015, 02:33:05 AM
Could @CVSoft try this on a TI-82 (assuming it has those commands)?
As TI-82 is best calc, it does not have these tokens.
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on October 14, 2015, 02:45:40 AM
Lol :P, but yeah I am curious about how long have some bugs been around. One nasty bug that is not likely to be triggered, but still quite bad, is the 2-byte token recall bug when you're too low in RAM. That bug was introduced on the TI-83 (now TI-82 Stats) and was still present on the 84+CSE.


EDIT: Lol it's still intact on the 84+CE. I should try with mathprint on O.O

EDIT: HA! The bug isn't present in MathPrint (tried OS 2.53MP).
Title: Re: TI-OS 84+ Bugs
Post by: CVSoft on October 14, 2015, 06:24:46 AM
I checked this on the TI-82 by filling up the RAM, leaving three bytes free, and recalling Y1 which contained "nn". The calculator refused to recall the equation, and just did nothing when I attempted the recall.

More reasons why TI-82 calc is best calc.
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on October 14, 2015, 07:47:30 AM
But was the token 2-bytes? On the 83 and 83+ the bug only happens with 2-byte tokens
Title: Re: TI-OS 84+ Bugs
Post by: CVSoft on October 14, 2015, 05:10:24 PM
Quote from: DJ Omnimaga on October 14, 2015, 07:47:30 AM
But was the token 2-bytes? On the 83 and 83+ the bug only happens with 2-byte tokens

Yes; the lowercase Stats vars are two bytes.
Title: Re: TI-OS 84+ Bugs
Post by: utz on October 15, 2015, 09:45:43 AM
Quote from: CVSoft on October 14, 2015, 02:43:39 AM
As TI-82 is best calc,

Hell yes!  Hi5 bro >:D
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on October 18, 2015, 01:13:41 AM
Quote from: CVSoft on October 14, 2015, 05:10:24 PM
Quote from: DJ Omnimaga on October 14, 2015, 07:47:30 AM
But was the token 2-bytes? On the 83 and 83+ the bug only happens with 2-byte tokens

Yes; the lowercase Stats vars are two bytes.
I see. Funny how newer calcs sometimes seems to have less beta-testing done on them and that new bugs on such features get introduced.
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on September 30, 2016, 03:48:06 AM
Wow, according to a Cemetech post, the u(nMin) bug can be used to enable archiving programs from inside programs O.O: https://www.cemetech.net/forum/viewtopic.php?p=238083#238083 (I think it only works from the program you launch, not sub-programs)

I am unsure if this is safe and if the behavior is predictable, but for people with large games, that can be handy if they want to stick to pure BASIC. But of course it depends if TI fixes the bug or not.
Title: Re: TI-OS 84+ Bugs
Post by: E37 on September 30, 2016, 03:09:35 PM
Quote from: DJ Omnimaga on September 30, 2016, 03:48:06 AM
Wow, according to a Cemetech post, the u(nMin) bug can be used to enable archiving programs from inside programs O.O: https://www.cemetech.net/forum/viewtopic.php?p=238083#238083 (I think it only works from the program you launch, not sub-programs)

I am unsure if this is safe and if the behavior is predictable, but for people with large games, that can be handy if they want to stick to pure BASIC. But of course it depends if TI fixes the bug or not.
I doubt it. It's been a long time since they released a new os for the 84+
It seems they are spending all of their time on the color calcs. If it really does work, that would be nice! (perhaps some really cool basic games coming up?)
Title: Re: TI-OS 84+ Bugs
Post by: Dream of Omnimaga on September 30, 2016, 04:25:38 PM
I actually tried the archive/unarchive trick on a CE and it doesn't appear to work anymore.