Est. 1983 · Microsoft & ASCII Corporation

MSX

THE UNIVERSAL HOME COMPUTER STANDARD

A standardized home computer architecture that united dozens of manufacturers under a single, compatible platform—spanning four generations and a legacy that endures to this day.

▼ SCROLL TO EXPLORE ▼

What is MSX?

MSX was a standardized home computer platform co-conceived by Kazuhiko Nishi of ASCII Corporation and Microsoft Japan, announced in June 1983. The goal was ambitious: create an open standard that any manufacturer could license, ensuring software and hardware compatibility across all MSX machines—a vision that predated the IBM PC clone era and deeply influenced how the industry thought about interoperability.

Unlike proprietary systems such as the Commodore 64 or ZX Spectrum, MSX defined a minimum hardware specification. A program written for one MSX machine would run on any other, regardless of the manufacturer. This led to over 5 million units sold globally and adoption by more than 50 manufacturers across Japan, Europe, Latin America, and the Middle East.

1983
MSX 1 Announced & Released
First machines arrive in Japan from Matsushita, Sony, Toshiba, Hitachi, and others. European/Latin American launches follow in 1984.
1985
MSX 2 Standard Defined
Enhanced video, more RAM, and real-time clock. Dominates the Japanese home market through the late 1980s.
1988
MSX 2+ Emerges
New video modes with 19,268 simultaneous colors, hardware scroll, and YMF278 sound chip option.
1990
MSX turbo R — The Final Generation
Panasonic releases MSX's last official standard, adding a 16-bit R800 CPU while retaining full Z80 compatibility.
2002+
MSX Revival & Modern Community
The MSX Association revives the brand; FPGA implementations, new cartridges, and an active global community keep MSX alive.

System Architecture

The MSX standard defined a precise hardware architecture that every compliant machine had to implement. This was not a suggestion—it was a contract between manufacturers and the software ecosystem.

Memory Map & Slot System

The most distinctive architectural feature of MSX is its slot system. The Z80's 64 KB address space is divided into four 16 KB pages (Page 0–3), each of which can be mapped to one of up to four primary slots. Each primary slot can optionally be expanded into four sub-slots, giving a theoretical maximum of 16 addressable memory regions.

Address Range Page Typical Content
0000h – 3FFFhPage 0BIOS ROM / Sub-ROM (MSX2+)
4000h – 7FFFhPage 1MSX BASIC ROM / Cartridge ROM
8000h – BFFFhPage 2Cartridge ROM, RAM expansions
C000h – FFFFhPage 3Main Work RAM (always)

I/O Port Map

Port(s)Device
98h–9BhVDP (V9938/V9958) data & register access
A0h–A2hPSG (AY-3-8910) sound chip
A8h–ABhPPI (8255) — keyboard, slot select, CAS
B4h–B5hRTC (MSX2+) — RP5C01 real-time clock
C0h–C3hMSX-AUDIO (Y8950) — MSX2+
7Ch–7DhMSX-MUSIC (YM2413 / OPLL)
E6h–EBhMSX-DOS / Disk ROM port region

Minimum MSX 1 Specifications

Processor

Z80A @ 3.58 MHz

All MSX machines share this CPU, ensuring binary compatibility across the entire platform.

Memory

8–64 KB RAM

Minimum 8 KB VRAM (16 KB on MSX2). Main RAM 8–64 KB (16 KB typical MSX1, 64 KB on MSX2).

Video

TMS9918A / V9938

Dedicated video processor handling all display output independently from the main CPU.

Audio

AY-3-8910 PSG

3-channel programmable sound generator, also hosting two joystick ports and a cassette interface.


CPU — Zilog Z80

Every MSX generation through MSX 2+ used the Zilog Z80A running at 3.579545 MHz (derived from the NTSC color subcarrier frequency). This was a deliberate choice: a well-documented, widely supported 8-bit processor with a rich instruction set and large developer community.

FeatureDetail
Architecture8-bit data bus, 16-bit address bus
Clock Speed3.579545 MHz (NTSC) / 3.546893 MHz (PAL)
RegistersA, B, C, D, E, H, L + shadow set (A', B'…)
Index RegistersIX, IY (16-bit)
Stack PointerSP (16-bit)
Addressable RAM64 KB direct (expanded via slot paging)
Interrupt ModesIM 0, IM 1, IM 2 (MSX uses IM 1)

