A field guide · Tokyo to Manaus

What is MSX?

One standard for home computers, built by dozens of companies, so a cartridge or a tape bought for one brand ran on all of them. It ruled Japan, Korea and Brazil in the 1980s, and it is the machine Ok-Prompt emulates.

  1. One standard, many makers
  2. How an MSX1 works
  3. Around the world
  4. Brazil: Expert and Hotbit
  5. Expert 1.0, 1.1 and the Hotbit, side by side
  6. MSX and CP/M
  7. Games and legacy
  8. Sources
Jun 1983ASCII and Microsoft announce MSX
Oct 1983First machine on sale: Mitsubishi ML-8000
Jun 1984MSX-DOS 1.00
Oct 1984Brazil's Informatics Law (Lei 7.232)
1985MSX2 (Yamaha V9938)
Nov 1985Sharp Hotbit HB-8000
Dec 1985Gradiente Expert XP-800
1987Konami's SCC; Metal Gear (MSX2)
1988MSX2+ (V9958), Japan only
1989Expert Plus and DD Plus
1990MSX turbo R (R800); Gradiente leaves MSX

1One standard, many makers

MSX was conceived by Microsoft for the Japanese market and pushed by Kazuhiko Nishi of ASCII Corporation. It was announced in June 1983 (sources give both the 16th and the 27th), and the first machine, the Mitsubishi ML-8000, went on sale on 21 October 1983.

The idea was the one VHS had brought to video: a single specification that Sony, Panasonic, Yamaha, Philips, Toshiba, Canon, Sanyo and many others would all build to. A cartridge works in any MSX; a tape saved on one loads on another. Microsoft called it "an attempt to create unified standards" for home computers.

2How an MSX1 works

Every MSX1 is the same handful of chips, which is exactly why software moved between brands. Ok-Prompt emulates each of them.

Z80AThe CPU, at 3.58 MHz. The same processor CP/M machines used.
TMS9918AVideo by Texas Instruments: 16 KB of its own memory, 256×192 pixels, 15 colours, 32 sprites but only 4 on a line. Text at 40×24 at most.
AY-3-8910The PSG sound chip: three square-wave voices, noise, an envelope, and the joystick ports.
8255 PPIPicks which slot each 16 KB of memory comes from, reads the keyboard a row at a time, drives the CAPS lamp, key click and cassette motor.
32 KB ROM16 KB BIOS plus 16 KB MSX BASIC 1.0 by Microsoft. At least 8 KB of RAM.
SlotsFour 64 KB address spaces (ROM, RAM, two cartridge ports) seen 16 KB at a time. The BIOS looks for cartridges by the letters AB at their start.
Cassette1200 or 2400 bps. At 1200, a 0 is one cycle of 1200 Hz and a 1 is two cycles of 2400 Hz.
LaterMSX2 (1985, V9938, 80 columns), MSX2+ (1988, V9958, Japan only), turbo R (1990, R800 at 7.16 MHz, Panasonic only).

3Around the world

MSX was the leading home computer of the 1980s in Japan, South Korea, Argentina and Brazil, and fairly popular in the Netherlands and Spain. Yamaha sold whole networked classrooms (teacher machine plus student machines) to schools in the USSR, Cuba and Arab countries.

It never took off in the US, where only Spectravideo and Yamaha tried briefly, or the UK, where it arrived late (September 1984) and dearer than the Spectrum, Commodore 64 and Amstrad.

How many were sold is disputed: from about 4 million (Nishi) to 9 million (other estimates).

  • Sony HitBit HB-75 (April 1984, ¥69,800) and a long line up to the MSX2+ HB-F1XV (1989).
  • Yamaha CX5M (1984): an MSX with a built-in FM synthesizer (YM2151) and MIDI out, for the DX7 era.
  • Philips VG-8020 (1984), built by Kyocera; versions for each European country.
  • Spectravideo SVI-728: the US company whose SV-328 was almost an MSX before MSX.
  • Daewoo IQ-1000 and the Zemmix consoles in Korea; Samsung's SPC-800.
  • Sakhr AX150: made by Yamaha for Kuwait's Al Alamiah, with Arabic, for Egypt and the Gulf.
  • Panasonic, National, Toshiba, Canon, Sanyo, Mitsubishi and more in Japan.

4Brazil: Expert and Hotbit

On 29 October 1984 Brazil passed Lei 7.232, the Política Nacional de Informática: the market for micro and minicomputers was reserved for companies with Brazilian capital (the reserva de mercado), overseen by the SEI. Foreign machines could not simply be imported; computers were made at home, often as local versions of foreign designs. The reserve lasted until the early 1990s (sources say 1991 or 1992).

MSX arrived that way, twice in one week. The Sharp Hotbit HB-8000, made by Sharp's Brazilian subsidiary through its Epcom division in the Manaus free zone, came out in November 1985: the first Brazilian MSX. The Gradiente Expert XP-800, shown at the Informática '85 fair in São Paulo, followed on 1 December 1985 at Cr$ 4.640.000 (about US$470).

Between them, MSX "virtually killed" the other 8-bit computers in Brazil. Magazines such as Micro Sistemas, CPU MSX and MSX Micro printed listings and reviews, and kits from companies such as DDX later turned Experts and Hotbits into MSX2 and MSX2+ machines. The community never left: Clube MSX still prints a magazine, and MSXRio meetings ran for years.

Gradiente Expert

A home-stereo look with a separate keyboard (QWERTY with ç, a numeric pad, GRAPH and CODE labelled LGRA and RGRA) on its own connector. No CAPS lamp, no reset key. Often called a copy of Panasonic's National CF-3000; msx.org notes Gradiente was not an official MSX licensee.

  • XP-800 (1985): BASIC 1.0
  • GPC-1 (1987): BASIC 1.1, TV adapter built in
  • Expert Plus (1989): black case
  • Expert DD Plus (1989): 3½" 720 KB drive, reset button

