On Oct 31, 2019, at 6:58 PM, Fernando Jefferson
<fjefferson@inf.puc-rio.br> wrote:
At PUC-Rio we did reverse-engineering of CP/M 80, obtained a source
file, first in assembler and then in "C". And even we´ve developed
a CP/M 86, with the providential help of Roberto Ierusalimschy (my
colleague in the master's degree), who developed a genial
interpreter for the 8085 CPU, running on the Intel 8086. Mapping
registradors from one CPU to another!
Ah good memories. I did a similar thing for a commercial computer
system way back, which allowed us to move to x86 systems but still run
all the 8-bit 8080 software(quite a lot at the time) on the newer
machines. It really wasn’t that difficult as the x86 used a similar
model for flags, so it was really a matter of decoding the 8080
instruction and then mapping it to the equivalent 8086 instruction(s).
As I recall, the emulator run at about the same speed as the real
hardware. The OS mapping was equally simple, as CP/M and CP/M 86
mapped 1:1 for OS calls.
Happy days .. when 256K was a LOT of RAM :)
—Tim