On retro-computing : exploring emulation software on macOS

In the last post, I explained how I jumped into the retro-computing bandwagon, and built a few DIY boxes for retro-gaming via software emulation, based on the RecalBox project.

During the same time, I also explored how to run old computers systems on the current hardware I use day by day, namely an Intel Core 7 quad core MacBook Pro.

Atari ST emulation with Hatari

I have been using an Atari 1040 STF back in the late 80’s. At the time, I use to dream of having a Macintosh 512K or a Macintosh Plus. But it was way way way out of budget. I still remember the price tag of 24 000 Fr (around 4 800 €, not tacking into account a 40-years inflation) when it was displayed at the Fnac stores. So I opted for the “Jackintosh” (which was sold for 6 times less, if memory serves)

I have very very fond memories of it, and learned quite a bit with it !

It’s the second computer I owned. This is the machine on which I taught myself C, C++, 68000 assembly language, event-based programming, GUI programming, and wrote a lot of GFA Basic code. I had the monochrome 640×400 bitmap display, so it could run “professional” software (and, indeed, very few games). This was the era of DTP (Desktop Publishing), and I used software like “Publishing Partner”, “Calamus” or “Le Redacteur”. This were also the times of my first tries with digital artwork. It was also time for my firsts printers, starting with a Citizen 120D, and a few years later, an HP Deskjet 500.

I looked around for Atari ST emulators, and the best I could find was Hatari (version 2.3.1): http://hatari.tuxfamily.org/download.html.

The following screenshot shows Hatari running the french version of TOS 1.04, along with the GEM desktop:

I tend to configure emulators to be as close as possible as the computers I owned. I set Hatari for a Motorola 68000 @ 8 Mhz micro-processor, with 1024Kb of RAM, a 640×400 monochrome display and a ROM with TOS 1.04.

It worked pretty well, though the mouse pointer was sometimes a bit dodgy. It can of course emulate other configurations:

  • 520/1040 STs, but also STEs, Mega ST/STEs, TTs or Falcons
  • Processors ranging for Motorola 68000 up to 68040, running from 8MHz to 32MHz, with ou without FPU
  • Memory ranging from 256Kb to 14Mb
  • Standard resolutions 640×400 (B&W), 640×200 (4 colors), 320×200 (16 colors) but also non standards resolution, up to 1024×768 with 16 colors

As an example the next screenshots show Populous running @ 320×200 16 colors:

I could test various versions of TOS (1.04, 1.06, 1.62, …), EmuTOS, including MultiTOS / MiNT.

It was possible a the time to run a few emulators on ST’s. I use to run DOS programs (including Turbo Pascal) thanks to PC Ditto, or even run MacOS thanks to Aladin. Maybe that’s where this emulation madness came from !

I could find PC Ditto disks and run it without troubles on Hatari. Alas, I couldn’t find working Aladin disks to mess with.

The following screenshot shows PC Ditto running MS DOS 3.21 … on Hatari emulating an Atari 1040 STF … on macOS 12.2:

Amstrad CPC (and ZX Spectrum) emulation with Retro Virtual Machine

The Amstrad CPC 464 8-bit computer is specially important to me. It is THE very first computer I owned. These was my real first hands-on experience with the computer world. I learned so much with it, from BASIC, CP/M and Logo to Zilog Z80 / Intel 8080 assembly. It’s got me my first summer job as a kid (around 16, I think), working at disassembling 8080 code and patching a defective software that was not maintained any more, running on a Wang mini-computer used for typesetting. First pay check … which allowed me to treat myself with a DDI-1 external 3″ floppy disk drive for my beloved CPC. Later on, I bought a Vortex 256k expansion RAM card.

Finding an Amstrad CPC emulator is an easy task (even on macOS), and I have tried a few of them, like Arnold or CPCemu. But the one that I found the most interresting was Retro Virtual Machine (version 2.0 beta-1 r7):

