Firmware for Mac ROM SIMM programmer
Go to file
Doug Brown 82df6ea459 Fix a few minor issues
I noticed that after I implemented the SPI optimization of cycle
counting instead of polling on SPIF, the first "normal" SPI transaction
I tried would fail. This is because nothing was clearing the SPIF flag
anymore, and the normal SPI driver still looks at it. So it was thinking
that the latest transaction was already completed (it wasn't). Worked
around this by making sure we clear the flag in SPI_Assert. I'm not
concerned about performance impact here because the actual clean SPI
driver is not used in performance-bound situations.

Fixed an issue that identified the wrong pins as shorted to ground in
the electrical test functionality. Whoops!
2020-11-27 00:16:35 -08:00
.settings Fixed bug that screwed up reading after doing an electrical test. 2012-03-04 12:03:02 -08:00
drivers Add/update copyright 2020-11-27 00:16:35 -08:00
hal Fix a few minor issues 2020-11-27 00:16:35 -08:00
tests Fix a few minor issues 2020-11-27 00:16:35 -08:00
.cproject Break out code into a HAL, optimize flash operations 2020-11-27 00:16:35 -08:00
.gitignore Ignore local settings files. Get project compiling on my computer. 2020-11-27 00:16:35 -08:00
.project OK -- so I separated the actual port code from the external memory controller code. I think this makes more sense. 2011-11-27 00:01:29 -08:00
LICENSE.txt Added GPL license text file. 2012-05-25 22:41:15 -07:00
README.md Update README.md 2020-11-26 23:41:14 -08: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
chip_id.h Add/update copyright 2020-11-27 00:16:35 -08:00
led.h Add/update copyright 2020-11-27 00:16:35 -08:00
main.c Add/update copyright 2020-11-27 00:16:35 -08:00
programmer_protocol.h Add/update copyright 2020-11-27 00:16:35 -08:00
simm_programmer.c Optimize reading of 1024 byte chunks 2020-11-27 00:16:35 -08:00
simm_programmer.h Add/update copyright 2020-11-27 00:16:35 -08:00
util.h Break out code into a HAL, optimize flash operations 2020-11-27 00:16:35 -08:00

README.md

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

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