MSX turbo R — R800 CPU

The turbo R introduced ASCII Corporation's R800 processor—a 16-bit internal architecture CPU maintaining full Z80 instruction-set compatibility, but executing code 2–7× faster depending on memory access patterns. It featured a hardware multiplier and ran at 7.16 MHz effective throughput.

FeatureR800Z80A
Internal Width16-bit8-bit
Clock7.16 MHz3.58 MHz
MultiplyHardware (MULUB/MULUW)Software only
Pipeline2-stageNone
Z80 CompatibleYes (full binary)
RAM AccessDRAM burst modeStandard

The turbo R could switch between R800 and Z80 modes under software control, allowing compatibility with games that relied on Z80 timing for sound or gameplay.


Video — VDP Chips

TMS9918A — MSX 1

Texas Instruments' TMS9918A (or compatible clone) powered MSX 1 machines. It operated independently of the main Z80, handling all display generation autonomously. Communication was done via two I/O ports: one for data, one for register/address control.

ModeResolutionColorsNotes
Screen 040×24 text2Text mode, no sprites
Screen 132×24 tiles16 (2/tile)Basic graphics, 32 sprites
Screen 2256×19216 (2/8px row)High-res bitmap-ish
Screen 364×48 multicolor16Each pixel is 4×4 block

Sprites on the TMS9918A are 8×8 or 16×16 pixels, with magnification. A limit of 32 sprites total and 4 sprites per scanline applied.

V9938 — MSX 2

Yamaha's V9938 was a quantum leap forward. It added 128 KB VRAM (expandable to 192 KB), hardware scroll, bitmap modes, and line-based interrupts.

ModeResolutionColors
Screen 5256×21216 from 512
Screen 6512×2124 from 512
Screen 7512×21216 from 512
Screen 8256×212256 (fixed palette)
Screen 0 Wide80×24 text2

The V9938 also introduced hardware commands: LMMC, LMMM, HMMM, LINE, PSET, SRCH—allowing fast block copies, line drawing, and search operations offloaded from the Z80.

V9958 — MSX 2+ & turbo R

The V9958 extended the V9938 with two critical additions: YJK color encoding (enabling up to 19,268 simultaneous colors on screen) and a hardware horizontal scroll register. Screen modes 10, 11, and 12 were added.

ModeColorsMethod
Screen 1012,499YJK + 16 attribute colors
Screen 1112,499YJK + 16 standard colors
Screen 1219,268Full YJK encoding

Sound — Audio Evolution

AY-3-8910 PSG — All MSX Generations

The General Instrument AY-3-8910 (or compatible: YM2149, T7766A) provided the baseline audio for every MSX machine. Beyond sound, it doubled as a peripheral controller, hosting two 8-bit I/O ports used for joystick reading.

FeatureDetail
Channels3 tone + 1 noise
WaveformsSquare wave + noise
Envelope1 shared envelope generator (8 shapes)
Frequency range~122 Hz – 125 kHz (tone)
OutputAnalog mono (mixed)

Y8950 MSX-AUDIO

The Yamaha Y8950 (MSX-AUDIO) brought FM synthesis to MSX via the OPL (FM Operator Type-L) core, plus a built-in ADPCM sample playback channel with 32 KB sample RAM. Found in the Panasonic FS-CA1 and MSX Music Modules.

FeatureDetail
FM Channels9 operators (as 9×2-op or fewer ×4-op)
ADPCM1 channel, 4-bit ADPCM, 7.875 kHz default
Sample RAM32 KB internal
Rhythm Mode5 preset rhythm instruments

YM2413 MSX-MUSIC (OPLL)

The simplified YM2413 OPLL was included on MSX 2+ machines (built-in) and available as an expansion for MSX 2. It offered 9 FM channels using 15 preset instrument patches plus one user-definable patch, or alternatively 6 FM channels + 5 rhythm channels.