Gradiente never made an MSX2 and left MSX in 1990.

Sharp Hotbit HB-8000

One-piece case with a QWERTY keyboard with ç, 64 KB of RAM, PAL-M TV output, a Centronics printer port and optional 5¼" drives. msx.org says it "followed MSX standards strictly".

  • 1.0 and 1.1 (1985): white and grey; no 1.0 ROM has ever been dumped
  • 1.2 (1987): black case

Production ended in 1988.

Brazil used PAL-M: PAL colour on a 525-line, 60 Hz picture, like NTSC. So Brazilian MSXs are 60 Hz machines, with game music at Japanese speed rather than the slower European 50 Hz.

5Expert 1.0, 1.1 and the Hotbit, side by side

The table mixes what the sources say with what we measured by running the original ROMs in Ok-Prompt (marked measured).

Expert 1.0Expert 1.1 (and DD Plus)Hotbit 1.1
Start-up textMSX BASIC versão 1.0 Br · GradienteMSX BASIC versão 1.1 Br · GradienteHOT-BASIC versão 1.1 · EPCOM [Z.F.MANAUS] 1985
Free memory28815 bytes measured
ç and ÇOn codes 60h and 7Eh, in place of ` and ~ measuredOn 87h and 80h, as on every other MSX measured87h and 80h measured
ã, õ and other tilde lettersOn the codes other MSXs use for ä, ö, ü… measuredB0h–B7h, the international MSX places (BRASCII) measuredThe international places too (ã on B1h) measured
Keyboard tableThe international layout; ç and Ç only appear because the font draws ` and ~ that way measuredA real ç key; " on Shift+2; accent keys; ã é õ also on CODE combinations measuredç key; accents typed with accent (dead) keys, like a typewriter measured
Date format (BIOS ID)Month/day/year measuredDay/month/year measuredMonth/day/year measured
SCREEN 0White on black, not the standard dark blue measuredWhite on blue measured
Other quirksText starts one column in measured; a hidden credits screen (below)DD Plus BIOS identical, byte for byte measuredStarts with CAPS on, which also capitalises ç measured

Why 1.0 and 1.1 did not get along

The 1.0 put the Portuguese letters wherever it could: ç and Ç on two ASCII codes, the tilde letters on the umlaut codes. Text written on a 1.0 came out as ` and ä elsewhere, and programs printing ` or ~ showed ç on a 1.0. Gradiente recalled most XP-800s, swapping the ROM for 1.1 and changing nine keys, which is why most "Expert 1.0" machines today really have 1.1. Version 1.1 moved the letters to the codes that became BRASCII, which ended the accent incompatibilities between makers.

Comparing the two ROMs in Ok-Prompt: 580 bytes differ, in 84 places, most of them in the keyboard routines and the key table (20 of its 288 entries).

Other differences the sources record

6MSX and CP/M

Ok-Prompt's sibling, A-Prompt, emulates CP/M on the same Z80 core. The two standards attacked the same problem from opposite ends, and met in MSX-DOS.

CP/M (Gary Kildall, 1974) made software portable across hardware that differed: each maker wrote a small BIOS, and every program talked to the BDOS through CALL 5. By 1982 it was licensed for more than 450 kinds of machine.

MSX made the hardware the same, so programs could even go straight to the chips. But it needed a disk system too. In August 1983 Microsoft hired Tim Paterson, the author of 86-DOS (which became MS-DOS), to write a "Z80 MS-DOS". He reasoned it should run CP/M programs directly. MSX-DOS 1.00 is dated 20 June 1984.

The result is a hybrid: MS-DOS outside, CP/M inside. Programs load at 0100h and call 0005h like CP/M programs; the FCB calls are CP/M 2.2's; WordStar, Turbo Pascal and Microsoft's M80 and L80 were, in principle, compatible. But disks are FAT12, readable on a PC, and the command line is a COMMAND.COM, not a CCP. MSX-DOS 2 (1988) added subdirectories, and Nextor carries it on today.

CP/M 2.2MSX-DOS 1
StandardisesThe operating systemThe whole machine
CPU8080 or Z80Z80
LayersBIOS · BDOS · CCPMSX BIOS · MSXDOS.SYS · COMMAND.COM
System callsCALL 5CALL 5, CP/M's numbers plus more
Programs.COM at 0100h.COM at 0100h
FilesFCBs, 8.3 namesFCBs, 8.3 names
DisksEach maker's formatFAT12, as MS-DOS
ScreenWhatever terminal: ADM-3A, VT52…VT52-like codes; 40 columns on MSX1

What did not carry over: CP/M programs set up for another terminal's codes, and anything that needs 80 columns, which came with MSX2.

7Games and legacy

Konami made the MSX a games machine: Knightmare (1986), Gradius (called Nemesis in Europe, 1986), Nemesis 2 (1987). From 1987 Konami's cartridges carried the SCC, a sound chip with five channels of 32-byte waveforms, conceived with Toshiba in 1986; fifteen games used it. Ok-Prompt plays it.

Hideo Kojima's first game, Metal Gear, came out on the MSX2 on 13 July 1987, and the first two Metal Gear games are MSX games. In Brazil, software houses sold programs in Portuguese: one 1987 Micro Sistemas ad lists more than 150 titles for MSX and the TK-90X. Ok-Prompt loads .cas tapes and types BLOAD"CAS:",R for you.

Try it

Ok-Prompt boots the free C-BIOS, which starts cartridges. To meet MSX BASIC, an Expert or a Hotbit, load a dump of your own machine's ROM under System ROM: they are copyrighted and not included. Then type PRINT "Olá, MSX".

Open the MSX →

Sources