New RC2014 MAME Driver

24May22

Miodrag Milanović has created a new RC2014 driver for MAME, and it’s very comprehensive, offering a full range of systems, backplanes and boards. This post is intended to be a quick tour of how to use it.

At the time of writing the new driver hasn’t yet made it to a MAME release, but it should show up in 0.244. For now I’ve built a standalone rc2014.exe so that I can try things out. The command line to do that was:

make SOURCES=src/mame/drivers/rc2014.cpp SUBTARGET=rc2014 -j

I can then see a list of systems:

[MINGW64] C:\Users\Chris\git\github.com\cpswan\mame>rc2014 -lb
Source file:         Name:            Parent:
rc2014.cpp           rc2014
rc2014.cpp           rc2014bp5        rc2014
rc2014.cpp           rc2014bp8        rc2014
rc2014.cpp           rc2014bppro      rc2014
rc2014.cpp           rc2014cl2        rc2014
rc2014.cpp           rc2014mini       rc2014
rc2014.cpp           rc2014minicpm    rc2014
rc2014.cpp           rc2014pro        rc2014
rc2014.cpp           rc2014zed        rc2014
rc2014.cpp           rc2014zedp       rc2014

There are a LOT of ROMs to ‘PokeROM’ for this, which can be listed with:

rc2014 -listcrc

With the ROMs in place, let’s fire it up…

RC2014 Mini

Since I started my real life RC2014 journey with the Mini, I’ll repeat that:

rc2014 rc2014mini

The system boots up into 32K BASIC:

Hitting Scroll Lock then Tab brings up the options, and from there Machine Configuration can be selected:

Switching the ROM to Small Computer Monitor (SCM) is simply a matter of hitting the right arrow until SCM is selected, then going to Reset Machine:

At this stage a program can be typed in, whether that’s in BASIC or using the Monitor.

RC2014 Mini with CP/M

In real life it’s not long until you start adding things to your RC2014, and MAME brings instant gratification with the ability to try out expansion options.

First I need the image from CPM 128MB in transient apps.zip, which I’ve renamed A128.IMG. I can then start the emulation with the disk image mounted:

rc2014 rc2014minicpm -hard A128.img

Typing cpm into the SCM prompt starts CP/M:

The essential utilities are there:

RC2014 Pro

It’s fairly simple to step up to one of the bigger RC2014s. The only major change needed is to grab a CP/M image that supports the SIO/2 serial board, which I’ve renamed to S128.IMG:

rc2014 rc2014pro -hard S128.IMG

The big difference here is that the Slot Devices menu can be played with:

This provides lots of opportunities to play with different boards, and fiddle with the config of them.

Whilst many of the official RC2014 boards are there already, there’s also lots of scope to replicated the huge variety of other boards out there (or create new functionality from scratch).

Running Zork

One of the points of retro hardware emulation is to enjoy retro software, particularly games, and Zork was one of the defining games of the era.

With the Zork binaries in hand CPMtools can be used to copy them (in this case to the G: drive):

cpmcp -f rc2014g S128.img ~/zork/Z. 0:

NB: I’m using a patched diskdefs file there to provide the definition of rc2014g

Then start up CP/M, switch to G: and run zork1:

RomWBW

The largest RC2014 systems such as the Zed and Zed Pro use the 512K ROM 512K RAM board with Wayne Warthen’s RomWBW.

Grabbing the hd_combo.img file from the binaries directory inside the v3.0.1 release package, and mounting it as a Compact Flash card:

rc2014 rc2014zedp -bus:5 cf -hard hd_combo.img

Allows the system to boot up with lots of goodies installed:

Conclusion

This has been a very brief introduction to the new MAME RC2014 driver, and there’s a lot to explore, loads more hardware configurations to try out, a ton of cards (and similar systems) yet to be emulated, and endless possibilities bringing together the variety of the RC2014 ecosystem with the breadth of emulated components in MAME. I’m looking forward to tinkering, and seeing what happens next.



No Responses Yet to “New RC2014 MAME Driver”

  1. Leave a Comment

Leave a comment

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