Skip to the content
PCBKitNew board
2 layers99.7 × 64.1 mmMalt, the printed circuit board in 3D

MSXDOS smaller 16K/32K rom with IDE interface drivers and enhancements

Size
99.7 × 64.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
106
Pads
307
Tracks, vias
966, 105
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
23 Jan 2024
Updated
22 Jul 2026

Overview

Malt is an open-source printed circuit board by b3rendsh, from the b3rendsh/msxdos2s repository on GitHub. It is a 2-layer board of 99.7 × 64.1 mm with 35 parts on 106 nets, routed with 966 tracks and 105 vias.

It is built around the 74HCT04D, 74HCT138D and 74HCT32D. Its parts include 6 capacitors, 5 resistors, 5 ICs, 3 connectors and 2 switches. It belongs with the retro computing and games boards of this library.

Main components

3

README

hardware/malt/readme.md

MALT IDE

MSX 8255 PPI IDE board that is based on the Eurocard Bus DiskIO V3 PPIDE design for retrocomputers.

It uses the same 8255 PPI chip as the MSX BEER interface but the IDE control signals are implemented in a more robust way.

Features

  • Interface for IDE harddisks and CF cards (with IDE adapter)
  • Flash the disk ROM in-system on MSX
  • Selectable I/O address
  • MSX-DOS 1 and 2 disk system driver (ATA master disk only)
  • RomWBW CP/M PPIDE driver that supports ATA, ATAPI and master/slave drives

malt pcb design

[!CAUTION] If the SW1 switch is mounted then the JP1 jumper should not be used.
Only toggle the SW1 switch (right side) when the MSX computer is off.

The SW2 switch (left side) can be toggled when the MSX computer is on.

Howto build

A basic understanding of the MSX (disk) system, soldering skills and knowledge of retro computer electronics is required to build and use this cart.

  1. Send the Gerbers ZIP file to your favorite PCB manufacturer for production
  2. Choose the build options
  3. Source the required components
  4. Populate the PCB with the components
  5. Set the jumpers / switches
  6. Test the cart hardware and disk media
  7. Flash the disk ROM
  8. Prepare the disk media for use with the disk ROM

Build options

Choose the type of IDE connector

  1. 44-pin: remove pin 20 before soldering it to the PCB.
  2. 40-pin: populate jumper JP2 to connect +5V to pin 20 for use with a CF card adapter.

Choose flash ROM or EEPROM

  1. SST flash ROM (default)
    The cart can be used with 128K, 256K or 512K SST (or other JEDEC compatible) flash ROM.
    Use a jumper (JP1) or SPDT switch (SW1) to switch between two ROM banks.
    Don't populate the PCB with both JP1 and SW1 or else you can create a short circuit!
    The switch or jumper should only be toggled when the MSX computer is off!

  2. W27C512 EEPROM
    Make sure to place the 28-pin chip correctly in the 32-pin socket. See pictures.
    Flash the disk ROM with an external programmer like the T48.
    A standard 32KB disk ROM image should start at EEPROM address 0x4000!
    The ROM bank switch/jumper will have no function.

Select an I/O address range with jumper JP3

1: 0x1C-0x1F
2: 0x34-0x37 (default)
3: 0x3C-0x3F

The MSX-DOS software driver will try to autodetect the selected I/O address.

Select disk media type to use with the cart

  1. Compact Flash (default)
    There are CF to IDE adapters for 40 pin or 44 pin IDE connectors. The front of the adapter should point to the backside of the MSX cart! See pictures.
    Some of the 40 pin CF adapters have pin 20 blocked. You can still use them if you drill a hole and connect a dupont wire between the CF card power conector (LP4) and jumper JP2 +5V pin. See pictures.

  2. Classic 2,5" notebook harddisk
    This type of disk uses a 44-pin connector. It is not recommended to power the harddisk via the MSX! Instead use an external power supply and a custom built adapter cable.

  3. Classic 3,5" harddisk
    This type of disk uses a 40-pin connector. A 40-pin flat cable may have pin 20 blocked. Use an external molex power adapter (or old ATX power supply).

  4. Other ATA/IDE disks
    E.g. using SD to IDE adapter or SATA to IDE. These options are not tested yet.

Hardware test

  1. Minimal test with a multi-meter the resistance between +5V and GND that there is no short circuit.
  2. Set SW2 to OFF position, insert the cart in a MSX slot, power on the MSX and use the TASTE program (loaded from tape or 2nd disk system) to test if the disk interface is detected and the disk works correctly.
  3. Prepare the disk media with a test disk image and check if the MSX will boot into MSX-DOS.

