The MiSTer FPGA MSX 1 & 2 core

The MiSTer FPGA MSX currently in development by Molekula


Why a New/2nd MSX core?


The current One Chip MSX Based core only supports the interaction with a VHD, this limits the interaction with the core to using programs like romload/diskload or SofaRun. Although this solutions is fine when you have advanced knowledge of the MSX platform it's not ideal for people who want to get the fullest out of the MSX core or just want to start a quick game from by loading a ROM or a disk image. Adding files to a VHD image can be complex and moving the large VHD file back and forth from the current One Chip MSX core can be a tedious undertaking.

The orginal use for the One Chip MSX core
Despite a few bugs this version of the MSX worked perfectly for the die hard MSX fans, however it translated rather poorly to the MiSTer platform due to a lack of physical cartridge support and the use of VHD files.

Downloading the new core
Check for New MSX core downloads here: https://github.com/MiSTer-devel/MSX1_MiSTer/tree/MSX2test/releases

What does the new MSX core support:

What doesn't the new MSX support (yet)

Bios Files:

The core uses BIOS packs rather than individual BIOS files. BIOS packs allow you to select different machines to run, you can download the pack here or build it yourself with the included (see download link above)

Loading ROM Files

Since the carts for the MSX had their own individual hardware it might be tricky to get some ROMs working on the core. We have tested a lot of ROMs and most of them work flawlessly.

There is a heuristic auto detection method build in to the core to estimate the mapper to use - however this process is not flawless and some coaching is needed with several ROM images.

Here is an example of Aleste running with the mapper set to ASCII16

If you are unsure what mapper to use just go through the available mappers for the slot you loaded the ROM into.

You can also look up the mapper types for the ROM you try to start here

MSX2 Boot Modes

Some disk or cassette games require more memory to load and start. In order to make sure to free up more memory do the following:

  • Hold CTRL during the MSX logo until after the beep to only enable 1 disk drive - this will free up some space and disable any (virtual) 2nd disk drive you might have.
  • Hold SHIFT during the MSX logo until after the beep to disable loading the Disk ROM and Disk BASIC into memory, this will free up the most memory.

  • If a disk game doesn't work make sure to try with CTRL pressed.

    Loading Disk Images

    Most disk images are self booting - either with MSX-DOS or with a so called 'AUTOEXEC.BAS' file. If a disk doesn't auto boot and you just go into MSX basic do the following:

    Type in the command: files This command will show you you all the files that are present on the disk. If you get an error it means you have a corrupted disk image.
    In order to load a program look for either the BAS (used for BASIC programs) or the LDR (stand for LoaDeR) files. You can load these files by typing in the following command:
    run"filesname.ext" This will load and run the program for you.

    Loading Cassette Images

    There are several ways to load a casette program, most tapes can be loaded with either of the following commands: run"cas:" bload"cas:",r The 1st command loads a basic program that might load binary files the 2nd command does a direct binary load and attempts to execture it as well. The file name of the cassette image might give insight in what command to use.

    FAQ

    Help where is my stop key?
    Print Screen / so to stop a basic program you would push [CTRL]+[PrntScrn]
    Things that should work according to others aren't working on my MSX core
    Update to the latest core and check your BIOS files if that doesn't work.
    [Software X] doesn't work right on the core
    Check if it works on a real MSX or MSX emulator (WebMSX is a fast way to check if you don't have an emulator installed)
    My @ key displaying "
    You are using a JP BIOS
    Can you provide me with the BIOS/ROMs and or games?
    Google is your friend
    How do I use F6 - F10 on the MSX core?
    The MSX has dual use function keys that can be accessed with shift. The mapping will be like this [F1/F6] [F2/F7] [F3/F8] [F4/F9] [F5/F10]
    My .DSK file won't autoboot. What to do most of the time:

    Case1: Some DSK images (especially those labeled "Needs MSX-DOS" and some demos) are made for use with MSXDOS2.2 MSX Dos programs have the extention.com Load the MSXDOS22.ROM SHA1: c36c9e0f96738a340381e23b4f97245388801a46 in slot 1, mount and boot MSXDOS22.DSK, swap disks and run the .com file

    Case2: Autoexec.bas might not launch the correct file. You might list disk content with "files" command under MSX Basic, then load"xyz.bas" and run it. Other common extentions are .LDR

    Case3: Some DSK files (especially from applications archives) using MSXDOS1 might not have the required MSXDOS1 files (command.com and msxdos.sys) Boot first MSX-DOS1 Disk, then swap and run the .com file

    Case4:Some DSK games need a manual intervention to boot. While booting (power on to after the beep) hold the CTRL key to disable the extre reserved memory in disk basic for 2nd drive support