EDIT: This post assumes there are way less revisions than there actually are, for a more complete list, see this post

I have been working my way up the tree of TI graphing calculator knowledge for a few years now and have arrived at the TI-80 branch. Unlike many other branches on this tree such as the TI-82, this branch has gotten no love for the last 25 years, and its about time somebody actually cared about it a little. I have gathered a bunch of TI-80s and in doing so, I hope to add a couple leaves to the branch.

The TI-80 has 3 hardware revisions (A, B and C). All viewscreen models found to date have had revision C, however, TI has been known to turn very early production models into viewscreens Therefore, it is expected that revisions A and B should also exist as viewscreen variants, but this has not been observed as of now.

EDIT: Zeroko has a viewscreen variant of a revision B.

Here is the information regarding production dates of the 3 known revisions for the non-viewscreen variant:
    Revision A was produced between February 1995 and April 1995, with the vast majority being produced after February.
    Revision B was produced only during May 1995. It is not know whether there are some 'A's and 'C's that overlap into the month of May, but none have been found.
    Revision C was produced from June 1995 until the end of production in late 2000, with the latest known one being manufactured in October 2000

When it comes to the ROM revisions, only 2 are known, 3.0 which is paired with hardware revision A, and 4.0, which is found in the two other revisions. ROM revisions 1.0 and 2.0 have never been observed, and are assumed to not exist in mass production.
Interestingly, 32kb of the usable code of the ROM is contained in the ROM chip, and 16kb is contained in the ASIC, both of which are proprietary. Back in 2010 and 2011, some crazy attempts by Critor had led to 97% of ROM 4.0 and 66.7% of ROM 3.0 being dumped by soldering the ROM chip onto an EPROM programmer to get the contents of the ROM chip, and making the calculator display the contents of its memory on the screen to get the section stored on the T6M53A proprietary CPU. All these attempts were scrapped because Randy Compton (TI-Planet member) managed to write an ASM program to transfer the contents of the ROM from the jack on a viewscreen model. She was able to dump the entire ROM and subsequently create a TI-80 emulator. This has not been done with ROM 3.0 yet, but doing this would require a viewscreen model with hardware revision A since this is the only version that has ROM 3.0, however this has not been spotted and is only assumed to exist.

EDIT: It has been done now... currently, a viewscreen revision A still hasn't been spotted, but the ROM was dumped by coercing the calculator into displaying its ROM contents to the screen then manually transcribing the tokens and converting them back into bytes (since OCR has been largely unsuccessful because of the small screen with bad contrast and a smaller font).

The main board for the non-viewscreen and viewscreen models is the same except that the communication circuit is not populated on the non-viewscreen model, and the jack is of course removed. Therefore, I have no reason to believe someone couldn't manually transfer the components from a donor viewscreen onto a non-viewscreen with ROM 3.0, effectively turning it into a franken-viewscreen. Such a calculator could then in theory be dumped using the same method used for ROM 4.0, resulting in a dump of ROM 3.0. Of course, this would require sacrificing a viewscreen TI-80, which is strikingly rare just for a chance at dumping 3.0.

I own multiple of each revision, along with the latest known one, therefore, I decided to document the hardware.
Here is a picture containing the 4 calculators.


(top left→I-1000C, top right→I-0595B, bottom left→I-0695C, bottom right→I-0495A)

Last night, me and CVSoft/notipa sat down on HCWP to document revisions A through C.

In total, I took apart 4 calculators (one for each revision and the one from 1000 since it is significantly newer than the others)
All 4 had T6A79 display drivers, and a change in the display driver revision does not seem to constitute a large enough change to warrant a hardware revision change, because multiple different display driver revisions have been observed within the same hardware revisions.
Here are the results of what was observed in each calculator.

Code:
Factory: I
Datecode: 0495
Hardware Revision: A
ROM: 3.0
LCD Driver Version: 5B
CPU: T6M53
CPU Datecode: 9505H
MB: APLMB-30F
ROM: LH5359NK
ROM Datecode: 9504D
RAM: SRM2264LM10 F4Y1 129
Board Datecode: 9512

Factory: I
Datecode: 0595
Hardware Revision: B
ROM: 4.0
LCD Driver Version: 5D
CPU: T6M53A
CPU Datecode: 9515H
MB: APLMB-30F
ROM: LH5359NN
ROM Datecode:9510D
RAM: SRM2264LM10 F541 236
Board Datecode: 9512

Factory: I
Datecode: 0695
Hardware Revision: C
ROM: 4.0
LCD Driver Version: 5D
CPU: T6M53A
CPU Datecode: 9516H
MB: APLMB-30F 2-1
ROM: LH5359NN-80
ROM Datecode: 9516D
RAM: SRM2264LM10 F541 153
Board Datecode: 9509