The LED on the cart should light up whenever there is disk activity.

Flash disk ROM

You can use the flask program to flash a disk image to the selected ROM bank.

  1. Power off the MSX computer
  2. Select the ROM bank with jumper JP1 or switch SW1
  3. Set the ROM enable switch SW2 to OFF position
  4. Power on the MSX
  5. Toggle switch SW2 to enable flashing to the ROM
  6. Flash the ROM from a 2nd disk system (e.g. floppy)
  7. Reboot the MSX

If you don't have a 2nd disk system then you can load CXDOS1D.BIN from tape to flash the ROM. In this scenario the disk media should have a valid MSX FAT partition with flask.com and disk image file. The MSX tape input can be used with an android phone and msx2cas app to load the bin file. Alternatively you can also a convert a bin file to a wav file with openMSX and play the wav on a suitable device.

Notes

Schematics and Kicad project files are provided so you can make changes if you want to.

The 8255 PPI chip has been used for different types of interfaces. E.g. with a few changes you can create a multi-i/o board or a bidirection printer port. The unused pins on the cart's edge connector have small solder pads to facilitate this type of experiments.

The cart should fit in a Konami type case with some cutouts for the switches and ic's if sockets are used.

Pictures

MALT IDE 44-pin

MALT IDE 40-pin

more pictures

Parts

35
QtyValueFootprintReferences
10TestPointConnector_Wire:SolderWirePad_1x01_SMD_1x2mmT1, T2, T3, T6, T7, T8, T9, T12, T42, T49
5100nFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1, C2, C3, C4, C5
410KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R3, R4, R5
2PIN_1x3Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW1, SW2
1+LED_THT:LED_D3.0mmD1
1100uFmsx:CP_lyingC6
1330Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
174HCT04Package_DIP:DIP-14_W7.62mmU4
174HCT138Package_DIP:DIP-16_W7.62mmU5
174HCT32Package_DIP:DIP-14_W7.62mmU3
182C55APackage_DIP:DIP-40_W15.24mmU2
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2
1Conn_02x03Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJP3
1Conn_02x22Connector_PinHeader_2.00mm:PinHeader_2x22_P2.00mm_VerticalP44
1MSX_SLOT_CONmsx:Cart_KonamiCN1
1PINHD-02x20Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_HorizontalP40
1PIN_1x3Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1SST39SF0X0Package_DIP:DIP-32_W15.24mm_SocketU1

Questions

How big is the Malt PCB?

It measures 99.7 × 64.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Malt use?

35 parts, built around the 74HCT04D, 74HCT138D and 74HCT32D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Malt KiCad files?

From the b3rendsh/msxdos2s repository on GitHub, at the commit this page was made from: the board is hardware/malt/malt.kicad_pcb and its schematic hardware/malt/malt.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Malt design in my own project?

Its repository states no licence, so its author keeps all rights: ask b3rendsh before reusing the design.

Similar boards

  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers176.5 × 85.1 mmISA EMS, the printed circuit board in 3D

    ISA EMS

    hkzlab/ISA_EMS_4Mb

    ISA 4Mb EMS expansion board

    49 parts41
  • 2 layers99.1 × 76.8 mmMegacart ram, the printed circuit board in 3D

    Megacart ram

    ezod/rc2014-cv-megacart-ram

    RC2014 ColecoVision MegaCart 32KB/512KB RAM Module

    31 parts2
  • 2 layers235 × 158.8 mmGigatron, the printed circuit board in 3D

    Gigatron

    flypie/Gigatron

    This is a version of the files from https://gigatron.io/ altered to work on a vanilla KiCAD 5.1.6. Changes are minimal in the schematic and PCB, layout has only been changed where dimensions or orientations changed as a…

    151 parts2
  • 2 layers368.3 × 215.9 mmTTL 6510 Computer fab, the printed circuit board in 3D

    TTL 6510 Computer fab

    StefansAI/TTL-6510-Computer

    Yet another CPU made from TTL chips

    330 parts1
  • 4 layers244.5 × 393.4 mm8-bit cpu, the printed circuit board in 3D

    8-bit cpu

    nurk/8-bit-cpu

    8-bit CPU

    458 parts
  • 2 layers100 × 160 mmAFI K5173, the printed circuit board in 3D

    AFI K5173

    Stefan311/A7150

    All about the IBM-XT-Clone A7150

    50 parts3BSD-2-Clause