

                        ******* fMSX *******
                 The Portable MSX/MSX2/MSX2+ Emulator
                             version 2.0 beta

                         by Marat Fayzullin
                      
	             Acorn Port by David McEwen 
	             Port Version : 2.0 beta
	             
New In This Version
-------------------

 * All features of 2.0beta source
 * Faster!
 * More stable!!

In last version :

 * Front end and emulator integrated to ease progress to multitasking version.
 * Initial memory usage increased to 948k - this will change...
 * Nice new icons created by Richard Hallas
 * 2 Full Screen modes
 * Redesigned front end - allows access to all options
 * DOS extension problem fixed.
 * 2 utilities to read and write MSX disk images
 * Compatible with older machines (pre Risc PC)
 * Pause/Restart Function
 * Reset (in desktop and in emulator)
 * 16 colour mode options
 * Multiple keypress support
            
	                          
Introduction
------------

This is a port of Marat's MSX emulator. This is an excellent emulator, it 
basically provides a complete computer... This computer however has a great 
selection of games... from Aleste to VKiller - a sort of Castlevania.


Use with pre RiscPC machines
----------------------------

The best way to get it running is to increase the Uperiod and decrease the
Iperiod. This will unfortunately delay response, but will make it run faster.
The screen mode is enforced at 320 by 256. The actual mode is determined by 
colour depth so for 16 colours you will get Mode 9 and for 256 you will get
Mode 13.


What is MSX?
------------

  MSX is an old Z80-based family of home computers which appeared in 1982
as an attempt to establish a single standard in home computing similar to
VHS in video. They were popular in Asian (Korea, Japan) and South American
(Brazil, Chile) countries as well as in Europe (Holland, France) and
former Soviet Union, but they are virtually unknown in USA.  Although MSX
standard quietly died to year 1988, the world got to see MSX2, MSX2+ and
TurboR extensions of it. 
  In spite of its sad history, MSX is a very nice computer, especially
useful for educational purposes which is clearly indicated by example of
the Soviet Union. Russian Ministry of Education bought hundreds of MSXes
(and later MSX2s) grouped into "computerized classroom systems" of 10-16
machines interconnected by a simple network. Entire generation of
programmers has grown up using these computers. 
  Hardware-wise, MSX represents a hybride of a Nintendo Entertainment
System and a generic CP/M-80 machine. Its heart is Z80 CPU working at
3.58MHz in the base model (frequency was doubled in TurboR). The video
subsystem is built around TI9918 or TI9928 VDP chip also used in Texas
Instruments' TI-99/4 computers. In the later MSX models this chip was
upgraded to V9938 (MSX2) and V9958 (MSX2+ and TurboR). The latest version
is V9990. The audio system is handled by AY-3-8910 chip by General
Electric, same as the one used in Sinclair ZXSpectrum128 audio. AY-3-8910
provides 3 channels of synthetized sound, noise generation, and two
general purpose parallel IO ports which are used for joysticks and some
other things in the MSX design. Due to their hardware structure, MSX
machines were perfectly suitable for games and there is a lot of good
games either written or ported to them. You can find more information
about MSX and remaining MSX fans at http://www.komkon.org/fms/MSX/


How do I use it ?
-----------------

There are various ways of using this machine, it depends on what you are 
using :

Rom Images:<.rom files>
	These should have dos extension stripped and be filetyped to MSXRom.
	Then you can just double click on them.

Disks Images:<.dsk files> 
	These should have dos extension stripped and be filetyped to MSXDsk.
	Then you drag them to the Options window into either the drive A or
	the drive B slot.
	
Tape Images:<.cas files>
	These should have dos extension stripped and be filetyped to MSXTap.
	Then you drag them to the Options window into the Tape slot.	
	 
You can create or read Disk images using the programs wrdsk and rddsk respectively.

When using wrdsk please ensure that the files you are copy across have their DOS
extensions as I haven't built in any conversion between filetypes and extensions.
These are both very primitive programs that run in the command line. I have used
the frontend module to create a crude front end for them. It would be
preferable to have some sort of image file system, but I really don't have time
to delve into that sort of thing! So if someone wants to write one I can provide
them with the source to the reading and writing programs, which are direct ports
of what is provided by Marat.
	
On the disks or tapes you may find files with extension .BIN,.OBJ or .GM
These are o-called BLOADable binary files. They can be run from MSX 
BASIC with 

                     BLOAD "filename",R

There may also be .COM files. These are MSX DOS command files.
Boot MSX DOS and run them from there.

As standard the Acorn port comes with the following Roms:
They are all stored in the !Fmsx.Roms directory. They don't need to be run
separately. They are loaded automatically when found.

MSX	     - Standard MSX BIOS and BASIC code
MSX2	     - MSX2 BIOS and BASIC code
MSX2EXT	     - MSX2 ExtROM containing system extensions
MSX2P        - MSX2+ BIOS and BASIC code
MSX2PEXT     - MSX2+ ExtROM containing system extensions
DISK         - MSX DiskROM containing BDOS and DISK BASIC (optional)
RS232        - RS232 BIOS and BASIC extensions (optional)
FMPAC        - FM-PAC BIOS and BASIC extensions (optional)
MSXDOS2      - MSXDOS2 system core (optional)
CMOS         - Non-volatile memory used in MSX2 and MSX2+. This file gets 
               rewritten on exit if non-volatile memory was changed.

This is an extra rom that can be found - just copy it into the Roms directory
stripping the dos extension
PAINTER      - Yamaha Painter, graphical editor found in Russian MSX
               machines from Yamaha (optional)
               
The frontend allows you to alter various variables that will affect the
speed of the game - the Uperiod and Iperiod values. Uperiod is the number of 
interrupts per screen update and the Iperiod is the internal interrupt period. 
In simple terms to speed up the emulator either increase Uperiod, decrease 
Iperiod or both. To slow it down decrease Uperiod, increase Iperiod or both.

There are several resolution choices available. The first 4 are simple resolutions
no scaling is implemented. The last is a full screen mode and this is exactly
what it says. The 16 colour version should be quicker in that the emulator is 
effectively writing less to screen... (however with a StrongARM I couldn't spot much 
difference in speed).
The full screen mode is now : 256 x 480

Once the emulator is running the keys are mapped to their Acorn equivalents.
So there is little or no difference to be spotted. There are a couple of keys 
yet to be mapped, but they are of little importance. They will of course be 
added in the next release.    
              
*FAQ*
----- 

Why are my Roms/Disk images not working ?
-------------------

Try downloading them again. Try different machines, most games require an MSX 2
Another thing to try is altering the MegaROM type... this is a matter of trial 
and error.

If there is still no joy. Send the image to Marat and see if he can 
find a reason.

Where's the sound ?
-------------------

Soon, soon...

Do I need a special screen mode ?
---------------------------------

Nope the emulator runs happily in a 320 by 256 mode as the screen fits nicely. 
The full screen modes require specially defined modes... a Mode Definition File 
is included.

Will you get it to run in the desktop ?
---------------------------------------

This will be coming shortly, hopefully with sound!

Will you be porting any other emulators ?
-----------------------------------------

You want more ???

More ???

Aren't you lot ever satisfied :-)

Copyright and Disclaimer
------------------------

This emulator is copyright Marat Fayzullin 1994-9, and the Acorn-specific
components are copyright David McEwen 1998-9. You may not attempt to pass off
any part of this work as your own, although you may distribute it freely as
long as you supply the complete archive (that is, all the files supplied to
you).

This software is supplied "as is". I make no claims about the reliability or
suitability for any purpose of this emulator, and any use of it is undertaken
at your own risk. No responsibility is taken for any failure of the software,
or for any loss or damage caused directly or indirectly by the software.

Whilst I will endeavour to help you if you have problems with this emulator,
no such support is guaranteed.

In the above "This emulator" refers to everything supplied within this
archive, which is specifically the !Fmsx application and all the files
contained within it, and also the documentation files (including the one you
are reading now).



COMMENTS
--------

Any comments about the emulator as such should go to Marat Fayzullin : 
email : fms@komkon.org
Website : http://www.komkon.org/fms

Any comments about the Acorn specific parts and please no inane emails giving 
me ways of making money etc... just useful constructive stuff please
email : david@acornemus.freeserve.co.uk
Website : http://www.lizjay.demon.co.uk/david


Thanks
-------

Thanks to Richard Hallas for creating some excellent icons for the emulator.

Thanks also to Gareth Moore for providing help on returning to the desktop
screen mode (indeed I use his Redraw file!) and for putting info on his
Acorn Gaming web site.

Thanks to David Sharp for putting information up on his excellent web site.

Thanks also to Acorn User for mentioning the emulator port in the April 1998
issue.