FeatureDetail
FM Channels9 melodic (2-op each)
Rhythm Mode6 melodic + 5 rhythm
Presets15 ROM patches + 1 user patch
Algorithm2-operator FM (OPL simplified)
Built-inMSX 2+ and turbo R (mandatory)

YMF278B — OPL4 (MSX turbo R era)

The premium Moonsound expansion card brought the YMF278B (OPL4), combining 24 FM channels with a wave table synthesizer capable of 24 simultaneous PCM samples from a 512 KB (expandable to 4 MB) ROM/RAM bank. It became the pinnacle of MSX audio.

AY-3-8910 Y8950 MSX-AUDIO YM2413 OPLL YMF278B OPL4 SCC / SCC+

Konami SCC — Wave Table Cartridge

Konami's proprietary SCC (Sound Creative Chip) and later SCC+ chips were embedded in game cartridges. Each channel had a 32-byte user-defined waveform table, enabling realistic instrument sounds far beyond the PSG. Used in titles like Gradius 2, Snatcher, and Space Manbow.


MSX Generations

MSX 1
1983 — 1985

The original MSX standard defined the baseline that all future generations built upon. Over 40 manufacturers released MSX 1 machines, each with different RAM configurations, keyboard layouts, and peripheral sets—but all running identical software.

CPUZ80A @ 3.58 MHz
RAM8–64 KB (16 KB typical)
VRAM16 KB
VDPTMS9918A (or compatible)
Colors16 (fixed palette)
SoundAY-3-8910 (3 ch PSG)
ROM32 KB BIOS + 16 KB BASIC
Slots1–2 cartridge slots
StorageCassette (optional: disk)
MSX 2
1985 — 1988

MSX 2 brought the Yamaha V9938 VDP, dramatically improving graphics capabilities. Mandatory 64 KB RAM and 128 KB VRAM enabled bitmap graphics and palette manipulation. A real-time clock was added for disk timestamps. This became the dominant MSX standard in Japan.

CPUZ80A @ 3.58 MHz
RAM64–256 KB (128 KB typical)
VRAM128 KB (expandable to 192 KB)
VDPYamaha V9938
Colors512 palette, 256 simultaneous
SoundAY-3-8910 + optional MSX-AUDIO
ROM48 KB BIOS + 16 KB BASIC + 16 KB sub
RTCRP5C01 real-time clock
Storage720 KB 3.5" or 360 KB 5.25" floppy
MSX 2+
1988 — 1990

The V9958 VDP added YJK color (up to 19,268 simultaneous colors) and hardware horizontal scroll. The YM2413 OPLL FM chip became mandatory, giving every 2+ machine built-in FM music. Mostly a Japan-only standard, though popular in certain European markets via upgrade kits.

CPUZ80A @ 3.58 MHz
RAM64–256 KB
VRAM128 KB
VDPYamaha V9958
ColorsUp to 19,268 (YJK) / 512 palette
SoundAY-3-8910 + YM2413 OPLL (built-in)
ScrollHardware horizontal scroll
New ScreensScreen 10, 11, 12 (YJK modes)
MSX turbo R
1990 — 1993

ASCII Corporation's final MSX standard, produced exclusively by Panasonic (two models: FS-A1ST and FS-A1GT). The R800 16-bit CPU brought a massive speed increase while maintaining Z80 binary compatibility. 256 KB RAM standard, and the GT model included a built-in MIDI port and OPL4 audio capability.

CPUR800 @ 7.16 MHz (+ Z80 mode @ 3.58 MHz)
RAM256 KB (FS-A1ST) / 512 KB (FS-A1GT)
VRAM128 KB
VDPYamaha V9958
SoundAY-3-8910 + YM2413 OPLL + PCM DAC
PCM8-bit DAC playback channel
MIDIBuilt-in (FS-A1GT only)
Storage720 KB 3.5" + internal ROM cartridge

Notable MSX Computers

Talent DPC-200 MSX 1 · 1984

Manufactured by Daewoo and distributed in Argentina and Latin America under the Talent brand, the DPC-200 became one of the most iconic MSX machines in South America, with localized Spanish BASIC and documentation.

