HP Forums

Full Version: TI-59 ROM
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

I know, I know, this is an HP forum but, regarding the fact that there haven't been very much use of some TI forums so far, I am posting this question to a forum which is full of experienced users with great knowledge.

So, I decided to (try to) make an TI-59 emulator, either for PC or HP-48/49. At first, it seems like an impossible task due to the lack of information but, during the time, things were getting a little better. I found some info, either from the Web and some other sources, including the patent #4153937 about TI-59. This patent even includes the whole ROM dump of TMC0582/0583 and TMC0571 ROM chips. So, what is the problem? I downloaded this patent from the US Patent Office in TIFF format. I decided to retype the ROM contents into the text file for further manipulation but I am unable to do this correctly because image quality is not very good and some digits aren't recognizeable. So, it is pretty useless :-(

I am wondering if someone has a better copy or knows some other way for obtaining the ROM dump? I have a real TI-59 but, AFAIK, it isn't possible to dump the ROM contents without expensive equipment.

Best regards.

P.S. If this isn't appropriate for this forum then delete a post with 12345 ...

There are already some emulators available for the TI-59 series. Here is where to find some and the package probably contain the ROM you are looking for :


and there :

http://n3times.com/vertigo/ (java emulator with printer ! )

and there :

http://www.zanchetta.net/pocketPC/ (for pocket PC!)


Edited: 20 Nov 2003, 8:06 a.m.

I know them - they aren't emulators but simulators because they don't emulate the TMC0501 CPU and aren't based on the TI-59 ROM image ...

Pretty cool ;-))

The TMC0501 was developed before the TI-59, it was used already with the SR-50.

I maintain a list of the calculator relevant TI patents here:

You should start with the US3900722, it explains the 13-bit Instruction word and the CPU-internal decoding PLA's.

All products with the TMC0501 are featured here:

And - if necessary - schematics of the SR-50 and TI-59 are available...


Hello Joerg,

I have schematics and TI-59 service manual, as well as US3900722 patent so TMC0501 instruction set is pretty clear to me, although there are some instructions which I don't understand at the moment but this is not the major problem. The problem is low quality of ROM dump so it cannot be used for retyping. Do you have a copy of US4153937 patent? If you do, could you see if you can recognize all characters in the ROM dump ...

Best regards.

I downloaded a PDF copy of the patent. The PDF image of the ROM dump is poor quality for an OCR. If you need a copy of this PDF I can email it to you, but you probably have the same copy...


Hi Hrast!

Keep up the good work!

Do you have a link to the patent PDF??? Love to see it, learn more about the system & CPU architecture...

I've always been interested in the inner foibles of the TI5X calculators. Had one (still do somewhere) when I was in high school til I got my 41C. I was aware of some TI PPC Notes (Maurice Swinnen?? if I recall, ran it) and heard of the mysterious HIR registers and that SBR 239 w/Master Lib. Module did some funky stuff - speedups, etc. I think the TIs had more 'dark secrets' than HPs - perhaps because the HP user community was maybe more outgoing/communicative and had some friendly relations w/HP.