Factory: I
Datecode: 1000
Hardware Revision: C
ROM: 4.0
LCD Driver Version: 0E
CPU: T6M53A
CPU Datecode: 0002
MB: TIAPLMB-31G
ROM: LH5359NN-80
ROM Datecode: 0008D
RAM: SRM2264LM10 F00212437
Board Datecode: 0015


It is important to note that the datecodes on the ROM, CPU and board are in YY/WW format, while the one on the back of the calculator is in MM/YY format.

On August 14th 2016, an ifixit tutorial about replacing a TI-80's motherboard and screen was discovered by Adriweb. It had been posted in early 2015. The images were not of high enough quality to make out the numbers on the chips, but the board number (TIAPLMB-31G) could be seen quite clearly. Here is the best image from the video:

That board number had not been spotted before and remained a mystery for a few years, but as it turns out, my latest TI-80 (the last one in the list of components) has that exact board number. Taking it apart, I did not notice any difference aside from the board number itself and the type of screws used.

Between revisions A and B, the CPU changed from a Toshiba T6M53 to a T6M53A. The ROM revision changed from 3.0 to 4.0 and the ROM chip went from LH5359NK to LH5359NN.
Between revisions B and C, the ROM chip went from LH5359NN to LH5359NN-80, and the board number changed from APLMB-30F to APLMB-30F 2-1. APLMB-30F-A2-4 has also been spotted in another revision C.
Between early and late revision C, the screws on the outside of the case changed from cross head screws to torx head screws. Inside, only the board number appears to have changed to TIAPLMB-31G.
Thank you very much @mr womp womp for your interest in the TI-80 and your very accurate and comprehensive post about what it is and what has been achieved.

I hope you'll manage to dump the missing third of ROM 3.0 while there are still working TI-80 out there, by transferring their link port or some other way.

Another way could be to film the screen while it is printing the ROM content and then OCR the resulting video, like it has been done with many TI-81 ROM versions. But the much lower TI-80 screen is likely to be an issue...

In all cases, thank you very much for your efforts at archiving and preserving Texas Instruments calculators history.
I'm not sure I'm willing to have a go at it. I think if I had a viewscreen TI-80, I wouldn't have the guts to start ripping components out of it Laughing
If a viewscreen with revision A is found, then it will be a different story, so maybe waiting is the right thing to do for now and if eventually it looks like we aren't going to find one, then we'll see.
Also, for OCR, its been attempted before but the atrocious screen res, coupled with the fact that some characters can't be displayed means that it doesn't really work well enough to be able to extract the whole thing.
From what I could see in soon 10 years, TI-80 VSC are very rare, rarer than other TI teacher calculators and than some TI calculator prototypes.

Maybe because the TI-80 was discontinued after just 2 years, maybe because teachers preferred buying TI-82VSC or TI-83VSC.
Indeed, TI-82/83VSC could also be used to show things to students using the TI-80, with a better display.
I just caved and bought a viewscreen TI-80 with hardware rev C. That means it would be software rev 4.0 and would need to be sacrificed in order to attempt a 3.0 dump. I paid quite a bit for it (a lot of it was the shipping since it was sold with the viewscreen). I figured I'm probably not going to see another one up for sale for a long time so I might as well. We'll see if I have the guts to sacrifice it once I have it Laughing
mr womp womp wrote:
I just caved and bought a viewscreen TI-80 with hardware rev C. That means it would be software rev 4.0 and would need to be sacrificed in order to attempt a 3.0 dump. I paid quite a bit for it (a lot of it was the shipping since it was sold with the viewscreen). I figured I'm probably not going to see another one up for sale for a long time so I might as well. We'll see if I have the guts to sacrifice it once I have it 0x5


Good Luck with the calculator. Hopefully you didn't end up wasting your money! Anyway, how much did you buy it for? And on what website?
dunlavdy wrote:
Good Luck with the calculator. Hopefully you didn't end up wasting your money! Anyway, how much did you buy it for? And on what website?

Thanks. The seller says it works and there are pictures of it being turned on. I bought it off of ebay and I sent it to qazz42 because the seller was american and didn't ship outside the US. If all goes to plan, we will see each-other at Maker Faire next September. Luckily, Maker Faire is full of people who are much better than I am at soldering, so it would also be a good time to attempt the viewscreenification™.
I (the aforementioned RANDY Compton) did manage to get a dump of ROM 3.0, but I did not get it from the calculator itself. Due to the way I did the reverse engineering (which I had to do before I could exploit it & write a ROM dumper in the first place), I had effectively constructed a diff between 3.0 & 4.0, so I just ran the reconstructed 3.0 version on the emulator & verified that it passed the self-test. It seems pretty unlikely to wrong, because it would have to accidentally have the same checksum (& also not crash).

