Firmware for Mac ROM SIMM programmer
Go to file
Doug Brown 06f9bbcbe7 Strip out unnecessary clock and UART code
The default values for SystemCoreClock, CyclesPerUs, and PllClock work
fine for my purposes of running from the 48 MHz HIRC. Remove unnecessary
initialization code. This is especially useful for the bootloader where
flash space is at a premium.

Also strip out unneeded UART setup code.
2023-09-10 05:02:44 -07:00
.settings Fix line endings 2023-05-28 19:34:02 -07:00
drivers Change license to GPLv3 2023-09-10 05:02:44 -07:00
hal Strip out unnecessary clock and UART code 2023-09-10 05:02:44 -07:00
tests Change license to GPLv3 2023-09-10 05:02:44 -07:00
.cproject Switch to config header for LUFA 2023-06-25 11:38:41 -07:00
.gitignore Ignore CMakeLists.txt.user generated by Qt Creator 2023-06-25 11:38:41 -07:00
.project Fix line endings 2023-05-28 19:34:02 -07:00
chip_id.h Change license to GPLv3 2023-09-10 05:02:44 -07:00
CMakeLists.txt Set up CMake build 2023-06-25 11:38:41 -07:00
led.h Change license to GPLv3 2023-09-10 05:02:44 -07:00
LICENSE.txt Change license to GPLv3 2023-09-10 05:02:44 -07:00
main.c Change license to GPLv3 2023-09-10 05:02:44 -07:00
programmer_protocol.h Change license to GPLv3 2023-09-10 05:02:44 -07:00
README.md Update README with build instructions 2023-06-25 11:38:41 -07:00
simm_programmer.c Change license to GPLv3 2023-09-10 05:02:44 -07:00
simm_programmer.h Change license to GPLv3 2023-09-10 05:02:44 -07:00
SIMMProgrammer-AVRStudio.atsln
SIMMProgrammer-AVRStudio.cproj
toolchain-avr.cmake Add CMake toolchain for AVR compilation 2023-06-25 11:38:41 -07:00
util.h Change license to GPLv3 2023-09-10 05:02:44 -07:00

Description

This project is a bootloader and firmware for a Macintosh ROM SIMM programmer, along with control software for Mac OS X, Windows, and Linux. The ROM SIMM is compatible with the SE/30, all II-series Macs with a 64-pin SIMM socket (should include the IIx, IIcx, IIci, IIfx, and IIsi), and the Quadra 700.

This particular repository contains the main firmware that runs on the programmer board. The current compiler version used with this project is avr-gcc 4.8.2. Using a different version of gcc may result in worse performance due to some very tight optimization performed on this project to decrease programming time.

Downloads

Binary downloads (originally from Google Code) can be found at https://github.com/dougg3/mac-rom-simm-programmer/tree/downloads/downloads

Repositories

The project is spread over a few repositories. Some of them have a wiki.

Repository Repository location Wiki location
Programmer Firmware (AVR microcontroller) https://github.com/dougg3/mac-rom-simm-programmer https://github.com/dougg3/mac-rom-simm-programmer/wiki
Bootloader (AVR microcontroller) https://github.com/dougg3/mac-rom-simm-programmer.bootloader
Programmer Software (Windows/Mac/Linux) https://github.com/dougg3/mac-rom-simm-programmer.software none
Windows Driver (.inf file, not needed on Windows 10) https://github.com/dougg3/mac-rom-simm-programmer.windriver none
Custom QextSerialPort for Programmer Software https://github.com/dougg3/doug-qextserialport-linuxnotifications none
QextSerialPort base https://github.com/qextserialport/qextserialport https://github.com/qextserialport/qextserialport/blob/wiki/Welcome.md
CAD for programmer, along with 2 MB and 8 MB SIMM PCBs https://github.com/dougg3/mac-rom-simm-programmer.cad none
Mac ROM patcher https://github.com/jpluimers/macrompatcher/ (from https://code.google.com/p/macrompatcher) none

Firmware compilation instructions

As mentioned earlier, this is an AVR project that is currently optimized for avr-gcc 4.8.2. It can be built using either CMake or Eclipse with the AVR Eclipse plugin. To build with CMake:

mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-avr.cmake ..
make

This will result in a generated SIMMProgrammer.bin file which can be programmed to the board using the Windows/Mac/Linux software.

Videos

ROM SIMM

What Where
IIci booting from ROM disk https://www.youtube.com/watch?v=SEFcQRmYtBI
Mac IIci Modified (Slower) Startup Chime https://www.youtube.com/watch?v=lyIIRtR3Aw0
Playing with IIci ROM - other death chimes https://www.youtube.com/watch?v=mlmt1AealLo
Mac IIci with a newer Mac's startup chime https://www.youtube.com/watch?v=bRJtMMYCf0E
Mac IIci with Super Mario Bros startup chime! https://www.youtube.com/watch?v=omL7mx0zxvI
Mac IIci Mario Startup Chime Part 2 -- Long! https://www.youtube.com/watch?v=Yen0omvBo2Y
Mac IIci - Another Custom Startup Chime https://www.youtube.com/watch?v=1R4W3mApAio

Regular ROM

Mac IIci ROM hack (custom startup icons): https://www.youtube.com/watch?v=LALaYy7ZLy0

Related articles

Blog posts

Others

Non-related articles