MSX ROM Cartridge
A custom-built MSX ROM cartridge including a W27C512 64KB ROM.
The cartridge is based on the RoMCaT MSX cartridge design by Andrés Ortiz.
This cartridge lets you use 8KB, 16KB and 32KB ROMs, configured using jumpers on the PCB.
Features
- W27C512 ROM which is reprogrammable using a suitable programmer such as the TL866 or T48
- Supports 8K, 16K and 2 x 32K ROM images
- Jumper-selectable ROM configuration
- Some soldering is required on the PCB to configure the jumpers
- Supplied with a 3D-printed cartridge case
- The 3D-printed case has access holes for the configuration jumpers and W27C512 ROM, allowing the jumpers to be soldered or changed and the ROM to be removed for reprogramming without having to repeatedly open the case
Usage
8K / 16K ROM
- Short the 64K jumper (Pins 2-3)
- Short CS1 only (remove any shorts on CS2 / CS12 / RD)
- Write the 8K or 16K ROM to address
0x4000
32K ROM
- Short the 32K jumper (Pins 1-2)
- Short CS12 only (remove any shorts on CS1 / CS2 / RD)
- Prepare the ROM using the ROMSwap utility. The upper and lower 16K blocks of the 32K ROM need to be swapped.
- Write the 32K ROM to address
0x0000
2 x 32K ROMs
- Short the 32K jumper (Pins 1-2)
- Short CS12 only (remove any shorts on CS1 / CS2 / RD)
- Prepare both ROMs using the ROMSwap utility
- Combine the two 32K ROMs into a 64K image
On Linux:
cat rom1.bin rom2.bin > combined.bin
- Write the 64K ROM image to address
0x0000 - Use the HI/LO switch to select ROM 1 or ROM 2
ROMSwap
I have created ROMSwap, a small Python utility specifically for swapping the upper and lower 16K blocks of a 32K ROM image.
The cartridge has been tested on a Toshiba HX-10 MSX computer and will come pre-configured for 8K / 16K mode.
The supplied W27C512 ROM will be unprogrammed. If you want the cartridge configured for 32K mode, please let me know when ordering.
As with any 3D-printed item, minor variations in surface finish may occur as a result of the printing process. These do not affect the operation of the cartridge.




