First, prepare an image to program to the "010" chip.
The easiest way is as follows:
. |--characters | |-- character0.bin | |-- character1.bin | |-- character2.bin | |-- character3.bin | |-- character4.bin | |-- character5.bin | |-- character6.bin | |-- character7.bin | |-- character8.bin | |-- character9.bin | |-- character10.bin | |-- character11.bin | |-- character12.bin | |-- character13.bin | |-- character14.bin | `-- character15.bin |--kernals | |-- basic.bin | |-- kernal0.bin | |-- kernal1.bin | |-- kernal2.bin | |-- kernal3.bin | |-- kernal4.bin | |-- kernal5.bin | `-- kernal6.bin `--combined
copy /b * combined_fonts.binIf using linux, open a terminal in this folder, and execute:
cat * > combined_chars.binCopy combined_chars.bin into the "combined" folder.
copy /b basic + kernal0 + kernal1 + kernal2 + kernal3 + kernal4 + kernal5 + kernal6 combined_kernals.bin
cat basic + kernal0 + kernal1 + kernal2 + kernal3 + kernal4 + kernal5 + kernal6 > combined_kernals.binMake sure to substitute correct file names.
combined |-- combined_char.bin `-- combined_kernals.binCombine these two files using
copy /b combined_char.bin + combined_kernals.bin mrom64c.binor
cat combined_char.bin combined_kernals.bin > mrom64c.binas appropriate, making sure that the character sets are first.
| Address in 010 ROM | Contents | Bank size |
|---|---|---|
| 0x00000 | Font 0 | 4K |
| 0x01000 | Font 1 | 4K |
| 0x02000 | Font 2 | 4K |
| 0x03000 | Font 3 | 4K |
| 0x04000 | Font 4 | 4K |
| 0x05000 | Font 5 | 4K |
| 0x06000 | Font 6 | 4K |
| 0x07000 | Font 7 | 4K |
| 0x08000 | Font 8 | 4K |
| 0x09000 | Font 9 | 4K |
| 0x0A000 | Font 10 | 4K |
| 0x0B000 | Font 11 | 4K |
| 0x0C000 | Font 12 | 4K |
| 0x0D000 | Font 13 | 4K |
| 0x0E000 | Font 14 | 4K |
| 0x0F000 | Font 15 | 4K |
| 0x10000 | BASIC | 8K |
| 0x12000 | Kernal 0 | 8K |
| 0x14000 | Kernal 1 | 8K |
| 0x16000 | Kernal 2 | 8K |
| 0x18000 | Kernal 3 | 8K |
| 0x1A000 | Kernal 4 | 8K |
| 0x1C000 | Kernal 5 | 8K |
| 0x1E000 | Kernal 6 | 8K |
Kernal and character ROM banks are binary-numbered. On the board is a pin header with a series of pins labelled F0 to F3 and K0 to K2. Open pins are high by default due to pull-up resistors. To set a low state, close a a pin pair with a jumper or otherwise.
K0, K1, and K2 simultaneously low is an illegal combination and the C64 will not boot. Do not close all three headers or set all three low together.
| Font selection | F3 | F2 | F1 | F0 |
|---|---|---|---|---|
| Font 0 | ||||
| Font 1 | 1 | |||
| Font 2 | 1 | |||
| Font 3 | 1 | 1 | ||
| Font 4 | 1 | |||
| Font 5 | 1 | 1 | ||
| Font 6 | 1 | 1 | ||
| Font 7 | 1 | 1 | 1 | |
| Font 8 | 1 | |||
| Font 9 | 1 | 1 | ||
| Font 10 | 1 | 1 | ||
| Font 11 | 1 | 1 | 1 | |
| Font 12 | 1 | 1 | ||
| Font 13 | 1 | 1 | 1 | |
| Font 14 | 1 | 1 | 1 | |
| Font 15 | 1 | 1 | 1 | 1 |
| Kernal selection | K2 | K1 | K0 |
|---|---|---|---|
| BASIC | x | x | x |
| Kernal 0 | 1 | ||
| Kernal 1 | 1 | ||
| Kernal 2 | 1 | 1 | |
| Kernal 3 | 1 | ||
| Kernal 4 | 1 | 1 | |
| Kernal 5 | 1 | 1 | |
| Kernal 6 | 1 | 1 | 1 |
Page created: 18DEC2025
Last modified: 18DEC2025