Grant Searle Simple Z-80 Machine on MAME

19Feb22

TL;DR

I’ve been wanting to try emulating some RC2014 stuff using MAME for some time, and I think I’ve found my way into it with the MAME driver for Grant Searle’s Simple Z-80 Machine.

Background

Back when I was making my TMS9995 on RC2014 system part of my adventure into the lands of TI-99/4A fans took me to the Multi Emulator Super System (MESS). But MESS has been folded into MAME (once Multiple Arcade Machine Emulator) since 2015. I thought it would be cool to emulate some RC2014 stuff on MAME, but I found the project impenetrable and just couldn’t figure out how to get started (not helped by the fact that my C++ skills are almost non existent).

But then the London Retro Computing Meetup held a Using MAME as a development tool event, which showed how to get started.

Almost by accident, I noticed that Grant Searle’s Simple Z-80 Machine is now part of MAME (thanks to Frank Palazzolo). For me this was like finding the Rosetta Stone. Grant’s system is the basis for Spencer Owen’s RC2014. So if I can get the Simple Z-80 Machine going then I can probably hack together something RC2014ish.

Also Phill did a great job in the meetup of showing how to get started with MAME development, using a previous meetup project – Tom Storey’s Z-80 clock.

ROMs

MAME doesn’t come with the ROMs needed to run the machines it emulates. That’s just too much trouble from a Copyright perspective.

The source file for gsz80 notes:

ROM mapping is trivial, this binary was created from the HEX file on Grant’s website

So I grabbed Grant’s bundle, which includes ROM.HEX

At first I extracted the binary via my MiniPro EPROM programmer app. But then I thought there must be an easier way than that, and there is. On my WSL2 Ubuntu command line I used:

objcopy --input-target=ihex --output-target=binary ROM.HEX gsz80.bin

Then confirmed that the file was correct:

$ sha1sum gsz80.bin
e843e597ca6c319002dbf191528998e654656736 gsz80.bin
$ crc32 gsz80.bin
6f4bc7e5

The binary then needs to be put into a zip file for MAME to find it properly:

zip gsz80.zip gsz80.bin

Running it

With gsz80.zip copied to my roms directory I ran:

mame gsz80

And the system sprang to life:

Next…

I’m going to have a go at hacking something together to use one of Spencer’s RC2014 ROMs.

And after that I may have a go at doing an emulation of Stuart Conner’s TMS 9995 Breadboard or PCB System.



No Responses Yet to “Grant Searle Simple Z-80 Machine on MAME”

  1. Leave a Comment

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.