CPUZ80A @ 3.58 MHz
RAM64 KB
VRAM16 KB
VDPTMS9918A compatible
SoundAY-3-8910 PSG
StorageCassette; optional disk
SpecialSpanish localized BIOS/BASIC
Spectravideo SVI-728 MSX 1 · 1983

Spectravideo's SVI-728 was among the earliest MSX-compliant machines released, reflecting SVI's role in co-defining the standard. Sold in North America and Europe, with a distinctive wedge design and built-in printer port.

CPUZ80A @ 3.58 MHz
RAM64 KB
VRAM16 KB
VDPTMS9918A
Ports2× joystick, centronics, RGB, RF
SpecialSV-601 Super Expander slot
Spectravideo SVI-738 MSX 1 · 1985

The SVI-738 X'Press was Spectravideo's most advanced MSX 1 machine—a laptop-style portable with a built-in 3.5" floppy drive, making it one of the few MSX 1 machines to ship with disk storage standard.

CPUZ80A @ 3.58 MHz
RAM64 KB
FormLaptop / portable
FloppyBuilt-in 3.5" 360 KB
SpecialBattery option, LCD display option
Sony HB-75P Hit-Bit MSX 1 · 1984

Sony's Hit-Bit series was premium MSX hardware with excellent build quality. The HB-75P featured a distinctive blue keyboard and was one of Sony's best-selling MSX 1 machines in Europe.

CPUZ80A @ 3.58 MHz
RAM64 KB
VDPTMS9918A
SoundAY-3-8910
SpecialSony build quality, JIS keyboard
Toshiba HX-10 MSX 1 · 1983

Toshiba was among the launch manufacturers. The HX-10 (and its variants HX-10D, HX-10S) featured one of the better keyboards on early MSX machines and solid RF output. Popular in Japan and the Netherlands.

CPUZ80A @ 3.58 MHz
RAM16–64 KB (variant)
VRAM16 KB
VDPTMS9918A
SpecialGood full-travel keyboard
Philips VG-8235 MSX 2 · 1986

Philips was the dominant MSX manufacturer in the Netherlands. The VG-8235 was their flagship MSX 2, including a built-in 3.5" floppy drive and BASIC 2.0. Common in Dutch schools and homes throughout the late 80s.

CPUZ80A @ 3.58 MHz
RAM128 KB
VRAM128 KB
VDPYamaha V9938
FloppyBuilt-in 3.5" 720 KB
Amstrad / Schneider MSX 1 · 1984–85

Amstrad (and its German brand Schneider) produced the CPC 464/664/6128 computers, which were NOT MSX—they were Amstrad's own Z80 platform. However, Amstrad and Schneider also sold MSX-branded machines under the Schneider MSX name in Germany, which were rebranded Spectravideo or Philips units. The distinction is important: Amstrad's CPC line ran its own OS and is entirely separate from MSX.

Schneider MSXRebranded SVI/Philips MSX
Amstrad CPCNon-MSX, separate platform
MarketGermany, UK
Yamaha CX5M / CX5MII MSX 1 · 1984

Yamaha's CX5M was the musician's MSX—featuring a built-in SFG-01 FM sound module (based on the YM2151 OPM), MIDI interface, and bundled FM-MUSIC BASIC. The CX5M was used by serious musicians and music educators worldwide.

CPUZ80A @ 3.58 MHz
FM ChipYM2151 (OPM, 8 channels)
MIDIBuilt-in IN/OUT/THRU
SpecialFM-MUSIC BASIC, SFG module
Panasonic FS-A1ST turbo R · 1990

The first MSX turbo R machine, featuring the R800 CPU, 256 KB RAM, built-in MSX-MUSIC (OPLL), 8-bit PCM channel, and a 720 KB 3.5" floppy. Still the most common turbo R model today.

CPUR800 @ 7.16 MHz + Z80 mode
RAM256 KB
SoundPSG + OPLL + 8-bit PCM
Storage720 KB 3.5" floppy
Panasonic FS-A1GT turbo R · 1991

The ultimate MSX machine. The FS-A1GT added 512 KB RAM, a built-in MIDI interface, RS-232C port, and the Moonsound-compatible PCM stereo output. The pinnacle of commercial MSX hardware.

