1 Commits

Author SHA1 Message Date
Wayne Warthen
fc32b06852 Update FAT.COM on ROM disks
The original release of v3.4 contained an out-of-date copy of FAT.COM on the ROM disks.  This **only** updates FAT.COM on the ROM disks.  Do **not** use FAT.COM from the original ROM disks.
- The copy of FAT.COM on the hard/floppy disk images was fine in the original release.  Only the ROM disks contained the out-of-date version.
- It is not necessary to update your hard/floppy disks when upgrading your ROM to this patch version.
2024-04-20 12:34:01 -07:00
1660 changed files with 22274 additions and 70701 deletions

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v3.3.0
- name: Get Commit Ref
run: |
@@ -36,7 +36,7 @@ jobs:
find -type f -exec md5sum '{}' \;
- name: Upload Artifact
uses: actions/upload-artifact@v4.3.0
uses: actions/upload-artifact@v3.1.1
with:
name: RomWBW-${{env.COMMIT_REF}}-Linux
path: .
@@ -46,7 +46,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v3.3.0
- name: Get Commit Ref
run: |
@@ -68,7 +68,7 @@ jobs:
find . -type f -exec md5 -r -- '{}' +;
- name: Upload Artifact
uses: actions/upload-artifact@v4.3.0
uses: actions/upload-artifact@v3.1.1
with:
name: RomWBW-${{env.COMMIT_REF}}-MacOS
path: .

View File

@@ -12,7 +12,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v3.3.0
- name: Build
run: |

148
.gitignore vendored
View File

