Following up from my last article, the Internet Archive's Macintosh emulator is awesome and a huge achievement, and you can get involved!
Creating disk images for the Internet Archive Macintosh emulator
The Internet Archive has created a system for emulating early Macintosh computers in-browser, a system which is able to run any software compatible with the initial generation of 68000 CPU black and white compact Macintosh computers. After some trial and error, one approach we’ve developed to host emulated Macintosh software is to use standalone boot volumes alongside individual bespoke disk images containing the software to be emulated.
For example, in the BeerStack emulated item (https://archive.org/details/TheBeerStackMacintosh) the first emulated disk drive has a disk image with Macintosh System 7.0.1 installed along with HyperCard 2.4, whilst the second disk drive has a disk image that holds the BeerStack HyperCard stack. The bootable volume will boot the emulated Mac, and the second image will be mounted on the emulated Mac desktop.
Reusing a handful of established boot volumes is a Good Thing as it means that we know the operating system install will work perfectly so any issues that arise are much more easily resolved as we only need to consider the new disk image. It also means that it’s real easy for folk to submit software to be emulated as there’s no need to worry about creating bootable volumes, all the submitter needs to worry about is putting their software on a Macintosh formatted disk image.
Some pre-requisites for creating Macintosh disk images:
- A vintage Mac, running some version of the “classic” Mac OS, from System 7 through to OS9
- DiskCopy 6.3 installed on said vintage Mac
- Stuffit Expander (not essential, but really useful to have in case you encounter a file you want to preserve contained in a .sit, .hqx, or .bin file)
- Some way of getting your finished disk images off your vintage Mac; USB ports and a thumbstick is most straightforward
- If you’re not able to use USB with your Mac, a SCSI Zip drive hooked to your vintage Mac and a USB Zip drive hooked to your modern machine makes a very useable bridge solution
- That’s all!
So, here’s how we’re creating new items. Once we’ve identified the software we want to preserve and emulate, we do a little research to ensure that it’s compatible with the emulated Macintosh system; if we can find info on the web that says that it’ll run on a Mac Plus, then we can be very confident that it will work fine (there will, of course, be annoying exceptions to this rule of thumb…). We test the software as far as we can on a real-world vintage Mac system, if possible (sometimes, very early Mac software simply won’t run on the later systems, often causing major system crashes when you try!). Once satisfied that there’s a fair to good chance that it’ll play nice with the emulator, we note the size in megabytes of the folder containing the software. We then open DiskCopy 6.3 and create a new disk image (simultaneously press cmd + N). In the options dialogue that follows, we enter the desired name for the new image, select the “read/write” option in the drop-down, ensure that “zero blocks” is checked (these last two points can be set in DiskCopy preferences), and select the desired size, in MB, of the image (if there is no near match to what we want in the drop-down, we use “custom size” and create exactly what we want), select where we want to save it (“Desktop” is usually our choice) and then click “Save” to create it. We hit “Erase” in the next dialogue box that comes up to erase the new volume and format as Macintosh Standard (not “extended”, if it’s offered as an option) format. We then locate the new volume on the desktop and double-click to mount it (DiskCopy can be set to automatically mount new images if you prefer). We then drag and drop our chosen software to the mounted disk image icon. Once copied, we unmount the disk image by dragging the mounted disk image icon to the trash can, and we drag and drop the disk image to our USB removable media, et voila! The job is done! The disk image can be moved to your modern computer and submitted to us to archive. There is no need for any further compression or packing, these disk images are perfectly safe to transit through other operating systems, the Mac software within will not be damaged.
Here’s those steps in bullet-point form:
- Source software to preserve in emulation
- Transfer to vintage Mac and unarchive/unstuff if required
- Check for Mac Plus compatibility and general integrity of files
- Note size in MB of folder containing software
- Open DiskCopy 6.3
- Create new disk image (simultaneously press cmd + N)
- Enter desired name for new image
- Select “read/write” in drop-down
- Select desired size in MB in drop-down (use “Custom Size” if required)
- Check “Zero blocks”
- Click “Save”
- Select “Mac OS Standard” in drop-down of new dialogue box
- Click “Erase”
- Once created, locate new image, double-click to mount
- Drag and drop software to be preserved to the mounted disk image
- Unmount by dragging and dropping the mounted disk image to the Trashcan
- Drag and drop the disk image to your removeable media
- Transfer disk image to your modern computer
- Submit to Internet Archive for us to put into the emulator!
So far, not many issues have been encountered, but there are a few key points to consider;
- The software must be compatible with 68000 processor, B&W compact Macintoshes.
- If it needs colour or greyscale to run, it won’t work with the emulator.
- If it needs extensions that rely on a 68030 processor, it won’t work in the emulator.
- If it needs more than about 3.5MB RAM to successfully run, it won’t work in the emulator.
- Sound works, but occasionally misbehaves. Please report any persistent sound issues.
- Keyboard emulation works, but we did encounter issues early on. Please report any items where the keyboard is not in-sync.
- Large volumes will take a little time for the emulator to mount, so be patient. For example, the BMUG PD-ROM item has a 330MB disk image and takes several minutes to mount once the emulated Mac is booted. This is exactly what would happen IRL with a Mac Plus, so is not a bug!
- The Macintosh OS pre-OSX did not have protected memory so will sometimes just crash for apparently no reason at all. This is exactly what would happen IRL with a Mac running OS9 and earlier, so is not a bug!