The missing link circuit components are (as far as I can tell) the same as the ones used in at least one of the Z80 models (although I have since forgotten which), so no need to sacrifice a ViewScreen TI-80. I had at one point considered adding a link port to one of my non-ViewScreen TI-80s (so I could benefit from linking without having the ViewScreen port sticking out all the time), but I never got around to it.

ROM version differences:

  • The negation signs on the ROM version screen are only present on 4.0. I have no idea why they added that. It comes from reading from the LCD I/O address range (which apparently starts at 3FFE, so the internal ROM portion is 2 bytes shorter than expected (on both versions)).
  • They apparently removed code to delete temporary variables with a certain type bit set (possibly a bugfix?).
  • The linking code has many differences, but as far as I can tell (based purely on reading the code), they just made it a little slower.
  • There does seem to be a bugfix in the base-10 exponentiation routine, but I have not figured out how to trigger any difference in behavior.
  • There also seems to be a bugfix in the x'th-root routine.
  • There is a change in some code I never identified.
    Finally, most of the code is moved around to accommodate the extra & deleted bits.

I am curious what the difference between the T6M53 & T6M53A is, given that there are apparently no hardware-related changes to the code. If I were not so busy with everything else, I would test if any opcodes or registers behave differently on it.
Hello, thanks for this information Smile
Alright, let's talk about TI-80s again. I've been putting off writing this due to time restrictions.
Basically, TI changed the board up like 451289465132 times in the couple first months. When I initially wrote this topic, I assumed that each hardware revision represented the different versions of the hardware, but it turns out TI changed the hardware without changing the HR a bunch of times. I should have caught on to it since I'd noticed that the early and late revision Cs were different, but I didn't. Since then, I've been trying to accumulate every hardware change, but its a complete guessing game, since they all have the same datecodes and hardware revisions, and thus look identical from the outside. (some that I've gathered have different board numbers and are only 100-200 serial numbers apart) I've managed to collect 15 different MB revisions, and I suspect there are some that I've yet to find.
Here are the results, sorted by serial number:
    HW Rev A
    I-0395A APLMB-30F 2-2
    I-0395A APLMB-30F 1-1
    I-0395A APLMB-30F 1-4
    I-0395A APLMB-30F 1-2
    I-0395A APLMB-30F 2-3
    I-0495A APLMB-30F A1-4
    I-0495A APLMB-30F

    HW Rev B
    I-0595B APLMB-30F A2-4
    I-0595B APLMB-30F
    I-0595B APLMB-30F A3-4

    HW Rev C
    I-0695C APLMB-30F
    I-0695C APLMB-30F 2-1
    I-0695C APLMB-30F 2-4
    I-0695C APLMB-30F A1-2 (Viewscreen only)
    I-0196C APLMB-30F A2-4
    I-1000C TIAPLMB-31G

