Author Topic: TI 84 CSE bug  (Read 6828 times)

0 Members and 1 Guest are viewing this topic.

Offline Thomas the Death Machine

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 10
  • Rating: +0/-0
  • wode
    • View Profile
    • Steam Profile
TI 84 CSE bug
« on: October 22, 2014, 04:50:45 pm »
Hey guys, I have a bug on my calculator that i need fixed within about an hour. I put my TI 84 CSE on the charger last night, and when I woke up, It wouldn't do anything! the screen is locked on doors 8.1
not terrible at programming!



Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TI 84 CSE bug
« Reply #1 on: October 22, 2014, 04:52:55 pm »
Something similar happened to me, it's Doors CSE. I already told the creator (KermMartian) about this, and he says that he will fix that when he updates Doors CSE again. As for your calculator, I'm afraid you'll have to hit the reset button on the back of the calculator.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TI 84 CSE bug
« Reply #2 on: October 22, 2014, 04:54:33 pm »
Hi and welcome to the forums.

Have you tried resetting the calc by pressing the button on the back with a pen? That generally fixes stuff related to ASM programs (eg if a game freezes). This will clear all your RAM, though, so you might lose some programs.


Question: When you started charging your calculator, was Doors CS 8.1 running? I am curious because MirageOS 1.1 had a similar issue happening when you plugged a link cable into the calc link port (the password thing would appear then the calculator would go haywire, often with a RAM clear as a result)

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TI 84 CSE bug
« Reply #3 on: October 22, 2014, 04:56:08 pm »
Hi and welcome to the forums.

Have you tried resetting the calc by pressing the button on the back with a pen? That generally fixes stuff related to ASM programs (eg if a game freezes). This will clear all your RAM, though, so you might lose some programs.


Question: When you started charging your calculator, was Doors CS 8.1 running? I am curious because MirageOS 1.1 had a similar issue happening when you plugged a link cable into the calc link port (the password thing would appear then the calculator would go haywire, often with a RAM clear as a result)
What happened to me is that I was running DCSE and then I removed the cable, and then it froze.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TI 84 CSE bug
« Reply #4 on: October 22, 2014, 05:15:22 pm »
Yeah that's a problem with several ASM programs actually. It seems that the calculator doesn't like when a cable is pulled/plugged in in the middle of an ASM program, although I think some programs work around this. There were also rumors that the calculator lacks battery level detection during ASM program runtime (which would be plausible, considering ASM takes full control of the calculator and that the calculator hardware is so ancient), so if you played a game until your battery is depleted, then  unless that particular game detects low battery levels by itself, you might risk damaging it beyond repair, but I don't know if that is true.
« Last Edit: October 22, 2014, 05:17:43 pm by DJ Omnimaga »

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: TI 84 CSE bug
« Reply #5 on: October 28, 2014, 06:49:04 pm »
This is a bit late but. . . .


The USB hardware isn't very well understood. Generally, most 3rd-party software just ignores it. This causes problems if they take over interrupts, because USB can also generate interrupts. When you connect or disconnect the USB cable, an interrupt is generated. If the running software has taken over interrupts, hasn't disabled USB interrupts, and doesn't handle the interrupt, it will freeze because the interrupt keeps firing. Eventually, the stack will overflow and wipe all RAM. Eventually, I hope to have some fairly simple code that can disable and re-enable USB, so assembly programs won't crash.


Also, the TI-8x series originally ran on AAAs, so TI had no reason to include a low-voltage shutdown circuit on the ASIC. The LCD backlight dimmer has one, but it cuts off at a voltage (2.0 V) way lower than the voltage at which the battery has been damaged---and the dimmer is connected DIRECTLY to the battery (it's really easy to see the giant trace on the PCB). So if the calculator crashes with the backlight on, the backlight will remain on until well after the battery can't hold a useful charge anymore (unless there's a hidden circuit elsewhere that forces the control pin on the dimmer low).
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TI 84 CSE bug
« Reply #6 on: October 28, 2014, 07:12:20 pm »
Would this program be in the form of an OS patch so that no current ASM program need to be modified in order to fix that issue or would this be in the form of an ASM routine released on ticalc.org that people can insert in their respective programs?


Could you clarify about if an ASM program is left running without crashing, then if the battery is safe or not and if the calculator will just shut down? I might be missing something, though.

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: TI 84 CSE bug
« Reply #7 on: October 29, 2014, 02:33:03 am »
Would this program be in the form of an OS patch so that no current ASM program need to be modified in order to fix that issue or would this be in the form of an ASM routine released on ticalc.org that people can insert in their respective programs?
Er, a patch seems like a little too extreme a solution.


Could you clarify about if an ASM program is left running without crashing, then if the battery is safe or not and if the calculator will just shut down? I might be missing something, though.
It depends on whether the program takes over interrupts. TI checks for the low battery condition in their interrupt handler ---or at least they used to, I should probably check that---, so if their interrupt handler is still active, the OS can see the problem and shutdown. I should definitely look into how TI checks for the low-battery condition so that people know how to make their own interrupt handlers do it.
« Last Edit: October 29, 2014, 02:35:00 am by DrDnar »
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: TI 84 CSE bug
« Reply #8 on: November 13, 2014, 07:57:23 pm »
I finally got around to writing the code to disable and re-enable USB so USB interrupts can't crash your program/app. It's on WikiTI: http://wikiti.brandonw.net/index.php?title=83Plus:USB section "How to Disable & Re-enable USB to Prevent USB Interrupts from Freezing Your Program/App"
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC