fMSX for DC - Beta 1

Original version by Marat Fayzullin
Dreamcast version by Arnon Cardoso

Special Thanks to
Ronaldo Gazel
Jos Kwanten
Mitsutaka Okazaki
Takayama Fumihiko 

Disclaimer
	Use fMSX for DC at your own risk. I don't take any responsability if
	any problems occurs on your Dreamcast or any accessory.

Introduction
	Although this emulator is similar DreamMSX I'm calling it fMSX for DC 
	because it's a new one. There are only a few parts of the code that was 
	borrowed from DreamMSX but most of the work on this emulator is completelly 
	new. 
	fMSX also did a huge change on its code when version 2.0 was released.
	Right now the emulator is pretty stable (more than DreamMSX) and has better
	compatibility. I hope you enjoy it!!!
	

Features
	This emulator is based on fMSX2.5. It has some changes mainly on the sound code, 
borrowed from DreamMSX (PSG and SCC) and YM2413 emulator (FM).
	For more information about fMSX features please visit Mr. Fayzullin page at
(http://www.komkon.org/fms). Below I'll put some features that I've worked besides
the original ones and things that differs from DreamMSX:
	- Used Stored Queues to improve performance.
	- Changed Z80 engine to not use a big switch but the result was disappointing.
	- MSX Joystick support. If you have two DC joysticks the first will act as of 
	DreamMSX and the second can be used as MSX Joy A or B (selectable using the GUI).
	- GameMaster II SRAM save to VMU, using NesterDC VMU code.
	- Better GUI (?) than DreamMSX. Besides the options offered by DreamMSX you can also:
		- select MSX version up to 2+ (2+ emulation is partial though).
		- Synchronize the video updates to a frequency (50 or 60).
	- FM sound.
	- Disk swap after the emulation has started.
	- MSX 2+ screen modes.
	- 256 files limit to roms and disks (each one).
	- Make sure you have the controllers and vmu connected when booting fMSX for DC.
	The detection is made only just before showing the GUI. So if you, for instance,
	only have one controller attached to DC just before showing the GUI you won't 
	be able to use the second controller even if you attach it thereafter.

Making the Disk
	1) Put IP.BIN and 1s_read.bin from the zip file on the root folder of the cd.
	2) Put MSX bios roms on the root folder also.
	3) Put game roms on a folder called roms.
	4) Put msx disks on a folder called disk.
	5) Burn it.
	6) Use the Utopia boot disk.

Bios ROMS Needed
	MSX.ROM for MSX 1 emulation
	MSX2.ROM and MSX2EXT.ROM for MSX2 emulation
	MSX2P.ROM and MSX2PEXT.ROM for MSX2+ emulation
	DISK.ROM for disk emulation
	FMPAC2.ROM for FM PAC emulation (This rom is the 16KB version of FMPAC.ROM, just 
	rename FMPAC.ROM to FMPAC2.ROM, remember this rom must have 16KB in size).

SRAM Support
	Note that currently fMSX for DC only supports the Game Master II SRAM. There are 
	other types of SRAM for MSX (FMPAC SRAM, for instance) that aren't supported.
	Game Master II SRAM is used only on some konami games (Metal Gear Solid Snake among
	others) and you can get more info about it on 
	(http://www.msxnet.org/konami/GameMasters/index.html).
	In order to use the SRAM on fMSX for DC:
	- Select Game Master II cartridge.
	- Select the ROM TYPE as GAME MASTER II (Guess doesn't work)
	- Select the Konami cart you want to save as the other ROM.
	- Start emulation.
	The right trigger on the first controller is mapped to the 'Y' key needed 
	to format the SRAM. 
	After the SRAM has changed when you go to the Disk swap screen (By pressing left 
	trigger) a message will appear telling to press 'B' button to save the SRAM contents.
	Loading from the vmu is automatic when you select GAME MASTER II as the rom type and
	there's a fMSX SRAM file on VMU.
	I don't take any responsability if fMSX damages your VMU. Use this feature as your own
	risk.
	fMSX for DC will try to save/load the SRAM on the first VMU found.

	If you want info about Metal Gear Solid Snake for MSX go to
	http://www.stack.nl/~mth/msx/solideng/.


GUI (?) Commands
	The GUI (?) has many new features that weren't available on DreamMSX. 
	You can toggle VSync using the 'A' button, select which MSX version you
	want emulated with the analog stick (up and down) and show/hide the fps
	counter ('X' button).
	Also the rom, disk, etc selection is more friendly right now. You can go back
	to a selection any time. After finishing your selections just press Start to 
	begin emulation.
	When the emulation is running press left trigger to go to disk swap screen.
	On this screen you can also save SRAM, if modified, toggle vsync and show/hide
	the fps counter. To return to emulation press START. To go back to GUI (?) press
	left trigger + right trigger.

Keyboard Mappings
	I've added more keys to the DC controller. If you have only one controller there
	will be only one change. The right trigger is mapped to the 'Y' key. This is 
	useful when GAME MASTER II asks about formating the SRAM (needed for the first time
	you use the SRAM).
	The second controller have X, Y and right trigger mapped to F2, F3 and F4 
	respectivelly.
	With this mapping you can play Metal Gear Solid Snake, Xak, etc without the 
	need of	a keyboard. Of course, if you have a keyboard it's still supported.