MSX Driver
----------

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/


Cartridges
----------
The ROM mapper (which is specified with -rom x in fMSX) is autodetected but
isn't perfect. So you should also install the crc files, which can be 
downloaded from the official mess site. With the CRC files, cartridges with
SRAM or a DAC (like Synthesizer or Majutsushi from Konami) are detected
properly.


Tape emulation
--------------
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 inperfections 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 optimised, I'll start optimising as soons 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. 


MSX2 RTC
--------
The real-time clock, which keeps information like the time and date, should
be emulated correctly. However in PAL mode the timing isn't correct as the
refresh rate isn't properly adjusted. All settings are saved to disk.


Keyboard/joystick/mouse
-----------------------
The keyboard layout should be properly emulated. Joysticks seem to default
to having key-bindings aswell, 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. :(


Disk Emulation
--------------
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.crc file in place. The diskrom 
should be recognised 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).

Error 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.

