copyroms-1.1.0.zip (info) a zipped hfs disk image and checksum file. The disk image can be mounted with Mini vMac. Includes source code.
copyroms-1.1.0-sit.zip (info) The same contents, repackaged as zipped Stuffit archive.
(There is also an Alpha version in development, see below.)
CopyRoms is a very simple program to write out a copy of the ROM from a 680x0 Macintosh to an image file. It should work on a Macintosh 128K through to a Macintosh IIcx. It should also work on many other 680x0 Macintosh models, but most haven't been tested. CopyRoms should be able run without crashing on any Macintosh, even if it doesn't succeed in saving a ROM image.
To use, just launch the CopyRoms application. It should write out a file (to the folder containing the application) and then immediately quit. On a Macintosh Plus, or Macintosh 512Ke, it should write out a 128K file called "vMac.ROM". For the name and size of the file written out on some other machines see this list of Macintosh 680x0 models. CopyRoms only works on computers with a ROM whose checksum is included in this list.
If CopyRoms doesn't recognize the ROM, it will write out a 4 byte file called 'Unknown.ROM', containing just the checksum from the start of the ROM. Please send me this 4 byte file, along with a description of your computer, so that I can support it in a future version of CopyRoms. (But only if you are using a 680x0 Macintosh, not PowerPC or Intel.) (And don't send me actual ROM image files.)
CopyRoms has no user interface, and so can be used even on a machine without a working keyboard, mouse, and/or screen. This can be done by preparing a floppy disk with CopyRoms set to be the startup application (in System 6 or earlier, not System 7), and replacing the finder with the "AutoQuit" application. Make sure there is enough free disk space for the ROM image file.
The main difficulty in using CopyRoms is transferring the program to the old Macintosh, and transferring the acquired ROM image to another machine. Modern Macintoshes can't use the 800K floppy disks used by the Mac Plus. The easiest solution is to use a slightly less old Macintosh that can use 800k disks, and that has ethernet or other communication options to talk to more recent machines. Some other possibilities are an AppleTalk/Ethernet converter, an external SCSI drive (though modern Macs can't use external SCSI drives without 3rd party hardware), a null modem cable, or connecting to the internet with a modem. The Macintosh 128K and 512K are even more difficult, since they only understand 400k MFS floppies, and don't have a SCSI port. It is easiest if you also have a Mac Plus.
The ROM image files that CopyRoms saves are copyright Apple Computer, and may not be redistributed.
See the Compiling page for instructions on compiling CopyRoms from the source code.
Alpha version in development
The binary of the Alpha version is so far identical to the stable version above, but the source code is different, being ported to ReAsm.
copyroms-191201.zip (info) a zipped hfs disk image and checksum file. The disk image can be mounted with Mini vMac. Includes source code.
You can redistribute CopyRoms and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the included file COPYING.
CopyRoms is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
April 4, 2010 version 0.3.0 adds support for PowerBook 190 (this change must have gotten lost). Also saves 2 megabytes, not 1, for PowerBook 520 and PowerBook 540, thanks to a bug report from "Andrew H.". For a Macintosh SE FDHD, saves file named "SEFDHD.ROM", not "SEHDFD.ROM". Supports additional ROM versions 0x4957EB49 for Macintosh IIvx/IIvi and 0x96CA3846 for Macintosh Portable/PowerBook 100.
April 12, 2005 version 0.2.0 adds support for more Macintosh models.
If you find CopyRoms useful, please consider helping the Gryphel Project, of which it is a part.