Running the Zyklus on the MCLZ8

After having new MCLZ8 boards created, this time with the components pre-populated (and thanks Paul for guiding me through the ordering process on that), I now have a working MCLZ8 emulator running.

The emulator supports various modes, two of whcih are interesting for us:

  • Mode 0, which means the emulator runs without acceleration, using external roms and memory
  • Mode 1, which means the emulator runs without acceleration, using internal roms and memory (basically defined as arrays within the emulator code).

Mode 0 works perfectly, after I set the Teensy to slightly overclock (816 Mhz).

Mode 1 will be a bit more cumbersome, simply because the original software employed bank switching to deal with memory limitations.

This is still doable in the emulator, it needs some custom code though. Also, I’m not quite sure yet which memory limitation they worked around – The EPROMS in total are 40K, well less than the Z80 64K limit.  Here I’m entering the vast learning curve of the Z80 and how it controls hardware.  Below is a picture of the zyklus running on the Teensy. Right now, I’m using this setup but with the USB connected to the computer, so I can see directly what happens. This requires to cut a trace on the Teensy, as it’s powered through the Zyklus (VIN from VUSB).

I’m going to try a few things, meanwhile:

  • Write some short diagnostics code that will enable and disable all the LED’s, Buzzer and write something cute on the LCD in Z80 assembly and run that from the Emulator internal ROM.
  • Adjust the emulator software so I can define 3 ROM arrays and somehow work out the correct addressing for switching.

 

To top