What I find strange is that the timeline is very wacky, particularly at the beginning (for example, my 1-2's serial number is 161 calculators after my 1-4, and 2-2 is the oldest by a few weeks). For this reason, its very hard to put together a timeline of what changed in each iteration, but I'll try my best.
Every revision aside from the very last one (a 4 year gap) use phillips head screws on the outside, so they only switched to torx head screws towards the very end of production.
In early March 1995, they removed the solder for the comm circuit. (I've said this before, but non-viewscreens use the same boards as viewscreens except that he comm circuit is populated on viewscreens), of course, if you're not gonna populate the pads, there's no need to solder them up.
Between APLMB-30F A1-4 and APLMB-30F (early and late April 1995), they re-added solder paste to the pad for the SMD resistor "R10", but not the resistor itself.
A3-4 has a big old sticker on the LH5359 ROM chip, its the only revision that has that, it seems to still be a sharp ROM, not sure about the exact chip number since it is obstructed by the sticker.
In late 95 or early 96, they started using a Winbond RAM chip instead of the Seikosha chip they had been using. This coincides with the timeframe when Seikosha split up into multiple companies, so presumably, the supply of RAM chips was affected and TI had to find a replacement.
Interestingly, some but not all later revisions all the way until June 1995 had the pads soldered. Initially, I thought this might have been because they had a lot of APLMB-30F made with the "older" design, but in May 1995, they already started using some of the newer design APLMB-30F boards, so this is a complete mystery to me.
In April 1995, they added some blue tape that they stuck on the ribbon cable. Perhaps this reduces tearing/damage? Either way, by 1996, they stopped doing that, so I guess it didn't really matter
Here they are in order of serial numbers (except the viewscreen, which I don't have with me currently)
An interesting thing to note is that in each hardware revision (A, B and C), there is a board numbered APLMB-30F, but they are not the same board, they just bare the same name, which makes things even more confusing.



Full-sized pictures of my entire TI-80 collection are available on my Tiplanet Gallery

As for revisions that I've yet to find:
I've been looking for APLMB-30F 1-3, but I've narrowed it down to a very small serial number gap (03006423 is 1-2 and 03006262 is 1-4), so I'm starting to think that it never made it into MP (since we're talking less than a single production run at this point). It is also possible that they made some in MP, but at a completely different time, since the board numbers seem to only loosely follow numerical order.
I've also yet to find an APLMB-30F A1-1, but I don't even know where to start looking for it, since A1-2 was produced in June 1995 and A1-4 was produced in March 1995.
EDIT: APLMB-30F A1-1 has been found, it seems to only exists in viewscreen variants, which explains why I couldn't find it!
So, I just looked, & my ViewScreen TI-80 has date code I-0595B. I do not know which motherboard it has, since I either never took it apart or did not take a picture. I do have a picture from a non-ViewScreen I-0695C model, which has its board labeled "APLMB-30F," with "9522" & "22" written to the left of the battery contacts & no solder on the link circuit pads.
Zeroko wrote:
So, I just looked, & my ViewScreen TI-80 has date code I-0595B. I do not know which motherboard it has, since I either never took it apart or did not take a picture. I do have a picture from a non-ViewScreen I-0695C model, which has its board labeled "APLMB-30F," with "9522" & "22" written to the left of the battery contacts & no solder on the link circuit pads.

I'd be very interested in seeing the inside of it, I've never seen a ViewScreen that wasn't revision C, although I've only ever seen a handful of ViewScreens, given how rare they are. I've always assumed they made revision A and B ViewScreen variants, and I'm happy to hear that they did. Yours will definitely not be the same as an I-0695C and I suspect it might even have one of the missing board numbers. If you're interested in opening it up (thankfully TI-80s are some of the easiest calculators to open), I'd be very happy to peek inside.
The calculator you described is this one, but manufactured the week of the 28th of May 1995 instead of the 21st.
why are there soldering pads for an i/o port? If you soldered an i/o port to it, could you get it to link with tilp?
Izder456 wrote:
why are there soldering pads for an i/o port? If you soldered an i/o port to it, could you get it to link with tilp?

I don't know if tilp supports the TI-80, but with the right TI-Graph Link software, yes you could hook it up to a computer, but the OS doesn't contain any code to transfer things like programs, the OS itself or other arbitrary parts of memory. It only supports screen captures, and because the ASIC is proprietary and a little weird, everything we know about it is based off of reading ROM dumps, so doing anything more is extremely difficult.
mr womp womp wrote:
I don't know if tilp supports the TI-80, but with the right TI-Graph Link software, yes you could hook it up to a computer, but the OS doesn't contain any code to transfer things like programs, the OS itself or other arbitrary parts of memory. It only supports screen captures, and because the ASIC is proprietary and a little weird, everything we know about it is based off of reading ROM dumps, so doing anything more is extremely difficult.


OK, that's understandable, as it wasn't designed to do file transfer in the first place.
TiLP supports screenshots on ViewScreen TI-80s via the OS link code. I also wrote a link receiver program for the TI-80 & a link sender program for the PC using libti*, but the receiver program is a mess to enter...it is quite a bit shorter than the TI-81 hack, but unlike on the TI-81, you have to re-enter part of the code every time you want to execute something, instead of just being able to use a keypad shortcut. For that reason, it also pretty much precludes using the calculator as a calculator in between. I would have to see if there is anything that can be hooked reliably.
Here is the inside of my ViewScreen TI-80 with date code I-0595B:



It has motherboard APLMB-30F A1-1, so that probably explains why that one has not previously turned up. It has ViewScreen board TIAPLVIS-30C, which is the same as the one on datamath.org with date code I-0695C.

I notice that J13 is populated to connect a trace leading to a via under the CPU/ASIC to VCC on the ViewScreen models, while the normal models all have J14 populated instead, connecting the same trace to GND. I have no idea where the trace under the ASIC leads from there, but it makes me wonder whether adding link circuitry to a normal TI-80 would work, or whether the relevant part of the ASIC is disabled. I mean, surely it has to do something.

Meanwhile, it seems J5 (non-VS-only) connects VCC to BATT1's positive terminal, which presumably disables the ability to be powered by VIEW-CON.
I was right about it likely being one of the missing revisions! It explains why I had no idea where to look for it, it was probably being produced concurrently with different versions that weren't ViewScreens.

I'm still convinced adding link circuitry to a normal TI-80 would work because they all use the same ASIC. Even though we may not know all the specifics of how it works, populating J13 would tie the correct pin high, which is all that really matters. Its not unlikely that an unused portion of the ASIC may be turned off/disabled on non-ViewScreen variants, but its the same silicon, so it would just be a matter of how the pins are hooked up. In fact, if we took the ASIC and the ROM chip from a non-ViewScreen model and transferred those over to a ViewScreen model, we would probably have a much better chance of success, since we already know the rest of the board ties all the pins correctly.
It doesn't matter for now though since you've already managed to dump both known ROM versions. I guess if another version was found (I really doubt it), then the discussion might come back on the table but for now, none of it seems necessary.
I agree that adding link circuitry to a normal TI-80 should work. (Although if J13 needs to be connected, J14 would need to be disconnected to avoid a short circuit.) I would think it would be a lot easier than transferring the ASIC & ROM (more pins, smaller pitch, vias underneath to avoid), but that probably depends on what tools one has available.

If ROM version 1.0 or 2.0 turned up, it would almost surely have glitches in common with 3.0 & 4.0, so it would probably be possible to dump its ROM through the screen, & indeed, dumping through the link port would still require suitable glitches.

There definitely ought to be a ViewScreen version with ROM 3.0, because that ROM contains linking code (that works in the emulator). Perhaps it contains the 1-3 board that has not yet turned up?

I could make a program that converts between versions 3.0 & 4.0 (i.e., given one version, produces the other). It would not need to contain any of the code of either version (basically just a list of blocks & their offsets plus generic code to adjust the operands accordingly), but I worry some lawyer would find a way to complain anyway.
Alright, so for the past 2 days, I've been trying to perform a viewscreenification™ (adding a link port to a non-VSC TI-80). I chose to use a TI-82 revision R as a donor board because it has the same comm circuit as the TI-80s and I happened to have a spare one with LCD problems. For those interested, I think all the TI-82 revisions before rev U should have the right comm circuit although it might be arranged slightly differently depending on revisions (so the components might be labelled differently). For the TI-80, I used a rev B APLMB-30F because I happened to have a duplicate of that board revision, but any revision would work. I've been told there are differences in the linking code between rom 3.0 and 4.0, but they both work so that shouldn't be a problem. The one I used is rom 4.0, so it couldn't be used to dump 3.0 (which was the context in which I initially suggested doing this) but that doesn't matter anymore as its already been dumped.
Here's what I did:

Added
    4 resistors (R6, R7, R9, R10)
    2 transistors (Q2, Q3)
    3 inductors (L1, L2, L3)
    2 capacitors (C15, C16)
    2 diodes (CR4, CR5)
    The Jack itself... duh

Moved
    1 jumper (J14 to J13)

Removed
    1 jumper (J5)

First of all, it still boots up after all this tinkering, in fact, there were 2 missing columns on the LCD that are now working Laughing (presumably because something was heated in the process, but its probably a very temporary fix)
The TI-80 only has the screenshot routine implemented, so grabbing a screenshot would be considered a success. Initially, I hadn't removed J5 and got absolutely no response when I tried grabbing a screenshot until tilp timed out and stopped trying. Its unclear to me exactly what that jumper does but since it is missing on viewscreen models, I figured I'd try removing it. I did and now, the OS freezes while tilp tries to connect. This indicates that the OS is trying to establish the connection, (or at the very least, some interrupts are triggered) which is great! This means the input lines are working. Unfortunately, it doesn't get any further and still times out after a few seconds so I can only assume at least one of the output lines is failing. My soldering job is pretty lousy, particularly the components on the output lines, so I'm not surprised it doesn't work.
Regarding the jack itself, I obviously had to drill a hole in the bottom of the case to allow the jack to be accessed, but I drilled it slightly off and too small so I had to go in and file the hole, which made it a lot less tidy than I would have liked.


Left, my modified TI-80; Right, an unmodified APLMB-30F board

I tested all the components and did a bunch of continuity tests to try to find a problem given that it wasn't working. The only thing I found was that there was continuity between the two J14 pads after I had removed the zero-ohm resistor which was unexpected but that's not on either of the output lines so that doesn't seem to be my problem.
I might come back to this project at another date if new information is discovered but I'm all out of ideas so I'll be shelving it for now.

Huge thanks to Zeroko for helping out a bunch Smile
  
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 2
» 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