Introduction
In the past few weeks, we've resolved many important mysteries concerning the hardware of the TI-83+ series of calculators. However, there are still questions remaining. There are three questions that I cannot answer without amassing data from other people. They are:

    * What does port 15h mean?
    * What does port 3Ah mean?
    * Do the autoselect commands work on all units?
    * Is the boot sector of the TI-83+ locked by the flash chip?

By giving me some simple information and running a small program on your calculator, you can help answer these questions. People with any model, from the TI-83+ to the TI-84+SE, can help. I am most interested in H revision TI-84+/SEs.

Skip to the How to Help heading if you're super lazy or just have no curiosity.

Current Theories
Port 15h has a non-zero value on the TI-83+SE and above. Its value never changes on any one particular unit, but it seems to be different on different units. Also, I've heard nothing about its value on a TI-83+. I think port 15h may be some kind of ASIC hardware version indicator. To verify this, I need data from many units. I'd also like to know whether it reports anything of interest on the TI-83+.

By request of thepenguin77, I've added a test concerning port 3A. It has something to do with USB. DanE (the prophet from the Kingdom of USB) believed it was a USB driver revision ID. We may ask you additional questions if we see an interesting value, because we have some evidence to indicate that it means something really important.

Similarly, I need data from many units too see if the autoselect commands work. I'm particularly interested in the TI-83+, because autoselect hasn't been tested on it. What is autoselect, you ask? It's a special command that allows you to query the flash chip for its manufacturer ID and device ID. The manufacturer ID will probably change from unit to unit, but the device ID should be the same for all models:

    * 23h or 0B9h for the TI-83+
    * 0DAh for the TI-84+
    * 0C4h for the TI-83+SE and the TI-84+SE

Previously, we used port 21 to distinguish between the TI-84+ and the TI-84+SE, but port 21 can be programmed to lie. If autoselect is reliable, we have a way to be certain. (I also believe that the TI-84+ and the TI-84+SE and fully identical except for the flash chip.)

Finally, you may be aware that we've succeeded in unlocking the boot sector of the TI-83+SE and TI-84+/SE. <technical stuff> However, the hardware of the TI-83+ is different. We're not sure if the boot sector on that model can be unlocked. The data sheet for the flash chip says that the chip can be configured, using a piece of hardware known as an external flash programmer, to permanently lock any combination of sectors from being written to or erased. The TI-83+SE and above don't use this method of protection, and it's possible that the TI-83+ doesn't, either. The bad news is that this can only be undone by applying 12 V to one particular pin. </technical stuff>

The good news is that there is a way to find out whether or not the flash chip's internal protection--and therefore if the boot sector can be changed--is being used: there is one additional autoselect command that allows you to query whether any particular sector is has been protected with the flash chip's internal protection. If the boot sector of the TI-83+ is locked with this protection, it will return 01; if not, 00. If you get a 00 on a TI-83+, then there may be a way to unlock the TI-83+'s boot sector.

How to Help
First, answer a few questions about your calculator.

    1. What is the model? (TI-83+, TI-83+SE, TI-84+, or TI-84+SE)
    2. What is the HW revision? (This is the last six digits of the serial number on the back of your calculator. Mine is S-0605D.)
    3. Do you need ALCDFIX? If you've never had any issues with corrupted graphics in games, you don't need it. Optional: If you do need ALCDFIX, how much delay does it add? (check ports 29 and 2A in Calcsys) Just say "yes" if you have a TI-83+.

Next, run this program (source) on your calculator, using the Asm( token found under 2nd+0. The source is attached below, too. This program will report some information:

    4. The program version number
    5. Do you have the full 128 K of RAM?
    6. The value in port 15
    7. The value in port 3A
    8. The manufacturer ID and the device ID returned by the autoselect commands
    9. The protection status of sectors 1F, 3F, and 7F

Post your answers here.

Mine are

    1. TI-84+SE
    2. S-0605D
    3. No LCD issues.
    4. Version #2
    5. Do you have the full 128 K of RAM? Yes.
    6. The value in port 15: 45
    7. The value in port 3A: 00
    8. The manufacturer ID and the device ID returned by the autoselect commands: 04 (Fujitsu) C4 (2048 K chip, top boot)
    9. The protection status of sectors 1F, 3F, and 7F: all 00


Other Mysteries
There are still other unknown ports. If you have hardware that can supply your calculator with a carefully variable voltage (from 2.9 to 5.0 VDC), let me know and I'll send you another program. I believe that the calculator can test the voltage down to at least half a volt of accuracy by writing to port 04, but I don't have the hardware to test this.

Other unknown ports are listed at WikiTI.
We have? What kind of mysteries have "we" resolved? I certainly have a ton of TI-83+ models of pretty much all hardware revisions I can help out with. Smile
1. TI-84+SE
2. P-04100
3. No
4. v#2
5. No
6. 55
7. 00
8. C2C4
9. 000000
Here are some numbers for you, bro!

1) TI-84 Plus Silver Edition
2) P-0708M
3) Tested, the calculator required ALCDFIX to run HARVEST.8xp correctly.


Code:
Hardware Tests
10 July 2011 v#2
128 K RAM: No
Port 15: 55
Port 3A: 00
IDs: 01C4
P?: 000000
Out of curiosity, will you pursue manipulation of the ports controlling the $C000 execution limit? That would be a fantastic mystery to solve, and I've consistently heard rumors that someone knows something about it.

1) TI-84 Plus Silver Edition
2) S-0704A
3) Never needed it.
4) 10 July 2011 v#2
5) 128 K RAM: Yes
6) Port 15: 44
7) Port 3A: 0F
Cool IDs: C2C4
9) P?: 000000
The findings were that port 15 is indeed some kind of ASIC revision. Calculators that read 55 or greater do not have the full 128 K of RAM. However, to confirm this, I still need a G model TI-84+/SE. Also, calculators that read 44 may have a different USB controller, and they read 0F in port 3A.

On the topic of the Protection: TI has never used the flash chip's internal sector locking feature on the TI-83+SE or TI-84+/SE. They used it on the original TI-83+, but stopped using it around 2004. On the TI-83+SE and above, the boot sector is locked only by the ASIC blocking write/erase commands to the protected sector(s). This can be turned off. Whether or not the TI-83+'s ASIC supports this is unknown.

Also, we now know how to unlock all of RAM for execution on all four models. See WikiTI port 05 for the TI-83+ and ports 25 and 26 for the other models.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement