MSX

From Wikipedia, the free encyclopedia

MSX

Sony MSX, Model HitBit-10-P
Type Home computer
Released 1983 (MSX)
Discontinued 1995 (MSXturboR)
Processor Zilog Z80
Memory 16 KB ~ 512 KB
Operating system MSX-DOS / MSX BASIC

MSX was the name of a standardized home computer architecture in the 1980s. It was a Microsoft-led attempt to create unified standards among hardware makers, conceived by one-time Microsoft Japan executive Kazuhiko Nishi. Despite Microsoft's involvement, MSX-based machines were seldom seen in the United States but were hugely popular in other markets[dubious ]. Eventually 5 million MSX-based units were sold world-wide.

Nishi proposed MSX as an attempt to create a single industry standard for home computers. Inspired by the success of VHS as a standard for video cassette recorders, many Japanese electronic manufacturers along with Goldstar, Philips and Spectravideo built and promoted MSX computers. Any piece of hardware or software with the MSX logo on it was compatible with MSX products of other manufacturers. In particular, the expansion cartridge form and function were part of the standard; any MSX expansion or game cartridge would work in any MSX computer.

Nishi's standard consisted primarily of several off-the-shelf parts; the main CPU was a 3.58 MHz Zilog Z80, the graphics chip a Texas Instruments TMS9918 with 16 KB (KiB) of dedicated VRAM, the sound was provided by the AY-3-8910 chip manufactured by General Instrument (GI), and an Intel 8255 Programmable Peripheral Interface chip was used for the parallel I/O such as the keyboard (and partly by the I/O ports provided by the AY-3-8910). This was a choice of components that was shared by many other home computers and games consoles of the period, such as the ColecoVision home computer (an emulator was later available with which MSX systems could run some of its software), and the Sega SG-1000 video game system. Most MSX systems soon starting to integrate not only the common "glue logic" components but also the Z80 CPU, the sound chip, the 8255 PIO and the Video Display Processor into a single chip, called an MSX-Engine chip. The result was that one only needed an MSX-Engine chip and some ROM and RAM chips to build a basic system, which greatly reduced production costs. However, almost all MSX systems used a professional keyboard, not a chiclet keyboard, which drove the price up again. So these components alongside Microsoft's MSX BASIC made the MSX a competitive, though somewhat expensive, home computer package.

The system MSX most closely resembled was the Spectravideo SV-328 home computer (Spectravideo even claimed to be "MSX compatible" in advertisements before the actual launch of MSX systems) but it was in fact not completely compatible with it. This led to a new and short-lived kind of software cracking: converting. Since the MSX games were unplayable on the SV-328 computer, SV-328 crackers developed a method of modifying the (MSX) games to make them work on the SV-328. In most cases this included downloading the MSX BIOS to the SV-328 from tape or floppy disk. Spectravideo later launched a system, the SV-728, which did completely adhere to the MSX standard.

Before the appearance and great success of the Nintendo Famicom, MSX was the platform for which major Japanese game studios, such as Konami and Hudson Soft, produced their titles. The Metal Gear series was originally written for MSX hardware. [1]

Contents

[edit] History

The Canon V-20 had 64K of RAM while its little brother, the V-10, had 16K.
The Canon V-20 had 64K of RAM while its little brother, the V-10, had 16K.

In the 1980s Japan was in the midst of an economic awakening. Large Japanese electronics firms may have been successful in the early computer market had they made a concerted effort in the late 1970s. Their combined design and manufacturing power could have allowed them to produce competitive machines, but they initially ignored the home computer market and appear to have been hesitant to do business in a market where no industry standard existed.[citation needed]

The MSX was formally announced during a press-conference in June 27, 1983 (a date that is considered the birthday of the MSX standard) and a slew of big Japanese firms declared their plans to introduce machines. This set off a wave of panic in the U.S. and UK industry[citation needed]. However, the Japanese companies avoided the intensely competitive U.S. home computer market, which was in the throes of a Commodore-led price war. Only Spectravideo and Yamaha briefly marketed MSX machines in the U.S. Spectravideo's MSX enjoyed very little success, and Yamaha's CX5M model, built to interface with various types of MIDI equipment, was billed more as a digital music tool than a standard personal computer.

During the 1980s Europe became the largest computer games (as opposed to console games) market in the world, and the extremely popular Commodore 64 and Sinclair ZX Spectrum computers dominated. By the time the MSX launched in Europe several more popular 8-bit home computers had also arrived, and it was far too late to capture the extremely crowded European 8-bit computer market.

A problem for some game software developers was that the method by which MSX-1 computers addressed their video ram (to draw a picture on the screen) could be quite slow compared to systems that gave direct access to the video memory.

Because accessing video memory involved first outputting the low then the hi bytes of the video memory address to I/O port $99, then the 8-bit data to port $98. MSX-1's video chip did have a "memory pointer auto-advance", so consecutive addresses could be written to with repeated OUT instructions to $98.

However because of the screen layout, (which was top-down for each character of 8 lines then advancing to the next character) this was difficult to use for programmers who tried to convert existing software originally written for another system (such as the Sinclair Spectrum). So when trying to use the MSX-1 high resolution mode video memory in the conventional way this method of indirect-access could be far slower than in other 8-bit computers whose CPUs could usually access their screen memory directly, like any other piece of RAM. Consequently MSX-1 machines could be inefficient at certain graphical tasks, such as scrolling games, which entailed moving the entire background memory.

To increase the speed to an acceptable level this could then only be done in 8-pixel steps, which looked primitive in comparison to the 1 or 2 pixel scrolling steps available to the ZX Spectrum or Commodore 64 machines (although the Commodore 64 also used 8-pixel steps it had a fine-scroll register which could compensate for this, the MSX-1 did not).

The MSX-1 video chip did have some features to make up for this shortfall, for example a programmable character set which allowed indirection, and by having 32 hardware sprites. A limitation of the sprites however was that in their highest resolution they were only 16x16 pixels, and single-color (with transparency).

A bigger drawback though was that in reality there were only 4 sprites available on any one picture line, and attempting to have a 5th sprite on the same line as the four others would result in flickering or missing pixel lines.

However, there were some tricks available to circumvent the scrolling and other speed related problems by using clever programming techniques and video chip capabilities that were not available in the Sinclair Spectrum (the UK system most resembling MSX-1, and the source of most games that were ported to MSX).

By using an undocumented text mode that supported multiple colors, and by using the built in re programmable fonts, it was possible to combine high resolution graphics with faster scrolling while also being able to use sprites.

However, programmers that ported programs from other systems often failed to use this technique, and tried to use the MSX-1 as if it was a Spectrum. It is notable that games that were written from scratch, (mostly by Japanese programmers) made much better use of the extended capabilities of MSX-1's video chip. Also notable is that most of these video problems described above were fixed with the newer MSX-2 video chips, especially the limitations for the sprites were removed. By that time however 16 bit systems like the Amiga and Atari ST had started to dominate the market.

There were also some minor compatibility issues which plagued ported Spectrum games. Such as the Toshiba HX-10 machine being unable to read certain key combinations at the same time, (preventing the Spectrum-'standard' of Q,A, O,P steering) whereas machines by other manufacturers worked fine. Later (ported) games tended to use the MSX-1 joystick port or used MSX's official arrow keys and space bar, (or offered the option to choose other keys to control the program with) which solved the problem.

A larger problem was that the designers of the MSX standard bank switching protocol did not prescribe to hardware manufacturers in which banks the cartridges, but more important RAM should be found, and the MSX's BIOS did not provide this information either, thus requiring programmers to write complex routines to "find" these resources. Often programmers did not bother, (or know) and just assumed that the RAM and cartridges would be available at an (imagined) "default" bankswitch location. Which then lead to problems, because such "default" locations did not really exist. Some systems had their RAM or cartridge slot(s) not at the "default" location, but on another bankswitch location (which was completely allowed by the MSX specification). In those cases these sloppy written programs failed to run because they only "saw" 32K of the available memory, instead of the full 64K that almost all MSX-1 machines offered[2].

Consequently, MSX never became the worldwide standard that its makers had envisioned, mainly because it never took off in the United States and the UK. In Japan and South Korea, MSX was the paramount home computer system in the 1980s. It was also quite popular in Europe (except in the UK). Especially in the Netherlands and Spain, but also in Brazil, some Arab countries and the Soviet Union, where classes of networked Yamaha MSX2 were used for teaching informatics in school.

The Hotbit, developed by Sharp and marketed by Epcom, was a hit in Brazil.
The Hotbit, developed by Sharp and marketed by Epcom, was a hit in Brazil.

The exact meaning of the 'MSX' abbreviation remains a matter of debate. At the time, most people seemed to agree it meant 'Microsoft eXtended', referring to the built-in MSX-BASIC programming language, specifically adapted by Microsoft for the MSX system. However, according to Kazuhiko Nishi during a recent visit to Tilburg in the Netherlands, MSX stands for 'Machines with Software eXchangeability'. The MSX-DOS disk operating system had file system compatibility with CP/M and was similar to MS-DOS. In this way, Microsoft could promote MSX for home use while promoting MS-DOS based personal computers in office environments.

MSX spawned four generations: MSX (1983), MSX2 (1986), MSX2+ (1988) and MSXturboR (1990). The first three were 8-bit computers based on the Z80 microprocessor, while the MSXturboR was based on an enhanced Zilog Z800 known as the R800. The MSXturboR was introduced in 1990 but was unsuccessful due to a lack of support and the rise in popularity of the by then well-established IBM PC Compatible market. Production of the Turbo R ended in 1995.

In total, 5 million MSX computers were sold, which made it relatively popular but not the global standard it was intended to be. For a comparison with rival 8-bit computers, the Commodore 64 sold 17 million units worldwide in its lifetime, the Apple II sold 6 million units[3], the Amstrad CPC sold 3 million units, and the Tandy TRS-80 sold 250,000 units.

In the 80's, Sakhr Computers (a Kuwaiti company), started the production line of the first Arabian version of MSX computers. One of the most popular and affordable models was Sakhr MSX AX170.

Many MSX computers were used during 80's in Eastern European (former communist block) countries as a perfect tool for subtitling pirated films on VHS, or BETAMAX cassettes. The MSX computers were used for their simplicity and it's ability to display prepared titles in real time as superimpose text on mastering tapes.

[edit] MSX Revival

  • In 2001, Kazuhiko Nishi initiated an 'MSX Revival' around an official MSX emulator called MSXPLAYer. This is the only official MSX emulator. All MSX copyrights are maintained by the MSX Association.
  • In 2004 Dutch company Bazix announced they had become the representatives of MSX Association in Europe, being the English contact for any questions regarding the MSX trademarks and copyrights (licensing).
  • On October 17, 2006, Bazix launched WOOMB.Net, a website selling MSX games (translated to English if necessary), with a selection of 14 games. In Japan, game sales began earlier, through Project EGG. WOOMB.Net is the English counterpart of this (and other) Japanese services offered by D4 Enterprise.
  • D4 Enterprise also announced (in August 2006) the launch of a new MSX2 compatible system called the "one chip-MSX", a system based on an Altera Cyclone EP1C12Q240C8 FPGA. The "one chip-MSX" is similar in concept to the C-One, a Commodore 64 clone also build on the basis of a single FPGA chip. The new MSX system is housed in a box made out of transparent blue plastic, and can be used with a standard monitor (or TV) and a PC keyboard. It has two MSX cartridge slots and supports the audio extensions MSX-MUSIC and SCC+. A SD/MMC-flashcard can be used as an external storage medium, emulating a disk drive and can be used to boot MSX-DOS. Due to its VHDL programmable hardware it is possible to give the device new hardware extensions simply by running a reconfiguration program under MSX-DOS. The "one chip-MSX" also has two USB connectors that can be used after adding some supporting VHDL code.
  • In 2006 Nintendo of Japan posted on its Virtual Console webpage that MSX games will be available for Wii's Virtual Console emulator. In February 2007, it was confirmed again and announced that the games would cost 700 Wii Points and will become available in Summer 2007 (for Japan only, at least initially).

[edit] Franchises established on the MSX

Konami's Metal Gear made its debut for MSX2 before the release of its reworked counterpart for the NES.
Konami's Metal Gear made its debut for MSX2 before the release of its reworked counterpart for the NES.

The most popular and famous MSX games were written by Japanese software-house Konami and several popular video game franchises were established on the MSX:

Others got various installments on the MSX, including some titles unique to the system or largely reworked versions of games on other formats:

[edit] Manufacturers of MSX computers

[edit] System specs

[edit] MSX

Philips MSX, Model VG-8020
Philips MSX, Model VG-8020

[edit] MSX2

  • Processor: Zilog Z80A running at 3.58 MHz
  • ROM: 48 KB
    • BIOS + Extended BIOS (32 KB)
    • MSX BASIC V2.0 or V2.1 (16 KB)
    • DiskROM (16 KB) (optional, common)
    • MSX-Audio BIOS (32 KB) (optional, no machines are known with this BIOS built in)
  • RAM: 64 KB minimum, commonly 128 KB in Europe, 64 KB on Japanese computers, machines with up to 512 KB were made
    • Memory mapped (4 MB (MiB)/slot max) (optional)
      The effect of attribute clash when using the old 256x192 Highres mode of MSX 1, (which was less severe than for example the Spectrum, but still a nuisance). Later MSX models added new video modes without this problem
      The effect of attribute clash when using the old 256x192 Highres mode of MSX 1, (which was less severe than for example the Spectrum, but still a nuisance). Later MSX models added new video modes without this problem
  • Video Display Processor: Yamaha V9938 (a.k.a. MSX-Video) Supports all MSX video modes plus:
    • Increased video RAM: 128 KB (sometimes 64 KB or 192 KB)
    • New text mode: 80×24
    • New video modes without the attribute clash of MSX 1, (a problem shared by several other home computers of the era). See the picture on the right showing an example of the attribute clash of MSX 1.
    • New resolutions: 512×212 (16 colours out of 512) and 256×212 (256 colours)
    • More and more advanced sprites: 32, 16 colours, max 8 per horizontal line
    • Hardware acceleration for copy, line, fill, etc.
    • Interlacing to double vertical resolution
    • A vertical scroll register
  • Sound chip: Yamaha YM2149 (PSG)
  • Clock chip RP5C01
  • 3.5" Floppy disk drive is common

[edit] MSX2+

MSX2+ computer: a Panasonic FS-A1WSX.
MSX2+ computer: a Panasonic FS-A1WSX.
  • Only officially released in Japan (available in Europe and Brazil via upgrades)
  • Processor: Zilog Z80 compatible running at 3.58 MHz or more (5.37 MHz versions were available)
  • ROM: 64 KB
    • BIOS + Extended BIOS (32 KB)
    • MSX BASIC V3.0 (16 KB)
    • DiskROM (16 KB) (optional, very common)
    • Kun-BASIC (16 KB) (optional)
    • Kanji ROM (optional)
  • RAM: commonly 64 KB (on Japanese computers)
    • Memory mapped (4 MB/slot max)
  • Video Display Processor: Yamaha V9958 (aka MSX-Video) All of MSX2's specifications plus:
    • The video RAM now always is 128 KB
    • a new 256×212 video mode with 19268 colors
    • a horizontal scroll register
  • Sound chip: Yamaha YM2149 (PSG)
  • Optional sound chip: Yamaha YM2413 (OPLL) (MSX-Music)
  • Clock chip RP5C01
  • 3.5" Floppy disk drive is very common

[edit] MSXturboR

  • Only released in Japan
  • Processor: R800 and Zilog Z80A compatible
    • R800 running at 7.16 MHz (instructions use about 4x less clock ticks than the Z80, so often quoted as 28.6 MHz when comparing with the Z80)
    • Zilog Z80A compatible (embedded in the T9769C MSX-Engine) running at 3.58 MHz for backwards compatibility
  • ROM: 96 KB
    • BIOS + Extended BIOS (48 KB)
    • MSX BASIC V4.0 (16 KB)
    • DiskROM (16 KB)
    • Kun-BASIC (16 KB)
    • Kanji ROM (256 KB)
    • Firmware (4 MB)
  • RAM: 256 KB (FS-A1ST) or 512 KB (FS-A1GT)
    • Memory mapped (4 MB/slot max)
    • Additionally 16 KB (FS-A1ST) or 32 KB (FS-A1GT) of SRAM (battery-powered)
  • Video Display Processor: Yamaha V9958 (aka MSX-Video) so the same possibilities as MSX2+
  • Sound chip: Yamaha YM2149 (PSG)
  • Sound chip: Yamaha YM2413 (OPLL) (MSX-Music)
  • Sound chip: PCM
    • 8-bit single channel (no DMA), 16 kHz max using BIOS routines.
    • Microphone built-in
  • Sound chip: MIDI in/out (FS-A1GT only)
  • Clock chip
  • 3.5" Floppy disk drive

