Author Topic: My calculator crashed! Now what?  (Read 56738 times)

0 Members and 1 Guest are viewing this topic.

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
My calculator crashed! Now what?
« on: January 07, 2011, 11:53:35 pm »
So you crashed your calculator, huh? Now what?

Here's a quick guide on getting those precious programs back.



Step 0: Back up.

Easiest way to keep projects alive is to never lose them in the first place, so BACK UP. Especially if you're coding with Axe or ASM, always, always backup your progress whenever you can.

If you can't back up often for any reason, I highly recommend getting Calcsys on your calculator before anything bad every happens. It will make recovering programs much, much easier. Even if you can back up, it will save you in cases where your backups fail.



Spoiler For Step 1:


Seriously, don't panic. You'll just do random stuff and mess up your calculator more.



Step 2: So what happened?

First, a reality check: Did your calculator really crash, or is the contrast just turned way down? Try pressing 2ND and hold down UP for a few seconds. And if that fixes it, don't worry, it's a pretty common mistake ;)

Now we gotta figured out what happened. How'd you get to this point?

Spoiler For If you got here after pressing 2ND > MEM > 7:Reset...:
It's your own damn fault (which you should probably know by now). Sorry, but once you reset, it's gone.

Spoiler For If your calculator suddenly turned off for no reason at all (usually when you're running a buggy ASM program or app):
Try turning it on again. If it turns on and gives you the "RAM cleared" screen, you're done. Anything you had in RAM at the time (anything without a * next to its name in the Mem Mgmt/Del... menu) is gone, but your calculator (and anything you had in archive) is all right. If you really, really want to recover a program that you've archived before but left in RAM at the time, you can try using the Archive Undeleter to get it back.

Spoiler For If your calculator only flashes and turns off again when you press ON:
Your batteries might have simply run out suddenly. This is especially a problem if you use rechargeable batteries, which don't warn you beforehand with that "Your batteries are low" screen. Replace the batteries and see if your calc still works.

If it still doesn't turn on after you put in new batteries (make sure they're actually new — I once spent fifteen minutes panicking at this point before I realized the "new" batteries were pretty old too :P), take out all the batteries, including the backup battery (you'll need a screwdriver), wait fifteen minutes, put the batteries back in, and try to turn it on. If it still doesn't turn on, your calculator has really crashed. Read on.



Step 3: Getting your calc to work again

Some info you need to know at this point: When the calculator boots up again after a RAM clear or crash, there are several ways it can start up. Pressing ON by itself is the normal boot. Since your calculator can't do that, you'll need to try other options.

First, test to see if your boot code is still valid:

1. Take out a battery.
2. While still holding the battery in your hands, press and hold DEL. Hard.
3. Insert the battery while you're still holding down DEL.
4. It should give you a message waiting for an operating system transfer. If not, press ON and see if it appears.

Spoiler For If the message doesn't appear:
Repeat steps 1 through 4 a few more times just to be sure. If the message never appears, something's really wrong with your calculator, and I can't help you, sorry :-\ There are many people who know more about calcs than I do, though (blasphemy!), so ask around.

Spoiler For If the message does appear:
All right, the fact that the message appeared means that your calculator still works, sort of. Press ON to cancel, then press any other key to turn the calc off again. Now try the alternate boot: Hold down CLEAR and press ON. What this does is that it boots up the calculator without parsing the archive. (During normal booting, the calculator searches through the archive and adds all variables it finds to a table called the VAT, but if something went wrong when it searches (for example if some part of the archive is corrupted), you can use the CLEAR+ON boot to skip this step.)

Your calculator should turn on and land you on the (now so reassuring) "RAM cleared" screen. If it does, skip to the step 4 but DON'T DO ANYTHING THAT MODIFIES THE ARCHIVE. In other words, do not:

  • run GarbageCollect
  • archive any variable
  • run a program or app that modifies the archive (such as MirageOS, which archives an appvar called MirageOS with app info)

Spoiler For If your calculator still doesn't turn on with CLEAR+ON:
Your OS probably got corrupted. Don't worry, it's not as bad as it sounds (look back to step 1 if you're not sure). Try reinstalling it, either from another calculator or from a computer.

If it doesn't work, here are some tips the great Brandon Wilson himself gave me:

Quote from: BrandonW
To fix your calculator:

1. Intentionally corrupt your OS. The quick and dirty way would be to use ON+DEL and start an OS transfer, then pull the cable in the middle of the transfer.

2. Once the OS is corrupted, you'll be stuck at the "Waiting...Please install operating system now." screen when turning the calculator on. After turning it on, press [MODE]. It will display "Testing flash" (or "ID FAILED" and then "Testing flash" -- doesn't matter) (note that on a certificate-corrupted calculator, this won't work because it tries to retrieve your calc ID, which will fail on a severely corrupted certificate (same reason why it bricks)).

3. It should keep displaying periods while it erases the entire Flash chip (excepting the certificate and boot code, of course). I can't remember what it displays next, but once it does something new, you can pull a battery.

4. Turn the calculator back on and re-install the OS.

5. Once you're back into the TI-OS, the entire archive should be completely empty. You may also notice that the Mem Mgmt/Del menu indicates more free archive memory than you're supposed to have. This is because of a bug in the boot code self test (it didn't mark one of the Flash sectors as a swap sector). Do a full memory erase from the MEM RESET menu and I think that should take care of it.

6. Restore any programs or applications back to your calculator.



Step 4: Getting everything working

If you're here, it means you've turned your calculator on by CLEAR+ON. Now you've got to ask yourself this question: What to you want to recover?

Spoiler For If you don't really care:
Recovering variables can take a lot of work, and if you'd rather just redo it (which is much easier in most cases), just press 2ND+[MEM], select 7:Reset…, press LEFT (to ALL), select 1:All Memory, and select 2:Reset. When the "Mem cleared" message comes (this can take a few seconds), your calculator should be completely back to normal. You're done :)

Spoiler For If you want the stuff in RAM:
Sorry to tell you this, but it's gone :( But if you've archived that variable at least once since your last GarbageCollect, there's hope you can recover the last version that you archived. Open up the spoiler for "If you want the stuff in the archive" for more information.

Spoiler For If you want the stuff in the archive:
First a warning: Recovering things from the archive can take a lot of work. And then you have to remember that your archive is definitely corrupted in some way (but depending on how you got the crash, chances may be good it's just a tiny, tiny portion and won't affect anything). If what you want to recover is something you can recode easily, you might as well do that. In that case, click on the spoiler for "If you don't really care" for final instructions.

First off: Do you have Calcsys already on your calculator? If so, go on to step 5. If not, go to step 6.



Step 5: Recovering with Calcsys

Calcsys is a very powerful tool, especially in dealing with the calculator's memory directly. Some of its features can be used to help recover programs, and here's one way to do it (for programs and groups).

First, take the name of the program and group you want to recover and convert it to hex code. To do this, find each letter in this table and record its column and row. For example, a program named HELLO would be 48454C4C4F. Write down the hex code for later reference.

Now start up Calcsys and go into 5. Console. It should give you a blank prompt that looks like a homescreen. Type "SEARCH " followed by the hex string you just found and press ENTER. (For that HELLO program above, this would be "SEARCH 48454C4C4F.") In a second or so, it should give you an answer in the form ####,## where the #s are hex digits (digits or letters from A to F). If it give you "Search Complete" instead, that means the variable you're trying to find isn't in the archive, and you can't recover it :-\ Otherwise, write the result down. Then press ENTER to see the next result and write it down. Keep doing this until it gives you "Search Complete" and returns to the prompt.



The list of numbers you just wrote down are a list of memory addresses. The two #s after the comma are the page number where it found that instance of the program's name, and the four #s before the comma point to the exact spot of memory on that page (between $4000 and $7FFF). Both numbers are in hex, and don't worry if you don't understand it :)

Now look through the list and find the entry with the largest page number. If there are several with the same number, look for the entry with the largest address number. Circle it.

Now type QUIT to go back to the main menu.

Now select 1. Hex Editor. It should greet you with a page full of hex digits and characters. If you've never seen anything of the sort before, don't worry, it's not that confusing once you get used to it.



Press ALPHA+[R]. It should prompt you for a page number. Type the two digits after the comma in the entry you just circled. What you just did is a page switch: Calcsys will now display the memory from that page of flash.



Now press ALPHA+[G]. When it prompts you, type the four digits before the comma in the entry you circled. You should probably understand what this does ;)

See if the characters (starting on the second row) spell out the name of the program or group you're trying to recover. If it doesn't, you probably typed the page or address number wrong, so just try again.



Now press LEFT twice and UP twice.



Write down the four hex digits at the very top left of the screen and write it down. Then draw a box around it for reference.

Then press 2ND+[QUIT] to return to the home screen.

Spoiler For If you're recovering a program:
Create a program with the exact name as the one you're trying to recover. It doesn't matter what you put in it, so just leave the program blank. All that matters is that the program has to exist when you do the next step.

Now go back into Calcsys. This time, select 6. More, 1. VAT, then 1. Prog/List VAT. If the program's not listed on the screen, press 6. Next until it is.



Select the program. It should give you a page of information about it.



Press ALPHA+[V]. You should be back in the hex editor, but at a very specific spot in memory: the VAT entry of the program.

Press LEFT five times. The first byte displayed should be "00." Press ENTER to edit it. When it prompts you, type the page number of the entry you circled earlier.

Press RIGHT once, then press ENTER. Type the first two digits of the address you box'd earlier, not the one you circled.

Press RIGHT again, and then ENTER. Type the last two digits of the address you box'd.

Press 2ND+[QUIT] to return to the home screen. Go into 2ND+[MEM] > 2:Mem Mgmt/Del…. The program should be archived now. Unarchive it.

It should be exactly the same as the way it was before your calculator got corrupted. Magic! :o

If it glitches, that means the program itself is corrupted. Sorry to tell you this, but you can't get it back :-\

Spoiler For If you're recovering a group:
Create a group with the exact name as the one you're trying to recover. It doesn't matter what you put in it, so just select L1 and L2 or something. All that matters is that the group has to exist when you do the next step.

Now go back into Calcsys. This time, select 6. More, 1. VAT, then 1. Prog/List VAT. If the group's not listed on the screen, press 6. Next until it is.



Select the group. It should give you a page of information about it.



Press ALPHA+[V]. You should be back in the hex editor, but at a very specific spot in memory: the VAT entry of the group.

Press LEFT five times. Press ENTER to edit the byte displayed. When it prompts you, type the page number of the entry you circled earlier.

Press RIGHT once, then press ENTER. Type the first two digits of the address you box'd earlier, not the one you circled.

Press RIGHT again, and then ENTER. Type the last two digits of the address you box'd.

Press 2ND+[QUIT] to return to the home screen. Go into 2ND+[MEM] > 8:Group…, then press RIGHT (to UNGROUP). Ungroup the group.

The vars ungrouped should be exactly the same as they were before your calculator got corrupted. Magic! :o

If it glitches, that means the group itself is corrupted. Sorry to tell you this, but you can't get it back :-\

Now that you got your program/group back, send it to another calculator or computer IMMEDIATELY. Then open up the spoiler for "If you don't really care" under step 4 for final instructions. Enjoy!



Step 6: Recovering without Calcsys

Spoiler For If you have TiLP installed:
If you have TiLP II already installed, use it to dump your ROM. I've never used TiLP before, so I can't give you any help on this step, sorry. Then skip to step 7.

If you don't have TiLP, don't worry about installing it. It's not needed to dump your ROM; it just has a nice feature that makes it a lot easier.

Download this program (thanks to calcdude84se for making it) and send it to your calc. Make sure you send it to RAM!

Spoiler For If it doesn't send correctly for any reason:
Create a new program, name it "DUMPPAGE," and type the following EXACTLY into it:

:AsmPrgm
:210F40EFFD42300A
:21599EEF0A45EF2E
:45C9DB06F5EF4645
:EF584521689EEF0A
:45EF2E45CDEB9D87
:878787F5CDEB9DC1
:80F52A188522569E
:21519EEF7A412100
:40EF6A4E1313F1F3
:D306210040444DED
:B0F1D306FBC9EF18
:400600FE21284D04
:FE22284804FE1A28
:4304FE12283E04FE
:23283904FE1B2834
:04FE13282F04FE24
:282A04FE1C282504
:FE14282004FE2F28
:1B04FE27281604FE
:1F281104FE2E280C
:04FE26280704FE1E
:280218AA7821769E
:856F300124C57EEF
:0445F1C915504147
:450000004E656564
:2031364B69422052
:414D005479706520
:70616765206E6F2E
:0030313233343536
:3738394142434445
:46


You might want to double check it a few times to make sure it's right. If there's one mistake, it could mess up your calculator more.

All right, now you have a program DUMPPAGE on your calculator, whether you downloaded it or coded it yourself. Either way, do the following:

1. Make sure you have at least 16400 bytes of RAM free.
2. Run the program from your home screen with the line Asm(prgmDUMPPAGE) (find the Asm( token in 2ND+[CATALOG]).
3. When it displays "Type page no.," type "08."
4. Send the appvar it creates to a computer.
5. Delete the appvar.
6. Repeat steps 2 through 5, but typing a different page number each time instead of 0C:

Spoiler For If you have a plain (black) TI-83 Plus:
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15


Spoiler For If you have a plain (non-removable key cover) TI-84 Plus:
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29


Spoiler For If you have a TI-83 Plus Silver Edition or TI-84 Plus Silver Edition:
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69


The appvars created contain the entire archive memory of your calculator. You can then use them to search for and recover variables (if you know how) or find someone to help you do that.

Comments? Suggestions? Post 'em here.
« Last Edit: January 19, 2011, 11:27:51 pm by Deep Thought »




Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My calculator crashed! Now what?
« Reply #1 on: January 08, 2011, 08:50:51 am »
Thanks Deep Thought, I'll probably print this for later help :D
« Last Edit: January 19, 2011, 11:28:12 pm by Deep Thought »

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: My calculator crashed! Now what?
« Reply #2 on: January 09, 2011, 08:15:07 pm »
Awesome so far! I wish I knew about Step 4 and what is gonna follow back in early 2002, when I worked on Illusiat 2002. The calc turning OFF issue happened to me and I lost the entire 79 KB Illusiat RPG I was working on back then :'( (Actually if it requires CalcSys I don't think CalcSys existed back then, though)
« Last Edit: January 19, 2011, 11:28:20 pm by Deep Thought »

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: My calculator crashed! Now what?
« Reply #3 on: January 09, 2011, 08:17:35 pm »
It's possible to recover things without Calcsys, but it's harder and involves dumping flash pages so you can try extracting stuff with an on-comp program.

EDIT: 79 KB... That's a pretty big loss D:
« Last Edit: January 19, 2011, 11:28:25 pm by Deep Thought »




Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: My calculator crashed! Now what?
« Reply #4 on: January 09, 2011, 08:20:53 pm »
I read it all, and am excitedly waiting for the last step. ;-)
« Last Edit: January 19, 2011, 11:28:30 pm by Deep Thought »

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: My calculator crashed! Now what?
« Reply #5 on: January 09, 2011, 11:51:18 pm »
Update with a bit more info. No time todya, I'll finish ti tomorrow :)
« Last Edit: January 19, 2011, 11:28:37 pm by Deep Thought »




SirCmpwn

  • Guest
Re: My calculator crashed! Now what?
« Reply #6 on: January 09, 2011, 11:57:32 pm »
Nice!  Although I have cleared my RAM 86 times today.  I keep everything archived, no matter what.  I also have a ritual when RAM clears to restore my hooks, which I can probably do behind my back.  I actually often clear my RAM intentionally.  It's nice to keep things archived.
« Last Edit: January 19, 2011, 11:28:43 pm by Deep Thought »

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: My calculator crashed! Now what?
« Reply #7 on: January 10, 2011, 10:52:22 am »
Nice!  Although I have cleared my RAM 86 times today.  I keep everything archived, no matter what.  I also have a ritual when RAM clears to restore my hooks, which I can probably do behind my back.  I actually often clear my RAM intentionally.  It's nice to keep things archived.

/advertisement

Ever try my flag saver? It's really old and probably unoptimized, but it works ;D
« Last Edit: January 19, 2011, 11:28:49 pm by Deep Thought »




SirCmpwn

  • Guest
Re: My calculator crashed! Now what?
« Reply #8 on: January 10, 2011, 01:36:19 pm »
That would be a great idea, but I only have one flag changed (lowercase) from default.  The rest is hooks.
« Last Edit: January 19, 2011, 11:28:56 pm by Deep Thought »

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: My calculator crashed! Now what?
« Reply #9 on: January 10, 2011, 01:58:54 pm »
Oh, okya.

