As some of you already know, I am investigating a possibility to develop a TI-59 emulator for HP-48GX/49G for some time. While such emulator is still very far away, I just succeeded to make a true TI-57 emulator for Windows (TI-57E). Although I am with HP most of the time, TI-57 was my first (programmable) calculator so it has a special value for me because I learned (calculator) programming on it.
To be honest, TI-57E is more a development and test platform because it is very ugly but it does the job. The development was possible because of the availability of a few TI patents describing TMC1501 CPU and containing TI-57 ROM object code. This object code was obviously manually retyped on a typewriter because it contains a lot of errors. And each patent has different errors so I took 6 of them and compared the whole ROM instruction by instruction (I just had nothing smarter to do during the holydays) trying to figure out which instruction is correct if there is a difference between individual patents. Then I wrote a disassembler and disassembled the ROM and resolved a few more errors by running the emulator and following the instruction traces. Currently there are just a few instructions for which I am not 100% sure but it seems like they are all correct. The additional problem was that this object code is probably not from the final product because it contains a few bugs which aren't present in the production calculators (or, at least, I haven't heard about them): (1) RST instruction breaks a running program and (2) Sigma+/Sigma- corrupt instructions at program steps 48 and 49 (and modify program counter, as well). I corrected these bugs so TI-57E seems to work correctly for all test cases and programs I executed. Even synthetic programming is working so CPU emulation is complete. For example, the famous GTO 2nd 48 LRN Exc SST Lbl 1 GTO 2nd 48 R/S INV STO 3 +/- +/- sequence which in fact turns TI-57 into TI-57C is working (and from the ROM disassembly I can even find why)!
As far as I know, it is the first real emulator of an old TI calculator and TMC CPU ever. The second stage would be to port TI-57E to HP-48/49. But, before I proceed, I need a few beta testers for TI-57E. If you are interested then you can contact me by mail (e-mail address is somewhere on http://hrastprogrammer.tripod.com) ...
Thanks and sorry for OT ...