I think OCR extraction from a poorly printed copy may be very problematic to get a running system even if you started w/a 100% perfect emulator. Even the HP emulators whose ROMs were "patent-extracted" (35/45, maybe 41) got a few things wrong until cleaned up or an electronic extraction (or Peter Monta's "photo extraction"!) was performed.

It might be best to electrically extract data from the ROMs
if they are separate/external from the CPU. I vaguely recall that the external ROMs are some kind of serial ROMs.

I've dumped various serial ROMs (Microwire and SPI) in the past using a DOS PC running some C code and talking thru the parallel LPT port for I/O. For quick & dirty one-time thing, writing DOS code for PC will avoid issues w/Windows low-level port access, timing, etc. If clock times are not critical this kinda quick hack might work nicely.

Given possible NMOS/PMOS technologies here, you might need some isolation, level converters, non-5VDC power supply, etc. At least you have some indication of what a ROM dump SHOULD look like: at least you're not totally in the dark, that's a big help to know that you're not getting garbage!

BTW: Does the TMC0501 have any internal ROM inside? Or is it a straight CPU? Hope it's the latter ;)

It's been awhile but IIRC, the TI calc CPUs apparently had some PLA (programmed logic array) areas not only for LED state use but also used for instruction decode/microcode - apparently this allowed instruction set optimization, fitting the right instructions into a limited opcode space. So having generic TMC0501 info might not help the specific TI58 case - but perhaps the ROM dump in the patent would reveal these features.

I always wondered if the external ROM module (i.e, where Master Library Module goes) is capable of running machine code or if it's just user code.

Bill Wiese
San Jose CA

Hi Bill,

Yes I have all those patents and they are very useful. You can download most copies of TI PPC Notes from http://www.rskey.org/tippc.htm and the list is growing ... thaaaaaaaaaaaanks Gene :-) There you will find everything about HIR registers, firmware, fast mode, graphics mode, hexadecimal codes and other things.

I tried ECR (Eye-Character Recognition) from the printed copy of the patent but this was unsuccessful for many characters. As you said, it is enough to have only one bad byte to make an emulator not working.

TMC0501 is a pure CPU without the ROM inside. TI-59 ROMs consisted of 4 parts:

TMC0582: First 2.5KWord ROM (addresses #0000..#09FF)
TMC0583: Second 2.5KWord ROM (addresses #0A00..#0FFF)
TMC0571: Last 1KWord ROM (addresses #1000..#13FF)

TI ROM-Word consists of 13-bits. These ROMs are soldered on the PCB as a separate chips.

There is also an TMC0541 ROM which contains 5000 bytes (not words). Funny about this ROM is that it is BCD-addressed e.g. the CPU is addressing it via an 4-digit BCD counter register (#0000..#4999). It is plugged into a module port. AFAIK, it is not possible to run machine code from TMC0541 (bytes vs. words).

Both TMC0582 and 0583 are further containing 8 eight-byte RAM registers and 16 8-byte ROM constants each (part of it containing user-code for statistical and other functions and the other are constants used in trigonometrical and logarithmical operations). I think that TI refers them as SCOMs (Scanning ROMs) in the patents. They have also some additional functions, like driving the display and scanning the keyboard.

All those ROMs are addressed serialy. I have some documentation and timing diagrams if you are interested. A few diagrams can be found on Datamath http://www.datamath.org/Sci/WEDGE/TI-59.htm as well ... thanks Joerg (please correct any mistakes which I eventually made in the above text).

Best regards.

Same source - same quality...


Since long I'm thinking about a 9810 emulator, but stumbled over the same problem: how to get the ROM contents. The dumps in the patents aren't OCR-able because of the same reason. Is there any chance to get the ROM contents of the 9800 series digitally?


Thanks for the links - didn't know some of that was hiding on Joerg's TI Datamath site. And thanks esp for the links to the TI PPC Notes! Hoorah... brings back memories of the "good ole days"... ;)

Weird that the addressing of the external ROM modules was in BCD format - perhaps that allowed for less (faster?) parsing/ processing of arguments to GTO nnn and SBR nnn ?

Character recognition: if you have access to several (or a wide variety of scanners) and OCR software packages (using different OCR engines - sometimes several packages use the same OCR core engine) scan the printed ROM dump using each of these. Try different page orientations (slight tilt might greatly affect accuracy). Once you get a collection of scans converted to ASCII text use a DIFF utility to point out & help resolve differences. Still no guarantee, but might be a help.

Any checksums? ;)

Bill Wiese
San Jose CA

We will soon have a complete set of the TI PPC Notes in PDF form to go along with the HP PPC Journal.

There are also plans to scan about 90-100 TI Library programs and make them available.

I'm grateful to those doing the scanning and providing the help. It has been one of my "dreams" to make sure that the TI side of our "friendly competition" didn't get lost into history.


Hi Bill,

I don't think that any kind of scanners and OCR can recover the ROM dump from the patent. I would be ready to retype it by hand from the copy but the more I am looking at it, the more I am convinced that it is not a problem of just a bad copy. I think that the problem lies in the line printer which has been used at TI for printing a dump. Maybe this was done intentionally ...


Right after the TI-59 came out, I was hired to reverse engineer its module interface. Built a custom logic analyzer board for a Southwest Tech 6800 machine. Never found out what they wanted the info for or what they did with it...

David Smith wrote:

Right after the TI-59 came out, I was hired to reverse engineer its module interface. Built a custom logic analyzer board for a Southwest Tech 6800 machine. Never found out what they wanted the info for or what they did with it...

Ah, Southwest Tech Products (SWTPC): I recall they offered a 'math coprocessor' board for their computers. The board used a Nat'l Semiconductor MM57109, which was a calculator chip with a bus interface. It was a COPS400 variant. Kinda funny to take a capable 8-bit CPU and offload the floating-pt/transcendental work to a less efficient 4 bitter.

Methinks this was an encapsulated "black box" hardware solution to the problem of not many folks being able to write floating-point/transcendental code.

Wonder if they were trying to "drive" the '57109 (with some support code) with TI module code??

BTW: if Nat'l didn't change their algorithms on the '57109 from what they used on their other sci calculators, the accuracy is not too impressive ;) My old Nat'l "Mathemetician" calc (an RPN calc w/3 (?) level stack) wasn't too great: 4.5digit log & trig accuracy...

Bill Wiese

San Jose CA

The first computer that I ever designed was a calculator chip cobbled onto an original TV Typewriter. It could run 16 line programs (but 31 keypresses per line). Branching was controlled by the sign skipping a line.