Back to index

Info for msx


====== MSX 1 (1983) ======




===== Features =====

* CPU: Zilog Z80A 3.58 MHz
* Co-Processor: Video chip must be compatible with the Texas Instruments TMS 9918/A or TMS 9928/A (Japan : 60 Hz) or TMS 9929/A (Europe : 50 Hz)
* RAM: At least 8 KB (most machines had 64kB built in)
* VRAM: 16 KB
* ROM: 32 KB BASIC/BIOS ( MSX BASIC V1.0)
* Text Modes: 40 x 24 (Mode 0); 32 x 24 (Mode 1)
* Graphic Modes: 256 x 192 with 16 colors (Mode 2 - Hires mode); 64 x 48 with 16 colors (Mode 3 - Multi colour mode); 32 sprites
* Colors: 16
* Sound: General Instruments AY-3-8910 Programmable Sound Generator, 3 channels, 8 octaves
* I/O Ports: Joystick socket (1 or 2), Cartridge slot (1 or 2), Tape-recorder plug (1200/2400 bauds), RGB video output, Centronics interface
* Keyboard: At least 70 keys (including 5 F-keys with 10 functions and 4 arrow keys)
* OS: MSX DOS
* Built In Language: Microsoft Extended Basic (MSX Basic V1.0)



===== Usage =====

The MSX driver is very preliminary. Disk drive emulation doesn't work properly for example, and memory emulation isn't very good either. Various MSX1 models are emulated, and there is preliminary MSX2 support through the msx2 and msx2j driver.

The required bios dumps are available at http://www.file-hunter.com/ -- http://www.file-hunter.com/

== Cartridges ==

The ROM mapper (which is specified with -rom x in fMSX) is autodetected but isn't perfect. With the hsi files in the hash directory, cartridges with SRAM or a DAC (like Synthesizer or Majutsushi from Konami) are detected properly.

== Cassettes ==

Tape emulation is done via .wav files; the actual sound the MSX produces is recorded / played back, making tape emulation more authentic. Because of this, you can record your existing tapes to .wav and play them in MESS. Make sure your record them at high quality (44100Hz, 16 bit and mono).

.cas files are also supported but they're converted to sound by the driver on startup. There is no support for writing .cas files.

While recording or playback you can hear the sound through the sound card of your computer. You can control the volume by pressing "SCROLL LOCK" and "~".

.tap files from Virtual MSX can be converted to .cas using imgtool (see imgtool.txt for more information).

== Memory emulation ==

The memory map is from a standard MSX1; there are no subslots, nor MSX2 memory mappers for RAM. RAM is 64Kb in slot 3, and slot 1 and 2 are where the cartridges end up.

== Sound emulation ==

The PSG, PPI (key click), SCC are emulated. The SCC isn't perfect yet, you can hear slight imperfections in King's Valley 2 (when you through the knife), F1 Spirit (when you start a race), Solid Snake (when you get to building 3). The SCC is called 'k051649' in the volume menu.

The FM-PAC is also emulated for which you need the ROM dump of an original Panasonic FM-PAC. However the sound emulation isn't very good at all. :/

The following DACs are emulated: SIMPL, Konami's Synthesizer, Konami's Majutsushi. The keyclick is also done through the DAC. To enable SIMPL (which disables the printer port), press "SCROLL LOCK", "TAB" and go to Dip Switches. Here set SIMPL to "On".

You can control the volumes by pressing "SCROLL LOCK" (so you go to UI mode) and then "~". Press "UP" and "DOWN" to see different sound chips, and "LEFT" and "RIGHT" to change the volume.

== Video emulation ==

The tms9928a (MSX1) emulation is very good, but doesn't emulate changes while the screen is being drawn to the screen.