Some may say it has too much bells & wistles, but quite frankly, I find the results and the experience amazing. It can emulate CPC 464, 664 and 6128, tapes, floppy disks, memory expansions, cadridges like the Dandanator, and mouse. You can tweak the display (color or monochrome), playing with scanlines, noise, sharpness, curvature. Impressive.

Oh, and it can emulate a Sinclair ZX Spectrum too. Niiice:

Mac OS Classic on … new macOS with Mini vMac

I wanted to try emulating old Mac OS Systems on recent (Intel based, since I don’t have yet an M1-based one) macOS. By that, I mean Motorola 68000-based Macs (Mac 128, 512, Mac Plus, SE, …) and not PowerPC-based machines (not vintage enough for my taste I guess, or maybe I have just no strong feeling for that era were Apple lost its way, before getting back with OS X and the iMac series).

I haven’t tried Basilisk II yet, nor QEMU-based emulation. I gave a quick spin at Mini vMac:

I got actually good results, being stable, accurate and quite speedy. I could “play” with classics such as HyperCard, MacPaint, MacWrite, MacDraw or PageMaker:

I could even run … a PC emulator (SoftPC with MS-DOS 3.30) within the Mac emulator. Because … well … why not ?

DOS with DOSBox

Speaking of MS-DOS, DOSBox has become de facto the standard for running DOS software. It runs nice and smoothly on about any platform, from any flavor of GNU/Linux to macOS or even MS Windows. Its software compatibility list is impressive.

It is quite easy to configure and run classic games, as shown in these screenshots (here, running the French version of Dune II):

NeXTStep (as a virtual machine)

The next one is different. Yes, pun intented. Indeed, this is not emulation, but an attempt to run the Intel version for NeXTStep on maOS, as a virtual machine.

NeXT computers and NeXTStep are also dear to me. I did not own one myself. They were way too expensive for me at the time. But they were mythical. I get the chance to work a bit on them at CERN while I was on site for my particle physics PhD. I even touched the ONE that was used by Tim Berners-Lee to create what would become the web !

To run NeXTStep, I created a virtual machine for VirtualBox, following these steps: https://learn.adafruit.com/build-your-own-next-with-a-virtual-machine.

After a few tweaks with drivers and a messing with apps installations, I could even … browse the web !

BeOS (as a virtual machine)

Just like NeXTStep, BeOS is a bit of a mythical operating system, though it did not change the world, as NeXTStep did. I did not own a BeBox (and didn’t know anybody who owned one). But I did follow the work of Jean-Louis Gassée at Apple, and then what he did with BeOS. I still have an eye on Haiku.

I followed the steps from Adafruit learn web site (https://learn.adafruit.com/build-a-bebox-with-beos-and-virtualbox) to create a BeOS (Intel version) virtual machine for VirtualBox and mess with a few apps (including, of course, a browser). Cool !

8-bit and 16-bit plateforms emulation with Clock Signal

I discovered Clock Signal only a few months ago. It is (I quote) “a latency-hating emulator of 8- and 16-bit platforms”. I tried it for a subset of the supported plaforms. I did get enough time to explore all of its features, but I was amazed by the accuracy, the almost no-latency and the number of platforms is supports.

The following screenshots are showing the emulation of an Amstrad CPC 464, hooked on a RGB dislay (left) and hooked on a TV Set (right). I couldn’t get it to emulate a green monochrome display though.

It can also emulate an Atari ST (512k only, no other models are supported at the time of writing, and I could not find a way set it for 640×400 bitmap display):

Here are a few screenshots of the systems I tried with Clock Signal, once I found the needed roms and/or system disks (logos are added on top of the screnshots to make the systems easier to identity) :

I did not test all these platforms very far, for lack of time and lack of knowledge on the systems I am not enough familar with (VIC 20, MSX or Acorn Electron).

MacOS emulation with Clock Signal seems a lot slower than the one with Mini vMac. But then again, I didn’t spend much time on configuration and optimization. I am open to any suggestion.

But so much for emulation. In the next posts, we will be experimenting with the real things !

Leave a Reply

Your email address will not be published. Required fields are marked *

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