Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
As discussed on TI-Planet, I have undertaken the task of documenting the early hardware and operating system revisions of the TI-82, collaborating with critor since its early stages and Adriweb more recently. For about three weeks I purchased almost every early production TI-82 that was listed on eBay, and performed detailed documentation of their hardware and software. Through the collective efforts of myself, critor, and Adriweb, hardware versions E through I (except G, of which we lack PCB images) were documented; the existence of ROMs 4*, 8.0, and 15.0 reputably confirmed; ROM 3. discovered; and ROMs 3., 4*, 8.0, and 15.0 dumped twenty-two years after their production. My efforts are still ongoing, but having depleted eBay of all functional and noteworthy TI-82s activity will be slowing down and focusing more on the TI-83 (whose ROM 1.0200 is the earliest found, and exists at least in HW-'A').

Note: a single letter within single quotes indicates a hardware revision, eg. I-0793F is 'F'. Datestamps are given in the format MMYY, and a leading "I-" can be ignored. Serial numbers containing "x" mean that any digit can replace the "x" and remain valid. I do not own ROM 19.006, and thus it is excluded from this analysis unless otherwise specified.


Serial numbers
I am not entirely sure if someone else has documented trends (or the lack thereof) in serial numbering, but I independently assembled my own analysis of serial numbers as observed from a database of about 130 TI-82s.
  • 7-digit serial numbers were used since the first TI-81s in 1990. TI also used this numbering system with the early TI-82s and TI-85. In January 1994 (also seems to be the same date for the TI-85; February 1993 for the TI-81) TI switched to an 8-digit format. I do not believe TI had a method of preventing overlap of serial numbers given only five digits of a 7-digit serial number were variable for a given month of any year; I have seen TI-85s from different years with serial numbers less than 2000 apart.
  • The first two digits of a serial number are related to the month of production. For 7-digit serial numbers, this corresponds directly with the month; for example, 0852399 I-0893K shows this correlation. 8-digit serial numbers stopped rolling the month digits over at the beginning of a new year, and began counting where 7-digit serial numbers left off. A 12xxxxx serial number with date stamp I-1293 would be followed by a 13xxxxxx serial number with datestamp I-0194.
  • 8-digit serial numbers do not strictly follow the above pattern. While datestamp I-0494 would be expected to carry serial numbers in the 16xxxxxx range, the 17xxxxxx range is found instead. Why? This is due to a change in hardware revision during 0393; note 15xxxxxx I-0393L and 16xxxxxx I-0394M.
  • 7-digit serial numbers do follow the expected trend of increasing hardware revision corresponds to an increasing serial number when looking at the larger scale, but there is little, if any, order on the small scale. Instead, when the database is sorted by serial number, the hardware revisions appear in this order: [05xxxxx] pre-'A', [060xxxx] 'E', pre-'A', 'H', [061xxxx] 'E', [070xxxx] 'I', 'J', [071xxxx] 'F', [073xxxx] 'J', 'K'. I will later discuss why 'F' is out of order, but the rest follow only a vague trend.
  • All observed TI-82s produced before 0894 except one were seen to use a silvery white ink under a clear sticker to label the serial number. The one exception, 0961729 I-0993F, uses black ink on a clear sticker, like TI-81s. The datestamp is rather late for 'F', but TI-81s did not start using their 'F' until a year later.


Hardware Revision
I have made observations about the hardware of these early TI-82s, which may not be entirely correct due to limited sample size:
  • All hardware versions from 'A' to 'H' were produced in a month. All production TI-82s up to 'H' were produced within two months.
  • Since 'E' at the latest, there is a correlation between ROM version and hardware revision. Other hardware changes, such as the usage of a mask ROM, will cause an incrementation of hardware revision.
  • Hardware revisions 'E' and 'F' use ROM 10.0 using OTP-ROM and mask ROM, respectively.
  • Hardware revisions 'J' and 'K' use ROM 16.0 using OTP-ROM and mask ROM, respectively. I do not own a 'J' calculator to disassemble, so this remains unverified.
  • 'G' indicates ROM 11.0.
  • 'H' indicates ROM 12.0.
  • 'I' indicates ROM 15.0. No evidence of ROMs 13.0 or 14.0 is known.
  • Either 'L' or 'M' modified the display hardware to increase screen contrast. These both use ROM 16.0.


