Building A DIY MSX Mega Cartridge

[Mike] from Leaded Solder has a soft spot for old computers, and a chance encounter with a friend sent them deep down the deep hole that is the world of 80s and 90s-era Japanese home computers.  Many people playing with these machines have all kinds of issues to deal with, such as rotting cartridges, failing components, and just dirt and mank in critical places. [Mike] decided that working on an MSX-standard custom programmable cartridge would be sensible, but then got stuck on how the MSX cartridge mapping works.

The Konami 128K scheme uses 4 to 4-of-8 mapping.

You may recall that the MSX platform is not a single computer but a standard to which many (mainly Japanese) manufacturers designed their products. This disconnected the software writers from the hardware makers and is essentially a mirror of the IBM-PC clone scene.

The MSX is based around the Z80, which has a 16-bit address bus, restricting it to 64K of ROM or RAM. The MSX has two cartridge slots, an ‘internal’ slot for the BIOS and RAM and a fourth for ‘misc’ use. Each of these is mapped internally into the physical address space. The cartridge slots have 64K of addressable space mapped into the Z80 physical space.

If this was not complicated enough, many MSX games and applications exceeded this restriction and added a layer of mapping inside the cartridge using bank switching. A register in the cartridge could change the upper bits of the address allowing ROMs larger than 64K.

[Mike] wanted to replicate the method Konami used for their games. Their first target was The Maze of Galious, which requires a 128K ROM. Their scheme requires additional hardware to map each of the four 16K slots in the cartridge interface to four of the eight 16K slots of the ROM chip. The game selects which bits of the ROM it needs as the game progresses. The implementation uses an old 74LS670, which can still be bought from old stock as a 4×4 bit register file and a two-way dip selector switch. This allowed [Mike] to fit four games into a single SST39SF040 4MBit parallel flash chip. After a few false starts with the details of address bit selection, they were rewarded by Galious booting up without any additional work needed. If you own an MSX-compatible machine and want to build one for yourself, the full KiCAD project is available on the project GitHub page.

The MSX isn’t a well-known platform in the West, and MSX hacks are a rarity here, but in the spirit of retro, here’s a hack to add support for a retro gamepad to the MSX. Also, if you can’t find a period MSX, you can always build one.

9 thoughts on “Building A DIY MSX Mega Cartridge

  1. The MSX isn’t a well-known platform in the West

    You mean in the US, the MSX architecture was very popular in some Western countries: Spain and the Netherlands in Europe, Brazil and Argentina in South America.

    1. Near the end of the platform MSX2 was also around, but even less being known.
      I suppose MSX1 had done enough harm already.

      MSX1 and MSX2 relate to each others like VIC20 and Amiga, in terms of capabilities.
      MSX2 machines had floppy drives, more RAM and a better VDP.

      Especially the Yamaha V9938 video chip made a big difference, I think.
      The previous TMS9918 was very modest.
      https://www.msx.org/wiki/Category:VDP

  2. I still have a wired dot board with two RAM and a battery to save games, I made it in the 20001s’s and some DIP switches.
    The interesting thing is using a pico or similar and an SD card

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.