CPUR800 + Z80 dual mode
RAM512 KB
SoundPSG + OPLL + PCM stereo
MIDIBuilt-in IN/OUT
SpecialRS-232C, ultimate MSX hardware
Sanyo PHC-28L / MPC-25FS MSX 1–2 · 1984–86

Sanyo produced a range of MSX machines in Japan, notable for their optional wafer tape (QD) drive. The PHC-28L used a non-standard storage format that was unique to Sanyo's MSX lineup.

CPUZ80A @ 3.58 MHz
StorageWafer tape / optional floppy
SpecialUnique QD format (Sanyo only)
Talent TPC-312 MSX 1 · 1985

Another Talent branded MSX from Latin America (Argentina), the TPC-312 was a popular budget MSX. Like the DPC-200, it was manufactured by Daewoo and localized for the Spanish-speaking market.

CPUZ80A @ 3.58 MHz
RAM32–64 KB
MarketArgentina / Latin America
SpecialSpanish localization, budget price

Peripherals & Expansions

Storage

Storage

Cassette Tape

MSX BASIC included CSAVE and CLOAD commands for cassette I/O at 1200 or 2400 baud. The PSG chip provided the baud tone generation; the PPI handled motor control.

Storage

Floppy Disk

MSX Disk BASIC added FILES, OPEN, LOAD, SAVE, and full file I/O. Drives: 5.25" 360 KB (MSX 1/2) or 3.5" 720 KB (MSX 2+). MSX-DOS provided a CP/M-compatible OS.

Storage

ROM Cartridges

The primary distribution medium for games and software. Cartridges could contain ROM only, ROM + RAM, or ROM + custom hardware (e.g., Konami SCC, mapper chips). Sizes from 8 KB to 1 MB+.

Display Output

OutputTypeAvailable On
RF ModulatorChannel 3/4 UHF/VHFAll MSX machines
Composite VideoNTSC/PALMost MSX machines
RGB SCART / DINAnalog RGBMost MSX 2+
S-Video (Y/C)Luma/Chroma separationSome MSX 2/2+
VGA (via adapter)Analog VGAThird-party adapters

Joystick & Input

