MSX Architecture Machine Hub
MSX1, MSX2, MSX2+ & Turbo R workbench reference — Sony/Philips/Panasonic/Yamaha quirks, TMS9918 & V9938/V9958 VRAM diagnostics, JP vs EU 8-pin RGB SCART pinouts, and 50-pin cartridge slot restoration.
MSX Multi-Rail PSU (+5V / +12V / −12V), Cartridge Audio & MSX2 NiCd Battery Alert
Because the MSX standard was built by over 20 manufacturers, power supplies are NOT interchangeable between brands — yet the internal MSX cartridge bus strictly requires +5 V DC, +12 V DC, and −12 V DC! Even on late single-supply 9 V DC machines (like the Panasonic FS-A1), an internal DC-DC converter generates +12 V for cartridge slot Pin 48 because Konami SCC, MSX-MUSIC (`FM-PAC` YM2413), and MSX-AUDIO cartridges use the +12 V/−12 V rails to power their analog op-amp audio stages! Meanwhile, on almost every MSX2 and MSX2+, a rechargeable 3.6 V NiCd barrel battery for the `RP5C01` RTC/CMOS RAM leaks alkaline crystals across the V9938 VDP tracks!
1 Why +12V Matters for SCC / FM Sound
- Silent Konami SCC / FM-PAC Cartridge? If a Konami SCC game (Nemesis 2, Snatcher, Contra) or FM-PAC boots and plays fine, but its custom cartridge music is completely silent (only internal PSG sound effects play), check Cartridge Slot Pin 48 (`+12 V`) and Pin 50 (`−12 V`)!
- Many cartridges power their internal `TL072` / `4558` audio op-amp from `+12 V` before feeding the mixed sound back into the MSX motherboard via Cartridge Pin 49 (`SOUNDIN`).
- On Panasonic FS-A1 / Sony HB-F1 models, a failed internal +12 V boost transistor or open fuse (`ICP-N15` IC protector) kills all cartridge audio and RGB SCART blanking!
2 MSX2 `RP5C01` NiCd Battery & SMD Caps
- MSX2 / MSX2+ NiCd Clock Battery: Every MSX2 has a Ricoh `RP5C01` Real-Time Clock + 52-byte NVRAM chip backed by a blue/green 3.6 V NiCd battery (on Philips NMS-8245/8250/8280 and Sony HB-F700/F900). Clip it off immediately, neutralise green corrosion with white vinegar + 99% IPA, and fit a coin-cell holder (`CR2032` + `1N4148` blocking diode in series with the charging resistor!).
- Panasonic FS-A1ST / FS-A1GT (Turbo R) SMD Caps: Just like the Amiga 600/1200, early-1990s Panasonic MSX2+ and Turbo R boards use surface-mount electrolytic capacitors around the DAC/audio and Sony CXA1145 video encoder that leak and eat PCB vias!
3 Panasonic 720KB 3.5″ Drive Belt Alert
- Almost all MSX2, MSX2+, and Turbo R computers with built-in 3.5″ floppy drives (Panasonic `JU-253`, Sony `MP-F52W`, Philips `NMS-8245` single-sided `VY-0010`) use a belt-driven spindle motor (unlike direct-drive Amiga/PC drives)!
- When the rubber belt stretches (`~65–72 mm Ø × 1.2–1.5 mm` depending on mechanism), the MSX boots to BASIC instead of `MSX-DOS` and returns `Disk offline` on `FILES`.
MSX Generations (MSX1 – Turbo R) & Manufacturer Quirks
Compare the four official MSX hardware generations and explore brand-specific engineering across Philips, Sony, Panasonic, and Yamaha.
The Four Official MSX Hardware Generations 1983 – 1993 • Kazuhiko Nishi / ASCII & Microsoft
Unveiled by ASCII Corporation's Kazuhiko Nishi and Microsoft in June 1983, MSX established a strict hardware and BIOS software standard so any MSX cartridge, joystick, or disk program ran across machines from Sony, Panasonic, Philips, Yamaha, Toshiba, Canon, Sanyo, and Daewoo:
| Generation | CPU & Clock | Video VDP & VRAM | Screen Modes & Sprites | Audio & Standard Extras |
|---|---|---|---|---|
| MSX1 (1983–1986) |
Zilog Z80A @ 3.579545 MHz (1 `M1` wait state!) |
TI TMS9918A (NTSC Composite) or TMS9928A/9929A (YPbPr/RGB) + 16 KB VRAM (8×4116 or 2×4416) |
256×192, 16 colours (`SCREEN 2/3`), 32 hardware sprites (max 4 per scanline) | GI AY-3-8910 / Yamaha YM2149 (3-ch PSG) + 8 KB–64 KB Main RAM + 32 KB MSX-BASIC 1.0 ROM |
| MSX2 (1985–1988) |
Z80A @ 3.58 MHz (Some models add 5.37 MHz turbo) |
Yamaha V9938 (MSX-VIDEO) + 64 KB or 128 KB VRAM (4× 4464 or 4× 41464) |
256×212 / 512×212 (up to 424 interlaced), 256 colours (`SCREEN 8`) or 16 from 512 palette, hardware Blitter (`VDP commands`), 8 sprites/line | AY-3-8910 / YM2149 + Ricoh RP5C01 RTC (clock/CMOS) + Memory Mapper (64 KB–512 KB RAM) + MSX-BASIC 2.0 |
| MSX2+ (1988–1990) |
Z80A @ 3.58 MHz (Panasonic/Sony: 5.37 MHz switchable) |
Yamaha V9958 + 128 KB VRAM |
Adds YJK true-colour modes: 19,268 simultaneous colours (`SCREEN 12`), plus hardware horizontal pixel scroll register (`R#25–R#27`)! | Built-in MSX-MUSIC (`YM2413` OPLL 9-ch FM synth) + JIS Kanji ROM + 64 KB+ Mapped RAM + MSX-BASIC 3.0 |
| MSX Turbo R (1990–1993 • FS-A1ST / GT) |
ASCII R800 (16-Bit!) @ 7.16 MHz (28.6 MHz internal) + Z80 co-processor |
Yamaha V9958 + 128 KB VRAM |
All MSX2+ modes accelerated by high-speed R800 page-mode DRAM & VDP wait-controller (`S1990`) | Built-in 8-bit PCM DAC/ADC + MSX-MUSIC (`YM2413`) + Built-in MIDI (`FS-A1GT`) + 256 KB (`ST`) / 512 KB (`GT`) SRAM/DRAM + ROM disk |
Why the MSX Z80A Inserts 1 Wait State on Every `M1` (Opcode Fetch) Cycle: The MSX standard mandates that the motherboard assert Z80 `/WAIT` for exactly 1 clock T-state whenever `/M1` is active so slow 1983 mask ROM cartridges had extra access time — which means an MSX Z80A at 3.58 MHz executes code at roughly the same effective speed as a 3.1 MHz non-waited Z80!
Philips (VG-8020 & NMS-8220 / 8245 / 8250 / 8280) European MSX Standard
Philips dominated the European MSX1 and MSX2 market with Italian/Dutch-designed machines built around custom 8-pin DIN RGB video ports and internal linear/switching power supplies:
- Philips VG-8010 / VG-8020 (MSX1): Uses the PAL TMS9929A VDP (which outputs Y/R-Y/B-Y colour-difference signals converted to RGB/Composite by an onboard encoder). Common fault: The internal PSU's RIFA X2 mains filter cap explodes, and the 8× 4116 Video RAMs fail if the −5 V/+12 V rail drops!
- Philips NMS-8245 / 8250 / 8280 (MSX2): Desktop and 19″ rack-mount studio MSX2 systems (NMS-8280 adds built-in video digitiser & genlock/superimpose sliders!).
- Alert #1 — Leaky 3.6 V NiCd Battery: Located right next to the `S1985` MSX-Engine / `RP5C01` clock chip — remove immediately!
- Alert #2 — Belt-Driven 3.5″ Floppy (`VY-0010` / Sony MP-F52W): Early NMS-8245s use a 360 KB single-sided belt-driven drive; upgrading to a standard 720 KB PC 3.5″ drive or Gotek requires modifying Pin 34 (`READY`) and the Disk ROM!
Sony HitBit Series (`HB-55P/75P`, `HB-F1`, `HB-F1XD`, `HB-F700P`)
- Sony HB-55P / HB-75P (MSX1): Features built-in "Data Cartridge" (`HBI-55`) personal organiser software in ROM. Uses an external brick (`HBP-75`) with a unique multi-pin plug supplying +5 V, +9 V/+12 V, and −12 V.
- Sony HB-F1XD / HB-F1XDJ (MSX2 / MSX2+): Compact Japanese machines with built-in 3.5″ drives. Critical Fault: These machines use early surface-mount electrolytic capacitors on both the mainboard and the floppy drive motor servo PCB — leaked electrolyte eats the drive motor tracks and corrupts audio/video!
- Sony RGB DIN Output Quirk: European Sony HitBit MSX2s (`HB-F500P`, `HB-F700P/D`) use a Philips/European 8-pin DIN pinout (NOT the Japanese EIAJ 8-pin DIN pinout!). Plugging a Japanese MSX RGB cable into a European Sony/Philips MSX2 shorts the +12 V blanking pin directly to the RGB/Audio lines! See our comparison table below.
Panasonic FS-A1 Series (`FS-A1`, `FS-A1F/FX/WX/WSX` & `FS-A1ST/GT` Turbo R)
Matsushita/Panasonic engineered the most popular Japanese MSX2, MSX2+, and exclusive MSX Turbo R computers, pioneering the ultra-integrated MSX-Engine (`T9769` / `S1985` / `S1990`) single-chip system controllers:
- Original Panasonic FS-A1 (Red/Black MSX2): Uses an external 9 V AC/DC brick and an internal DC-DC converter board to generate +5 V, +12 V, and −12 V. Common fault: Failed radial caps on the internal PSU daughterboard cause a black screen or missing +12 V on the cartridge slots.
- Panasonic FS-A1WX / WSX (MSX2+) & FS-A1ST / GT (Turbo R):
- Belt-Driven Matsushita `JU-253` / `EME-213` 3.5″ Drive: Replace the stretched rubber spindle belt (`~70 mm Ø × 1.2 mm`) to cure `Disk offline`.
- SMD Capacitor Recapping: Replace all surface-mount aluminium cans (`10 μF 16V`, `22 μF 6.3V`, `47 μF 16V`, `100 μF 6.3V`) around the PCM DAC, `YM2413` OPLL, and `CXA1145M` RGB encoder!
Yamaha CX5M Music Computer (`SFG-01` & `SFG-05` FM Synth)
Yamaha's legendary CX5M (and `YIS-503`) MSX1/MSX2 workstations feature a dedicated side/bottom expansion bay holding an 8-voice 4-operator FM synthesizer module — essentially a Yamaha DX7 / FB-01 synth engine built inside an MSX!
| Yamaha Module | FM Chipset | MIDI & Bench Notes |
|---|---|---|
| SFG-01 (Early CX5M) |
YM2151 (OPM) + YM3012 Stereo DAC + YM2148 MIDI UART | 4-operator 8-voice FM synthesis! Has dedicated RCA Stereo Line Out + MIDI IN/OUT. Maps into MSX sub-slot `$0000–$3FFF`. |
| SFG-05 (CX5M II / Upgrade) |
YM2164 (OPP) + YM3012 DAC + YM2148 (32 KB ROM) | Upgraded firmware supporting standard MIDI polyphonic receiver mode (`FB-01` compatible) and MIDI THRU. |
Why the SFG-01/05 Sounds Distorted or Quiet: The SFG module relies on the CX5M's +12 V and −12 V rails to bias its `YM3012` floating-point DAC and dual operational amplifiers (`NJM4558`)! If one of the ±12 V rails is missing, the FM synth outputs heavily clipped distortion.
Diagnostic Checklist, VDP VRAM Faults & Slot Logic
Isolating Z80A vs VDP/VRAM faults on MSX1 (`TMS9918A`) and MSX2 (`V9938`), and fixing Primary/Secondary Slot selection bugs.
VDP & Video RAM Diagnostics (`4116` vs `4416` vs `4464`)
On all MSX computers, Video RAM (VRAM) is wired exclusively to the VDP (`TMS9918A` or `V9938`/`V9958`) and is completely separate from the Z80A's main system RAM! This makes isolating Main RAM vs VRAM effortless:
- Garbled Characters, Dotted Vertical Stripes, or Wrong Sprite Pixels (But Blind-Typing `BEEP` Works!):
- If the machine boots to the blue screen with corrupted letters (e.g. `MSX` becomes `M3X` or `OQX`) and typing
BEEP+ RETURN beeps normally, your Z80A, BIOS ROM, 8255 PPI, and Main System RAM are 100% healthy — one of your VRAM chips connected to the VDP has failed!
- If the machine boots to the blue screen with corrupted letters (e.g. `MSX` becomes `M3X` or `OQX`) and typing
- MSX1 VRAM Configurations (`16KB`):
- 8× `4116` (16K×1, Triple-Rail −5V/+12V/+5V): Used on early 1983/84 MSX1s (Philips VG-8010/8020, Sony HB-55/75, Spectravideo SVI-728). Touch all 8 chips after 30 seconds — a shorted 4116 runs boiling hot! Remember that TI numbers TMS9918A data bits backwards (`RD0 = MSB Bit 7` down to `RD7 = LSB Bit 0`)!
- 2× `4416` (16K×4, Single-Rail +5V): Used on compact 1985 MSX1 boards (Casio, Toshiba, late Sony). One chip handles the upper nibble (`RD0–RD3`), the other handles the lower nibble (`RD4–RD7`).
- MSX2 / MSX2+ / Turbo R VRAM (`64KB` or `128KB`):
- Uses two or four 4464 / 41464 (64K×4, DIP-18 or ZIP) DRAMs driven by the Yamaha `V9938`/`V9958`. If the white MSX2 boot logo shows vertical bars across the swooshing blocks, piggyback a known-good 4464 over each VRAM chip to spot the bad nibble!
Black Screen Tree & Primary / Secondary Slot Architecture
The MSX divides the Z80's 64 KB address space into four 16 KB pages (`Page 0: $0000`, `Page 1: $4000`, `Page 2: $8000`, `Page 3: $C000`), and routes each page to one of four Primary Slots (`Slot 0–3`) via 8255 PPI Port A (`#A8`)!
- 1. Why a Dead 8255 PPI (`IC` mapped at `#A8–#AB`) Causes an Instant Black Screen:
- At power-on reset, the 8255 resets Port A (`#A8`) to `00000000` binary — selecting Primary Slot 0 (Main BIOS + BASIC ROM) across all four 16 KB pages so the Z80A can boot at `$0000`!
- The BIOS then scans Slots 0–3 to find the largest contiguous RAM bank and switches Page 3 (`$C000–$FFFF`) and Page 2 (`$8000–$BFFF`) to that RAM slot for the stack and system variables. If the 8255 PPI (or the `74LS138` / `74LS153` slot-select decoder) fails, the CPU cannot switch RAM into Page 3 (`$C000`) and crashes immediately before initialising the VDP!
- 2. Secondary Slot Register (`$FFFF`) on MSX2: When a Primary Slot is expanded into four Sub-Slots (`Slot 3-0, 3-1, 3-2, 3-3`), writing to address
$FFFFselects which Sub-Slot is active (and reading `$FFFF` returns the bitwise complement / inverted value!). - 3. Cartridge Slot Pin 44 & Pin 46 (`SW1` / `SW2` Insertion Sense Loop!):
- Look at Pins 44 and 46 on the 50-pin MSX cartridge slot — on many cartridges, Pins 44 and 46 are shorted together on the cartridge PCB! Some MSX motherboards route a reset/power interlock through Pins 44/46 so plugging or unplugging a cartridge while powered on forces a reset (or cuts slot power). Still, never hot-plug an MSX cartridge with power on!
Japanese vs. European 8-Pin DIN RGB Video & Proprietary PSU Pinouts
WARNING: Japanese MSX (`EIAJ RGB-8`) and European Philips/Sony MSX (`Euro DIN-8`) use the SAME 8-pin horseshoe DIN connector with COMPLETELY DIFFERENT pinouts!
8-Pin DIN RGB Video: Japanese (EIAJ) vs. European (Philips / Sony P) DANGER: DO NOT MIX CABLES!
Both Japanese MSX2/2+/Turbo R computers (Panasonic `FS-A1`, Sony `HB-F1XD`, Sanyo `Wavy`) and European MSX computers (Philips `NMS-8245/8250/8280`, Sony `HB-F700P`) use an 8-pin 262° horseshoe DIN socket (except a few early boards using 270° circular DIN) — but every single pin is in a different position!
| DIN-8 Pin | Japanese MSX Standard (EIAJ) (Panasonic FS-A1 / Sony JP / Yamaha) |
European MSX Standard (Philips NMS-82xx / Sony HB-xxxP) |
SCART Target Pin |
|---|---|---|---|
| Pin 1 | Audio Out (Mono/Right) | Composite Video / CSYNC | Audio → SCART 2/6; Sync → SCART 20 |
| Pin 2 | GND (0 V Shield) | GND (0 V Shield) | SCART Pins 4, 5, 9, 13, 17, 18, 21 |
| Pin 3 | Composite Video / CSYNC | Audio Out (Mono/Left) | Sync → SCART 20; Audio → SCART 2/6 |
| Pin 4 | Ys (RGB Blanking / +5V) | GREEN (Analog 0.7 V) | Ys → SCART 16; Green → SCART 11 |
| Pin 5 | +12 V DC Out (or Audio Left) | +12 V DC Out (Status/Aspect) | SCART Pin 8 (or Pin 16 via 180 Ω) |
| Pin 6 | RED (Analog 0.7 V) | RED (Analog 0.7 V) | SCART Pin 15 (Red In) |
| Pin 7 | GREEN (Analog 0.7 V) | BLUE (Analog 0.7 V) | Green → SCART 11; Blue → SCART 7 |
| Pin 8 | BLUE (Analog 0.7 V) | Ys (RGB Blanking, ~1–3 V) | Blue → SCART 7; Ys → SCART 16 |
Why Panasonic `FS-A1WX / WSX / ST / GT` RGB Cables Need 470 μF Series Capacitors or Resistor Pull-downs: On late Panasonic MSX2+ and Turbo R boards, the `Sony CXA1145M` video encoder outputs R/G/B with a DC offset (expecting 75 Ω termination to ground + AC coupling inside the monitor). Make sure your Japanese MSX RGB SCART cable includes 220 μF–470 μF electrolytic coupling caps (positive toward MSX) on Red, Green, and Blue!
Common Proprietary MSX Power Connectors
Always verify the exact model sticker before building a bench PSU adapter:
| Machine / Series | Connector Type | Pinout & Voltage Spec |
|---|---|---|
| Panasonic FS-A1 (Original) | Barrel / 3-Pin | 9 V AC or 9 V DC (@ 1.5 A). Internal DC-DC board generates +5 V, +12 V, −12 V. |
| Panasonic FS-A1F / MK2 / WX / WSX / ST / GT | Internal Mains PSU (100 V AC JP) | Built-in 100 V AC switching PSU! In 230 V UK/Europe, always use a 100 V step-down transformer (or replace the internal PSU with a 100–240 V MeanWell module). |
| Sony HitBit HB-55P / HB-75P | 4-Pin Rectangular / DIN (`HBP-75`) | Supplies +5 V DC (1.35 A), +9.5 V DC (0.4 A, regulated internally to +5V VRAM/+12V), −12 V DC, and GND. |
| Yamaha CX5M (`MU-01` PSU) | 7-Pin DIN | External transformer/regulator brick supplying +5 V DC (2.0 A), +12 V DC (0.3 A), and −12 V DC (0.2 A) for the internal SFG-01/05 FM synth! |
Audio Mixing: Internal PSG + OPLL (`YM2413`) + Cartridge (`Pin 49`)
All MSX motherboards mix the internal AY-3-8910 / YM2149 PSG with Cartridge Slot Pin 49 (`SOUNDIN`) before feeding the rear Audio/Monitor jack. On early Japanese MSX1 models that only routed `SOUNDIN` to the RF modulator (and forgot to mix it into the RCA/DIN line-out!), solder a 10 kΩ resistor + 4.7 μF capacitor in series from Cartridge Slot Pin 49 to the internal PSG mixing node so Konami SCC and FM-PAC cartridges play through your RGB SCART cable!
50-Pin MSX Cartridge Slot Pinout & Restoration
Standard 50-pin (2×25, 2.54 mm pitch) MSX expansion slot pinout shared across every MSX1, MSX2, MSX2+, and Turbo R.
Looking down into the top/front cartridge slot of an MSX computer: Pin 1 is on the Left-Rear (away from the keyboard), Pin 2 is on the Left-Front (nearest the keyboard), Pin 49 is on the Right-Rear, and Pin 50 is on the Right-Front. (On a cartridge PCB, the component side faces up/rear toward the Odd pins 1–49, and the solder side faces down/front toward the Even pins 2–50):
| Odd Pin (Rear / Top) | Signal | Even Pin (Front / Bottom) | Signal | Odd Pin (Rear / Top) | Signal | Even Pin (Front / Bottom) | Signal |
|---|---|---|---|---|---|---|---|
| 1 | /CS1 (`$4000–$7FFF` Page 1 Read) | 2 | /CS2 (`$8000–$BFFF` Page 2 Read) | 27 | A1 | 28 | A0 |
| 3 | /CS12 (`$4000–$BFFF` Combined) | 4 | /SLTSL (Primary Slot Select `$0000–$FFFF`!) | 29 | A3 | 30 | A2 |
| 5 | Reserved | 6 | /RFSH (Z80 DRAM Refresh) | 31 | A5 | 32 | A4 |
| 7 | /WAIT (Pull low to add CPU wait states) | 8 | /INT (Maskable Interrupt Request) | 33 | A12 | 34 | A7 |
| 9 | /M1 (Z80 Machine Cycle 1 / Opcode) | 10 | /BUSDIR (Pull low when driving Data Bus on I/O Read!) | 35 | A14 | 36 | A6 |
| 11 | /IORQ (I/O Request) | 12 | /MERQ (Memory Request) | 37 | A9 | 38 | A8 |
| 13 | /WR (Write Strobe) | 14 | /RD (Read Strobe) | 39 | A11 | 40 | A10 |
| 15 | /RESET (System Reset) | 16 | Reserved | 41 | GND (0 V) | 42 | CLOCK (3.579545 MHz CPU Clock) |
| 17 | A15 | 18 | A13 | 43 | GND (0 V) | 44 | SW1 (Cart Insertion Protect Loop A) |
| 19 | D6 | 20 | D7 | 45 | +5 V DC | 46 | SW2 (Cart Insertion Protect Loop B) |
| 21 | D4 | 22 | D5 | 47 | +5 V DC | 48 | +12 V DC (Op-Amp / Disk / Flash Power) |
| 23 | D2 | 24 | D3 | 49 | SOUNDIN (External Cartridge Audio In!) | 50 | −12 V DC (Negative Op-Amp Rail) |
| 25 | D0 | 26 | D1 | Note: Address pins A6, A7, A12, A13, A14, A15 are deliberately scrambled to match 2764/27128 EPROM routing! | |||
Why `Pin 10 (/BUSDIR)` Is Critical for External I/O Cartridges: Because the MSX buffers the Z80 data bus internally with a bi-directional `74LS245` transceiver, any cartridge that responds to an I/O port read (`/IORQ` + `/RD`) MUST pull Pin 10 (`/BUSDIR`) low during that read cycle to flip the motherboard's data buffer direction inward toward the CPU! (Memory reads inside `/SLTSL` flip the buffer automatically).
Chip & MSX-Engine Reference
Interactive IC Pinout Finder cards plus Yamaha V9938/V9958 VDPs, YM2413 OPLL, and ASCII R800 / S1985 / T9769 system engines.
Zilog Z80A CPU
3.579545 MHz 8-bit CPU across all MSX1, MSX2, and MSX2+ systems (and co-processor on Turbo R).
View Pinout →TI TMS9918A / 28A / 29A
MSX1 Video Display Processor — 256×192 graphics, 16 colours, 32 sprites, and 16 KB private VRAM bus.
View Pinout →GI AY-3-8910 PSG
3-channel Programmable Sound Generator + two 8-bit I/O ports reading the two DE-9 MSX joystick sockets!
View Pinout →Yamaha YM2149F
Yamaha's CMOS/NMOS PSG equivalent used in Yamaha, Sony, and Panasonic MSX boards (Pin 26 `/SEL` clock divider).
View Pinout →Intel 8255A PPI
Mapped at `#A8–#AB`: Port A = Primary Slot Select (`Slots 0–3`); Port B & C = Keyboard matrix, Cassette, and CAPS LED.
View Pinout →4164 / 4464 DRAM
Main RAM (`8× 4164`) and MSX2/2+/Turbo R V9938/V9958 Video RAM (`4× 4464`).
View Pinout →Yamaha VDP, Audio & MSX-Engine VLSI Reference
| Chip | Package | Role & Upgrade Notes |
|---|---|---|
| Yamaha V9938 (MSX2 VDP) |
SDIP-64 (Shrink-DIP, 1.778 mm pitch!) | MSX2 Video Display Processor with built-in analog RGB DAC, hardware blitter, and 128 KB VRAM support. Runs warm — attach a low-profile heatsink! |
| Yamaha V9958 (MSX2+ / Turbo R VDP) |
SDIP-64 | Adds 19,268-colour YJK modes and smooth horizontal pixel scroll. Popular MSX2 → MSX2+ Mod: A V9958 can replace a V9938 in an MSX2 (requires lifting/adapting a few pins for the external `CXA1145` RGB encoder and composite sync)! |
| Yamaha YM2413 (OPLL) | DIP-18 / SOP-24 | 9-channel 2-operator FM synthesizer (`MSX-MUSIC` / `FM-PAC`) mapped at I/O ports `#7C` and `#7D`. |
| Yamaha S1985 / Toshiba T9769A/B/C | QFP-100 / QFP-144 (MSX-Engine) | Single-chip MSX2/2+ system ASICs integrating the 8255 PPI, YM2149 PSG, Memory Mapper (`#FC–#FF`), Slot Expanders, and Kanji/RTC interfaces! |
| ASCII R800 + S1990 | QFP-100 (MSX Turbo R) | 16-bit Z80-superset RISC-pipelined processor with hardware 16×16 multiply (`MULUB`/`MULUW`) managed by the `S1990` CPU-switcher engine (`CHGCPU` BIOS call). |
MSX BIOS / Sub-ROM & MegaROM Cartridge EPROM Guide
Every MSX1 contains a 32 KB Main ROM (`$0000–$3FFF` = MSX BIOS; `$4000–$7FFF` = MSX-BASIC), while MSX2 and MSX2+ machines add a 16 KB Sub-ROM (`MSX2 Extension BIOS`) in an expanded sub-slot:
| ROM / Cartridge | Standard Size | EPROM Substitution & Mapper Notes |
|---|---|---|
| Main BIOS + BASIC ROM | 32 KB (28-Pin) | 27C256 (32 KB JEDEC) is a direct drop-in on most 28-pin boards! (On early 24-pin 23128/23256 Sony/Philips sockets, check Pin 27/20 jumper links). Great for upgrading international keyboard layouts or NTSC/PAL default bit (`$002B` in BIOS)! |
| 16KB / 32KB Unbanked Game Cartridges | 16 KB / 32 KB | Uses 27C128 (`16KB`, `/CS1` Pin 1) or 27C256 (`32KB`, `/CS12` Pin 3). All ROM cartridges begin with the magic 2-byte header 41 42 (`"AB"` in ASCII) at `$4000` (or `$8000`) followed by the `INIT` execution pointer! |
| MegaROM Mappers (128KB – 4MB) | 27C010 / 29F040 Flash | Konami4, Konami5 (with SCC), ASCII8, and ASCII16 bank-switch 8 KB or 16 KB pages into `$4000–$BFFF`. Modern Carnivore2, MegaFlashROM SCC+ SD, and Rookiedrive cartridges emulate all mappers, SCC+, FM-PAC, and Nextor CF/SD storage in one slot! |
Resources & Further Reading
Blog posts, interactive bench tools, and essential MSX hardware & repair communities.
Smiggy's MSX & Z80 Posts
Bench Tools & Machine Hubs
- IC Pinout Finder — Z80, TMS9918A, AY-3-8910, YM2149, 8255 & more
- Recap Planner — capacitor replacement guide
- Ohm's Law Calculator
- C64 Machine Hub — Commodore 64 reference
- C128 Machine Hub — C128, C128D & DCR reference
- SX-64 Machine Hub — Executive Portable C64 reference
- Amiga Machine Hub — A500/A600/A1200 reference
- Atari ST Hub — 520ST, 1040STFM & STE reference
- Apple IIe Hub — Unenhanced, Enhanced & Platinum reference
- BBC Micro Hub — Model B, B+ & Master 128 reference
- Acorn Atom & Electron Hub — Atom & Electron reference
- ZX Spectrum Hub — 16K/48K & +2/+3 reference
- Sinclair QL Hub — 68008, Microdrive & ULA reference
- Dragon 32/64 Hub — Dragon 32 & 64 reference
- Oric-1 & Atmos Hub — Oric 6502A & ULA reference
- Amstrad CPC 464 Hub — CPC 464 & Datacorder reference
- Amstrad CPC 6128 Hub — 128K & 3″ disc reference
- Osborne 1 & Kaypro II Hub — CP/M luggable reference
- Big-Box Amiga Hub — A1000, A2000, A3000 & A4000 reference
- Atari 8-Bit Hub — 400/800, 800XL & 130XE reference
- VIC-20 Machine Hub — Commodore VIC-20 reference
External MSX Resources
- MSX Resource Center (MSX.org) — the global MSX hardware, repair forum, and Wiki encyclopaedia
- MSX.org Service Manuals Archive — Sony, Philips, Panasonic, and Yamaha factory schematics
- Generation MSX — complete hardware and software database for every MSX model released
- Grauw's MSX Technical Library — V9938/V9958, R800, OPLL, and Slot programming specs