[edit] Peripherals

[edit] Floppy disk drives

MSX systems generally did not have a built-in disk drive, so games were published mainly on cartridge and cassette tape. Floppy disk drives were available for MSX however, in the form of a cartridge containing the disk interface electronics and a BIOS extension ROM (the floppy disk drive interface), connected to an external case with the drive. In South-America, many of these systems used a 5¼" floppy disk drives, but in Europe, mostly the 3.5" drives were popular.

Later in the 1980s the MSX2 was released, which systems often (but not always) included a built-in 3.5" disk drive, and consequently the popular media for games and other software shifted to floppy disks.

The MSX 3.5" floppy disks are directly compatible with MS-DOS (although some details like file undeletion and boot sector code were different). Like MS-DOS 1, MSX disks (formatted) under MSX-DOS 1 have no support for subdirectories. [1]

[edit] MSX-Audio

  • Yamaha Y8950, also known as:
    • Panasonic: MSX-Audio (standard name)
    • Philips: Music Module (no MSX-Audio BIOS)
    • Toshiba: MSX FM-synthesizer Unit (no sample RAM, no MSX-Audio BIOS)
  • 9 channels FM or 6 channels FM + 5 drums
  • ADPCM record and play
  • 32 KB of sample RAM, which can be upgraded to 256 KB

[edit] MSX-Music

  • Yamaha YM2413 (OPLL), also known as:
    • MSX-Music (standard name)
    • Panasonic: FM-PAC
    • Zemina: Music Box
    • Checkmark: FM-Stereo-Pak
  • 9 channels FM or 6 channels FM + 5 drums
  • 15 pre-set instruments, 1 custom
  • Built-in in many MSX2+ computers and the MSXturboR

[edit] Emulation

Main article: List of MSX emulators

MSX computers are one of the most emulated platforms today[citation needed], with versions for almost any platform, including mobile phones. Most MSX emulators are or were based on the code of the pioneer fMSX, (homepage) a portable MSX emulator by Marat Fayzullin. fMSX source code license isn't free and many emulators removed Fayzullin's Z80 emulation code entirely in later versions to avoid legal problems.

The official MSX emulator is MSXPLAYer (Homepage) (Japanese site) produced by the MSX Association (Japanese site), of which MSX standard inventor Kazuhiko Nishi is president.

MSX is also emulated in the Nintendo Wii's Virtual Console, with games available for download officially (in Japan only, but it was also announced that North America will get MSX games too, but it's unknown if Europe will receive MSX support.)

[edit] See also

[edit] References

  1. ^ Kojima Productions History
  2. ^ With very few exceptions, except for a very early Phillips MSX-1 model, (the VG8000) and the SVI-318 almost all other mainstream MSX-1 machines offered at least the full 64K of RAM
  3. ^ Mac Daily News 5 to 6 million Apple IIs sold

[edit] External links

Wikimedia Commons has media related to:
  • MSX Association (Japanese) — Current owner of the MSX trademark, Japanese distributor of MSXPlayer and the 1chipMSX.
  • D4 Enterprise (Japanese) — Japanese distributor of re-released MSX games.
  • Bazix — Partner of MSX Association and D4 Enterprise for business outside Japan.
  • The MSX Files - Brazilian MSX site that still make new games for MSX!
  • MSX-ALL — A server exclusively dedicated to MSX. Many important MSX Web Sites are freely hosted on the MSX-ALL Web Servers, such as MSX-Pró and MSX-TOP. The MSX-ALL Team has restated the design of the MSX-ALL Web Site in November of 2007, promising exciting surprises for the 1st semester of 2008.
  • MSX at the Open Directory Project