Firmware for Mac ROM SIMM programmer
Go to file
Doug Brown c46b9d5e5f Don't assert OE and CS simultaneously during electrical test
If you do, and a SIMM is installed in the socket, you will get an
erroneous short detected for any data pins that are currently outputting
a 0. Avoid this by testing OE and CS for 5V shorts separately.
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 Mark the M258KE board as having pulldown support 2023-09-10 05:02:44 -07:00
tests Don't assert OE and CS simultaneously during electrical test 2023-09-10 05:02:44 -07:00
.cproject Exclude M258KE code from Eclipse AVR builds 2023-09-10 05:02:44 -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 Hook up the M258KE port 2023-09-10 05:02:44 -07:00
led.h Add ability for status LED to be inverted 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 Added AVR Studio project file for SIMM Programmer firmware 2016-04-25 13:48:59 -07:00
SIMMProgrammer-AVRStudio.cproj Added AVR Studio project file for SIMM Programmer firmware 2016-04-25 13:48:59 -07:00
toolchain-avr.cmake Add CMake toolchain for AVR compilation 2023-06-25 11:38:41 -07:00
toolchain-m258ke.cmake Add cmake toolchain file for M258KE build 2023-09-10 05:02:44 -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