The only practical way to dump non-standard TMS7000 microcode is by transcribing the decoder PLA from a phtoomicrograph of the chip.
I think the TMS70C46-based devices I'm interested in, which are calculators, use the standard microcode.
The only practical way to dump non-standard TMS7000 microcode is by transcribing the decoder PLA from a phtoomicrograph of the chip.
I think the TMS70C46-based devices I'm interested in, which are calculators, use the standard microcode.
Today I wrote more of the code for parsing the definitions XML file and the tracing code for my TMS7000 disassembler. It will be GPL3 licensed, and I'll put it on Forgejo, perhaps with a sample definitions file for the TI-74 BASICALC or TI-95 PROCALC.
I also need assemblers and disassemblers for the TMS1000, the related but not binary-compatible TMC0980 calculator chip, and the unrelated TMS0200/0300/0400 calculator chipset. They'll be based on code from my TMS7000 tools.
These chips all have various customizable PLAs for instruction decode, output decode, and various other purposes. Currently my TMS7000 tools (assembler and disassembler) are written with the assumption that the taget chips uses the standard microcode, which consisted of a base instruction set TI did not allow customers to alter, and an extended instruction set that could be altered or replaced.
The only practical way to dump non-standard TMS7000 microcode is by transcribing the decoder PLA from a phtoomicrograph of the chip.
I think the TMS70C46-based devices I'm interested in, which are calculators, use the standard microcode.
My TMS7000 disassembler is now minimally functional, and very minimally documented, but I've made a git repository publicly available on Codeberg:
https://codeberg.org/brouhaha/tms7000
I don't promise that anything works correctly, or that the output can be assembled back to the original binary. That is the intention, but as the assembler is not yet ready, I can't yet test that.
#TMS7000 #disassembler #retrocomputing