2025-08-10 10:29:54 +02:00
2025-07-30 01:29:45 +02:00
2025-08-09 17:30:32 +02:00
2025-01-11 14:14:49 +01:00
2025-07-27 18:56:31 +02:00
2025-01-11 14:14:49 +01:00
2025-07-27 09:47:13 +02:00
2020-05-16 14:42:52 +08:00
2025-07-27 03:38:57 +02:00
2025-07-27 15:25:33 +02:00
2025-07-27 18:48:08 +02:00

MSX1/MSX2 for MiSTer Board

Caution

WIP Notice: This core is currently in WIP (Work in Progress) status. Some components are still under development and may include debug outputs or experimental features. Certain functionalities may not yet work 100% as intended.

MSX1 Core Overview

The MSX1 core is not a direct synthesis of a specific MSX computer model. Instead, it provides a dynamically configurable hardware environment based on a selected definition and configuration file. Each MSX model definition includes not only the hardware setup but also the corresponding ROM binary content.

For full functionality, the core also relies on an extension module configuration, which includes additional ROM binaries. This configuration is independent of any specific MSX model, allowing support for:

  • Multiple language variants (via localized ROMs)
  • Easy future expansion with new hardware extensions

The final configuration file is a CRC32-based ROM database, which maps known ROM checksums to their correct mapper types. This allows the core to automatically select the appropriate ROM mapper for each loaded image.

Supported MSX Models

The following MSX computer models are currently supported by the MSX1 core through configuration definitions

Supported Hardware Components

The MSX1 core includes support for the following hardware modules:

Supported ROM Mappers

The MSX1 core supports the following ROM mapping types:

  • ASCII8 ASCII 8KB mapper
  • ASCII16 ASCII 16KB mapper
  • RTYPE R-Type mapper
  • CrossBlaim Cross Blaim specific mapper
  • generic8k Generic 8KB ROM mapper
  • generic16k Generic 16KB ROM mapper
  • harryFox Harry Fox specific mapper
  • konami Standard Konami mapper
  • konami_scc Konami SCC mapper
  • national National mapper
  • zemina80 Zemina 80KB mapper
  • zemina90 Zemina 90KB mapper These mappers ensure compatibility with a wide range of MSX ROMs, including commercial games, utilities, and homebrew software.

Supported Expansion Cartridges

The MSX1 core also supports the following types of expansion cartridges:

  • ROM Standard ROM cartridge support
  • Floppy Floppy disk interface cartridges
  • SCC Konami SCC sound cartridges
  • SCC+ Enhanced SCC+ cartridges
  • FM-PAC FM-PAC sound module cartridges
  • MEGARAM MegaRAM memory expansion
  • Mega Flash ROM SCC SD Flash ROM cartridge with SCC and SD card support
  • Game Master 2 Konami Game Master 2

MiSTerFPGA Platform Support

The MSX1 core integrates with MiSTerFPGA and supports the following features provided by the platform:

  • Joystick input Direct support for MiSTer-compatible joysticks
  • Keyboard input Customizable key mappings through model-specific configuration definitions
  • Cassette emulation or analog input Support for tape loading via audio input or digital emulation
  • SDRAM support Utilizes external SDRAM for extended memory requirements

Creating Configurations for Computer Models and Expansion Modules

To generate configurations for MSX models and expansion modules, follow these steps:

  1. Ensure Python 3 is installed on your system.
  2. Navigate to the tools/CreateMSXpack directory in this project.
  3. Prepare a directory containing the required ROM binary files. By default, this directory is named ROM.
  4. To create a configuration for MSX computers, run: python3 createComp.py
    Use python3 createComp.py --help to see options for specifying custom paths.
  5. To create a configuration for expansion modules, run: python3 createDev.py
  6. Place the resulting .MSX configuration files into your MiSTer at: /media/fat/games/MSX1/
Description
Computer MSX1
Readme GPL-2.0 76 MiB
Languages
VHDL 38.9%
Verilog 38.9%
SystemVerilog 19.7%
Tcl 2.4%