MSX Combo Disk, Issue #645

Adding MSX Combo Disk as provided by @b3rendsh.

Co-Authored-By: H.J.Berends <112617808+b3rendsh@users.noreply.github.com>
This commit is contained in:
Wayne Warthen
2026-01-09 11:08:55 -08:00
parent db5d41e79f
commit e7f3457491
14 changed files with 216 additions and 5 deletions

View File

@@ -0,0 +1,76 @@
===== MSX System Disk for RomWBW =====
This disk is one of several ready-to-run disks provided with RomWBW.
It contains software to launch the MSX system or a MSX (game) ROM.
The source code is maintained in following repository:
https://github.com/b3rendsh/msxbase
== Requirements ==
HBDOS can be used on a Z80 or Z180 RomWBW computer with at least 192KB RAM and
support for a system timer. MSX BASIC and the MSX ROM loader require a TMS9918A
compatible video card, system timer and 128KB RAM.
hbmsx.com requires a keyboard and VDP that is compliant with the MSX standard.
rcmsx.com uses the console keyboard and text output is displayed on both the
console and video card.
msxrom.com uses the console keyboard and requires a MSX compliant VDP and PSG.
To use HBDOS the first FAT partition on the first large storage media must
contain the MSX command interpreter i.e. the COMMAND.COM file.
Different hardware and software configurations can be supported by using
alternative build options, see source repository.
== Usage ==
Start hbmsx.com or rcmsx.com to load the MSX system HBDOS / Disk BASIC.
Start msxrom.com to load a MSX (game) ROM image e.g. "msxrom arkanoid.rom".
== HBDOS ==
HBDOS is compatible with all functions of MSX-DOS 1 and includes enhancements
to support large disks with standard FAT12 or FAT16 partitions.
It is a CP/M 2.2 work-alike DOS that uses the FAT filesystem. Many text
applications that work on MSX-DOS 1 or CP/M 2.2 will run without modification.
Direct disk access, FAT32, i/o byte, user areas and subdirectories are not
supported.
At the DOS command prompt enter "basic" to start MSX BASIC.
== BASIC ==
All functions of MSX BASIC are available, if HBDOS is loaded then the Disk
BASIC extension is also available.
Use the IPL command to return to RomWBW i.e. do a cold reboot.
In Disk BASIC use "call system" to return to the DOS command prompt.
== ROM CART ==
The MSX ROM loader supports MSX ROM cartridge images of maximum 32KB.
Not all MSX ROM games will work and some games may require an additional ROM
patch or additional hardware. When a MSX ROM is running you can reboot RomWBW
by pressing the CTRL+STOP key (default mapped to CTRL+V).
== Console ==
The RomWBW (VT100) console can be used for keyboard input and screen output,
with some limitations:
Cursor and function keys may not work, use control key combinations or a MSX
compatible keyboard.
To paste text into BASIC set the terminal send character delay to at least 40ms.
The MSX BIOS uses VT52 escape sequences, on a VT100 console sometimes an extra
character is displayed.
The MSX 1 BIOS text mode is set to 40 columns.
-- HJB 01/06/2026

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
RCMSX


Binary file not shown.

15
Source/Images/hd_msx.txt Normal file
View File

@@ -0,0 +1,15 @@
@Label="MSX System"
@SysImage="../ZSDOS/zsys_wbw.sys"
#
# Add the ReadMe document
#
d_msx/Readme.txt 0:
#
# Add CP/M 2.2 commands
#
d_cpm22/u0/submit.com 0:
#
# Add RomWBW utilities
#
../../Binary/Apps/fat.com 0:
../../Binary/Apps/reboot.com 0:

View File

@@ -0,0 +1,13 @@
:: This script will build an aggregate MSX disk image
@echo off
setlocal
SETLOCAL EnableDelayedExpansion
set MTOOLS_SKIP_CHECK=1
set TOOLS=../../Tools
set PATH=%TOOLS%\mtools;%PATH%
PowerShell -ExecutionPolicy Unrestricted .\BuildMsxDsk.ps1 || exit /b

View File

