Firmware for Mac ROM SIMM programmer
Go to file
Doug Brown f68c1d1d44 Change USBD_MemCopy to not be static inline
I'm sure it's slightly more efficient as a static inline function, but
it results in less flash usage as a separate function. This is important
for the bootloader where every byte matters.
2023-09-10 05:02:44 -07:00
.settings
drivers Change license to GPLv3 2023-09-10 05:02:44 -07:00
hal Change USBD_MemCopy to not be static inline 2023-09-10 05:02:44 -07:00
tests Change license to GPLv3 2023-09-10 05:02:44 -07:00
.cproject
.gitignore
.project
chip_id.h Change license to GPLv3 2023-09-10 05:02:44 -07:00
CMakeLists.txt
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
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