PCBs
The PCBs of early TI-82s show evidence of post-production modification. The components R13, R13-1, R14, R14-1, R15, R15-1, C2, C5, C6, C11, C12, and some test points near the capacitors have a different appearance to the solder joints (the test pads have solder on them) and are surrounded by solder flux of a different color than that found near other components. Strangely, all OTP-ROM TI-82s show (at least some) of these modifications, whereas mask ROM TI-82s do not show any modification signs at all.

All OTP-ROM-based TI-82s observed have their ROM version written on the PCB in permanent marker. None of the mask ROM-based TI-82s show this.

A differential comparison of 'H' and 'Q' shows the mainboard was changed from "9TIETMB-30A" to "9TIETMB-31". To the bottom left of the RAM chip, a 2.2 MΩ resistor R21 was added in 'Q'. The zero-ohm resistor J2 near the ASIC was replaced by an inductor in 'Q'. Additionally, between 'F' and 'H', the value of resistor R11 changed from 10 kΩ to 600 Ω (resistor values 103 and 601, resp.; see PCB images). PCB images under both visible and ultraviolet light are available at TI-Planet. Solder flux is fluorescent under ultraviolet light, and appears a bright yellow in the UV light pictures. Production dates of labeled components can be found here. A poor tracing of the PCB on a pre-'A' TI-82 can be found here.


ROM Version
Between each ROM version, not much changed. I discovered a bug in ROM 3. and 8.0 that affects the Plot( functions; interestingly, ROM 4* corrected the bug and 8.0 reintroduced it. Attempting to set a stat plot using any of the Plot1(, etc. functions forces the plot mark to Box, regardless of the user's selection. A video of the bug in action can be found here.
Starting around memory address $2E00 is a table of ROM calls that are outside of page 0. Each table entry is in the format "call (a routine that handles calling/jumping to the requested routine) \ .DW address \ .DB ROM page", and each entry is 6 bytes long. The table is located at the end of ROM page 0, and ends around $3A00. The length of this table increased as new ROMs were released, starting at 479 entries in ROM 3. and increasing to 484 in ROM 15.0. A more detailed breakdown of this table can be found below:
  • ROM 3.; 479 entries beginning at $2E63
  • ROM 4*; 479 entries beginning at $2E63
  • ROM 8.0; 480 entries beginning at $2E71
  • ROM 10.0; 482 entries beginning at $2E72
  • ROM 11.0; 482 entries beginning at $2E72
  • ROM 12.0; 482 entries beginning at $2E76
  • ROM 15.0; 484 entries beginning at $2E86
  • ROMs 16.0, 17.0, and 18.0 use ROM 15.0's table parameters.
  • ROM 19.0; 484 entries beginning at $2EA0

As ROM 15.0 uses the same table parameters as ROMs 16.0 through 18.0, it is compatible with assembly shells. Ash and CrASH have both been confirmed to be compatible. No version below 15.0 will successfully start any existing assembly shell.
Interesting stuff! They produced all those hardware revisions in a single month? As in, a revision roughly twice every week? :-O Or did I misread that?

Also, I'm curious about the LCD change you mention. I forgot which TI-82 I have (and don't feel like looking for it), but I think it had ROM 18.0. Were the older TI-82s using a display like the one on some TI-81s that had black pixels and poor contrast? Or was this earlier LCD blue/green in color like the later ones, but with somewhat less contrast?
Travis wrote:
Also, I'm curious about the LCD change you mention. I forgot which TI-82 I have (and don't feel like looking for it), but I think it had ROM 18.0. Were the older TI-82s using a display like the one on some TI-81s that had black pixels and poor contrast? Or was this earlier LCD blue/green in color like the later ones, but with somewhat less contrast?


The screens themselves are identical, but the way they are driven changed somehow involving J9 and J10 on the LCD PCB. All ROM 17.0 and later TI-82s should use the better-contrast display hardware (by hardware, I refer to the entire assembled LCD board). The difference to the user is most evident on the MODE screen; I'll take some pictures when I get home.
*bumpity bump with pictures*




