(Last Update: october 17th 1999)

Most current version: NLMSX v0.20.

 

Introduction

NLMSX is an msx/msx2/msx2+ emulator that is based upon fMSX 2.0b made by
Marat Fayzullin and is being developed by Frits Hilderink, a former member
of MSX Computer Club Enschede in the Netherlands.

As of NLMSX v0.20 only the Z80 emulation part is used from
the original fMSX 2.0b source.

 

Files

A short explanation of the directory structure:

  Directory File Description
  .    
    MSX2.EXE Main Program.
  .\dsks   Directory which contains disk images.
    drivea.dsk Specifies the default disk image to be used as 'drive A'.
This file can be renamed/change on the fly. The disk will be just be
offline inside the emulator if the file is not present.
  .\log   Directory which contains several log files.
    Msxio.txt MSX I/O System messages
    VDPDebug.txt Video Display Processor debug messages.
    VDPStats.txt Video Display Statistics messages.
    Z80Debug.txt Z80 Debug messages.
  .\roms   Directory which contains the rom images.
    carta.rom Default rom image for cartridge slot 1, will only be loaded if present
    cartb.rom Default rom image for cartridge slot 2, will only be loaded if present
    disk.rom Rom image for disk support, loaded in slot 3-1 at addresses 4000-7FFF
    msx.rom MSX 1 Main ROM image, loaded in slot 0-0 at addresses 0000-7FFF
    msx2.rom MSX 2 Main ROM image, loaded in slot 0-0 at addresses 0000-7FFF
    msx2p.rom MSX 2+ Main ROM image, loaded in slot 0-0 at addresses 0000-7FFF
    msx2ext.rom MSX 2 ROM extension, loaded in slot 3-1 at 0000-3FFF
    msx2pext.rom MSX 2+ ROM extension, loaded in slot 3-1 at 0000-3FFF
    msxdos2.rom MSX-DOS2 ROM, loaded in slot 2 at 4000-7FFF, will only be loaded if present

 

Updates

Updates of this emulator can also be found at:

MSX-Emulator Page

 

Releases

  NLMSX v0.20 Rewrote complete memory system and I/O system. Multiple memory mapper configurations with different mapper sizes are now possible.
Added memory mapped version of the TMS279x diskcontroller, only reading and writing of sectors is currently supported. This means that a disk cannot be formatted inside the emulator until the write track command is implemented.
Single Density and Double Density disk images.
Read-Only disk image are now opened with write protection enabled.
MSXDOS 2.x support added. 'MSXDOS2.ROM' file will be loaded if it is present. Beware that it might seem that a program isn't working because of the presence of DOS2. Try disabling DOS2 support by renaming the file 'MSXDOS2.ROM'. Configuration with or without DOS2 can be made when the GUI is ready.
Solved a problem with sprites in MSX 1 screen modes.
  NLMSX v0.10 Rewrote interrupt handling, thanks to Laurens Holst and Sean Young.
Sunrise Magazine#8, Sunrise Special #1, #2, #3 and the game Megadoom
work just fine now.
Use F12 to reset the emulator.
Added sprite transparency enable/disable bit support for sprite mode 2,
Ikari Warrior plays like it should now.
  NLMSX v0.09 Added horizontal scroll support in screen 6, 7, 10, 11, 12.
Added screen masking support, bit 1 of register#25.
Added sprite support for screen 8, with the correct palette
Added sprite support for screen 1.
Added correct behaviour of register#27, which is part of
the horizontal scrolling capability, in all present screen modes.
Fixed another bug in the interrupt handling, the demo Turnix and
Sunrise Magazine #8 work fine now.
  NLMSX v0.08 Sprite support for screen 6 added.
Optimized sprite magnification in Sprite Mode 2.
Fixed a bug in screen 12 handling that occurred in Psy-O-Blade from T&E Soft.
Added filter for disk images '*.di1' and '*.di2'.
Fixed a bug in the horizontal scroll in screen 5, I rewrote the original source.
Added horizontal scroll support in screen 8.
Use F7 to switch between full screen updates, every second screen,
every third screen and every fourth screen. This should give a big performance
increase on low-end systems.
  NLMSX v0.07 Fixed a bug in the VDP command LMMC. Dynamic publisher runs just fine now.
Adding disk change support. Use the function key F6 to select a disk image for drive A.
Added the correct ID for a V9958 chip, solved problems with the golvellius 2 demo.
The GRAPH key is now available under the F8 key.
  NLMSX v0.06 Support for screen 10 and screen 11 added. Including sprites.
Sprites for screen 12 added.
Emulation now runs within a window, no menus available yet.
Performance has been a problem lately and will be addressed within the next releases.
  NLMSX v0.05 Support for screen 12 added. No sprites yet.
  MSX2 Emulator v0.04 Major bug fixes in VDP emulation.
  MSX2 Emulator v0.03 Major bug fixes in VDP emulation.
Fixed a bug in interrupt handling. The 'EI' instruction should enable interrupts after
the next instruction.
SD-Snatcher runs since this version.
  MSX2 Emulator v0.02 Major bug fixes in VDP emulation.
Fixed a bug in boot sector interpretation code when running games where boot
sector information was corrupted.
  MSX2 Emulator v0.01 First Release

 

Things TODO

     
  GUI  
    Complete windows interface
    Interface for creating/changing MSX configurations
     
  DISK  
    Adding DISK support through port based I/O
    Adding SCSI support through memory mapped I/O or port based I/O (specs anyone ?)
    Adding IDE support through memory mapped I/O or port based I/O (specs anyone ?)
     
  Disk Controller  
    TMS279x
    Adding support for Read Address command
    Adding support for Read Track command
    Adding support for Write Track command, to make disk formatting possible
    Adding support for correct CRC calculation
     
  Interface  
    Adding keyboard support through DirectX
    Adding mouse support through DirectX
    Adding joystick support trough DirectX
     
  ROMs  
    Adding SCC megarom support
    Adding ASCII megarom support
     
  Sound  
    Adding PSG support
    Adding SCC support
    Adding FM-PAC support
    Adding MSX-AUDIO support
     
  VDP Engine  
    V9938
    Initializing all available registers with the correct values
    Adding screen 3 support
    Adding expansion VRAM support (extra 64 KByte)
    Check if the implemented LINE command works the same way as the V9938 draws a LINE
    Checking the influence of register#23(display line) for screen 1, 2 and 3
    Adding sprite magnifying for Sprite Mode 1
    Adding sprite collision detection in Sprite Mode 1 and 2
    Adding sprite transparency enable/disable bit support for sprite mode 2 in screen 6
    Better support for timing between Z80 TStates VDP clock speed
    Better parallel executing VDP commands
    Better support for exact speeds of VDP commands
    Support for VDP colour bus operations (digitising, etc.)
    Adding interlacing support, with timing using register#13
    Adding vertical adjustment support (register#18)
     
    V9938 Specials
    Adding support for the overscan trick as used in demos like Unreality
     
     
    V9958
    Switch for enabling/disabling V9958
    Adding horizontal scroll support for screen 4
    Adding command extension support, bit 6 of register#25
    Adding wait function support, bit 2 of register#25
     
  ?????  
    If anyone has specs or other info needed to complete this list then
mail me, see Support.

 

Support

Please mail any bugs, crashes and ideas to Frits Hilderink .

 

Last Update: october 17th 1999

Viewed  times since the 8th of july 1999.
FastCounter by LinkExchange