mirror of
https://github.com/dougg3/mac-rom-simm-programmer.git
synced 2024-11-26 02:49:16 +00:00
Update documentation for M258KE build
Also, do a few random cleanups while I'm at it.
This commit is contained in:
parent
c46b9d5e5f
commit
e06bbe5137
49
README.md
49
README.md
@ -2,11 +2,18 @@
|
|||||||
|
|
||||||
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 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.
|
This particular repository contains the main firmware that runs on the programmer board. There are two variants of the firmware that are built from this source code:
|
||||||
|
|
||||||
|
1. The firmware for [my original programmer](https://www.downtowndougbrown.com/2012/08/mac-rom-simm-programmer/), the [Big Mess o' Wires programmer](http://www.bigmessowires.com/mac-rom-inator-ii-programming/), and the [CayMac Vintage revision 1 programmer](https://ko-fi.com/s/6f9e9644e4). These programmers use the Atmel/Microchip AT90USB646/1286 AVR microcontroller. The current compiler version used with this version of the firmware is avr-gcc 4.8.2. Using a different version of gcc may result in worse performance due to some very tight optimizations performed on this project to decrease programming time.
|
||||||
|
2. The firmware for the [CayMac Vintage ROMmate-2](https://ko-fi.com/s/d6e7e4494d), which uses the Nuvoton M258KE3AE ARM Cortex-M23 microcontroller. The compiler that has been tested with this firmware is [ARM GCC 6-2017-q1-update](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads/6-2017-q1-update).
|
||||||
|
|
||||||
# Downloads
|
# Downloads
|
||||||
|
|
||||||
Binary downloads (originally [from Google Code](https://code.google.com/p/mac-rom-simm-programmer/downloads/list)) can be found at https://github.com/dougg3/mac-rom-simm-programmer/tree/downloads/downloads
|
Binary downloads can be found at the following links:
|
||||||
|
|
||||||
|
- [Firmware](https://github.com/dougg3/mac-rom-simm-programmer/releases)
|
||||||
|
- [Control Software](https://github.com/dougg3/mac-rom-simm-programmer.software/releases)
|
||||||
|
- [Bootloader](https://github.com/dougg3/mac-rom-simm-programmer.bootloader/releases)
|
||||||
|
|
||||||
# Repositories
|
# Repositories
|
||||||
|
|
||||||
@ -18,23 +25,49 @@ The project is spread over a few repositories. Some of them have a wiki.
|
|||||||
| Bootloader (AVR microcontroller) | https://github.com/dougg3/mac-rom-simm-programmer.bootloader
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| Mac ROM patcher | https://github.com/jpluimers/macrompatcher/ (from https://code.google.com/p/macrompatcher) | none |
|
||||||
|
|
||||||
# Firmware compilation instructions
|
# 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](https://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin). To build with CMake:
|
## AT90USB646/AT90USB1286
|
||||||
|
|
||||||
|
This firmware is used on my original programmer, the BMOW programmer, and CayMac's original programmer.
|
||||||
|
|
||||||
|
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](https://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin). To build with CMake, make sure avr-gcc is in your path, and then run:
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir build
|
mkdir build_avr
|
||||||
cd build
|
cd build_avr
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-avr.cmake ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-avr.cmake ..
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
This will result in a generated SIMMProgrammer.bin file which can be programmed to the board using the [Windows/Mac/Linux software](https://github.com/dougg3/mac-rom-simm-programmer.software).
|
## M258KE3AE
|
||||||
|
|
||||||
|
This firmware is used on the CayMac ROMmate-2.
|
||||||
|
|
||||||
|
Tested with [ARM GCC 6-2017-q1-update](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads/6-2017-q1-update). To build with CMake, make sure arm-none-eabi-gcc is in your path, and then run:
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir build_arm
|
||||||
|
cd build_arm
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-m258ke.cmake ..
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common information
|
||||||
|
|
||||||
|
The build processes described above will create a SIMMProgrammer.bin file that can be programmed to the board using the [Windows/Mac/Linux software](https://github.com/dougg3/mac-rom-simm-programmer.software). You can also generate a combined firmware image containing both the AVR and ARM builds that automatically flashes the correct firmware based on the detected board when using software version 2.0 or newer:
|
||||||
|
|
||||||
|
```
|
||||||
|
cat build_avr/SIMMProgrammer.bin \
|
||||||
|
<(echo -en "\xDB\x00\xDB\x01\xDB\x02\xDB\x03\xDB\x04\xDB\x05\xDB\x06\xDB\x07") \
|
||||||
|
<(echo -en "\xDB\x08\xDB\x09\xDB\x0A\xDB\x0B\xDB\x0C\xDB\x0D\xDB\x0E\xDB\x0F") \
|
||||||
|
<(echo -en "\xDB\xDB\xDB\xDB\xAA\xAA\xAA\xAA\xDB\xDB\xDB\xDB\x55\x55\x55\x55") \
|
||||||
|
build_arm/SIMMProgrammer.bin \
|
||||||
|
> SIMMProgrammerFirmware.bin
|
||||||
|
```
|
||||||
|
|
||||||
# Videos
|
# Videos
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user