Join us on Discord!
You can help CodeWalrus stay online by donating here.

TI-OS 84+ Bugs

Started by DarkestEx, October 13, 2015, 07:36:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DarkestEx

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 /.

  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Adriweb

Interesting but, hmm you have a "π" in the program name... ?
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

CVSoft

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.
  • Calculators owned: TI-73, TI-81, TI-81, TI-81, TI-81, TI-81, TI-81, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-83, TI-83, TI-83 Plus, TI-84 Plus, TI-85, TI-86, TI-89 Titanium

DarkestEx

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.
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Dream of Omnimaga

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)?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

CVSoft

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.
  • Calculators owned: TI-73, TI-81, TI-81, TI-81, TI-81, TI-81, TI-81, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-83, TI-83, TI-83 Plus, TI-84 Plus, TI-85, TI-86, TI-89 Titanium

Dream of Omnimaga

#6
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).
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

CVSoft

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.
  • Calculators owned: TI-73, TI-81, TI-81, TI-81, TI-81, TI-81, TI-81, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-83, TI-83, TI-83 Plus, TI-84 Plus, TI-85, TI-86, TI-89 Titanium

Dream of Omnimaga

But was the token 2-bytes? On the 83 and 83+ the bug only happens with 2-byte tokens
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

CVSoft

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.
  • Calculators owned: TI-73, TI-81, TI-81, TI-81, TI-81, TI-81, TI-81, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-82, TI-83, TI-83, TI-83 Plus, TI-84 Plus, TI-85, TI-86, TI-89 Titanium

utz

  • Calculators owned: TI-82, TI-83, TI-83+, TI-85, TI-86, TI-92+, Sharp PC-1403

Dream of Omnimaga

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.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dream of Omnimaga

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.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

E37

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?)
  • Consoles, mobile devices and vintage computers owned: Ti83,Ti84!
I've never finished a project, there is always a way to improve!
What's my calc's name? Convert $37 to decimal. Look up that element in the periodic table. Then take the abbreviation of that element and you have it!
Look! A slime!    <(^.^)>

Dream of Omnimaga

I actually tried the archive/unarchive trick on a CE and it doesn't appear to work anymore.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal