Macintosh Plus Emulation

First published July 2003. 
Updated July 2012, and March 2023.

I’ll never forget being intrigued by the first Mac I ever saw.

I spent my childhood tinkering with Commodore 64’s, Amstrad CPC 464’s and the occasional Amiga. I first had regular access to IBM compatibles in 1986 and they consumed my attention for the next two years. Then in 1988 my family moved to a small town in country New South Wales, Australia, where I was upset to find there were no IBM clones at my new school! Instead there were these tiny computers labelled “Macintosh Plus”. I was surprised to see that every one of these computers had a mouse—previously the presence of a mouse had been a novelty for me. I curiously switched it on and played with the mouse while the screen displayed a flashing question mark on top of a disk. An older kid then gave me a disk. It was a little 3.5″ disk, not like the larger 5.25″ floppy disks I was familiar with (I think it was System 3). It booted, and within the next two minutes I was convinced that this was the coolest thing I had ever seen.

Nowadays there’s not a great deal of difference between the various platforms, not enough at least to make a noise about like the Mac in the eighties.

Mini vMac

The multi-platform Mini vMac emulates a Mac Plus with the use of a ROM that you extract from your old Mac Plus using a program called CopyRoms. Once the ROM has been extracted the resulting file must be named “vMac.ROM” and placed into the same directory as the Mini vMac program. Disks are then inserted into the emulated Mac Plus by dragging-and-dropping disk image files onto the Mini vMac icon or application window (of course the emulated machine won’t boot unless the disk image contains an installed system).

A screenshot showing the emulator Mini vMac running on a Linux desktop
Mini vMac running on my Linux desktop circa 2003

It really is incredible how well the emulator works. A nice touch is how the mouse cursor moves seamlessly in and out of the emulator window. You’ll need to use [Ctrl][M] to magnify the display, and [Ctrl][F] to enter what’s called “full screen” in order to trap the mouse cursor when playing games. My only criticism is that compared to my old Macintosh the emulator seems to have a little too much power.

There’s no longer the need to save pocket money in order to buy expensive floppies. An archive called Blanks contains a number of blank disk images of varying sizes that are of course infinitely reproducible. (The floppy drive of the Mac Plus is not emulated allowing disk images of arbitrary sizes to be used—subject to file system constraints.)

The best operating system for the Mac Plus is System 6 and luckily Apple has released this OS as freeware. Boot the emulator using the first of two disks called Z-6.0.8-System_Startup. Next drag an appropriately sized blank disk image onto the Mini vMac window and begin the system installation. If needed mount the second System 6 disk image called Z-6.0.8-System_Additions and copy any of the needed extras.

I was lucky enough that I was able to clone the external 40 MB hard drive from my old Mac using my SCSI equipped Powerbook. The resulting disk image works perfectly with Mini vMac. Using this image with the emulator feels just like I’m using my old computer.

A screenshot of Macintosh System 6 running in an emulator
Mini vMac running System 6.0.8 on macOS 13

There are two applications available to get files in and out of the emulated environment. To export a file, run ExportFl from within the emulator, then press [Cmd][O] and select the file. A save-file dialogue box will then appear in the host operating system. To import a file, run ImportFl from within the emulator, and then drag a file onto the Mini vMac icon or application window. A save-file dialogue box will then appear in the emulated environment. It is important to realise that resource forks are not preserved in either direction. The file type and creator codes can be corrected within the emulator by using ResEdit and selecting Get Info from the File menu. Within modern macOS the same is achieved by using the Finder and selecting Get Info from the File menu and setting the option Open with.

If you have lost software due to the failure of an aged floppy disk (like me—dammit!) you’ll most likely be able to replace it at the Macintosh Garden. This site is dedicated to preserving software titles that have been abandoned by their rights holders.

Note that you’ll need a stripped down system disk in order play most games (such as Beyond Dark Castle). Using a typical System 6 install will cause many games to fail at launch, giving an error message about a large OS occupying memory. I always booted my old Mac from a floppy when playing games, and from the hard drive when doing anything else—I use the emulator in the same way.

Lastly, for those who are fussy about the icons that appear in macOS, there are some high resolution icons for Mini vMac and its associated files available on the Mini vMac website.

If you’ve got any questions, don’t hesitate to ask.

Resources Mentioned Above
Mini vMac icon minivmac-36.04-mc64.bin.tgz (58 kB)
This is a 64-bit Intel binary for macOS. Released October 2018. (There are binaries available for many different platforms.)
vmac.rom.tar.gz (104 kB)
An image of the ROM from my Mac Plus. The uncompressed file goes in the same directory as the Mini vMac application.
Zip icon blanks-1.1.zip (53 kB)
A zip archive containing a number of blank disk images of varying sizes.
FDD icon Z-6.0.8-System_Startup.sea.bin (713 kB)
This is the first of the two disks of System 6.0.8. I have repackaged this as Z-6.0.8-System_Startup.tar.gz for use with macOS.
FDD icon Z-6.0.8-System_Additions.sea.bin (745 kB)
This is the second of the two disks of System 6.0.8. I have repackaged this as Z-6.0.8-System_Additions.tar.gz.
App icon exportfl-1.3.1.zip (64 kB)
This is used to export files from the emulated machine without the need of an intermediate disk image.
App icon importfl-1.2.2.zip (62 kB)
This is used to import files into the emulated machine.
HDD icon MacOS6Disk.image.tar.gz (12.5 MB)
This is an image of the external hard drive from my old Mac. The image is 40MB and is about half full. It successfully boots the emulator.
FDD icon GameStart.image.tar.gz (366 kB)
This is a disk image containing a minimal install of Mac OS 6.0.8. I use this to boot the emulator when playing games.
HTTP icon https://macintoshgarden.org/
A site containing many “abandonware” titles. This is a great place to replace those old games that have been lost to disk rot.

PowerBook G3 PDQ SSD Upgrade

As I previously boasted, I am the proud owner of a PowerBook G3 Series laptop (v2, “PDQ”, released September 1998). Since I wrote that article, I have repaired the hinges and maxed out the RAM to 512 MB.

Mac OS 10.2 About Box showing 512 MB of RAM.
Whilst this would have been an amazing amount of RAM under Mac OS 8.1 in 1998, by the release of Mac OS 10.2.8 in October 2003, it was barely enough.

I had upgraded the hard drive several times from the original 2 GB drive. Each drive upgrade dramatically decreased load-times and noise. I did not encounter any incompatibility problems (such as the rumoured ATA-6 drive problem).

A couple of months ago I decided that the time had come to replace the HDD with an SSD (for fun). So I ordered a 32 GB Transcend PSD330 IDE SSD from the US and waited excitedly for it to arrive. But once I had it installed, my excitement turned to disappointment. The SSD would not boot!

Drive Setup in OS 9 identified the drive as ID-1, i.e. slave in IDE. I know that the designations of slave and master do not necessarily imply any kind of order, that neither designation is necessarily first or higher (or as some believe—faster). So the designation of 1 should not have mattered. Furthermore, the internal 50-pin connector for the drive covers the jumper pins, disallowing the setting of a drive to slave, master, or cable select. I had imagined that this allows the computer to enforce cable select, allowing it to manage the available drives (perhaps the same connector was used elsewhere, where more than one drive may exist on the bus). In the image below, the jumper pins are covered by the left side of the connector, below the “9845” label.

Internal IDE drive connector covering jumper pins.
The IDE riser blocks access to the jumper pins.

It turns out that the connector does nothing with the jumper pins. The decision to cover the jumpers must have been either economic, that 50-pin connectors were cheaper than 44-pin, or it was to eliminate assembly errors, it is easier to misalign a 44-pin connector where there is space for a 50-pin connector.

Once I began to suspect the master-slave setting, I searched online and found this 2003 article from Chris Breen. In it he says:

“Unlike hard drives intended for desktop computers, drives intended for laptops are always sold configured with master jumper settings—so you needn’t worry about them.”

This implies that the setting of master is important. And indeed, it turned out to be true. In order for a drive to boot in a PowerBook G3 Series (Sept 1998) the drive must be set to master. This was a seemingly crazy decision on the part of Apple, especially considering there can only ever be one drive on that particular bus (the expansion bays operate on a second bus). Yes, perhaps search ID-0 first for a boot sector. But why not then look to ID-1?

Comparing the labels on the outgoing and incoming drives showed the default master-slave settings to be different. The above quote from Chris Breen is no longer true (probably since 2.5-inch drives are now used in desktop systems). I needed to set jumper pins on a system where I could not set jumper pins!

Photos showing the labels of two drives indicating different jumper settings
Spot the difference, kids.

Being the owner of a soldering iron and knowing that 2.5-inch SSDs are mostly empty space, I opened the drive with a guitar pick to find that there was enough space to internally wire the outermost pins together. I used prototyping wire so that it would hold its shape and avoid any chance of the wire being pinched by the nearby screw hole (and it looks rather neat).

A photo showing the pins of an SSD being internally wired together
That’s some damn good soldering right there!

Once I powered on the computer, my previously restored OS 9 installation booted without issue. The ATA-2 bus has a max theoretical speed of 16.7 MB/s that was easily being exceeded by the previous drive; so the increase in speed due to latency alone isn’t as dramatic as I’d hoped for, but is welcome nonetheless. The silent running of this old computer seems strange, but is also welcome.

