Pico MZ-700 progress
I'm making decent progress with adding MZ-700 emulation to the Pico MZ. As far as I can tell I have functionally correct code and I haven't broken the MZ-80K and MZ-80A emulations. I've even managed to update the documentation!
I've limited testing to the Pico for the moment, as my Pico 2 with headers seems to have disappeared during our recent house move. I have a couple of Pico 2's without headers, so I need to find my soldering iron. Hopefully that will be soon so that I can get a first release out before Advent of Code 2025 starts.
The last couple of days have been spent benchmarking the code so that the Pico MZ runs as close to the correct speed of the original hardware as possible. This has been much easier to achieve with the MZ-700 emulation as it's in a separate executable (.uf2). I've had to compromise a little with the MZ-80K/A code as these compile into a shared executable (80A mode is selected by holding down button A during power on).
Even so, I'm happy with the results.
| MZ-80K | MZ-80A | MZ-700 | |
| Real hardware | 618s | 569s | 358s |
| Pico mounted on a Pimoroni VGA board | 618s | 570s | 358s |
| RC2014 Pico VGA and RC2014 RP2040 VGA cards | 627s (1.5% slower) | 563s (1% faster) | 357s |

I've also been playing games on the MZ-700 emulator. Of course I have. I'm still as bad at them as I was 40 years ago.

Now, where did I put my soldering iron?