The
MSX
Machine

Note: this Page contains Japanese characters and Latin accented characters, made possible together due to Unicode, so activate the Unicode decoder of your browser, or else you won't be able to see them. If you don't have such option or if you don't understand Japanese at all, don't worry, because all Japanese terms are followed by the corresponding pronounce keys and translation.

All programs and files made by myself found in this Page are freeware. They can be freely copied and distributed, but never sold or included in any commercial product. If you want any source not available here, send me an E-Mail.

Important: to download any file, use "Save link as..." (generally in the pop-up menu that appears when you "click" the link with the right mouse button). Following the link and using "Save as..." may give you a 7-bits truncated version of it, idiosyncrasies of the world...


What Is An MSX?

There is a lot of speculation about MSX origin. Some say it's probably a development of the video game Colecovision, because the main processor and video processors are the same in both and MSX uses similar sound generators. According to another user, it may be just coincidence, because there were very few alternatives about I.C. choice at its creation time and it got those that were more common, even among "arcade machines".

Anyway, it was presented by Japan ASCII as a new concept in home-computers. The basic idea was that future generations of the machine would be compatible backward, that is, new and better machines should be able to run even the very first program of the first generation MSX. The idea took effect for three generations, until the release of turbo R, but I'll tell about it all later.

The basic hardware structure of an MSX is very simple: a C.P.U. (Central Processing Unit Z80-A, 8 bits data bus x 16 bits address bus, running at the standard television clock of 3.58 MHz) controlling several peripherals via I/O (Input/Output) ports. The lack of a D.M.A. (Direct Memory Access) system and video hardware smooth scroll are the main flaws in its project. Only the scroll problem was solved, later, in the MSX2 (vertical scroll) and MSX2+ (vertical and horizontal scroll). The Z80 doesn't support D.M.A., making it almost impossible to be implemented in the MSX at a reasonable cost.

The video is controlled by a standing alone C.P.U., called V.D.P. (Video Display Processor TMS-9128, TMS-9929 or TMS-9918A), which has its own R.A.M. (Random Access Memory) bank of 16 KBytes, called Video-RAM, or simply VRAM.

The sound is generated by a P.S.G. (Programmable Sound Generator AY-3-8910, by General Instruments), which also controls some I/O ports.

Other I/O ports are controlled by a P.P.I. (Programmable Peripheral Interface 8255), what includes a matricial keyboard and switchable memory banks.


The MSX Generations

  1. MSX (end of 1983): the first of the "family". Its architecture is very similar to that of Colecovision, what allowed many programs from the video-game, like Beam Rider and River Raid, to be directly converted to the computer. "MSX" is pronounced [ém és éks] and stands for... Well, many things... When it was first idealized, in Japan, the two biggest makers decided to support the standard. They were Matsushita (better known by the trademarks Panasonic, National and others) and Sony, forming the "MS" of "MSX". The "X" would stand for all other enterprises that would support the project, like Yamaha, Sanyo and many others, not only in Japan. For the international release, the "MS" was told to stand for "MicroSoft", which held the copyright for the computer's main system (BIOS and BASIC interpreter), and the "X" would be "eXtended". It was, actually, a quite cunning maneuver to gather the sympathy of several makers to the project.
  2. MSX2 (about 1985): it is pronounced [ém és éks tyuw] and was developed by Japan ASCII Co. (アスキー). There were basically two improvements in this computer, the VDP upgraded to the V9938 with 64KB (up to 128KB) of VRAM and the inclusion of a real-time clock I.C. At the same time, some optional devices were created, like the FM-PAC (FM Pana Amusement Cartridge, by Panasonic, a frequency modulation sound generator, OPLL by Yamaha (YM2413), with a demonstration program) and the JIS ROM (a ROM with Japanese Industry Standard characters). The printer port, optional in MSX, became obligatory, as were two joystick ports, instead of one in MSX.
  3. MSX2+ (about 1987): it is pronounced [ém és éks tyuw plâs], developed by ASCII and has very few differences from MSX2. The VDP was upgraded to the V9958 with 128KB of VRAM and the JIS1 ROM and the MSX-JE (Japanese Engine, a character selection driver) became obligatory (what was simply ignored by european users, what is very irrelevant anyway, as MSX2+ were only released in Japan...) MSX-Music was created as an option (the same FM sound generator of FM-PAC, but without the demo program), as was the video digitizer. When this machine was released, most users was expecting for MSX3 to be readly released, but it never was.
  4. turbo R (1990): pronounced [târbo ar], it was developed by Panasonic and ASCII. It has a new processor, R800, which can be exchanged by software with the Z80. The new CPU can execute the same official instructions of Z80 and a few more, but about 5 times faster. Its clock frequency is also higher, what makes its processing capacity about 10 times higher. A sound PCM device was included, enabling sample capture and reproduction. There are some problems, though: the VDP is the same of MSX2+, so programs that access video cannot use all the processing power; the tape data-corder I/O port was removed, as was support to paddle, what makes it incompatible with some programs; the PCM is incompatible with MSX-Audio, an older and more powerful sound device, which included a better FM sound and an AD-PCM system (Y8950). At last, the disk-driver seems to be made obligatory, once tape data-corder is not (not a great deal, once most commercial machines already included the device). The paddle and light-pen support were also removed.

"And what about MSX3?" This question is still `in the air', even now that the MSX system has been abandoned by the Japanese hardware makers. The development of V9978, possibly the VDP of MSX3, or something like that, was never finished, though it has appeared in I.C. databooks. Another video processor, V9990, appeared instead. It was probably be V9978 without the compatibility circuitry. European hardware makers have developed a board with the V9990, what proves that it could, if compatible with V9958, be used in the next generation of MSX.

Unfortunately, without up-to-date hardware and software standards, the future of MSX is not promising. There are a group of dedicated users that still work restlessly with it, but another, far larger, use MSX only as a videogame console with keyboard. There is nothing really wrong about using MSX as a game machine, once it was probably developed from one. Indeed, it may be helping to keep the machine alive, but it is a very weak bond: if someone uses MSX only because it has a specific game, then if or when it is released to a stronger machine the player would most likely change to that, leaving the MSX. Some people argue that no one would shift from a relatively cheap MSX to an expensive high-end machine just to play a game, but that is not true. New computers have a heavy marketing system behind, carrying promises of more and better programs of the kind the user likes. That makes all the difference today, because the MSX is presenting no future to the common user.

And then, the question rises: "why should I keep up with MSX?" There are not a single answer to that. A programmer, as I am, may say it is easier or better to program. A user may argue that the programs it likes will never be released to any other machine. A player may argue that the new games don't match its expectations of entertainment. And there are those called 'collectors' that uses this word, "nostalgia", as the only important reason. It doesn't really matter why one uses an MSX, but that it is reason enough to make it keep it.

Before ending this section, a word about "emulators". The meaning of that word is distorted nowadays. An emulator is a piece of hardware that tries to mimic another piece of hardware. For example, the electronic injection system of automobiles emulates the old carburetor, perfectly mimicking its functions in every aspect of timing and effect (it actually outperforms them, because they can dinamically adapt to different usage conditions, something carburetors couldn't, but that's an added feature, beside the emulation itself). All those programs presented as "emulators" are, actually, simulators. A simulator is a program that mimics a machine just virtually, acting and responding as if it was the 'real thing' only in its virtual scope, unable to really emulate the real hardware. Unlike an emulator, a simulator only performs part of the mimicking, so, like a flight simulator can't recreate inertial effects or effectively take you to places, an MSX simulator cannot access an MSX cartridge, cannot read an MSX controller, and definitely cannot generate a video signal with the same timings of a real machine. Sure, there are a few interfaces for PC that can read ROM cartridges, but no one of the simulators can use them (much less use them to access, say, a video digitizer, for example). The same is valid for the joysticks and for the video signal that some video boards can output. The point is, simulators are not meant to emulate hardware, but to mimic its interaction with humans at the software level, not other hardware at their electronic level.

Anyway, most MSX users don't like MSX simulators, and with good reasons, because there are many people that are "emulator-only" users, id est, they only want to use simulators, not caring about all the hard work behind it and the software it deals with. More than that, many emulator-only users that show up to be very lazy and use to disturb other users with questions not rarely rudely asked, as if others had the obligation to readily answer, many that could be easily answered simply by reading the software documentation. Some of them have a real machine home just to say "I have a real one", but never turn them on seriously, not even for game playing. But the World is filled beyond the 'security level' with that kind of... Well, with "that kind", and blaming the simulators will not solve the problem. I think simulators are wonderful tools for programming, because they allow one to simulate situations that are very difficult or even impossible to reproduce in a real machine. Using them never diminished my veneration for the MSX, on the contrary, it only makes me realize how incredibly versatile it is. As people long said, "with the dogs come the fleas". We just have to find a way to get rid of the 'fleas'...


Trivia

The MSX system have since long ago granted its place in the History of computers and video-games. Many programs were exclusively created to this machine and most have never been released to other systems.

And now, I present a "golden list" of programs that has some interesting features about MSX:

"グラディウス" (Gradius) - 1986 Konami (also known as "Nemesis")
Gradius Screen-shot 0
This classical arcade game was the first to use, in the MSX version, the so called MegaROM, a kind of memory block controller, which allowed it to have a size larger than 64 KBytes. The obvious "gold": the fifth stage, a space graveyard full of giant skeletons, is exclusive of the MSX version (see the screen-shot). The hidden gold: if the cartridge "Twin Bee", another Konami game, released for MSX in 1986, is set on the second cartridge slot, "Gradius" changes some graphical elements to look like the other game. Note: the program could discern between Japanese and non-Japanese machines, presenting different titles ("Gradius" in Japan and "Nemesis" in other countries). And talking about hidden things, this game also presents secret stages, not available in the original arcade version, but included in most Gradius sequels after this. The music player for this game is available.


"火の鳥 ― 鳳凰編" (Hinotori - Houoo Hen) - 1987 Konami, (C) Kadokawa Shoten and Tezuka Productions
Hinotori Screen-shot 0
This game is based on the anime of the same name. Hinotori is a legendary goddess that appears as a flaming bird. She helps, in her ways, the human kind to evolve. But she is not the central character of this game. It is Gaou, a man with only one arm, moved by the need to find a reason for life. At a certain point in the anime, he wanders alone in the ancient Japan, searching for his destiny. This is when the game is situated. The Hinotori song is the only music from the anime used by Konami, all others were specially composed. The music player for this game is available.


"グラディウス 2" (Gradius 2) - 1987 Konami (also known as "Nemesis 2")
Beta Stage 4
Gradius 2 Beta Screen-shot 0
   Beta Stage 6
Gradius 2 Beta Screen-shot 1
Stage 4
Gradius 2 Screen-shot 0
A pure gold game, a pioneer in more than one way. It was the first sequel to "Gradius" in any system, the first to use the Konami's SCC (Sound Creative Chip, according to a Konami staff in interview to Japan MSX Magazine, not `sound custom chip' as stated in most Pages) and the first to present the story of the Gradius saga. This game has a wonderful music, better than any other machines' sequel "Gradius II - ゴーファーの愉臂" (Go-fa- no Yabou = Gofer's Ambitions). This game has never been released to any other system. Note: this game not only showed different titles depending on the country of the machine, but also presented the story in different languages. In Japanese mode, it also had an extra sequel to the opening story, replaced by a boring blinking message screen on the international mode. Another note: there are two versions of this game, one seems to be a `beta version' with several differences in animations, stages and music arranges (it also has some bugs). The screen-shots present beta stage 4 (Pharaoh's Desert), replaced by the Asteroid Field in the final release, and the beta stage 6 (Crystal Cave), unexistent in the final version (the beta version has eight stages, instead of seven in the final release).


"F-1 Spirit - The Way to Formula 1" - 1987 Konami
Single Player Mode
F-1 Spirit Screen-shot 0
   Two Players Mode
F-1 Spirit Screen-shot 1
This is a racing game (what else could it be?) and has a music that was originally composed to the arcade game "A-Jax", but not used. The "playability" is incredible and can keep someone busy for hours, or better, it can keep TWO busy for hours, because it has two simultaneous players modes (competition and battle modes).


"パロディウス ― タコは地球を救う" (Parodius - TAKO wa Tchikyuu o Sukuu) - 1988 Konami
Parodius Screen-shot 1
This game inspired all other machines' game "Parodius Da!". It used the SCC chip with exclusive musics, replaced by not very inspired parodic versions of classic musics in all other versions. It has never been released to any other system. Note: this game doesn't check the origin of the machine, it always shows everything in Japanese. The title means "TAKO saves the Earth" ("TAKO" means "octopus" and is the name of the main character of the story).


"沙羅曼蛇" (Saramanda/Salamander) - 1987 Konami
Horizontal Scenery
Salamander Screen-shot 0
   Vertical Scenery
Salamander Screen-shot 1
Konami joined its MSX Gradius stories with the arcade game "Salamander", resulting an exclusive game with a complex story and SCC music. Its story inspired the "Salamander" anime series of three episodes, released by Konami in 1988. Due to the parallel story with the MSX Gradius series, sometimes this game is mistaken as the fourth or even fifth (counting "Parodius" as the fourth) game of the series, what is an obvious error. The game name is written in kanji (Japanese ideograms), though it is not a Japanese word and, what is more interesting, it has a meaning: (sa) means "sand"; (ra) means "thin silk"; (man) means "wide"; (da) means "serpent". Thus, Saramanda is a "wide silky skinned serpent of the sand". Hint: this game doesn't show the ending if you don't play it with the "Gradius 2" cartridge active in the second slot.


"Xevious" - 1988 Namco (programmed by Compile)
Namco released this version of the 1982 game with two game modes. The first mode, named "Recon", presents the original arcade game, while the second, "Scramble", presents an exclusive version with a choice of four different ships.


"F-1 Spirit 3D Special" - 1988 Konami
This sequel to "F-1 Spirit" allows two MSX computers to be interconnected by a cable on the joystick ports, so the game offers a simultaneous two-player mode.


"ゴーファーの愉臂 ― エピソード II" (Go-fa- no Yabou - Episode II) - 1988 Konami (also known as "Nemesis 3 - The Eve of Destruction")
Gofer no Yabou, Episode II Screen-shot 1
This is a sequel to "Gradius 2", so it is best known as "Episode II". It received the name from the subtitle of the arcade game "Gradius II", "Gofer no Yabou". It also received some of its stages. This game is exclusive of MSX, presenting an original story and some of the best musics of the Gradius series of all machines, executed in SCC. It also presents different opening demos depending on the country of the machine and some stages present colour palette animations when executed in MSX2 or superior.


"Snatcher" - 1988 Konami
This cyberpunk adventure game for MSX2 was the first to use the so called SCC+, a slightly enhanced version of the SCC sound generator (SCC has four wave tables, while SCC+ has five).


"Space Manbow" - 1989 Konami
Space Manbow Screen-shot 1
This was the first and only shoot'em up by Konami to MSX2 (if you don't consider "Hinotori", which is also a shooting game, though not conventional). It has SCC music, uses SCREEN 4 (equal to SCREEN 2 of MSX, but with enhanced `sprites') and smooth scroll, horizontal simulated with SET ADJUST and true vertical scroll. It was never released to other machines.


"SD Snatcher" - 19xx Konami
This game also uses SCC+ and is exclusive of the MSX system. It is an excellent action RPG game.


"パロディウス だ!" (Parodius Da!) - 1992 Konami, Super Famicom version
Parodius Da! Screen-shot 1
This game is very similar to the arcade version, but has an extra stage presented as an "omake" (pronounced [omakê], a Japanese word that means "bonus"). The "gold" of this game is not so easy to find: after the game end, in the credits presentation, there's a "special thanks to MSX Parodius Team" message...


As you have noticed, Konami was one of the strongest supporters of the MSX standard, but not the only one. Compile has probably released more games to the system than any other, many under the name of other enterprises, like Pony Canyon ("Zanac"), Sega ("Gulkave"), Namco ("Xevious"), Sony ("Exa Innova") and so on. More than releasing many programs, including the long series of Disc Stations, the quality of the coding is incredible. The last games, like the "Aleste" series, use almost all resources available in the system and in ways that keep them up-to-date even so many years after their original releases.

There are some games that are really hard to finish, but there are others that, beside not being any easy to finish, have some kind of secret that prevents most people of reaching the true endind. On the other hand, there are some games that present special "tricks" that can help the player in their adventures. The list of game secrets became so long that I decided to create a special Page of hints only for them.


Music

[Yawara] Yawara: General Game Music and Sound Effect Player
This program plays the musics and sound effects of several games, including "Yume Tairiku (Penguin) Adventure", "Hinotori Houoohen" and most Konami classics.
[Files] MSX BASIC Musics
This file contains some of my favourite musics for MSX BASIC, selected from a large collection. It includes, among other musics, a longer and exclusive version of "The Goonies 'R' Good Enough" (from The Goonies), two musics from "Penguin Adventure" (original arranges by Konami), two different arranges for a music from Space Manbow and an arrange version for "Space Harrier". Some musics requires MSX-Music (FM).


Programs, Tools and Documents

[Files] Graphos III File Viewers and Samples
This file contains programs to view Graphos III files in other systems.
[Files] Z80/R800 Assembly and Machine Language Op-Code Tables (2004 revision)
Z80/R800 instruction tables in plain ASCII text format. You can also see on-line tables.
[Files] Gremlin: Z80/MSX R800 Disassembler (version B.3.0 - 2004-12-23)
This program is a general purpose Z80/MSX R800 disassembler. It can recognize both Z80 and R800 instruction sets and has many options to help disassembling large files. The pack comes with a lot of support files and, now, also with a PC Windows (long filename support) compiled version. Why "gremlin"? There's nothing better to disassemble a piece of Technology, is there...?
[Files] Iris MSX: Single Image Stereogram Generator for MSX
Iris is a SIS generator for MSX, completely written in MSX-BASIC. It has several features, including image saving, random dot pattern generation, samples and help. It was adapted from "Iris", a C program that can generate sereval kinds of stereograms from true colour images.
[Files] Iris 2 Liner: SIS generator in 2 MSX-BASIC lines
This is an extremely size-reduced SIRDS (Single Image Random Dots Stereogram) generator, that is, a SIS with random dotted patterns. It was adapted from "Iris MSX. Pressing the space bar will rerun the program, so a new image will be generated. If any other key is pressed, the program will proceed with the SIRDS generation.
[Files] DskTool Version 2.0
This is an extended version of Ricardo Bittencourt's DSKTOOL. It includes several new features, like renaming commands, recognition of any FAT12 formatted disk archive and extended portability to generic C compilers. Note: a compiled version is now available within the package, compiled with free Borland C Compiler v5.5 (tried to compile it with DJGPP and Watcom, but both binaries crashed unexpectedly during tests).
[Files] 3D Refractive Filters - Set of Demos
This is a series of little programs, 3D demos that require a refractive eye filter for the effect to be seen (it was distributed as a "gift" in a certain fast-food shop...) This includes another extended version of a Ricardo Bittencourt's program, a demo, in MSX BASIC, to show the classic "starfield" effect. The original program had a problem, the animation was not continuous, that is, from time to time, the sequence was broken and the demo "rewinded". This version not only solves that problem, but also improves compatibility, setting more system variables and, of course, adds a 3D effect to the stars.
[Documents]The MSX Red Book Revised
Revised and upgraded "MSX Red Book", including MSX Datapack's schematic drawings in SVG format... Currently under construction...
[Files] MSX Identification Tags
Within this Page, you can create identification tags for MSX summits and fairs, choosing amongst several backgrounds, each one with some 3D effect. UNDER CONSTRUCTION.


My Equipment

I have only one operational MSX machine (and other two with problems). It was bought by my brother, as are most of the equipment I use:


Links

To those who wants to know more about MSX, here are some good starting points:

You can find MSX simulation programs at those sites, which can be run in different computers, allowing those who don't have a real MSX to enjoy part of its wonders. Note that the sound quality of most are not as good as a real MSX.


Page last modified on 2005-October-27 Thursday.

[Cyberknight Home Page]


[Icon]Page under construction.