I installed Mac OS 10.4 Tiger using OWC’s XPostFacto. 10.4 appears to work better than 10.2 on the PDQ. Most notably the 10.2 backlight bug is no more. The only thing broken by 10.4 is the brightness rocker (which I never used anyway). Additionally, screen sleep has the same issue as it does in 10.2, where it only switches off the fluorescent backlight and not the LCD filters. I counter this by setting the screen saver to display a white 1024×768 image a minute before display sleep. As of the time of writing, the Mac OS 10.4 update servers are still online, which is kind of nice. (Of course, 10.4 itself is terribly out-of-date!)

My Mac OS 10.4 rice. Custom icons and no brushed metal!

The only difficulty I have now is finding CD-R’s in 2020 of high enough quality to be read by the optical drive!

If you’ve got any questions, don’t hesitate to ask.

Mac mini Mock Monitor

I have an old Mac mini that I wanted to use to run a research experiment. Its whole purpose would be to run five versions of the same program millions of times over. I didn’t need a monitor to watch such command-line action, instead I wanted to monitor the experiment remotely using the excellent program screen.

Using a keyboard, monitor and mouse, I installed Fedora and the bits for the experiment, and confirmed it was all working. I then shut down the machine, removed the peripherals, and moved it to its new location. When I powered the machine up again, I was no longer able to SSH back in. So I reversed the moving procedure, hooking up a monitor and mouse, and all was working again. Frustrating!

It turns out that this model of Mac mini (Late 2006) does not boot into its BIOS emulation mode (Boot Camp) without a monitor being attached. Upon searching the Web I found conflicting information about how to solve the problem. Distilling the commonalties of the found suggestions, I determined a simple solution. A single resistor, placed between pins 2 and 7 of a VGA adapter, allowed the computer to boot. The adaptor is the one that came with the Mac mini. The resistor is banded blue-grey-black-gold for 69Ω ± 5% (measured to be 66.7Ω). A photo of the setup is shown below.

A VGA adapter socket on the back of a Mac mini with a 69 ohm resistor placed across pins 2 and 7
A 69Ω resistor placed between pins 2 and 7 of a VGA adapter

If you’ve got any questions, don’t hesitate to ask.

PowerBook G3 PDQ runs without its screen and mic

I am the proud owner of a PowerBook G3 Series laptop (v2, “PDQ”, released September 1998). The “Wallstreet”, as it is known, was an incredible computer in its day. It was one of the first laptops to have everything you could want in a desktop: a 14.1″ active matrix XGA screen (which was bigger than the 15″ desktop monitors of the time), 3D accelerator, 10 base-T ethernet, SCSI, CD-ROM, 56K modem, integrated number-pad, dual-monitor support, TV-out and a PII trouncing G3 processor. Unfortunately in May 2004, one of the screen hinges broke. I was expecting this dreadful event to occur just like it had for many other Wallstreet owners.

Bar graph showing two G3 CPUs outperforming three PII CPUs on a BYTEmark integer test.
Apple published many BYTEmark results with the release of the G3.

Before this time I had bought a new (lighter) G4 PowerBook and was not using the Wallstreet as a portable. Since it must be run with its lid open, there was no room available on my desk to use it with my KVM setup (it wasn’t getting a lot of use). When the hinge broke, and I discovered that the cost of the repair was several times the value of the computer, I wondered if it would run without any lid at all! So I hooked up an external monitor, powered it up, and sat back waiting for the dreaded chime of death (the way in which Macs cry out in pain). I was pleasantly surprised when it booted seamlessly. (It booted in mirror mode. I later switched it to use the external monitor only.)

PowerBook G3 Series without a screen hooked to a KVM.
The Wallstreet PDQ works without its screen.

The PowerBook now lives squished between two shelves that are about 5cm apart. It is hooked to a PS/2 KVM via a generic USB PCMCIA card and Belkin USB-to-PS/2 adapter. An Apple PlainTalk Microphone replaces the one located in its lid. The computer runs as if its screen and microphone were still attached. Running from an external monitor is flawless (it correctly recalls the last monitor and mode used and applies this at startup). The only catch is the lack of a power button on my PS/2 keyboard, and the fact that the said keyboard and PS/2 mouse fail to wake the machine when it’s “asleep”. This means that I have to reach between the shelves for the power button to turn it on, or any key to wake it up. There is also a 10 second wait for the mouse and keyboard to start responding after the computer has been awakened.

If you’ve any questions about this setup, don’t hesitate to ask.