Home About Writings Projects Other nthpulse.net

< Return to MROM64

MROM64C board page



PCB build instructions

  1. Solder all top-side chips (U2, U3, U4) and capacitors (C2, C3, C4).
  2. Solder the capacitor (C1) and pull-up resistors (R1 - R7) on the underside.
  3. Break apart some single-row round pin headers. One length of 3 pins and two lengths of 14 pins are needed.
  4. TBC

Programming instructions

First, prepare an image to program to the "010" chip.
The easiest way is as follows:

  1. create a desktop folder named "characters" and copy 16 character ROMs into it.
  2. create a desktop folder named "kernals" and copy 1 BASIC ROM and 7 kernal ROMs into it.
  3. create a desktop folder named "combined" and leave it empty.
    You should now have a folder structure like this:
    .
    |--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
    
    
  4. Navigate to "characters".
    If using windows, open command prompt in this folder, and execute:
    copy /b * combined_fonts.bin
    If using linux, open a terminal in this folder, and execute:
    cat * > combined_chars.bin
    Copy combined_chars.bin into the "combined" folder.

  5. Navigate to "kernals". If using windows, open command prompt here, and execute:
    copy /b basic + kernal0 + kernal1 + kernal2 + kernal3 + kernal4 + kernal5 + kernal6 combined_kernals.bin

    If using linux, open a terminal here, and execute:
    cat basic + kernal0 + kernal1 + kernal2 + kernal3 + kernal4 + kernal5 + kernal6 > combined_kernals.bin
    Make sure to substitute correct file names.
    Copy combined_kernals.bin into the "combined" folder.

  6. Navigate to "combined", which should now look like:
    combined
    |-- combined_char.bin
    `-- combined_kernals.bin
    
    Combine these two files using
    copy /b combined_char.bin + combined_kernals.bin mrom64c.bin
    or
    cat combined_char.bin combined_kernals.bin > mrom64c.bin
    as appropriate, making sure that the character sets are first.
The mrom64c.bin file can now be burned to a "010" type ROM chip.


Memory map

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

Setting a kernal and character ROM

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.

Attention!

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