mirror of https://github.com/wwarthen/RomWBW.git
Browse Source
Adding MSX Combo Disk as provided by @b3rendsh. Co-Authored-By: H.J.Berends <112617808+b3rendsh@users.noreply.github.com>pull/652/head
14 changed files with 216 additions and 5 deletions
@ -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.
@ -0,0 +1,2 @@ |
|||||
|
RCMSX |
||||
|
|
||||
Binary file not shown.
@ -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: |
||||
@ -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 |
||||
|
|
||||
@ -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 |
||||
@ -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. |
||||
@ -0,0 +1,5 @@ |
|||||
|
===== FAT Disk for RomWBW ===== |
||||
|
|
||||
|
FAT / MSX system files |
||||
|
|
||||
|
-- HJB 12/06/2025 |
||||
Binary file not shown.
Loading…
Reference in new issue