UPDATE: Just added more info. It should be pretty much finished now :D
« Last Edit: January 19, 2011, 11:29:02 pm by Deep Thought »




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: My calculator crashed! Now what?
« Reply #10 on: January 10, 2011, 02:11:19 pm »
Awesome Deep Thought! Looks very detailled!
« Last Edit: January 19, 2011, 11:29:07 pm by Deep Thought »

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My calculator crashed! Now what?
« Reply #11 on: January 10, 2011, 02:32:59 pm »
Awesome Deep Thought! Looks very detailled!

WOAH I've just seen all the screenshots and extra information!

Good job Deep Thought.
« Last Edit: January 19, 2011, 11:29:12 pm by Deep Thought »

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: My calculator crashed! Now what?
« Reply #12 on: January 10, 2011, 03:10:51 pm »
Don't forget about ARCHUTIL by Dr.Dnar. It fit's in with the Calcsys method and is way easier assuming your programs are not in the same sector as the corrupted thing.

Also, I have found that removing all of the batteries is not necessary, the ON + battery has always given me a ram clear and saves a lot of time as opposed to leaving a battery out for 15 minutes. And, I think before you reformat the flash chip, you should have people try to reinstall an OS. Reinstalling an OS doesn't delete the archive so they would still have their stuff if all goes well.
« Last Edit: January 19, 2011, 11:29:17 pm by Deep Thought »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

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: My calculator crashed! Now what?
« Reply #13 on: January 10, 2011, 03:41:29 pm »
Don't forget about ARCHUTIL by Dr.Dnar. It fit's in with the Calcsys method and is way easier assuming your programs are not in the same sector as the corrupted thing.

Also, I have found that removing all of the batteries is not necessary, the ON + battery has always given me a ram clear and saves a lot of time as opposed to leaving a battery out for 15 minutes. And, I think before you reformat the flash chip, you should have people try to reinstall an OS. Reinstalling an OS doesn't delete the archive so they would still have their stuff if all goes well.

Ah, thanks for the info! I'll add that.

I didn't include ARCHUTIL because I have a link to DrDnar's Archive Undelete, which I thought would be easier for people to use than ARCHUTIL.

EDIT2: Oh, wait, ARCHUTIL can be used to recover manually... Never mind, I'll add a link to that too. It won't work with groups though, right?

EDIT3: Finished!
« Last Edit: January 19, 2011, 11:29:30 pm by Deep Thought »




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: My calculator crashed! Now what?
« Reply #14 on: January 10, 2011, 08:24:07 pm »
Ok I saw the new updates, very nice. :)
« Last Edit: January 19, 2011, 11:29:43 pm by Deep Thought »