                           fMSX/2 1.5 alpha
                      MSX emulator for IBM OS/2
  Core emulator code copyright (C) 1994,1995,1996 by Marat Fayzullin
         OS/2 port copyright (C) 1996 by Alexander Perezhogin

                 OS/2 is a trademark of the IBM corporation


                             Introduction
                             ============

    fMSX is a portable emulator of MSX home computers written in C.
You can always get the latest fMSX source code, binaries, and support
files from http://www.freeflight.com/fms/fMSX/

    Another MSX-related archive is located at
ftp://ftp.komkon.org/pub/MSX/


                             Requirements
                             ============

    - 486DX2/66 with 8MB RAM (P75 highly recommended)
    - IBM OS/2 Warp Version 3 or later
    - REXX support for Install
    - At least 256 color video driver


                             Installation
                             ============

    Just unpack fMSX package file to destination directory and run
Install.Cmd.

    WARNING!!! Install Full-screen DIVE support may cause lockup
after shutdown with some video drivers (for example S3 v2.84.13). In
this case, go to command line using Recovery Choices, and run
UnFSDive.Cmd to remove Full-screen support. Sorry, but Full-screen
DIVE is beta now.

                               Contents
                               ========

    Install.Cmd  - Install program
    unLock.Exe   - Executables unlocker by Andrew Zabolotny

    Dive.Dll     - Direct Interface Video Extension (DIVE) DLL (*)
    Ssmdd.Sys    - Device driver of the Sync/Stream Manager    (*)
                   (need for DIVE)

    GSrvInst.Exe - GameSrvr Installation Program               (*)
    GameSrvr.Dll - Full-screen support for DIVE                (*)
    Svga.Exe     - PMI File Generator                          (*)
                   (need for full-screen support install)
    UnFSDive.Cmd - Full-screen support uninstaller.

    fMSX.Exe     - The Emulator
    fMSX486.Exe  - The Emulator (486 optimized)
    Default.Cfg  - Sample emulator configuration

    RdDsk.Exe    - OS/2 port of disk image read program
                   by Arnold Metselaar
    WrDsk.Exe    - OS/2 port of disk image write program
                   by Arnold Metselaar
    Dasm.Exe     - OS/2 port of simple Z80 Disassembler
                   by Marat Fayzullin

    fMSX2.Txt    - This text

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

    (*) mean that this file will be deleted during install

                               Options
                               =======

    Model=MSX1|MSX2|MSX2+                           default: MSX2
        Select MSX model

    UserRAM=64k|128k|256k|512k|1024k                default: 128k
        Amount of User RAM (note: 64k only for MSX1)

    VideoRAM=32k|64k|128k                           default: 128k
        Amount of User RAM (note: 32k only for MSX1)

    CheckSprites=On|Off                             default: On
        Check sprites collisions

    InterruptPeriod=100..50000                      default: 10000
        How many CPU commands should be executed
        between two interrupts

    UpdatePeriod=1..20                              default: 2
        Number of interrupts per screen update

    CartridgeA=<filename>[,n]
        Set cartridge A image file <filename> with
        cartridge ROM type n:
            1 - Konami/8k
            2 - MSXDOS2
            3 - Konami5/8k
            4 - Konami4/8k
            5 - ASCII/8k
            6 - ASCII/16k

    CartridgeB=<filename>[,n]
        Set cartridge B image file <filename> with
        cartridge ROM type n

    DiskA=<filename>
        Set drive A image file <filename>

    DiskB=<filename>
        Set drive B image file <filename>

    Tape=<filename>
        Set tape image file <filename>

    Also you may put some options in config file and use this file,
    like this 'fMSX.Exe @NewConfig.Cfg UpdatePeriod=1'

    Note: fMSX/2 always try to use Default.Cfg config file in current
          directory.


                            Bugs/Features
                            =============

    - System error SYS3175.
        Probably MSX program try to apply VDP commands to not
        existing Video RAM. Sorry, but checking procedure slow down
        VDP commands emulation. Try to enlarge Video RAM.

    - Several bottom lines isn't redrawn in full-screen.
        This is a one of GameSrvr bug. Try to switch to windowed mode
        and then back to full-screen.

    - Sometimes border isn't redrawn.
        This is a my bug ;) If you know how 100% reproduce this,
        write me.

    - Fulldragging some window over fMSX/2 window can dirty this
      window. Fulldragging fMSX/2 window can dirty window border.
         Probably DIVE bug.

    - Slow reaction when keys pressed.
         Probably you have Process Commander installed. Process
         Commander replaces keyboard drivers your owns... Deinstall
         Process Commander.

    - Not enough diagnosic messages.
         Sorry, I'm too lazy to make it.

    - Fixed font, soundtrack log, printer, serial port and joystick
      support not implemented.
         Sorry, I'm too lazy to make it. Try to write me.


                                To do
                                =====

    - Real time interrupts frequency
    - Save and restore MSX-machine state
    - Sound support
    - Physical diskettes and hard drive support
    - Something else ;)


                          Acknowledgements
                          ================

    - Marat Fayzullin for excellent source code.
    - International Bussines Machines Corp. for nice working
      (not just nice looking) operation system
    - WATCOM Internation Corp. for WATCOM C/C++ v10
    - Microsoft Corp. for its only one really good thing - MSX
    - Arnold Metselaar for RdDsk & WrDsk programs
    - Michael T. Duffy for EDM/2 article about DIVE programming
    - dz for OS/2 popularization
    - Andrew Zabolotny for lxLite package
    - Steve Kuryachy and Evgeny Larionov for Internet access
    - my wife Olga for love and understanding
    - my son Alexander for his existance ;)


                               History
                               =======

    - 1.5 alpha (10/02/96) - first alpha release


    Send comments and bug reports to
        FIDOnet:  Alexander Perezhogin, 2:5007/2
        Internet: Alexander_Perezhogin@f2.n5007.z2.fidonet.org