@@ -20,12 +20,9 @@
Binary/**/*.mym
Binary/**/*.pt3
!Binary/CPNET/NetBoot/cpnos-wbw.sys
!Binary/cpnos-wbw.sys
Source/Images
Source/RomDsk
Source/**/eeprom
Binary/Apps/copysl.doc
Source/Apps/Assign.com
Source/Apps/FDU/FDU.COM
Source/Apps/Format.com
@@ -80,7 +77,6 @@ Tools/unix/zx/zx
!Source/ver.lib
!Source/Apps/FAT/FAT.COM
!Source/Apps/copysl/copysl.com
!Source/Apps/ZMP/zmpx.com
!Source/Apps/ZMD/zmdsubs.rel
!Source/Apps/Test/vdctest/font.asm
@@ -89,7 +85,6 @@ Tools/unix/zx/zx
!Source/BPBIOS/*.lib
!Source/BPBIOS/Z34RCP11/cledinst.com
!Source/BPBIOS/Z34RCP11/cledsave.com
!Source/CPNET/**
!Source/Fonts/*
!Source/Images/**
!Source/RomDsk/**
@@ -103,7 +98,6 @@ Tools/unix/zx/zx
!Source/ZRC512/*.bin
!Source/Z1RCC/*.bin
!Source/ZZRCC/*.bin
!Source/FZ80/*.bin
!Tools/cpm/**
!Tools/unix/zx/*
!Tools/zx/*
@@ -114,142 +108,4 @@ Source/ZPM3/zccp.com
Source/ZPM3/zpmldr.com
Source/ZPM3/genbnk.dat
Source/ZSDOS/zsdos.err
# Lets explicit list all generate untracked binary files
Binary/Apps/Tunes/bgm.vgm
Binary/Apps/Tunes/ending.vgm
Binary/Apps/Tunes/inchina.vgm
Binary/Apps/Tunes/shirakaw.vgm
Binary/Apps/Tunes/startdem.vgm
Binary/Apps/Tunes/wonder01.vgm
Binary/Apps/fdu.doc
Binary/Apps/zmconfig.ovr
Binary/Apps/zminit.ovr
Binary/Apps/zmp.doc
Binary/Apps/zmp.hlp
Binary/Apps/zmterm.ovr
Binary/Apps/zmxfer.ovr
Binary/CPM3/bdos3.spr
Binary/CPM3/bios3.spr
Binary/CPM3/bnkbdos3.spr
Binary/CPM3/bnkbios3.spr
Binary/CPM3/cpm3fix.pat
Binary/CPM3/genbnk.dat
Binary/CPM3/gencpm.dat
Binary/CPM3/genres.dat
Binary/CPM3/readme.1st
Binary/CPM3/resbdos3.spr
Binary/CPNET/cpn12duo.lbr
Binary/CPNET/cpn12mt.lbr
Binary/CPNET/cpn12ser.lbr
Binary/CPNET/cpn3duo.lbr
Binary/CPNET/cpn3mt.lbr
Binary/CPNET/cpn3ser.lbr
Binary/RCEZ80_std.upd
Binary/RCZ80_std.upd
Binary/ZPM3/bnkbdos3.spr
Binary/ZPM3/bnkbios3.spr
Binary/ZPM3/gencpm.dat
Binary/ZPM3/resbdos3.spr
Binary/ZPM3/zinstal.zpm
Binary/hd1k_prefix.dat
Source/BPBIOS/def-ww.lib
Source/CPNET/cpn12duo.lbr
Source/CPNET/cpn12mt.lbr
Source/CPNET/cpn12ser.lbr
Source/CPNET/cpn3duo.lbr
Source/CPNET/cpn3mt.lbr
Source/CPNET/cpn3ser.lbr
Source/Fonts/font8x11c.asm
Source/Fonts/font8x11c.bin
Source/Fonts/font8x11u.asm
Source/Fonts/font8x16c.asm
Source/Fonts/font8x16c.bin
Source/Fonts/font8x16u.asm
Source/Fonts/font8x8c.asm
Source/Fonts/font8x8c.bin
Source/Fonts/font8x8u.asm
Source/Fonts/fontcgac.asm
Source/Fonts/fontcgac.bin
Source/Fonts/fontcgau.asm
Source/Fonts/fontvgarcc.asm
Source/Fonts/fontvgarcc.bin
Source/Fonts/fontvgarcu.asm
Source/HBIOS/RCEZ80_std.upd
Source/HBIOS/RCZ80_std.upd
Source/HBIOS/build_env.cmd
Source/HBIOS/hbios_env.sh
Source/Images/blank144
Source/Images/blankhd1k
Source/Images/blankhd512
Source/Images/fd144_aztecc.img
Source/Images/fd144_bascomp.img
Source/Images/fd144_cowgol.img
Source/Images/fd144_cpm22.img
Source/Images/fd144_cpm3.img
Source/Images/fd144_fortran.img
Source/Images/fd144_games.img
Source/Images/fd144_hitechc.img
Source/Images/fd144_nzcom.img
Source/Images/fd144_qpm.img
Source/Images/fd144_tpascal.img
Source/Images/fd144_ws4.img
Source/Images/fd144_z80asm.img
Source/Images/fd144_zpm3.img
Source/Images/fd144_zsdos.img
Source/Images/hd1k_aztecc.img
Source/Images/hd1k_bascomp.img
Source/Images/hd1k_blank.img
Source/Images/hd1k_bp.img
Source/Images/hd1k_combo.img
Source/Images/hd1k_cowgol.img
Source/Images/hd1k_cpm22.img
Source/Images/hd1k_cpm3.img
Source/Images/hd1k_fortran.img
Source/Images/hd1k_games.img
Source/Images/hd1k_hitechc.img
Source/Images/hd1k_nzcom.img
Source/Images/hd1k_qpm.img
Source/Images/hd1k_tpascal.img
Source/Images/hd1k_ws4.img
Source/Images/hd1k_z80asm.img
Source/Images/hd1k_zpm3.img
Source/Images/hd1k_zsdos.img
Source/Images/hd512_aztecc.img
Source/Images/hd512_bascomp.img
Source/Images/hd512_blank.img
Source/Images/hd512_combo.img
Source/Images/hd512_cowgol.img
Source/Images/hd512_cpm22.img
Source/Images/hd512_cpm3.img
Source/Images/hd512_dos65.img
Source/Images/hd512_fortran.img
Source/Images/hd512_games.img
Source/Images/hd512_hitechc.img
Source/Images/hd512_nzcom.img
Source/Images/hd512_qpm.img
Source/Images/hd512_tpascal.img
Source/Images/hd512_ws4.img
Source/Images/hd512_z80asm.img
Source/Images/hd512_zpm3.img
Source/Images/hd512_zsdos.img
Source/RomDsk/rom0_una.dat
Source/RomDsk/rom0_wbw.dat
Source/RomDsk/rom128_una.dat
Source/RomDsk/rom128_wbw.dat
Source/RomDsk/rom256_una.dat
Source/RomDsk/rom256_wbw.dat
Source/RomDsk/rom384_una.dat
Source/RomDsk/rom384_wbw.dat
Source/RomDsk/rom896_una.dat
Source/RomDsk/rom896_wbw.dat
Source/ZCPR-DJ/zcprdemo.com
Source/ZPM3/autotog.com
Source/ZPM3/clrhist.com
Source/ZPM3/cpmldr.com
Source/ZPM3/setz3.com
Tools/unix/OpenSpin/build/
Tools/unix/zxcc/config.h
Tools/unix/zxcc/zxcc
Binary/Apps/bbcbasic.txt
Source/ZSDOS/zsdos.err

View File

@@ -1,4 +0,0 @@
{
"files.trimTrailingWhitespace": false,
"files.eol": "\r\n"
}

View File

@@ -8,6 +8,5 @@ if exist *.hlp del *.hlp
if exist Tunes\*.pt? del Tunes\*.pt?
if exist Tunes\*.mym del Tunes\*.mym
if exist Tunes\*.vgm del Tunes\*.vgm
if exist bbcbasic.txt del bbcbasic.txt
pushd Test && call Clean || exit /b 1 & popd

View File

@@ -8,4 +8,4 @@ all::
mkdir -p Tunes
clean::
@rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? Tunes/*.vgm bbcbasic.txt
@rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? Tunes/*.vgm

View File

@@ -1,44 +0,0 @@
INTTEST
=======
RomWBW includes an API allowing applications to "hook" interrupts.
The `INTTEST` utility allows you to test this functionality.
** Syntax **
`INTTEST`
** Usage **
`INTTEST` is an interactive application. At startup, it will display
a list of the interrupt vector slots in your system along with the
current vector address for each of them.
It then prompts you to enter the slot number (in hex) of a vector to
hook. After entering this, the application will watch the hooked
vector and countdown from 0xFF to 0x00 as interrupts are noted.
When the counter reaches 0x00, the interrupt is unhooked and the
application terminates. The application can also be terminated by
pressing <esc>.
** Notes **
If your system is running without interrupts active, the application
will terminate immediately.
All slots have vectors even if the corresponding interrupt is not
doing anything. In this case, the vector is pointing to the "bad
interrupt" handler.
If you hook a vector that is not receiving any interrupts, the
down-counter will not do anything.
** Etymology* *
The `INTTEST` command is an original product and the source code is
provided in the RomWBW distribution.

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
if exist *.sys del *.sys

View File

@@ -1,7 +0,0 @@
TOOLS = ../../Tools
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
include $(TOOLS)/Makefile.inc
clean::
@rm -f *.sys

View File

@@ -1,23 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory contains the CP/M 2.2 system files for the RomWBW CP/M 2.2
adaptation. All of these files are already included on the CP/M
boot disk images. However if you are creating a CP/M boot disk
manually, you should copy all of these files to the boot disk.
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
BIOS. One of these files must be installed on the system boot track.
This is usually achieved by the SYSCOPY utility e.g.
SYSCOPY a:=cpm_wbw.sys
These files should also be copied to any CP/M 2.2 boot disks on your
system when you upgrade your ROM firmware. Some of these files
*must* match the version of the RomWBW firmware you are using for
proper operation of your system.

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
if exist *.lbr del *.lbr

View File

@@ -1,7 +0,0 @@
TOOLS = ../../Tools
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.lbr)
include $(TOOLS)/Makefile.inc
clean::
@rm -f *.lbr

View File

@@ -1,38 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory contains the CP/NET client packages. Please refer to
the RomWBW User Guide for instructions on installing these packages.
Either the MT011 RCBus module or the Duodyne Disk I/O board is required.
All of these files come from Douglas Miller. Please refer to
https://github.com/durgadas311/cpnet-z80 for more information, complete
documentation and the latest source code. Refer to the RomWBW
User Guide for basic installation and usage instructions under RomWBW.
| File | CP/NET Version | OS | Hardware |
+--------------+----------------+----------+-----------------------+
| CPN12MT.LBR | CP/NET 1.2 | CP/M 2.2 | RCBus w/ MT011 |
| CPN3MT.LBR | CP/NET 3 | CP/M 3 | RCBus w/ MT011 |
| CPN12DUO.LBR | CP/NET 1.2 | CP/M 2.2 | Duodyne w/ Disk I/O |
| CPN3DUO.LBR | CP/NET 3 | CP/M 3 | Duodyne w/ Disk I/O |
In general, to use CP/NET on RomWBW, it is intended that you will
extract the appropriate set of files into your default directory in
user area 0. Refer to the RomWBW User Guide for more information.
The libraries include enhanced help files appropriate for the version
of CP/NET. Rename the desired topic collection to HELP.HLP on the
target system.
CPM2NET.HLP CP/M 2.2 basic system with CP/NET 1.2
CPNET12.HLP CP/NET 1.2 help only
CPM3NET.HLP CP/M 3 basic system with CP/NET 3
CPNET3.HLP CP/NET 3 help only
-- WBW 7:14 AM 2/11/2024

View File

@@ -12,9 +12,5 @@ if exist *.pdf del *.pdf
if exist *.eeprom del *.eeprom
pushd Apps && call Clean || exit /b 1 & popd
pushd CPM22 && call Clean || exit /b 1 & popd
pushd CPM3 && call Clean || exit /b 1 & popd
pushd QPM && call Clean || exit /b 1 & popd
pushd ZSDOS && call Clean || exit /b 1 & popd
pushd ZPM3 && call Clean || exit /b 1 & popd
pushd CPNET && call Clean || exit /b 1 & popd

View File

@@ -1,6 +1,6 @@
TOOLS = ../Tools
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.img *.rom *.com *.eeprom)
SUBDIRS = Apps CPM22 CPM3 QPM ZSDOS ZPM3 CPNET
SUBDIRS = Apps CPM3 ZPM3
include $(TOOLS)/Makefile.inc

Binary file not shown.

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
if exist *.sys del *.sys

View File

@@ -1,7 +0,0 @@
TOOLS = ../../Tools
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
include $(TOOLS)/Makefile.inc
clean::
@rm -f *.sys *.bin

View File

@@ -1,21 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory contains the QPM 2.7 system files for the RomWBW QPM 2.7
adaptation. All of these files are already included on the QPM
boot disk images. However if you are creating a QPM boot disk
manually, you should copy all of these files to the boot disk.
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
BIOS. One of these files must be installed on the system boot track.
Refer to the QPM Documentation for installing QPM
These files should also be copied to any QPM boot disks on your
system when you upgrade your ROM firmware. Some of these files
*must* match the version of the RomWBW firmware you are using for
proper operation of your system.

View File

@@ -6,37 +6,37 @@
*** ***
***********************************************************************
This directory ("Binary") is part of the RomWBW System Software
distribution archive. It contains the completed binary outputs of
the build process. As described below, these files are used to
This directory ("Binary") is part of the RomWBW System Software
distribution archive. It contains the completed binary outputs of
the build process. As described below, these files are used to
assemble a working RetroBrew Computers system.
The files in this directory are created by the build process that is
documented in the ReadMe.txt file in the Source directory. When
released the directory is populated with the default output files.
However, the output of custom builds will be placed in this directory
The files in this directory are created by the build process that is
documented in the ReadMe.txt file in the Source directory. When
released the directory is populated with the default output files.
However, the output of custom builds will be placed in this directory
as well.
If you only see a few files in this directory, then you downloaded
just the source from GitHub. To retrieve the full release download
package, go to https://github.com/wwarthen/RomWBW. On this page,
look for the text "XX releases" where XX is a number. Click on this
text to go to the releases page. On this page, you will see the
latest releases listed. For each release, you will see a package
file called something like "RomWBW-2.9.0-Package.zip". Click on the
If you only see a few files in this directory, then you downloaded
just the source from GitHub. To retrieve the full release download
package, go to https://github.com/wwarthen/RomWBW. On this page,
look for the text "XX releases" where XX is a number. Click on this
text to go to the releases page. On this page, you will see the
latest releases listed. For each release, you will see a package
file called something like "RomWBW-2.9.0-Package.zip". Click on the
package file for the release you want to download.
ROM Firmware Images (<plt>_<cfg>.rom)
-------------------------------------
The files with a ".rom" extension are binary images ready to program
into an appropriate PROM. These files are named with the format
<plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta,
N8, Mark IV, etc. <cfg> refers to the specific configuration. In
general, there will be a standard configuration ("std") for each
platform. So, for example, the file called MK4_std.rom is a ROM
image for the Mark IV with the standard configuration. If a custom
configuration called "custom" is created and built, a new file called
The files with a ".rom" extension are binary images ready to program
into an appropriate PROM. These files are named with the format
<plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta,
N8, Mark IV, etc. <cfg> refers to the specific configuration. In
general, there will be a standard configuration ("std") for each
platform. So, for example, the file called MK4_std.rom is a ROM
image for the Mark IV with the standard configuration. If a custom
configuration called "custom" is created and built, a new file called
MK4_custom.rom will be added to this directory.
Documentation of the pre-built ROM Images is contained in
@@ -54,52 +54,52 @@ contents. Refer to the RomWBW User Guide for more information.
ROM Executable Images (<plt>_<cfg>.com)
---------------------------------------
When a ROM image (".rom") is created, an executable version of the
ROM is also created. These files have the same naming convention as
the ROM Image files, but have the extension ".com". These files can
When a ROM image (".rom") is created, an executable version of the
ROM is also created. These files have the same naming convention as
the ROM Image files, but have the extension ".com". These files can
be copied to a working system and run like a normal CP/M application.
When run on the target system, they install in RAM just like they had
When run on the target system, they install in RAM just like they had
been loaded from ROM. This allows a new ROM build to be tested
without reprogramming the actual ROM.
WARNING: In a few cases the .com file is too big to load. If you get
a message like "Full" or "BAD LOAD" when trying to load one of the
.com files, it is too big. In these cases, you will not be able to
WARNING: In a few cases the .com file is too big to load. If you get
a message like "Full" or "BAD LOAD" when trying to load one of the
.com files, it is too big. In these cases, you will not be able to
test the ROM prior to programming it.
VDU ROM Image (vdu.rom)
-----------------------
The VDU video board requires a dedicated onboard ROM containing the
font data. The "vdu.rom" file contains the binary data to program
The VDU video board requires a dedicated onboard ROM containing the
font data. The "vdu.rom" file contains the binary data to program
onto that chip.
Disk Images (fd_*.img, hd_*.img)
--------------------------------
Disk Images (fd_*.img, hd_*.img, psys.img)
------------------------------------------
RomWBW includes a mechanism for generating floppy disk and hard disk
binary images that are ready to copy directly to a floppy, hard disk,
CF Card, or SD Card which will then be ready for use in any
RomWBW includes a mechanism for generating floppy disk and hard disk
binary images that are ready to copy directly to a floppy, hard disk,
CF Card, or SD Card which will then be ready for use in any
RomWBW-based system.
Essentially, these files contain prepared floppy and hard disk images
with a large set of programs and related files. By copying the
contents of these files to appropriate media as described below, you
Essentially, these files contain prepared floppy and hard disk images
with a large set of programs and related files. By copying the
contents of these files to appropriate media as described below, you
can quickly create ready-to-use media. Win32DiskImager or
RawWriteWin can be used to copy images directly to media. These
programs are included in the RomWBW Tools directory.
The fd_*.img files are floppy disk images. They are sized for 1.44MB
floppy media and can be copied to actual floppy disks using
RawWriteWin (as long as you have access to a floppy drive on your
Windows computer). The resulting floppy disks will be usable on any
The fd_*.img files are floppy disk images. They are sized for 1.44MB
floppy media and can be copied to actual floppy disks using
RawWriteWin (as long as you have access to a floppy drive on your
Windows computer). The resulting floppy disks will be usable on any
RomWBW-based system with floppy drive(s).
Likewise, the hd512_*.img and hd1k_*.img files are hard disk images.
Each file is intended to be copied to the start of any type of hard
disk media (typically a CF Card or SD Card). The resulting media will
be usable on any RomWBW-based system that accepts the corresponding
Likewise, the hd512_*.img and hd1k_*.img files are hard disk images.
Each file is intended to be copied to the start of any type of hard
disk media (typically a CF Card or SD Card). The resulting media will
be usable on any RomWBW-based system that accepts the corresponding
media type.
NOTE: The hd512_*.img files are equivalent to the hd_*.img
@@ -109,86 +109,37 @@ maximum number of CP/M directory entries from 512 to 1024.
Refer to the ReadMe.txt in the Source/Images directory
for details.
Documentation of the pre-built disk images is contained in the
"RomWBW User Guide" found in the Doc directory. The contents of
the disk images is contained in the "RomWBW Disk Catalog", but it
is significantly out-of-date.
Documentation of the pre-built disk images is contained in the
DiskList.txt file in this directory.
The contents of the floppy/hard disk images are created by
the BuildImages.cmd script in the Source directory. Additional
information on how to generate custom disk images is found in the
The contents of the floppy/hard disk images are created by
the BuildImages.cmd script in the Source directory. Additional
information on how to generate custom disk images is found in the
Source\Images ReadMe.txt file.
Disk Images (hd512_combo.img, hd1k_combo.img, *_std_hd1k_combo.img)
-------------------------------------------------------------------
The hd512_combo.img and hd1k_combo.img file are the primary combo
disk image files suitable for most platforms.
The *_std_hd1k_combo.img files are platform specific combo files
typically used in romless platforms, they also contain RomWBW binary code
that is loaded at boot time into RAM
Disk Images (hd1k_prefix.dat, *_std_hd1k_prefix.dat)
----------------------------------------------------
The hd1k_prefix.dat file is part of the combo disk images and is
applied to hd1k image files as a prefix, it contains the standard
partion table.
The *_std_hd1k_prefix.dat files are platform specific prefixes
typically used in romless platforms, they also contain RomWBW binary code
that is loaded at boot time into RAM
Disk Images (psys.img)
----------------------
The psys.img file contains a full implementation of the UCSD p-System
for the Z80 running under RomWBW. This image file must be placed on
disk media by itself (not appended or concatenated with hd*.img files.
Refer to the Source/pSys/ReadMe.txt file for more information on the
The psys.img file contains a full implementation of the UCSD p-System
for the Z80 running under RomWBW. This image file must be placed on
disk media by itself (not appended or concatenated with hd*.img files.
Refer to the Source/pSys/ReadMe.txt file for more information on the
p-System implementation.
Propeller ROM Images (*.eeprom)
-------------------------------
The files with and extension of ".eeprom" contain the binary images
to be programmed into the Propeller-based boards. The list below
The files with and extension of ".eeprom" contain the binary images
to be programmed into the Propeller-based boards. The list below
indicates which file targets each of the Propeller board variants:
ParPortProp ParPortProp.eeprom
PropIO V1 PropIO.eeprom
PropIO V2 PropIO2.eeprom
Refer to the board documentation of the boards for more information
Refer to the board documentation of the boards for more information
on how to program the EEPROMs on these boards.
SUB DIRECTORIES
===============
Apps Directory
--------------
The Apps subdirectory contains the executable application files that
are specific to RomWBW. The source for these applications is found
in the Source\Apps directory of the distribution.
CPNET Directory
---------------
This directory contains the CP/NET client packages. Please refer to
the RomWBW User Guide for instructions on installing these packages,
or see the Readme.txt file in this sub-directory
CPM22 CPM3 ZSDOS ZPM3 QPM Directories
-------------------------------------
These directories contains the system files for the RomWBW adaptations
for each operating system. All of these files are already included on
the boot disk images. However if you are creating a o/s boot disk
manually, you will need copy all of these files to the boot disk.
These files should also be copied to any boot disks on your
system when you upgrade your ROM firmware. Some of these files
*must* match the version of the RomWBW firmware you are using for
proper operation of your system.
in the Source\Apps directory of the distribution.

Binary file not shown.

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
if exist *.sys del *.sys

View File

@@ -1,7 +0,0 @@
TOOLS = ../../Tools
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
include $(TOOLS)/Makefile.inc
clean::
@rm -f *.sys

View File

@@ -1,23 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory contains the ZSDOS system files for the RomWBW ZSDOS
adaptation. All of these files are already included on the ZSDOS
boot disk images. However if you are creating a ZSDOS boot disk
manually, you should copy all of these files to the boot disk.
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
BIOS. One of these files must be installed on the system boot track.
This is usually achieved by the SYSCOPY utility e.g.
SYSCOPY a:=zsys_wbw.sys
These files should also be copied to any ZSDOS boot disks on your
system when you upgrade your ROM firmware. Some of these files
*must* match the version of the RomWBW firmware you are using for
proper operation of your system.

View File

@@ -1,42 +0,0 @@
# Contributing to RomWBW
> **WARNING**: The `dev` branch of RomWBW has been deprecated as of v3.4. All Pull Requests should now target the `master` branch.
Contributions of all kinds to RomWBW are welcomed and greatly appreciated.
- Reporting bug(s) and suggesting new feature(s)
- Discussing the current state of the code
- Submitting a fixes and enhancements
## RomWBW GitHub Repository
The [RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW) is the primary location for developing, supporting, and distributing RomWBW. Although input is gladly accepted from almost any channel, the GitHub Repository is preferred.
- Use **Issues** to report bugs, request enhancements, or ask usage questions.
- Use **Discussions** to interact with others
- Use **Pull Requests** to submit content (code, documentation, etc.)
## Submitting Content
This RomWBW Project uses the standard [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow). Submission of content changes (including code) are ideally done via Pull Requests.
- Submitters are advised to contact [Wayne Warthen](mailto:wwarthen@gmail.com) or start a GitHub Discussion prior to starting any significant work. This is simply to ensure that submissions are consistent
with the overall goals and intentions of RomWBW.
- All submissions should be based on the `master` branch. To create your submission, fork the RomWBW repository and create your branch from `master`. Make (and test) your changes in your personal fork.
- Please update relevant documentation and the `ChangeLog` found in the `Doc` folder.
- You are encouraged to comment your submissions to ensure your work is properly attributed.
- When ready, submit a Pull Request to merge your forked branch into the RomWBW master branch.
## Coding Style
Due to the nature of the project, you will find a variety of coding styles. When making changes to existing code, please try to be consistent with the existing coding style. You may not like the current style, but no one likes mixed styles
in one file/module.
Be careful with white space. RomWBW is primarily assembly langauge code. The use of tab stops at every 8 characters is pretty standard for assembler. If you use something else, then your code will look odd when viewed by others.
In most cases, the use of `<cr><lf>` line endings is preferred. This is standard for the operating systems of the era that RomWBW provides. Also note that CP/M text files should end with a ctrl-Z (0x1A). This is not magically added by the
tools that generate the disk images.
## License
RomWBW is licensed under GPLv3. When you submit code changes, your submissions are understood to be under the same [GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.html) that covers the project.

View File

@@ -1,70 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory ("Doc/CPM") is part of the RomWBW System Software
distribution archive. It contains documentation for the CP/M and
CP/M work-alike operating system components of the system.
CPM Manual ("CPM Manual.pdf")
-----------------------------
The original DRI CP/M 2.x Operating System Manual. This should be
considered the primary reference for system operation. The section
on CP/M 2 Alteration can be ignored since this work has already been
completed as part of the RomWBW distribution.
CPM3 Command Summary ("CPM3 Command Summary.pdf")
CPM3 Programmer's Guide ("CPM3 Programmers Guide.pdf")
CPM3 System Guide ("CPM3 System Guide.pdf")
CPM3 User's Guide ("CPM3 Users Guide.pdf")
------------------------------------------------------
The original DRI CP/M 3.0 Operating System Documentation Set. This
should be considered the primary reference for CP/M 3 system operation.
NZCOM, Z3PLUS, and replace ZCPR3.3 Documentation
------------------------------------------------
NZCOM operating system operation manual. ("NZCOM Users Manual.pdf")
Z3PLUS operating system operation manual. ("Z3PLUS Users Manual.pdf")
Z-System User Guide ("Z-System User Guide.pdf")
ZCPR3.3 Users Guide ("ZCPR3.3 Users Guide.pdf")
QP/M 2.7 Installation Guide and Supplements ("qpm27.pdf")
QP/M 2.7 Interface Guide ("qdos27.pdf")
QP/M 2.7 Features and Facilities ("qcp27.pdf")
--------------------------------------------
Official documentation set for QP/M 2.7 from original QP/M distribution.
ZCPR Manual ("ZCPR Manual.pdf")
-------------------------------
ZCPR is the command proccessor portion of Z-System. This is the
manual for ZCPR 1.x as included in RomWBW. The installation
instructions can be ignored since that work has already been
completed as part of the RomWBW distribution.
ZCPR D&J Manual ("ZCPR-DJ.doc")
-------------------------------
ZCPR D&J User Manual. This manual supplements the ZCPR Manual.
ZSDOS Manual ("ZSDOS Manual.pdf")
---------------------------------
ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
1.x as included in RomWBW. The installation instructions can be
ignored since that work has already been completed as part of the
RomWBW distribution.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,54 +1,3 @@
Version 3.5
-----------
- M?F: Fix for hours display in HBRTC application
- M?F: Fix for assembly error in DS1501RTC driver
- WBW: Add VT-100 graphics char selection to Propeller firmware
- WBW: Allow all lines of VGA display to be used on Propeller firmware
- WBW: Allow front panel LED/Switch bits to be inverted in config
- WBW: Add API to expose application banks available
- WBW: Added console takeover at boot loader prompt
- L?N: Fixed Propeller font vertical line character to align properly
- L?S: EF9345 video display controller driver
- WBW: Added Cowgol disk image based on the work of Ladislau Szilagyi
- WBW: Added support for CP/NET on Duodyne Disk I/O
- DDW: Added support for Duodyne Media board
- WBW: Auto restore TMS video on user reset (CP/M warm boot)
- L?B: Added support for NABU w/ RomWBW Option Board
- MAP: Reorganization of Doc directory introducing subfolders
- WBW: Upgraded BBCBASIC to v5.00
- W?S: Updated FLASH utility to v1.3.9
- WBW: Support RCBus PS/2 Keyboard (EP/Sally)
- M?R: Update Timer app to display output in decimal
- WBW: Preliminary support for S100 FPGA Z80 platform
- WBW: Added simple serial (SSER) driver
- WBW: Added preliminary support for S100 FPGA Z80 SD Cards
- M?R: Consolidated ROM Applications document into the Applications document
- M?R: Reviewed and substantially improved the Applications document
- WBW: Added support for DS1305 RTC on S100 FPGA Z80
- WBW: Added support for Les Bird's RCBus Graphics/Sound/Joystick module
- WBW: Added support for Les Bird's Dual 16C550 UART module
- WBW: Refactor UART driver for more flexible configuration
- M?R: Added hour/minute/second display to timer app
- WBW: Substantial customization of NZ-COM disk image
- WBW: Refactor build post-processing (ZRC, ZZRCC, etc.)
- MAP: Improved section Real Time Clock in User Guide document
- WBW: Support for Hitachi HD44780-based LCD display
- DRJ: Added support for Genesis STD Bus Z180 platform
- MAP: Improved section Disk Management in User Guide document
- WBW: Add CPU speed selection for HEATH platform to HBIOS
- WBW: Add Warm/Cold reboot options to CPUSPD utility
- D?N: Added support for eZ80 CPU
- MAP: Contributed COPYSL utility
- MAP: Added new HBIOS function EXT_SLICE (orginally SYSGET_DIOMED)
- MAP: ROMLDR now uses EXT_SLICE to get Slice Sector for boot
- MAP: CBIOS now uses EXT_SLICE during drive selection
- MAP: CPM3 Boot Loader, and BIOS (drive select) now use EXT_SLICE
- M?R: Added REBOOT application
- MAP: Significant improvement in Disk Catalog document
- MAP: Added Disk Image for the Z3PLUS (Z-System for CP/M-Plus) os.
- H?H: Fix XModem 12.3 WRERR to put CAN char in proper register to send.
- MAP: Initial NVRAM configuration infrastructure
Version 3.4
-----------
NOTE: Changes require HBIOS/CBIOS/Apps sync, version bump to 3.4 to ensure integrity
@@ -716,4 +665,4 @@ interrupts disabled the BIOS will now start OK even if some vagrant
hardware is asserting an interrupt (DISKIO). Seems like this is better
anyway -- general idea is that we only enable interupts precisely
when desired for very specific controled purposes since there is no
concept of interrupt dispatching available.
concept of interrupt dispatching available.

Binary file not shown.

View File

@@ -4,7 +4,7 @@ ZSDOS Adaptation Notes for RomWBW
Wayne Warthen
wwarthen@gmail.com
This file is a log of the work done to adapt the ZSDOS distribution to the N8VEM platforms under RomWBW. I strongly recommend reviewing the zsdos.pdf file in the Doc/CPM directory.
This file is a log of the work done to adapt the ZSDOS distribution to the N8VEM platforms under RomWBW. I strongly recommend reviewing the zsdos.pdf file in the Doc directory.
The starting point was the general public release of ZSDOS that is generally available. The first line of the README file is "ZSDOS-GP. General Public Release of the ZSDOS 1.x Operating System."
@@ -20,7 +20,7 @@ Beyond the construction and integration of the actual DOS itself, the majority o
The remainder of this document details the changes I made as I went along. In all cases, my goal was to keep the result as close to the original distribution as possible. I started by copying all of the files from the distribution (contained in zsdos2.zip) into Support\ZSDOS. From there I tested, modified, updated, and customized as documented below. Finally, I cherry picked files that made sense to include on the ZSystem ROM disks.
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, WBWCLK. I have also added the SIMHCLOK clock driver.
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, HBCLK. I have also added the SIMHCLOK clock driver.
2. STAMPS.DAT has been replaced with an updated version. The update was called STAMPS11.DAT and was found on the Walnut Creek CP/M CDROM. The original version has a bug that prevents RSX (resident system extension) mode to load properly.
@@ -52,4 +52,4 @@ Usage Notes
6. After using PUTDS to initialize a directory for ZDS date stamping, I am finding that it is necessary to run RELOG before the stamping routines will actually start working.
7. Generic CP/M PIP and ZSDOS path searching do not play well together if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution.
7. Generic CP/M PIP and ZSDOS path searching do not play well together if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution.

Binary file not shown.

Binary file not shown.

View File

@@ -1,62 +0,0 @@
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
This directory ("Doc/Language") is part of the RomWBW System Software
distribution archive. It contains documentation for Programming
Languages provided with the system.
Aztec C Compiler User Manual (Aztec_C_1.06_User_Manual_Mar84.pdf)
-----------------------------------------------------------------
Official user manual for the Aztec C Compiler included in the aztecc disk image.
Borland TurboPascal User Manual (Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf)
------------------------------------------------------------------------------------
Official user manual Borland TurboPascal included in the pascal disk image.
Cowgol Lanaguage (Cowgol Language.pdf)
--------------------------------------
Documentation for Cowgol Language included in the cowgol disk image
HI-TECH C Compiler User Manual (HI-TECH Z80 C Compiler Manual.txt)
------------------------------------------------------------------
Official user manual for the HI-TECH C Compiler included in the
hitechc disk image.
Microsoft Basic-80 Reference Manual v5.0 (Microsoft Basic-80 Reference Manual v5.0.pdf)
---------------------------------------------------------------------------------------
Official manual for Microsoft BASIC as included in RomWBW.
Microsoft FORTRAN-80 User Manual (Microsoft_FORTRAN-80_Users_Manual_1977.pdf)
-----------------------------------------------------------------------------
Official user manual for Microsoft's FORTRAN-80 compiler included in the fortran
disk image.
Z80 Assembler User Manual (z80asm (SLR Systems).pdf)
----------------------------------------------------
Official user manual for the Z80 Macro Assembler by SLR Systems
included in the z80asm disk image.

View File

@@ -10,18 +10,6 @@ This directory ("Doc") is part of the RomWBW System Software
distribution archive. It contains documentation for components of
the system.
CPM (Directory)
---------------
Documentation specific to CP/M, including all versions and derivatives.
Language (Directory)
--------------------
Documentation specific to programming languages, provided with the system
ChangeLog.txt
-------------
@@ -43,6 +31,25 @@ and utilities are detailed in the Applications and
ROM Applications documents.
CPM Manual ("CPM Manual.pdf")
-----------------------------
The original DRI CP/M 2.x Operating System Manual. This should be
considered the primary reference for system operation. The section
on CP/M 2 Alteration can be ignored since this work has already been
completed as part of the RomWBW distribution.
CPM3 Command Summary ("CPM3 Command Summary.pdf")
CPM3 Programmer's Guide ("CPM3 Programmers Guide.pdf")
CPM3 System Guide ("CPM3 System Guide.pdf")
CPM3 User's Guide ("CPM3 Users Guide.pdf")
------------------------------------------------------
The original DRI CP/M 3.0 Operating System Documentation Set. This
should be considered the primary reference for CP/M 3 system operation.
DDTZ Manual ("DDTZ.doc")
------------------------
@@ -62,6 +69,47 @@ Hard Disk Anatomy ("Hard Disk Anatomy.pdf")
Diagram of a CP/M & MS-DOS (FAT) hybrid hard disk layout.
NZCOM User's Manual ("NZCOM Users Manual.pdf")
----------------------------------------------
NZCOM operating system operation manual.
ZCPR Manual ("ZCPR Manual.pdf")
-------------------------------
ZCPR is the command proccessor portion of Z-System. This is the
manual for ZCPR 1.x as included in RomWBW. The installation
instructions can be ignored since that work has already been
completed as part of the RomWBW distribution.
ZCPR D&J Manual ("ZCPR-DJ.doc")
-------------------------------
ZCPR D&J User Manual. This manual supplements the ZCPR Manual.
ZSDOS Manual ("ZSDOS Manual.pdf")
---------------------------------
ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
1.x as included in RomWBW. The installation instructions can be
ignored since that work has already been completed as part of the
RomWBW distribution.
Microsoft Basic-80 Reference Manual v5.0 (Microsoft Basic-80 Reference Manual v5.0.pdf)
---------------------------------------------------------------------------------------
Official manual for Microsoft BASIC as included in RomWBW.
QP/M 2.7 Installation Guide and Supplements ("qpm27.pdf")
QP/M 2.7 Interface Guide ("qdos27.pdf")
QP/M 2.7 Features and Facilities ("qcp27.pdf")
--------------------------------------------
Official documentation set for QP/M 2.7 from original QP/M distribution.
SIO+CTC Baud Rate Options (SIO+CTC Baud Rate Options.pdf)
---------------------------------------------------------
@@ -84,4 +132,37 @@ UCSD p-System Users Manual ("UCSD p-System Users Manual.pdf")
Official user manual for p-System operating system included with
RomWBW.
--WBW 5:18 PM 6/14/2023
Z80 Assembler User Manual (z80asm (SLR Systems).pdf)
----------------------------------------------------
Official user manual for the Z80 Macro Assembler by SLR Systems
included in the z80asm disk image.
HI-TECH C Compiler User Manual (HI-TECH Z80 C Compiler Manual.txt)
------------------------------------------------------------------
Official user manual for the HI-TECH C Compiler included in the
hitechc disk image.
Borland TurboPascal User Manual (Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf)
------------------------------------------------------------------------------------
Official user manual Borland TurboPascal included in the pascal disk image.
Aztec C Compiler User Manual (Aztec_C_1.06_User_Manual_Mar84.pdf)
-----------------------------------------------------------------
Official user manual for the Aztec C Compiler included in the aztecc disk image.
FORTRAN-80 User Manual (Microsoft_FORTRAN-80_Users_Manual_1977.pdf)
---------------------------------------------------------------
Official user manual for Microsoft's FORTRAN-80 compiler included in the fortran
disk image.
--WBW 5:18 PM 6/14/2023

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

144
Doc/Testing Notes.txt Normal file
View File

@@ -0,0 +1,144 @@
SIMH (X)
----
- Test UART driver
- Test HDSK driver
Zeta 1 (X)
------
- Test UART driver
- Test PPP detection (startup w/ and w/o PPP)
- Test boot to CRT
- Test PPPSD driver
- Test PPPCON driver (video & kbd)
- Test FD driver
- Test FDU app
Zeta 2 (X)
------
- Test UART driver
- Test PPP detection (startup w/ and w/o PPP)
- Test boot to CRT
- Test PPPSD driver
- Test PPPCON driver (video & kbd)
- Test FD driver
- Test FDU app
RCBus (X)
------
- Test SIO driver (Serial Module)
- Test ACIA driver (Dual Serial Module)
- Test IDE driver (Compact Flash Module)
- Test PPIDE driver (IDE Module)
- Test FD driver (SMC and WDC)
- Test FDU app (SMC and WDC)
N8-2312 (X)
-------
- Test ASCI driver
- Test SD driver (CSIO mode)
- Test FD driver
- Test FDU app
- Test TMS driver (video & kbd)
N8-2511 (X)
-------
- Test ASCI driver
- Test SD driver (Juha mode)
- Test FD driver
- Test FDU app
- Test TMS driver (video & kbd)
SBC (X)
---
- Test UART driver
- Test PPIDE driver
- Test PPISD driver
- Test PRP detection
- Test boot to CRT console
MK4 (X)
---
- Test ASCI driver
- Test IDE driver
- Test SD driver
- Test PRP detection
RAMF (X)
----
- Test RAMF driver
PRP (X)
---
- Test PRPSD driver
- Test PRPCON driver (video & kbd)
SCG (X)
---
- Test TMS driver (video)
VDU (X)
---
- Test CVDU driver (video & kbd)
CVDU (X)
----
- Test CVDU driver (video & kbd)
VGA (X)
---
- Test VGA driver (video & kbd)
DIO (X)
---
- Test FD driver
- Test FDU app
- Test IDE driver
DIO3 (X)
----
- Test FD driver
- Test FDU app
- Test PPIDE driver
DIDE (X)
----
- Test FD driver
- Test FDU app
- Test IDE driver
DSD (X)
---
- Test SD driver
4UART (X)
-----
- Test UART driver
UNA (X)
---
- General Startup
- Boot from disk functionality
- Image loading
- Monitor
- XM app
- ASSIGN app
- MODE app
- SYSCOPY app
- OSLDR app
- FDU app
- FDISK80 app
GENERAL (X)
-------
- Boot to ROM
- Boot to Disk
- Boot to Monitor
- XM app
- XM port auto-detect
- ASSIGN app
- MODE app
- SYSCOPY app
- FDU app
- FDISK80 app
- TUNE app

View File

@@ -1,48 +0,0 @@
FROM ubuntu:jammy-20240111 as basebuilder
# This docker file can be used to build a tool chain docker image for building RomWBW images.
# Tested on a ubuntu host and on Windows un WSL (with docker desktop)
# First build the docker image (will b)
# docker build --progress plain -t romwbw-chain .
# After you have built the above image (called romwbw-chain), you can use it to compile and build the RomWBW images
# as per the standard make scripts within RomWBW.
# Start a new terminal, cd to where you have clone RomWBW, and then run this command:
# docker run -v ${PWD}:/src/ --privileged=true -u $(id -u ${USER}):$(id -g ${USER}) -it romwbw-chain:latest
# you can now compile and build the required images:
# cd Tools && make
# cd Source && make # at least once to build many common units
# cd Source && make rom ROM_PLATFORM=RCEZ80 ROM_CONFIG=std
# when finish, type 'exit' to return to back to your standard terminal session
LABEL Maintainer="Dean Netherton" \
Description="spike to use clang for ez80 target"
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386
RUN sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu/http:\/\/au.archive.ubuntu.com\/ubuntu/g' /etc/apt/sources.list
RUN apt update -y
RUN apt dist-upgrade -y
RUN apt install -y --no-install-recommends cmake lzip ca-certificates mtools build-essential dos2unix libboost-all-dev texinfo texi2html libxml2-dev subversion bison flex zlib1g-dev m4 git wget dosfstools curl
RUN mkdir work
WORKDIR /work
FROM basebuilder as main
LABEL Maintainer="Dean Netherton" \
Description="spike to build RomWBW"
RUN mkdir /src
WORKDIR /src/
RUN apt install -y --no-install-recommends build-essential libncurses-dev srecord bsdmainutils
RUN adduser --disabled-password --gecos "" builder

View File

@@ -28,4 +28,4 @@ dist:
$(MAKE) --directory Source clean
distlog:
time -p $(MAKE) dist 2>&1 | tee make.log
$(MAKE) dist 2>&1 | tee make.log

View File

@@ -1,9 +1,9 @@
**RomWBW ReadMe** \
Version 3.5 \
Version 3.4 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
08 Nov 2024
30 Dec 2023
# Overview
@@ -112,20 +112,22 @@ functionality.
Complete instructions for installation and operation of RomWBW are found
in the [RomWBW User
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf).
Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf).
## Documentation
Documentation for RomWBW includes:
- [RomWBW User
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf)
Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf)
- [RomWBW System
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf)
Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20System%20Guide.pdf)
- [RomWBW
Applications](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Applications.pdf)
Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Applications.pdf)
- [RomWBW ROM
Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20ROM%20Applications.pdf)
- [RomWBW
Errata](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Errata.pdf)
Errata](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Errata.pdf)
# Acknowledgments
@@ -186,8 +188,8 @@ let me know if I missed you!
- Tasty Basic is a product of Dimitri Theulings.
- Dean Netherton contributed eZ80 CPU support, the sound driver
interface, and the SN76489 sound driver.
- Dean Netherton contributed the sound driver interface and the SN76489
sound driver.
- The RomWBW Disk Catalog document was produced by Mykl Orders.
@@ -196,11 +198,7 @@ let me know if I missed you!
Microsoft Fortran Compiler, and a Games compendium.
- Martin R has provided substantial help reviewing and improving the
User Guide and Applications documents.
- Mark Pruden has also contributed a great deal of content to the Disk
Catalog, User Guide as well as contributing the disk image for the
Z3PLUS operating system, and the COPYSL utility.
User Guide.
- Jacques Pelletier has contributed the DS1501 RTC driver code.
@@ -225,14 +223,6 @@ let me know if I missed you!
- Bill Shen has contributed boot loaders for several of his systems.
- Laszlo Szolnoki has contributed an EF9345 video display controller
driver.
- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol
that leverages RomWBW memory banking.
- Les Bird has contributed support for the NABU w/ Option Board
Contributions of all kinds to RomWBW are very welcome.
# Licensing

View File

@@ -1,6 +1,6 @@
RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com)
08 Nov 2024
30 Dec 2023
@@ -122,6 +122,7 @@ Documentation for RomWBW includes:
- RomWBW User Guide
- RomWBW System Guide
- RomWBW Applications
- RomWBW ROM Applications
- RomWBW Errata
@@ -187,8 +188,8 @@ let me know if I missed you!
- Tasty Basic is a product of Dimitri Theulings.
- Dean Netherton contributed eZ80 CPU support, the sound driver
interface, and the SN76489 sound driver.
- Dean Netherton contributed the sound driver interface and the
SN76489 sound driver.
- The RomWBW Disk Catalog document was produced by Mykl Orders.
@@ -197,11 +198,7 @@ let me know if I missed you!
BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium.
- Martin R has provided substantial help reviewing and improving the
User Guide and Applications documents.
- Mark Pruden has also contributed a great deal of content to the Disk
Catalog, User Guide as well as contributing the disk image for the
Z3PLUS operating system, and the COPYSL utility.
User Guide.
- Jacques Pelletier has contributed the DS1501 RTC driver code.
@@ -227,14 +224,6 @@ let me know if I missed you!
- Bill Shen has contributed boot loaders for several of his systems.
- Laszlo Szolnoki has contributed an EF9345 video display controller
driver.
- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol
that leverages RomWBW memory banking.
- Les Bird has contributed support for the NABU w/ Option Board
Contributions of all kinds to RomWBW are very welcome.

View File

@@ -1,23 +0,0 @@
@echo off
setlocal
set TOOLS=..\..\..\Tools
set PATH=%TOOLS%\zxcc;%PATH%
set CPMDIR80=%TOOLS%/cpm/
zxcc z80asm -dist/FM
zxcc z80asm -main/FM
zxcc z80asm -exec/FM
zxcc z80asm -eval/FM
zxcc z80asm -asmb/FM
zxcc z80asm -cmos/FM
zxcc z80asm -math/FM
zxcc z80asm -hook/FM
zxcc z80asm -data/FM
zxcc slrnk -/v,/a:0100,dist,main,exec,eval,asmb,math,hook,cmos,/p:4B00,data,bbcbasic/n,/e
copy /Y bbcbasic.com ..\..\..\Binary\Apps\ || exit /b
copy /Y bbcbasic.txt ..\..\..\Binary\Apps\ || exit /b

View File

@@ -1,9 +0,0 @@
@echo off
setlocal
if exist *.com del *.com
if exist *.lst del *.lst
if exist *.hex del *.hex
if exist *.prn del *.prn
if exist *.rel del *.rel
if exist *.sym del *.sym

View File

@@ -1,11 +0,0 @@
OBJECTS = bbcbasic.com
DOCS = bbcbasic.txt
DEST = ../../../Binary/Apps
DOCDEST = ../../../Binary/Apps
TOOLS = ../../../Tools
OTHERS = *.rel
include $(TOOLS)/Makefile.inc
bbcbasic.com: dist.rel main.rel exec.rel eval.rel asmb.rel cmos.rel math.rel hook.rel data.rel
$(ZXCC) SLRNK -/V,/A:0100,DIST,MAIN,EXEC,EVAL,ASMB,MATH,HOOK,CMOS,/P:4B00,DATA,BBCBASIC/N,/E

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,69 +0,0 @@
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2024
NAME ('DATA')
;
;RAM MODULE FOR BBC BASIC INTERPRETER
;FOR USE WITH VERSION 5.0 OF BBC BASIC
;(C) COPYRIGHT R.T.RUSSELL 1981-2024
;
GLOBAL ACCS
GLOBAL BUFFER
GLOBAL ONERSP
GLOBAL LIBASE
GLOBAL PAGE
GLOBAL LOMEM
GLOBAL FREE
GLOBAL HIMEM
GLOBAL RANDOM
GLOBAL COUNT
GLOBAL WIDTH
GLOBAL ERL
GLOBAL ERR
GLOBAL ERRTRP
GLOBAL ERRTXT
GLOBAL TRACEN
GLOBAL AUTONO
GLOBAL INCREM
GLOBAL LISTON
GLOBAL DATPTR
GLOBAL FNPTR
GLOBAL PROPTR
GLOBAL STAVAR
GLOBAL OC
GLOBAL PC
GLOBAL DYNVAR
GLOBAL CURLIN
GLOBAL USER
;
;n.b. ACCS, BUFFER & STAVAR must be on page boundaries.
;
ACCS: DEFS 256 ;STRING ACCUMULATOR
BUFFER: DEFS 256 ;STRING INPUT BUFFER
STAVAR: DEFS 27*4 ;STATIC VARIABLES
OC EQU STAVAR+15*4 ;CODE ORIGIN (O%)
PC EQU STAVAR+16*4 ;PROGRAM COUNTER (P%)
DYNVAR: DEFS 54*2 ;DYN. VARIABLE POINTERS
FNPTR: DEFS 2 ;DYN. FUNCTION POINTER
PROPTR: DEFS 2 ;DYN. PROCEDURE POINTER
;
PAGE: DEFS 2 ;START OF USER PROGRAM
LOMEM: DEFS 2 ;START OF DYN. STORAGE
FREE: DEFS 2 ;FIRST FREE-SPACE BYTE
HIMEM: DEFS 2 ;FIRST BYTE ABOVE STACK
LIBASE: DEFS 2 ;START OF FIRST LIBRARY
;
TRACEN: DEFS 2 ;TRACE FLAG AND NUMBER
AUTONO: DEFS 2 ;AUTO FLAG AND NUMBER
ERRTRP: DEFS 2 ;ON ERROR STMT POINTER \
ONERSP: DEFS 2 ;ON ERROR LOCAL STKPTR /
ERRTXT: DEFS 2 ;ERROR MESSAGE POINTER
DATPTR: DEFS 2 ;DATA POINTER
ERL: DEFS 2 ;LINE NO OF LAST ERROR
CURLIN: DEFS 2 ;POINTER TO CURRENT LINE
RANDOM: DEFS 5 ;RANDOM NUMBER
COUNT: DEFS 1 ;PRINT POSITION
WIDTH: DEFS 1 ;PRINT WIDTH
ERR: DEFS 1 ;ERROR NUMBER
LISTON: DEFS 1 ;LISTO & OPT FLAG
INCREM: DEFS 1 ;AUTO INCREMENT
;
USER: END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,64 +0,0 @@
NAME ('HOOK')
;
GLOBAL CLG
GLOBAL COLOUR
GLOBAL DRAW
GLOBAL ENVEL
GLOBAL GCOL
GLOBAL MODE
GLOBAL MOVE
GLOBAL PLOT
GLOBAL SOUND
GLOBAL PUTIMS
GLOBAL CIRCLE
GLOBAL ELLIPSE
GLOBAL FILL
GLOBAL MOUSE
GLOBAL ORIGIN
GLOBAL RECTAN
GLOBAL LINE
GLOBAL TINT
GLOBAL WAIT
GLOBAL SYS
;
GLOBAL ADVAL
GLOBAL POINT
GLOBAL GETIMS
GLOBAL TINTFN
GLOBAL MODEFN
GLOBAL WIDFN
;
EXTRN EXTERR
;
CLG:
COLOUR:
DRAW:
ENVEL:
GCOL:
MODE:
MOVE:
PLOT:
SOUND:
ADVAL:
POINT:
GETIMS:
PUTIMS:
CIRCLE:
ELLIPSE:
FILL:
MOUSE:
ORIGIN:
RECTAN:
LINE:
TINT:
TINTFN:
MODEFN:
WIDFN:
WAIT:
SYS:
XOR A
CALL EXTERR
DEFM 'Sorry'
DEFB 0
;
END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,37 +2,47 @@
setlocal
set TOOLS=..\..\Tools
set APPBIN=..\..\Binary\Apps
set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
set TASMTABS=%TOOLS%\tasm32
set CPMDIR80=%TOOLS%/cpm/
call :build syscopy || exit /b
call :build assign || exit /b
call :build format || exit /b
call :build talk || exit /b
call :build mode || exit /b
call :build rtc || exit /b
call :build timer || exit /b
call :build sysgen || exit /b
call :build XM || exit /b
call :build FDU || exit /b
call :build Tune || exit /b
call :build FAT || exit /b
call :build Test || exit /b
call :build ZMP || exit /b
call :build ZMD || exit /b
call :build Dev || exit /b
call :build VGM || exit /b
call :build cpuspd || exit /b
call :build reboot || exit /b
call :build Survey || exit /b
call :build HTalk || exit /b
call :build BBCBASIC || exit /b
call :build copysl || exit /b
call :asm syscopy || exit /b
call :asm assign || exit /b
call :asm format || exit /b
call :asm talk || exit /b
call :asm mode || exit /b
call :asm rtc || exit /b
call :asm timer || exit /b
call :asm rtchb || exit /b
zxcc Z80ASM -SYSGEN/F || exit /b
pushd XM && call Build || exit /b & popd
pushd FDU && call Build || exit /b & popd
pushd Tune && call Build || exit /b & popd
pushd FAT && call Build || exit /b & popd
pushd Test && call Build || exit /b & popd
pushd ZMP && call Build || exit /b & popd
pushd ZMD && call Build || exit /b & popd
pushd Dev && call Build || exit /b & popd
pushd VGM && call Build || exit /b & popd
pushd cpuspd && call Build || exit /b & popd
pushd Survey && call Build || exit /b & popd
pushd HTalk && call Build || exit /b & popd
copy *.com %APPBIN%\ || exit /b
goto :eof
:build
echo Building %1
pushd %1 && call Build || exit /b & popd
:asm
echo.
echo Building %1...
tasm -t80 -g3 -fFF %1.asm %1.com %1.lst || exit /b
goto :eof
:asm180
echo.
echo Building %1...
tasm -t180 -g3 -fFF %1.asm %1.com %1.lst || exit /b
goto :eof

View File

@@ -1,32 +1,21 @@
@echo off
setlocal
call :clean syscopy || exit /b
call :clean assign || exit /b
call :clean format || exit /b
call :clean talk || exit /b
call :clean mode || exit /b
call :clean rtc || exit /b
call :clean timer || exit /b
call :clean sysgen || exit /b
call :clean XM || exit /b
call :clean FDU || exit /b
call :clean Tune || exit /b
call :clean FAT || exit /b
call :clean Test || exit /b
call :clean ZMP || exit /b
call :clean ZMD || exit /b
call :clean Dev || exit /b
call :clean VGM || exit /b
call :clean cpuspd || exit /b
call :clean reboot || exit /b
call :clean Survey || exit /b
call :clean HTalk || exit /b
call :clean BBCBASIC || exit /b
call :clean copysl || exit /b
if exist *.bin del *.bin
if exist *.com del *.com
if exist *.lst del *.lst
if exist *.hex del *.hex
if exist *.prn del *.prn
goto :eof
:clean
pushd %1 && call Clean || exit /b & popd
goto :eof
pushd XM && call Clean || exit /b 1 & popd
pushd FDU && call Clean || exit /b 1 & popd
pushd Tune && call Clean || exit /b 1 & popd
pushd FAT && call Clean || exit /b 1 & popd
pushd Test && call Clean || exit /b 1 & popd
pushd ZMP && call Clean || exit /b 1 & popd
pushd ZMD && call Clean || exit /b 1 & popd
pushd Dev && call Clean || exit /b 1 & popd
pushd VGM && call Clean || exit /b 1 & popd
pushd cpuspd && call Clean || exit /b 1 & popd
pushd Survey && call Clean || exit /b 1 & popd
pushd HTalk && call Clean || exit /b 1 & popd

View File

@@ -1,158 +0,0 @@
# RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
Author: Wayne Warthen \
Updated: 6-May-2024
This application allows copying files between CP/M filesystems and FAT
filesystems (DOS, Windows, Mac, Linux, etc.). The application runs on
RomWBW hosted CP/M (and compatible) operating systems. The application
also has limited file management capabilities on FAT filesystems
including directory listing, renaming, deleting, and sub-directory
creation.
### Usage:
```
FAT DIR <path>
FAT COPY <src> <dst>
FAT REN <from> <to>
FAT DEL <path>[<file>|<dir>]
FAT MD <path>
FAT FORMAT <drv>
```
CP/M filespec: \<d\>:FILENAME.EXT (\<d\> is CP/M drive letter A-P) \
FAT filespec: \<u\>:/DIR/FILENAME.EXT (\<u\> is disk unit #)
### Notes:
- Partitioned or non-partitioned media is handled automatically.
A floppy drive is a good example of a non-partitioned FAT
filesystem and will be recognized. Larger media will typically
have a partition table which will be recognized by the
application to find the FAT filesystem.
- Although RomWBW-style CP/M media does not know anything about
partition tables, it is entirely possible to have media that
has both CP/M and FAT file systems on it. This is accomplished
by creating a FAT filesystem on the media that starts on a track
beyond the last track used by CP/M. Each CP/M slice can occupy
up to 8MB. So, make sure to start your FAT partition beyond
(slice count) * 9MB.
- The application infers whether you are attempting to reference
a FAT or CP/M filesystem via the drive specifier (char before ':').
A numeric drive character specifies the HBIOS disk unit number
for FAT access. An alpha (A-P) character indicates a CP/M
file system access targeting the specified drive letter. If there
is no drive character specified, the current CP/M filesystem and
current CP/M drive is assumed. For example:
`2:README.TXT` refers to FAT file README.TXT on disk unit #2 \
`C:README.TXT` refers to CP/M file README.TXT on CP/M drive C: \
`README.TXT` refers to CP/M file README.TXT on current CP/M drive
- FAT files with SYS, HIDDEN, or R/O attributes are not given
any special treatment. Such files are found and processed
like any other file. However, any attempt to write to a
read-only file will fail and the application will abort.
- It is not currently possible to reference CP/M user areas other
than the current user. To copy files to alternate user areas,
you must switch to the desired user number first or use an
additional step to copy the file to the desired user area.
- Accessing FAT filesystems on a floppy requires the use of
RomWBW HBIOS v2.9.1-pre.13 or greater.
- Only the first 8 RomWBW disk units (0-7) can be referenced.
- Files written are not verified.
- Wildcard matching in FAT filesystems is a bit unusual as
implemented by FatFs. See FatFs documentation.
- The `FAT FORMAT` command will not perform a physical format on
floppy disks. You must use FDU to do this prior to using
`FAT FORMAT`.
- Formatting (`FAT FORMAT`) of floppies does not work well. The
underlying FatFs library uses some non-standard fields. The
resulting floppy may or may not be useable on other systems. It is
best to format a FAT floppy on a Windows or DOS system. You should
have no problems copying files to/from such a floppy using `FAT`.
### Known Issues
- CP/M (and workalike) OSes have significant restrictions on filename
characters. The FAT application will block any attempt to create a
file on the CP/M filesystem containing any of these prohibited
characters:
| `< > . , ; : ? * [ ] |/ \`
The operation will be aborted with "`Error: Invalid Path Name`" if such
a filename character is encountered.
Since MS-DOS does allow some of these characters, you can have
issues when copying files from MS-DOS to CP/M if the MS-DOS filenames
use these characters. Unfortunately, FAT is not yet smart enough to
substitute illegal characters with legal ones. So, you will need to
clean the filenames before trying to copy them to CP/M.
- The FAT application does try to detect the scenario where you are
copying a file to itself. However, this detection is not perfect and
can corrupt a file if it occurs. Be careful to avoid this.
### License:
GNU GPLv3 (see file LICENSE.txt)
### Build Notes:
- Source is maintained on GitHub at <https://github.com/wwarthen/FAT>.
- Application is based on FatFs. FatFs source is included. See
<http://elm-chan.org/fsw/ff/>.
- SDCC compiler v4.3 or greater is required to build. New calling
conventions introduced in v4.3 are assumed.
- See Build.cmd for sample build script under Windows. References
to SDCC must be updated for your environment.
- Note that ff.c (core FatFs code) generates quite a few compiler
warnings (all appear to be benign).
### To Do:
- Allow ^C to abort any operation in progress.
- Allow referencing more than the first 8 RomWBW disk units.
- Handle wildcards in destination, e.g.:
`FAT REN 2:/*.TXT 2:/*.BAK`
- Do something intelligent with R/O and SYS file attributes
- Support UNA
### History:
| Date | Version | Notes |
|------------:|-------- |-------------------------------------------------------------|
| 2-May-2019 | v0.9 | (beta) initial release |
| 7-May-2019 | v0.9.1 | (beta) added REN and DEL |
| 8-May-2019 | v0.9.2 | (beta) handle file collisions w/ user prompt |
| 8-Oct-2019 | v0.9.3 | (beta) fixed incorrect filename buffer size (MAX_FN) |
| 10-Oct-2019 | v0.9.4 | (beta) upgraded to FatFs R0.13c |
| 10-Oct-2019 | v0.9.5 | (beta) added MD (make directory) |
| 10-Oct-2019 | v0.9.6 | (beta) added FORMAT |
| 11-Oct-2019 | v0.9.7 | (beta) fix FORMAT to use existing partition table entries |
| | | add attributes to directory listing |
| 12-Apr-2021 | v0.9.8 | (beta) support CP/NET drives |
| 12-Oct-2023 | v0.9.9 | (beta) handle updated HBIOS Disk Device call |
| 6-Jan-2024 | v1.0.0 | updated to latest FsFat (v0.15) |
| | | updated to latest SDCC (v4.3) |
| 6-May-2024 | v1.1.0 | improve floppy format boot record |

105
Source/Apps/FAT/ReadMe.txt Normal file
View File

@@ -0,0 +1,105 @@
RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
Author: Wayne Warthen
Updated: 12-Oct-2023
Application to manipulate and exchange files with a FAT (DOS)
filesystem. Runs on any HBIOS hosted CP/M implementation.
USAGE:
FAT DIR <path>
FAT COPY <src> <dst>
FAT REN <from> <to>
FAT DEL <path>[<file>|<dir>]
FAT MD <path>
FAT FORMAT <drv>
CP/M filespec: <d>:FILENAME.EXT (<d> is CP/M drive letter A-P)
FAT filespec: <u>:/DIR/FILENAME.EXT (<u> is disk unit #)
LICENSE:
GNU GPLv3 (see file LICENSE.txt)
NOTES:
- Partitioned or non-partitioned media is handled automatically.
A floppy drive is a good example of a non-partitioned FAT
filesystem and will be recognized. Larger media will typically
have a partition table which will be recognized by the
application to find the FAT filesystem.
- Although RomWBW-style CP/M media does not know anything about
partition tables, it is entirely possible to have media that
has both CP/M and FAT file systems on it. This is accomplished
by creating a FAT filesystem on the media that starts on a track
beyond the last track used by CP/M. Each CP/M slice on a
media will occupy a little over 8MB. So, make sure to start
your FAT partition beyond (slice count) * 8MB.
- The application infers whether you are attempting to reference
a FAT or CP/M filesystem via the drive specifier (char before ':').
A numeric drive character specifies the HBIOS disk unit number
for FAT access. An alpha (A-P) character indicates a CP/M
file system access targeting the specified drive letter. If there
is no drive character specified, the current CP/M filesystem and
current CP/M drive is assumed. For example:
"2:README.TXT" refers to FAT file README.TXT on disk unit #2
"C:README.TXT" refers to CP/M file README.TXT on CP/M drive C
"README.TXT" refers to CP/M file README.TXT on current CP/M drive
- FAT files with SYS, HIDDEN, or R/O only attributes are not given
any special treatment. Such files are found and processed
like any other file. However, any attempt to write to a
read-only file will fail and the application will abort.
- It is not currently possible to reference CP/M user areas other
than the current user. To copy files to alternate user areas,
you must switch to the desired user number first or use an
additional step to copy the file to the desired user area.
- Accessing FAT filesystems on a floppy requires the use of
RomWBW HBIOS v2.9.1-pre.13 or greater.
- Files written are not verified.
- Wildcard matching in FAT filesystems is a bit unusual as
implemented by FatFs. See FatFs documentation.
BUILD NOTES:
- Source is maintained on GitHub at https://github.com/wwarthen/FAT
- Application is based on FatFs. FatFs source is included.
- SDCC compiler is required to build (v4.0.0 known working).
- ZX CP/M emulator is required to build (from RomWBW distribution).
- See Build.cmd for sample build script under Windows. References
to SDCC and ZX must be updated for your environment.
- Note that ff.c (core FatFs code) generates quite a few compiler
warnings (all appear to be benign).
TO DO:
- Allow ^C to abort any operation in progress.
- Handle wildcards in destination, e.g.:
"FAT REN 2:/*.TXT 2:/*.BAK"
- Do something intelligent with R/O and SYS files on FAT
- Support UNA
HISTORY:
2-May-2019: v0.9 (beta) initial release
7-May-2019: v0.9.1 (beta) added REN and DEL
8-May-2019: v0.9.2 (beta) handle file collisions w/ user prompt
8-Oct-2019: v0.9.3 (beta) fixed incorrect filename buffer size (MAX_FN)
10-Oct-2019: v0.9.4 (beta) upgraded to FatFs R0.13c
10-Oct-2019: v0.9.5 (beta) added MD (make directory)
10-Oct-2019: v0.9.6 (beta) added FORMAT
11-Oct-2019: v0.9.7 (beta) fix FORMAT to use existing partition table entries
add attributes to directory listing
12-Apr-2021: v0.9.8 (beta) support CP/NET drives
12-Oct-2023: v0.9.9 (beta) handle updated HBIOS Disk Device call

Binary file not shown.

View File

@@ -1,5 +1,9 @@
SUBDIRS = HTalk XM FDU FAT Tune Test ZMP ZMD Dev VGM cpuspd reboot Survey BBCBASIC copysl \
sysgen syscopy assign format talk mode rtc timer
OBJECTS = sysgen.com syscopy.com assign.com format.com talk.com \
mode.com rtc.com timer.com rtchb.com
SUBDIRS = HTalk XM FDU FAT Tune Test ZMP ZMD Dev VGM cpuspd Survey
DEST = ../../Binary/Apps
TOOLS =../../Tools
include $(TOOLS)/Makefile.inc
USETASM = 1

View File

@@ -1,8 +1,10 @@
@echo off
setlocal
set TOOLS=../../../../Tools
set TOOLS=..\..\..\..\Tools
set PATH=%TOOLS%\zxcc;%PATH%
set CPMDIR80=%TOOLS%/cpm/
zxcc M80 -=2piotst/l || exit /b

View File

@@ -1,31 +1,40 @@
@echo off
setlocal
set TOOLS=..\..\..\Tools
set TOOLS=../../../Tools
set APPBIN=..\..\Binary\Apps
set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
set TASMTABS=%TOOLS%\tasm32
set CPMDIR80=%TOOLS%/cpm/
call :build DMAmon || exit /b
call :build tstdskng || exit /b
call :build inttest || exit /b
call :build ppidetst || exit /b
call :build ramtest || exit /b
call :build I2C || exit /b
call :build rzsz || exit /b
call :build vdctest || exit /b
call :build kbdtest || exit /b
call :build ps2info || exit /b
call :build 2piotst || exit /b
call :build piomon || exit /b
call :build banktest || exit /b
call :build portscan || exit /b
call :build sound || exit /b
call :build testh8p || exit /b
pushd DMAmon && call Build || exit /b & popd
pushd tstdskng && call Build || exit /b & popd
pushd inttest && call Build || exit /b & popd
pushd ppidetst && call Build || exit /b & popd
pushd ramtest && call Build || exit /b & popd
pushd I2C && call Build || exit /b & popd
pushd rzsz && call Build || exit /b & popd
pushd vdctest && call Build || exit /b & popd
pushd kbdtest && call Build || exit /b & popd
pushd ps2info && call Build || exit /b & popd
pushd 2piotst && call Build || exit /b & popd
pushd piomon && call Build || exit /b & popd
pushd banktest && call Build || exit /b & popd
pushd portscan && call Build || exit /b & popd
goto :eof
:build
echo Building %1
pushd %1 && call Build || exit /b & popd
:asm
echo.
echo Building %1...
tasm -t80 -g3 -fFF %1.asm %1.com %1.lst || exit /b
goto :eof
:asm180
echo.
echo Building %1...
tasm -t180 -g3 -fFF %1.asm %1.com %1.lst || exit /b
goto :eof

View File

@@ -21,5 +21,3 @@ pushd 2piotst && call Clean || exit /b 1 & popd
pushd piomon && call Clean || exit /b 1 & popd
pushd banktest && call Clean || exit /b 1 & popd
pushd portscan && call Clean || exit /b 1 & popd
pushd sound && call Clean || exit /b 1 & popd
pushd testh8p && call Clean || exit /b 1 & popd

View File

@@ -5,9 +5,9 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b
tasm -t80 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b
tasm -t80 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b
tasm -t180 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b
tasm -t180 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b
tasm -t180 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b
tasm -t80 -g3 -ff srom.asm srom.com srom.lst || exit /b
copy /Y i2c*.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -1,6 +1,6 @@
# OBJECTS =
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan sound testh8p
# DEST = ../../../Binary/Apps/Test
OBJECTS =
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan
DEST = ../../../Binary/Apps/Test
TOOLS =../../../Tools
include $(TOOLS)/Makefile.inc

View File

@@ -5,8 +5,7 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF inttest.asm inttest.com inttest.lst || exit /b
tasm -t180 -g3 -fFF inttest.asm inttest.com inttest.lst || exit /b
copy /Y inttest.com ..\..\..\..\Binary\Apps\Test\ || exit /b
copy /Y inttest.doc ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -1,7 +1,5 @@
OBJECTS = inttest.com
DOCS = inttest.doc
DEST = ../../../../Binary/Apps/Test
DOCDEST = ../../../../Binary/Apps/Test
TOOLS =../../../../Tools
USETASM=1

View File

@@ -176,8 +176,6 @@ estidx:
jr z,hkim
cp 2
jr z,hkim
cp 3
jr z,hkim
ret
;
; Setup interrupt handler
@@ -547,8 +545,8 @@ stack .equ $ ; stack top
;
; Messages
;
msgban .db "INTTEST v1.3, 16-May-2024",13,10
.db "Copyright (C) 2024, Wayne Warthen, GNU GPL v3",0
msgban .db "INTTEST v1.2, 15-May-2019",13,10
.db "Copyright (C) 2019, Wayne Warthen, GNU GPL v3",0
msginfo .db "Interrupt information request...",0
msgmode .db " Active interrupt mode: ",0
msgcnt .db " Vector entries in use: ",0

View File

@@ -1,44 +0,0 @@
INTTEST
=======
RomWBW includes an API allowing applications to "hook" interrupts.
The `INTTEST` utility allows you to test this functionality.
** Syntax **
`INTTEST`
** Usage **
`INTTEST` is an interactive application. At startup, it will display
a list of the interrupt vector slots in your system along with the
current vector address for each of them.
It then prompts you to enter the slot number (in hex) of a vector to
hook. After entering this, the application will watch the hooked
vector and countdown from 0xFF to 0x00 as interrupts are noted.
When the counter reaches 0x00, the interrupt is unhooked and the
application terminates. The application can also be terminated by
pressing <esc>.
** Notes **
If your system is running without interrupts active, the application
will terminate immediately.
All slots have vectors even if the corresponding interrupt is not
doing anything. In this case, the vector is pointing to the "bad
interrupt" handler.
If you hook a vector that is not receiving any interrupts, the
down-counter will not do anything.
** Etymology* *
The `INTTEST` command is an original product and the source code is
provided in the RomWBW distribution.

View File

@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF kbdtest.asm kbdtest.com kbdtest.lst || exit /b
tasm -t180 -g3 -fFF kbdtest.asm kbdtest.com kbdtest.lst || exit /b
copy /Y kbdtest.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -5,6 +5,6 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF piomon.asm piomon.com piomon.lst || exit /b
tasm -t180 -g3 -fFF piomon.asm piomon.com piomon.lst || exit /b
copy /Y piomon.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF ppidetst.asm ppidetst.com ppidetst.lst || exit /b
tasm -t180 -g3 -fFF ppidetst.asm ppidetst.com ppidetst.lst || exit /b
copy /Y ppidetst.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -5,6 +5,6 @@ set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF ps2info.asm ps2info.com ps2info.lst || exit /b
tasm -t180 -g3 -fFF ps2info.asm ps2info.com ps2info.lst || exit /b
copy /Y ps2info.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -11,7 +11,6 @@
; WBW 2022-04-01: Add menu for test functions
; WBW 2022-04-02: Fix prtchr register saving/recovery
; WBW 2023-10-19: Add support for Duodyne
; WBW 2024-06-10: Add support for RC2014
;
;=======================================================================
;
@@ -26,10 +25,6 @@ iodat_rph .equ $8C ; PS/2 controller data port address
; Duodyne:
iocmd_duo .equ $4D ; PS/2 controller command port address
iodat_duo .equ $4C ; PS/2 controller data port address
; RC2014 (EP/Sally)
iocmd_rc .equ $64 ; PS/2 controller command port address
iodat_rc .equ $60 ; PS/2 controller data port address
;
cpumhz .equ 8 ; for time delay calculations (not critical)
;
@@ -92,8 +87,6 @@ setup1:
jr z,setup_rph
cp '3' ; Duodyne
jr z,setup_duo
cp '4' ; RC2014 EP/Sally
jr z,setup_rc
cp 'X'
jr z,exit
jr setup
@@ -122,14 +115,6 @@ setup_duo:
ld de,str_duo
jr setup2
;
setup_rc:
ld a,iocmd_rc
ld (iocmd),a
ld a,iodat_rc
ld (iodat),a
ld de,str_rc
jr setup2
;
setup2:
call prtstr
call crlf2
@@ -1452,18 +1437,16 @@ delay1:
; Constants
;=======================================================================
;
str_banner .db "PS/2 Keyboard/Mouse Information v0.9, 10-Jun-2024",0
str_banner .db "PS/2 Keyboard/Mouse Information v0.8, 6-Nov-2023",0
str_hwmenu .db "PS/2 Controller Port Options:\r\n\r\n"
.db " 1 - Nhyodyne\r\n"
.db " 2 - Rhyophyre\r\n"
.db " 3 - Duodyne\r\n"
.db " 4 - RC2014\r\n"
.db " X - Exit Application\r\n"
.db "\r\nSelection? ",0
str_mbc .db "Nhyodyne",0
str_rph .db "Rhyophyre",0
str_duo .db "Duodyne",0
str_rc .db "RC2014 (Saly)",0
str_menu .db "PS/2 Testing Options:\r\n\r\n"
.db " C - Test PS/2 Controller\r\n"
.db " K - Test PS/2 Keyboard\r\n"

View File

@@ -2,7 +2,7 @@ OBJECTS = ramtest.com
DEST = ../../../../Binary/Apps/Test
DOCDEST = ../../../../Doc
TOOLS = ../../../../Tools
OTHERS = *.bin
OTHERS = loader.bin dbgmon.bin
include $(TOOLS)/Makefile.inc
ramtest.com: loader.bin dbgmon.bin

View File

@@ -1,12 +0,0 @@
@echo off
setlocal
set TOOLS=../../../../Tools
set PATH=%TOOLS%\tasm32;%PATH%
set TASMTABS=%TOOLS%\tasm32
tasm -t80 -g3 -fFF sound.asm sound.com sound.lst || exit /b
tasm -t80 -g3 -fFF ay-test.asm ay-test.com ay-test.lst || exit /b
copy /Y sound.com ..\..\..\..\Binary\Apps\Test\ || exit /b
copy /Y ay-test.com ..\..\..\..\Binary\Apps\Test\ || exit /b

View File

@@ -1,6 +0,0 @@
@echo off
setlocal
if exist *.com del *.com
if exist *.lst del *.lst
if exist *.bin del *.bin

Some files were not shown because too many files have changed in this diff Show More