mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:33:12 -06:00
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:
76
Source/Images/d_msx/ReadMe.txt
Normal file
76
Source/Images/d_msx/ReadMe.txt
Normal 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
|
||||
BIN
Source/Images/d_msx/u0/HBMSX.COM
Normal file
BIN
Source/Images/d_msx/u0/HBMSX.COM
Normal file
Binary file not shown.
BIN
Source/Images/d_msx/u0/MSXROM.COM
Normal file
BIN
Source/Images/d_msx/u0/MSXROM.COM
Normal file
Binary file not shown.
2
Source/Images/d_msx/u0/PROFILE.SUB
Normal file
2
Source/Images/d_msx/u0/PROFILE.SUB
Normal file
@@ -0,0 +1,2 @@
|
||||
RCMSX
|
||||
|
||||
BIN
Source/Images/d_msx/u0/RCMSX.COM
Normal file
BIN
Source/Images/d_msx/u0/RCMSX.COM
Normal file
Binary file not shown.
15
Source/Images/hd_msx.txt
Normal file
15
Source/Images/hd_msx.txt
Normal 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:
|
||||
13
Source/MSX/BuildMsxDsk.cmd
Normal file
13
Source/MSX/BuildMsxDsk.cmd
Normal 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
|
||||
|
||||
55
Source/MSX/BuildMsxDsk.ps1
Normal file
55
Source/MSX/BuildMsxDsk.ps1
Normal 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
|
||||
@@ -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
|
||||
@@ -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.
|
||||
5
Source/MSX/d_fat/README.TXT
Normal file
5
Source/MSX/d_fat/README.TXT
Normal file
@@ -0,0 +1,5 @@
|
||||
===== FAT Disk for RomWBW =====
|
||||
|
||||
FAT / MSX system files
|
||||
|
||||
-- HJB 12/06/2025
|
||||
BIN
Source/MSX/msximg.zip
Normal file
BIN
Source/MSX/msximg.zip
Normal file
Binary file not shown.
Reference in New Issue
Block a user