The v9938 emulation is preliminary and has problems with sprite mode 2 (MSX2 games), interlaced mode, graphic engine emulation, timing (Zanac Ex doesn't run correctly and Aleste only runs in the Japanese version of the driver).

Also the PAL/NTSC (50/60Hz) switch is an evil hack, the actual refresh rate of the screen isn't changed.

Also it's not very well optimized, I'll start optimizing as soon as it works alright.

The v9958 isn't emulated at all.

The MSX1 and MSX2 video chips only only display a limited number of sprites on one line; this causes sprite flickering, you can turn this off (which isn't like a real MSX of course) by pressing: "SCROLL LOCK", "TAB" and going to the Dip Switches menu. Set "Enforce 4/8 sprites/line" to "Off". Note that sometimes this feature is used for other purposes, like making sure a sprite is only partly displayed (when you enter a world in The Maze of Galious for example).

== Printer port ==

The printer port is emulated; output to the port is saved to disk. However no emulation/translation is done, so the data is raw.

== Keyboard/joystick/mouse ==

The keyboard layout should be properly emulated. Joysticks seem to default to having key-bindings as well, so pressing "CTRL" or "ALT" will also work for the joysticks, but might give some unexpected results.

The mouse emulation doesn't work properly yet. :(

== Disks ==

Disks are emulated through proper wd2793 emulation. Currently only the Philips and Sony diskroms are supported; the Panasonic machines use the tc8566af diskcontroller (unemulated) and the Brazillian machines are port-based (not memory-mapped).

You need a proper diskrom dump, and the msx.hsi file in place. The diskrom should be recognized as type 15 otherwise the driver doesn't know it's a diskrom.

Next specify the diskrom as one of the cartridges. That should do the trick. :) Note that only .dsk files are supported; other formats can be converted to .dsk using imgtool (it can convert .msx, .img, .ddi, .xsa, multidisks -- see imgtool.txt for more information).

Errors aren't properly handled yet. "not ready" is reported as "record not found", which results in "Disk I/O error" in MSX-BASIC.

Also not that memory emulation isn't complete so MSX2 memory mappers don't work yet.



===== Known Issues =====

The MSX driver currently emulates the MSX1, international, UK, korean and Japanese models.

* Not emulated: Printer port, diskdrives, megaRAM, Sound Cartridge (SCC+), MSX2, etc..

* Cartridge emulation: The MSX has 64kB RAM, like most (by far) MSX1 computers. It is located in slot 3. Two cartridges are allowed: the first in slot 1 and the second in slot 2. So subslots aren't emulated (yet). The msx.hsi file is important. The <extrainfo> tag specifies the type of ROM mapper. See msx.hsi for more information.

* Sound emulation: The standard sound chip, the PSG (AY8910) is emulated, so is the extension that was included in some Konami cartridges: the SCC. The keyclick (PPI) is also emulated, as is the FM-PAC (you'll need the fmpac.rom of the original Panasonic FM-PAC for this). Unfortunately the YM2413 emulation in MAME does not emulate the volumes correctly. Last but not least, the DAC in Konami's Synthesizer is emulated, and the SIMPL (DAC on the printer port). The DAC in Konami's Matjusushi is also emulated, but the driver lacks MSX2 support.

* SRAM in cartridges: A number of cartridges (Hydlide 2, Xanadu, The Game Master 2 and more) had on-board sram. This sram is automagically saved as a MEMCARD.

* Tape emulation: Unlike other MSX emulators, the tape emulation is not done by trapping BIOS calls. In our opinion this is an evil kludge; apart from that, our setup does have an advantage. Tapes with a custom loader (using direct access to the hardware) will work fine. It is done by saving the tape as a .wav file. In principle, you could record a tape to .wav, and load them into MESS.



===== History and Trivia =====

In the early 80's, there were a lot of home computers, Microsoft and a Japanese company called ASCII corporation (directed by Kay Nishi) decided then to create an industry standard for the home computers: MSX (for MicroSoft eXtended). The new standard was based on an existing computer: The Spectravideo SV 318. Microsoft designed the MSX 1 computers and the first version of the OS: MSX DOS 1 (which looks like earlier versions of MS DOS).

Almost all Japanese and Korean computer companies made their own MSX computers (except perhaps NEC). Bill Gates was then very confident about the future of the MSX standard. Spectravideo (one of the MSX companies) made a 80 columns card and adapted CP/M on the MSX. A lot of software (especially a lot of games from Sega, Konami, Taito, Ascii,...) and hardware was developed for this standard. Despite all its qualities, the MSX family didn't have great success in USA, however was pretty known in Europe (Netherlands and France), in South America (Brazil) and USSR. This standard was replaced in 1985 by MSX 2.

//(info from old-computers.com)//

== MSX compliant machines ==

* Canon (Japan)
* V-8: 16kB RAM (other source says 32kB RAM)
* V-10: 16kB RAM
* V-20: 64kB RAM

* Casio (Japan)
* MX-10: 16kB RAM (other source says 64k), docking station available
* MX-101: 16kB RAM (other source says 64k)
* PV-7: 32kB RAM
* PV-16: 16kB RAM

* Daewoo/Yeno (Korea)
* Ce-Tec MPC-80: 64kB RAM (other source says 32KB)
* DPC-100: 16kB RAM, built in loudspeaker, available in green, blue or silver
* DPC-200: 64kB RAM
* DPH-64: 64kB RAM (other source says 32kB RAM)
* DPH-?: 64kB RAM, built in software, Arabic version
* IQ-1000: 32kB RAM, produced for Korea
* MX64: 64kB RAM

* Dragon (Spain)
* MSX-64: 64kB RAM

* Dynadata (MSX from Daewoo in Spain)
* DPC-200: 64kB RAM

* Fenner (Italy?)
* FPC-500: 64kB RAM

* Fujitsu (Japan)
* MB-H1: ??kB RAM
* FM-X: 16kB RAM

* General (Japan)
* PAXON-PC K50: ??kB RAM, separate keyboard, computer and monitor in one box
* PAXON-PC T50: 16kB RAM, RGB connector
* PAXON-PC T55: 32kB RAM, RGB connector

* Goldstar (Korea)
* FC-80: ??kB RAM
* FC-100: 16kB RAM
* FC-200: 64kB RAM (with hole for light-pen)

* Gradiente (Brazil)
* XP-800 Expert 1.0: 64kB RAM, separate keyboard
* XP-800 Expert 1.1: 64kB RAM, separate keyboard (with fixed ASCII tables, grey colour)
* Expert plus: 64kB RAM, separate keyboard (black colour)
* Expert DD plus: 64kB RAM, separate keyboard, 3,5" floppy disk drive (black colour)

* Hitachi (Japan)
* Hint: 16kB RAM
* MB-H1 (Humanicatio): 32kB RAM, built in software (Sketch and Music)
* MB-H1E: 16kB RAM
* MB-H2: 64kB RAM, built in tape recorder
* MB-H21: ??kB RAM
* MB-H25: ??kB RAM
* MB-H50: 64kB RAM
* MB-H80: 64kB RAM, also built in software (Sketch and Music)

* JVC/Victor (Japan)
* HC-5: 32kB RAM (other source says 16kB RAM)
* HC-6: 16kB RAM
* HC-6AV: 32kB RAM, RGB connector
* HC-7: 64kB RAM (Japanese version)
* HC-7E: 64kB RAM (English version, other source says 32KB RAM)
* HC-7GB: 64kB RAM
* HC-30: 32kB RAM
* HC-60: 32kB RAM

* Kyocera (Japan)
* YC-64: 64kB RAM

* Mitsubishi (Japan)
* Letus: 16kB RAM
* ML-8000: 32kB RAM
* ML-F48: 32kB RAM
* ML-F80: 64kB RAM
* ML-F110: 16kB RAM
* ML-F120(D): 32kB RAM
* ML-F8000: 32kB RAM
* ML-FX1: 64kB RAM
* ML-FX2: 64kB RAM, built in software

* National/Matsushita (Japan)
* CF-2000: 16kB RAM (MSX1)
* CF-1200: 16kB RAM (MSX1)
* CF-2700: 32kB RAM (MSX1)
* CF-3000: 64kB RAM (MSX1)
* CF-3300: 64kB RAM (MSX1 / 1 or 2 FDD)
* FS-4000: 64kB RAM (MSX1)
* FS-1300: 64kB RAM (MSX1)

* Olympia (France)
* PHC-2: ??kB RAM, same as some Sanyo?
* PHC-28: 32kB RAM, same as Sanyo's PHC-28S

* Panasonic (Europe)
* CF-2000: 16kB RAM
* CF-2700: 64kB RAM, same as Sanyo MPC-64
* CF-3000: 64kB RAM
* CF-3300: 64kB RAM

* Perfect (Daewoo in Kuwait)
* Perfect1: 64kb RAM, 1 slot, no reset, built in software

* Philips (The Netherlands)
* VG-8000: 16kB RAM
* VG-8010: 32kB RAM
* VG-8020: 64kB RAM, (VG8020 comes in 2 different versions (/00 and /20), new versions use sub-slot for RAM)

* Pioneer (Japan)
* PX-7 PALCOM: 32kB RAM, built in laser disk interface, superimpose (image & sound (stereo)), separate keyboard (UK version in black, JP version in black/silver (lila/blue keys) colour)
* PX-V60: 64kB RAM

* Radofin (Hong-Kong)
* Triton: 64kB RAM

* Radiola (France)
* MX-180: 32kB RAM, Same as Philips VG-8010 with a different color case

* Sakhr/Universal/Al Alamiah (Kuwait/Yemen) These computers are Yamaha and Sanyo MSX modified for arabian countries.
* AX-100: 64kB RAM
* AX-150: 64kB RAM
* AX-170: 64kB RAM, built in special ROMs with Arabic characters set and software
* AX-230: 64kB RAM, same software as AX-170 + 1MB of other software
* AX-330: 64kB RAM, same as AX-230 but with built in SEGA-MEGADRIVE board
* AX-990: 64kB RAM, 50 programs built in, SEGA-MEGADRIVE board built in
* SX-100: 32kB RAM, 3 slots, RGB connector
* SX-101: ??kB RAM, 3 slots

* Samsung (Korea)
* SPC-800: 64kB RAM

* Sanyo (Japan)
* MPC-2: 16kB RAM
* MPC-3: 16kB RAM
* MPC-4: 16kB RAM
* MPC-5: 16kB RAM
* MPC-6: 64kB RAM
* MPC-10(mk2): 64kB RAM (other source says 32kB RAM), lightpen-interface
* MPC-11: 64kB RAM (other source says 32kB RAM), lightpen-interface
* MPC-64: 64kB RAM
* MPC-100: 64kB RAM, hole for lightpen
* MPC-200: 64kB RAM
* MPC-X: 64kB RAM, built in lightpen, high-res adaptor and speech-synthesizer
* PHC-27: 64kB RAM
* PHC-28L: 64kB RAM, Same as PHC-28S but with 64kB RAM
* PHC-28S: 16KB (or 32KB) RAM
* PHC-30: 16kB RAM (other source says 32KB), built in tape recorder
* PHC-30N: 64kB RAM
* PHC-33: 32kB RAM
* WAVY-MPC-10: 32KB (other source says 16KB) RAM, built in light pen unit

* Schneider (Germany)
* MC-810: 32kB RAM, (Same as Philips VG-8010 with a different color case)

* Sharp/Epcom (Brazil)
* HB-8000 HotBit: 64kB RAM (white colour)
* HB-8000 HotBit 1.2: 64kB RAM (in black color)

* Sony (Japan) Note: Some of the Sony's computer names are followed by a letter like HB-101P, or HB-101F or HB-700D. The last letter is only depending of the keyboard layout of the country. D=German (QWERTZ) F=French (AZERTY) S=Spanish P=UK (QWERTY)
* HB-10: 64kB RAM
* HB-11: 64kB RAM
* HB-11U: ??kB RAM, built in dictionary Japanese-English
* HB-20: 32kB RAM
* HB-55: 16kB RAM
* HB-75: 64kB RAM, built in program: Personal Databank (schedule/memo/address)
* HB-101: 32kB RAM, (Same as HB-201 but with 32kB RAM, but other source says 16kB RAM)
* HB-201: 64kB RAM, built in joystick (Same as HB-501 but without tape recorder)
* HB-501: 64kB RAM, built in tape recorder ('BitCorder'), pause button, joystick
* HB-701, 64kB RAM
* HB-701FD: 64kB RAM, floppy disk drive

* Spectravideo (Hong-Kong/USA)
* SVI-728: 64kB RAM, numeric keypad
* SVI-738: 64kB RAM, built in 80 columns card (V9938), RS232C interface, 360KB 3,5" floppy disk drive. Also called X'PRESS and also SVI-318 and SVI-328 MSX compatible with an emulator

* Talent/Telematica (Argentina)
* DPC-200: 64kB RAM, Daewoo's MSX model sold under the Talent name

* Toshiba (Japan)
* HX-10: 64kB RAM
* HX-10D: 16kB RAM
* HX-10DP: 64kB RAM
* HX-10DPN: 64kB RAM, built in program (??)
* HX-10E: 64kB RAM
* HX-10S: 16kB RAM
* HX-20: 64kB RAM, built in word processor (in total 64kB ROM), RAMdisk feature (32kB of main RAM in page 0 and 1 are used, under BASIC), T6950 VDP (software compatible with 9929A which is normally used)
* HX-20e: 64kB RAM, built in word processor, RS232C interface
* HX-21: 64kB RAM, built in software
* HX-22: 64kB RAM, RS-232C interface, RGB connector (SCART 21), built in word processor (in total 64kB ROM)
* HX-30: ??kB RAM, built in software
* HX-31: ??kB RAM, built in software
* HX-32: ??kB RAM, built in software
* HX-51: ??kB RAM

* Triton (Hong-Kong)
* PC64: 64kB RAM

* Yamaha (Japan)
* CX5: 32kB RAM
* CX5F: 32kB RAM
* CX5M: 32kB RAM, built in FM synthesizer (SFG-01) and MIDI-Interface
* CX5MII: 64kB RAM, built in FM synthesizer (SFG-01), MIDI-interface
* CX5MII/128: 128kB RAM, built in FM synthesizer (SFG-05), (V9938 built in), built in FM VOICING program II
* CX-11: 32kB RAM
* CX-100: 32kB RAM
* YIS-303: 16kB RAM
* YIS-503: 32kB RAM
* YIS-503II/64: 64kB RAM, FDD

* Yashica (Japan)
* YC-64: 64kB RAM, Kyocera's MSX sold by Yashica

//(MSX system list compiled from the list by TRD, Manuel Bilderbeek & Alex Wulms. Thanks to Stefano Priore, for abridging it to MSX1 specific info.)//



===== Links =====

* MSX FAQs -- http://www.faq.msxnet.org/
* Passion MSX -- http://www.passionmsx.org/
* MSX Resource Center -- http://www.msx.org/
* MSX at old-computers.com -- http://old-computers.com/museum/computer.asp?c=90



===== Other Emulators =====

* blueMSX -- http://www.bluemsx.com/
* fMSX -- http://fms.komkon.org/fMSX/
* NLMSX -- http://nlmsx.generation-msx.nl/
* openMSX -- http://openmsx.sourceforge.net/
* RuMSX -- http://www.lexlechz.at




Generated on Sun Jul 19 10:17:28 2009