Special Consideration for Mac/Apple Environments
Mac emulation presents additional challenges compared to general PC/x86 systems (e.g. our Windows or Linux environments). Apple operating systems and emulators are often tied to very particular Mac machines/models rather than being able to run on a “generic” emulated processor. For instance, the Mini vMac emulator is designed rather specifically to emulate a Macintosh Plus and handle the operating systems available for that model, while BasiliskII can potentially recreate a slightly broader range of Motorola 68K-based Macs (Quadras, Performas, etc.)
In order to recreate a particular Mac machine, several of these emulators (including Mini vMac, BasiliskII, and SheepShaver) require a “ROM” (read-only memory) file, containing firmware dumped from an original machine’s motherboard. So in addition to the emulator container, hardware template, and bootable operating system that are necessary to create any environment in EAASI, a ROM file must also be provided for Mac environments based on these emulators/templates to run correctly.
Note
ROM files are not provided along with emulators and templates in the open emulation-as-a-service/emulators repository because they contain proprietary Apple firmware. The EAASI team currently assesses that it cannot openly distribute these files under U.S. copyright law.
Importing a new or custom ROM file into EAASI in order to create or import a new Mac environment requires access to the top-level directory of Emulation-as-a-Service (eaas-home, using default installation configuration) on the EAASI server:
Copy the desired ROM file into the
romsdirectory insideeaas-home.Log in to the demo UI. If you have a bootable Mac operating system installer (floppy, CD-ROM image), use the :ref:`make_new_environment`workflow to create a blank hard disk drive on which to install from scratch. Otherwise, all further steps related to ROM and emulator configuration are the same.
Choose an appropriate hardware template from the “Choose system” dropdown menu - e.g. “Apple PPC (8.x-9.0)”, which specifies a SheepShaver emulator configuration, appropriate for Mac OS 8.x up to 9.0 running on a PowerPC processor.
Check the box that says “ROM File”, and in the text field enter the exact file name of the ROM file you copied into the
romsfolder - e.g.PowerMac.ROM. This step allows the EaaS server to import a new ROM file into the system for use with environments.Under “Native Config”, specify the name of the ROM file again where guided by the template: e.g. the Native Config field should look like
rom rom://PowerMac.ROMThis step associates the newly imported ROM file to the environment.
Click “Start”. If the ROM file is indeed appropriate for the SheepShaver emulator and a bootable operating system or installer is found, the Environment should run, and the user can Save the environment for future use.
Note: once a ROM file has been successfully imported and associated with at least one environment, it is available in the EaaS system for use with others. For instance, if a Mac OS 8.5 environment was created with the above workflow, a Mac OS 9.0 environment could be created by using the same procedure above, but omitting the “ROM File” field. The user would only have to specify the rom rom:\\PowerMac.ROM line under “Native Config”, since the “PowerMac.ROM” file has already been imported.
For more guidance on ROM files (including exactly what kind of ROM files/Mac models are appropriate for use with which emulators and operating systems), you may refer to sites like Emaculation or Macintosh Repository, or contact the Yale Software Preservation and Emulation team (softwarepreservation@yale.edu):