My primary usage for the ROMEmu is writing and testing software for simple a Z80 SBC, the Multitech MicroProfessor MPF-I. The ROMEmu allows me to minimize the number of 'moving parts' while developing.
One time setup:
- connect the ROMEmu to the target system using a ROM or RAM socket mapped somewhere in the address space. For a startup ROM the SBC should be halted.
Then it is mainly this iteration:
- Edit and assemble some code for the destined address in the target memory space on the cross-assembler PC,
- Upload the hex-intel file to the ROMEmu with the python script,
For example 'python3 romEmuFeed.py lcdtest.hex 2000' The second argument compensates for the address difference between ROMEmu and target system
- Execute the program in the ROMEmu memory. For the MPF-I this means 'RESET'; 'ADDR' 2000; 'GO',
- Evaluate the program and restart at the edit step.