MSX defined a standard DB-9 joystick port (two ports on every machine, via the AY-3-8910's I/O ports). Up to 8 directions + 2 fire buttons. Compatible with Atari-style joysticks. Some machines included a trackball, mouse, or touchpad. The MSX mouse used quadrature encoding on the joystick port.

Memory Expansion

Memory expansion cartridges allowed MSX 1 machines to reach 64–512 KB RAM through the slot system. MSX 2 machines commonly had memory mappers allowing up to 4 MB of addressable memory through bank switching via port FCh–FFh.

Printers

A Centronics-compatible parallel printer port was available on most MSX machines. MSX BASIC supported LPRINT and LLIST for printer output. Epson-compatible dot matrix printers were most commonly used.

Network & Communications

Network

RS-232C / Serial

Optional on most MSX machines, mandatory on turbo R GT. Enabled modem connectivity, terminal emulation, and serial file transfer via MSX BASIC or MSX-DOS terminal software.

Music

MIDI Interface

Available via the Yamaha SFG module (CX5M), MSX-MIDI standard, or turbo R's built-in MIDI. Allowed connection to synthesizers, drum machines, and sequencers.

MSX-Engine ICs

Later MSX designs integrated multiple chips into single ICs. Yamaha's S1985 (MSX-Engine) combined the PPI (8255), clock generator, and I/O management into one chip, reducing PCB complexity and cost. The T7775 further consolidated audio support.


MSX BASIC

MSX BASIC was developed by Microsoft (hence the Microsoft branding on early boot screens) and stored in 16–32 KB ROM. It was one of the most capable BASICs available on any 8-bit home computer, with direct access to all hardware features through reserved keywords and commands.

BASIC Versions

VersionPlatformKey Additions
MSX BASIC 1.0MSX 1Core language, Screen 0–3, cassette I/O
MSX BASIC 2.0MSX 2Screen 4–8, VDP commands, VRAM access, RTC
MSX BASIC 3.0MSX 2+Screen 10–12 (YJK), scroll commands
MSX BASIC 4.0turbo RPCM playback, R800 awareness

Core Commands Reference

Screen & Graphics

10 REM MSX BASIC Graphics Demo
20 SCREEN 2           ' 256x192, 16 colors
30 COLOR 15,1,1      ' FG=white, BG=black, BORDER=black
40 LINE (0,0)-(255,191),9,BF  ' filled box
50 CIRCLE (128,96),60,12    ' circle at center
60 PAINT (128,96),4,12     ' flood fill
70 PSET (100,80),15       ' plot single pixel

Sound & Music

10 BEEP                    ' system beep
20 PLAY "CDE FGA BC"        ' music macro language (MML)
30 PLAY "T120 L8 CDEFGAB>C" ' T=tempo, L=note length
40 ' Three-voice simultaneous play:
50 PLAY "CEG","EGC","GCE"  ' voices A, B, C

Sprites

10 SCREEN 2
20 SPRITE$(0)=CHR$(&HFF)&CHR$(&HFF)&CHR$(&H00)&CHR$(&H00)  ' 8-byte pattern
30 PUT SPRITE 0,(100,80),15,0   ' sprite#, (x,y), color, pattern
40 ON SPRITE GOSUB 1000        ' collision interrupt handler
50 SPRITE ON

File I/O (Disk BASIC)

10 OPEN "DATA.TXT" FOR OUTPUT AS #1
20 PRINT #1, "Hello MSX!"
30 CLOSE #1
40 OPEN "DATA.TXT" FOR INPUT AS #2
50 INPUT #2, A$
60 PRINT A$
70 CLOSE #2

Hardware Register Access

10 ' Read/write VDP registers directly
20 VDP(1) = &HE0            ' VDP register 1: sprites on, 16KB VRAM
30 PRINT VDP(0)            ' Read VDP status register

40 ' Direct I/O port access
50 OUT &HA0, 7            ' Select PSG register 7
60 OUT &HA1, &HB8         ' All tones on, noise off
70 X = INP(&HA2)          ' Read PSG register value

MSX BASIC — Key Statements

StatementFunction
SCREEN nSet display mode (0–12 depending on generation)
COLOR fg,bg,borderSet foreground, background, border colors
VPOKE addr,valWrite directly to VRAM
VPEEK(addr)Read from VRAM
SET PAGESelect active display page (MSX2)
COPYBlock copy in VRAM using VDP commands
INTERVALSet timer interrupt interval
ON INTERVAL GOSUBTimer-based interrupt handler
CALL SYSTEMEnter MSX-DOS from BASIC
BLOAD / BSAVELoad/save binary data to/from memory
USR(n)Call machine-language subroutine
DEFUSRDefine address of USR routine

MSX-DOS

MSX-DOS was an MSX-specific operating system closely modeled on CP/M-80 and partially compatible with MS-DOS (FAT12 disk format). MSX-DOS 2 (for MSX 2+) added subdirectories, environment variables, and extended memory management. Accessed via the CALL SYSTEM BASIC command or by booting with a disk containing MSXDOS.SYS and COMMAND.COM.


Legacy & Modern MSX

MSX left a profound mark on the gaming and computing industries. Hideo Kojima created Metal Gear on MSX2, and the platform was home to groundbreaking titles from Konami, ASCII, and HAL Laboratory. The MSX sound chip conventions influenced composers who later worked on Super Nintendo and PlayStation titles.

Today, MSX remains remarkably alive:

Hardware

FPGA Implementations

The MiSTer FPGA platform includes a highly accurate MSX core covering all generations. The 1chipMSX (manufactured by Panasonic/ASCII in 2003) put an entire MSX 2+ system on a single FPGA chip.

Software

Emulation

openMSX is the leading open-source cycle-accurate MSX emulator, supporting all generations including turbo R. BlueMSX and fMSX are also popular cross-platform options.

Community

New Development

Developers continue releasing new MSX games and demos. Annual events like MSX Dev and active communities on platforms like MSX.org and Konamito keep the platform creative and vibrant.

Standard

MSX Association

The MSX Association (Japan) has revived the MSX brand with the MSX3 initiative and modern hardware projects, including HDMI-output machines targeting the retro gaming market.

MSX

Universal Home Computer Standard · 1983 – Forever