

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
374HCT04D
SO-14-40℃~+125℃ 1 19ns@4.5V,50pF 2V 2uA 3.7V 4.5V~5.5V 400mV 4mA 4mA 6 74HCT 800mV SO-14 Inverters ROHSNexperiaInverters74HCT138D
SO-16-40℃~+125℃ 160uA 20ns@4.5V,50pF 3/8 4.5V~5.5V 4mA 4mA 74HCT Decoder Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers74HCT32D
SO-14-40℃~+125℃ 2 24ns@4.5V,50pF 2V 2uA 3.7V、4.4V 4 4.5V~5.5V 400mV 4mA 4mA 74HCT Series 800mV OR Gate SOIC-14 Logic Gates ROHSNexperiaGates
README
hardware/malt/readme.mdMALT 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

[!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.
- Send the Gerbers ZIP file to your favorite PCB manufacturer for production
- Choose the build options
- Source the required components
- Populate the PCB with the components
- Set the jumpers / switches
- Test the cart hardware and disk media
- Flash the disk ROM
- Prepare the disk media for use with the disk ROM
Build options
Choose the type of IDE connector
- 44-pin: remove pin 20 before soldering it to the PCB.
- 40-pin: populate jumper JP2 to connect +5V to pin 20 for use with a CF card adapter.
Choose flash ROM or EEPROM
-
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! -
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
-
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. -
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. -
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). -
Other ATA/IDE disks
E.g. using SD to IDE adapter or SATA to IDE. These options are not tested yet.
Hardware test
- Minimal test with a multi-meter the resistance between +5V and GND that there is no short circuit.
- 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.
- 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.
- Power off the MSX computer
- Select the ROM bank with jumper JP1 or switch SW1
- Set the ROM enable switch SW2 to OFF position
- Power on the MSX
- Toggle switch SW2 to enable flashing to the ROM
- Flash the ROM from a 2nd disk system (e.g. floppy)
- 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
Parts
35| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | TestPoint | Connector_Wire:SolderWirePad_1x01_SMD_1x2mm | T1, T2, T3, T6, T7, T8, T9, T12, T42, T49 |
| 5 | 100nF | Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm | C1, C2, C3, C4, C5 |
| 4 | 10K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R2, R3, R4, R5 |
| 2 | PIN_1x3 | Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW1, SW2 |
| 1 | + | LED_THT:LED_D3.0mm | D1 |
| 1 | 100uF | msx:CP_lying | C6 |
| 1 | 330 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1 |
| 1 | 74HCT04 | Package_DIP:DIP-14_W7.62mm | U4 |
| 1 | 74HCT138 | Package_DIP:DIP-16_W7.62mm | U5 |
| 1 | 74HCT32 | Package_DIP:DIP-14_W7.62mm | U3 |
| 1 | 82C55A | Package_DIP:DIP-40_W15.24mm | U2 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP2 |
| 1 | Conn_02x03 | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | JP3 |
| 1 | Conn_02x22 | Connector_PinHeader_2.00mm:PinHeader_2x22_P2.00mm_Vertical | P44 |
| 1 | MSX_SLOT_CON | msx:Cart_Konami | CN1 |
| 1 | PINHD-02x20 | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Horizontal | P40 |
| 1 | PIN_1x3 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | SST39SF0X0 | Package_DIP:DIP-32_W15.24mm_Socket | U1 |
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 mm

- 2 layers

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 mm

- 2 layers99.1 × 76.8 mm

- 2 layers235 × 158.8 mm

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 mm

- 4 layers244.5 × 393.4 mm

- 2 layers100 × 160 mm
