just a quick update about my Z80 development environment.
If you look down a couple of blogs, you’ll see that I found an online Z80 emulator and I’d written a couple of bits that executed in it, so I was going to do my Z80 learning and development on that. However, there were two issues. The first being that it didn’t run on Chrome on my Linux PC at home (but did on Chrome on Windows at work). The second issue is that it isn’t a Z80 emulator, it’s a 8080 emulator. I didn’t think this would be a problem as they pretty much run the same instruction set, although the 8080 has a sub-set of the Z80 (well, technically, as the 8080 came first, the Z80 has an expanded instruction set), and I quite quickly came across an instruction that wasn’t supported. Bugger! That’s messed up that plan.
Then I remembered I have Fuse which is a ZX Spectrum emulator running on my Linux PC. There are oodles of menus and options which I’ve never looked at, but thought it worth a poke (no pun intended) about with.
Sure enough, there’s a debugger that shows all the registers and instructions being executed and stuff, and also a memory browser.
The native Spectrum file format is .tap, which is an output option for the online compiler at clrhome
So far I’ve not managed to successfully execute a program, but by changing my code I can get the virtual Spectrum to freeze up or reset itself, so I know it’s having an effect! Also, with the memory browser I can actually see where my code is being loaded in to; 0x5CD3 – which seems like an odd location to me
It still needs some playing around with before I know what I’m doing, but at least now I feel like I have got a plan!