@@ -0,0 +1,55 @@
# This PowerShell script will build an aggregate hard disk image with three partitions:
# - RomWBW partition with 16 slices (128MB)
# - MSX-DOS FAT12 system partition (8MB)
# - FAT16 data partition (100MB)
# The script must be invoked after all slice images are built.
# If a PowerShell exception occurs, just stop the script immediately.
$ErrorAction = 'Stop'
$DskFile = "..\..\Binary\msx_combo.dsk"
"Generating $DskFile..."
$FileList = ""
# Define the 16 slices
$SliceList = 'cpm22','zsdos','nzcom','cpm3','zpm3','wp','games','msx'
$SliceList += 'blank','blank','blank','blank','blank','blank','blank','blank'
ForEach ($Slice in $SliceList)
{
$File = "..\..\Binary\hd1k_" + $Slice + ".img"
if (!(Test-Path $File))
{
"Slice input file """ + $File + """ not found!!!"
exit 1
}
if ($FileList.Length -gt 0)
{
$FileList += "+"
}
$FileList += $File
}
# Expand MBR and FAT partition images
Expand-Archive -Force -Path msximg.zip
# Populate FAT system partition
&"mtools" -c copy -i msximg\msx_sys.dsk -omv d_fat\*.* ::
&"mtools" -c copy -i msximg\msx_sys.dsk -omv ..\..\Binary\MSX_std.rom ::MSX-STD.ROM
&"mtools" -c copy -i msximg\msx_sys.dsk -omv ..\..\Binary\msx-ldr.com ::MSX-LDR.COM
&"mtools" -c copy -i msximg\msx_sys.dsk -omv ..\..\Binary\Apps\reboot.com ::REBOOT.COM
$FileList = "msximg\msx_mbr.dat +" + $FileList + "+ msximg\msx_sys.dsk + msximg\msx_data.dsk"
$Cmd = "$env:ComSpec /c copy /b $FileList $DskFile"
$Cmd
Invoke-Expression $Cmd
exit 0

View File

@@ -8,3 +8,5 @@ if exist *.hex del *.hex
if exist *.rel del *.rel
if exist *.sym del *.sym
if exist *.com del *.com
if exist msximg rd /s /q msximg

View File

@@ -1,10 +1,52 @@
# RomWBW loader for MSX
RomWBW Loader for MSX
=====================
The loader can be started from the MSX-DOS 1, MSX-DOS 2 or Nextor command prompt.
The loader can be started from the MSX-DOS 1, MSX-DOS 2 or Nextor
command prompt.
It will check the RAM mapper requirements based on the size of the rom image file.
It will check the RAM mapper requirements based on the size of the rom
image file.
The "MSX_std.rom" image must be copied to "MSX-STD.ROM" on the MSX disk media together with "MSX-LDR.COM".
The "MSX_std.rom" image must be copied to "MSX-STD.ROM" on the MSX disk
media together with "MSX-LDR.COM".
RomWBW MSX Combo Disk Creation
==============================
This folder contains Windows scripts to create a RomWBW MSX combo disk
image.
Usage
-----
1. Copy the Source folder into the RomWBW folder.
2. Download mtools for Windows: https://github.com/YawHuei/mtools_win32
3. Copy the mtools executables into the (new) RomWBW\Tools\mtools folder
4. Run the RomWBW build script for your platform e.g. "build msx std"
or "build rcz80 std"
5. In the Source\MSX folder run "BuildMsxDsk.cmd"
If the scripts run successfully the Binary\msx_combo.dsk file is created.
Disk image contents
-------------------
The disk image will contain three partitions:
- RomWBW partition with 16 slices (128MB)
- MSX-DOS FAT12 system partition (8MB)
- FAT16 data partition (100MB)
The RomWBW partition contains the standard RomWBW slices, the games
slice, the msx system slice and 8 blank slices. The msx system slice
contains the CP/M loader program to start the MSX system from RomWBW.
The FAT12 system partition contains the MSX-DOS system files and loader
to start RomWBW on a MSX system. If the MSX system is started from
RomWBW this will be the A-drive.
The FAT16 data partition is a formatted empty partition.
If the MSX system is started from RomWBW this will be the B-drive.
Note
----
This is a work in progress and subject to change without notice.

View File

@@ -0,0 +1,5 @@
===== FAT Disk for RomWBW =====
FAT / MSX system files
-- HJB 12/06/2025

BIN
Source/MSX/msximg.zip Normal file

Binary file not shown.