Click to (very) enlarge.
Thank you for putting this together, CVSoft! This is a lot of really cool information; I'm especially intrigued by the bodging on the early revisions.
CVSoft wrote:
As ROM 15.0 uses the same table parameters as ROMs 16.0 through 18.0, it is compatible with assembly shells. Ash and CrASH have both been confirmed to be compatible. No version below 15.0 will successfully start any existing assembly shell.
As I said on Skype, I'm very skeptical about this conclusion. It seems to me that it should be easy for [Cr]Ash to determine the OS version of the host calculator, and use the appropriate jump table to the ROM calls that it needs accordingly. The only problem I anticipate is if ASM programs that [Cr]Ash run expect the ROM calls to be at a set location.
Even when adjusting for the different offsets, programs still are not working on ROM 10.0. Either the precise behavior of the ROM calls changed, or (more likely) the position within the table was moved. If ROM calls are moving all over the ROM call table, correcting ROM calls becomes even more computationally cumbersome (seeing as the magical universal shell would need to support at least five different versions of the ROM call table).
The maps I have for 10.0 and 11.0 are as follows:

Code:

10.0       ROM_CALL
0000-05AA  0000
05AA-05B1  05AD
05B1-05B4  05B9
05B4-066A  05C1
066A-07AC  067A
07AC-2E72  07C0
2E72-31A8  2E86
31A8-32A4  31C2
32A4-389E  32C4
389E-4000  38C4

11.0       ROM_CALL
0000-05AA  0000
05AA-05B1  05AD
05B1-05B4  05B9
05B4-066A  05C1
066A-07AC  067A
07AC-2E72  07C0
2E72-31A8  2E86
31A8-38A4  31C2
38A4-4000  38C4

It has been *years* since I looked at this, so I don't know if these tables are 100% accurate, but they're probably close.

Addendum: Yes, the above tables are 100% accurate. Cool

If you're trying to write a "universal" TI-82 shell, though (a noble goal, certainly), the effort of translating ROM calls for ROM 10.0 and 11.0 is of course trivial compared to 19.006:

Code:

19.006     ROM_CALL
0000-0103  0000
0122-023C  0103
026E-02C3  021D
02C4-02D0  0272
02D1-05F0  027E
05F3-0638  05AD
0638-0648  066A
0649-0675  05F2
0678-06BD  0625
06BD-06C7  067A
06CB-083F  0684
083F-0846  061E
0923-0B38  07F8
0B39-10FA  0A0D
10FC-10FE  0FCE
10FF-1104  0FD0
1114-1138  0FD5
113B-1147  0FF9
114A-2B19  1005
2B19-2F5F  29D6
2F60-2F66  2E1C
2F78-2F82  2E3C
2F82-2F97  2E22
2F9D-2FA2  2E37
2FA3-2FE3  2E46
2FE3-3337  2E86
3337-339D  31E0
339D-3409  3252
3409-38F5  32C4
38F5-3901  37B6
3901-39AF  37C8
39AF-39B5  387C
39B5-39C1  3888
39C1-39C7  3882
39C7-39EB  3894
39EB-39F7  38C4
39F7-3A03  38B8
3A03-3A09  38D0
3A09-3A0F  38DC
3A0F-3A15  38D6
3A15-3A3F  38E2
3A3F-3A45  31DA
3A45-3A4B  37B0
3A4B-3A51  3246
3A51-3A57  37C2
3A57-3A5D  324C
3A5D-3A63  3876
3A63-3A7B  390C
3A7B-3A81  32BE
3A87-3B3B  3924
ROM 1.0 was speculated to exist as United-TI member AdamOrBud claimed to have a TI-82 with such a firmware, but despite coming so tantalizingly close to preserving its ROM, efforts to contact the user failed. But after year and a half of searching for a TI-82 with ROM 1.0, I have finally managed to purchase such a unit. The only version that has not yet been located is 3*.

Serial number 0500730 (!); date code I-0593.



----

I also blindly purchased a TI-82, serial 0510400 I-0593. I don't know the ROM version (the seller did not reply (most do if you tell them how to check the ROM version)), but as the serial number is lower than the ROM 3. TI-82's, it should be interesting.

That's awesome news that you finally got your hands on version 1.0; I can't wait to see what you discover from it when it arrives! I suspect at the very least that it'll have some amusing bugs. And good luck with what the one you purchased blind may reveal.
  
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 GMT - 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