updates to dev

This commit is contained in:
Phillip Stevens
2021-02-09 17:30:49 +11:00
256 changed files with 20800 additions and 5537 deletions

View File

@@ -360,7 +360,7 @@ message.
## Etymology
The `SYSCOPY` command is an original product and the source code is
The `MODE` command is an original product and the source code is
provided in the RomWBW distribution.
`\clearpage`{=latex}
@@ -521,15 +521,20 @@ This application is provided by Will Sowerbutts.
*`<filename>`* is the filename of the ROM image file
Options: (access method is auto-detected by default)
FLASH4 will auto-detect most parameters so additional options should not
normally be required.
| `/PARTIAL`: Allow flashing a large ROM from a smaller image file
Options:
| `/V`: Enable verbose output (one line per sector)
| `/P` or `/PARTIAL`: Allow flashing a large ROM from a smaller image file
| `/ROM`: Allow read-only use of unknown chip types
| `/Z180DMA`: Force Z180 DMA engine
| `/UNABIOS`: Force UNA BIOS bank switching
| `/ROMWBW`: Force RomWBW (v2.6+) bank switching
| `/ROMWBWOLD`: Force RomWBW (v2.5 and earlier) bank switching
| `/P112`: Force P112 bank switching
| `/N8VEMSBC`: Force N8VEM SBC (v1, v2), Zeta (v1) SBC bank switching
## Usage
@@ -949,6 +954,24 @@ accurately pace the sound file output. If no system timer is
available, a delay loop is calculated instead. The delay loop will not
be as accurate as the system timer.
There are two modes of operations. A direct hardware interface for the
AY-3-8910 or YM2149 chips, or a compatibility layer thru HBIOS supporting
the SN76489 chip.
By default the application will attempt to interface directly to the sound
chip. The optional argument `--hbios` supplied after the filename, will
enable the application to use the HBIOS sound driver.
The HBIOS mode also support other switch as desribed below.
| Switch | Description |
| ----------- | ------------------------------------------------------ |
| `--hbios` | Utilise HBIOS' sound driver |
| `+t1` | Play tune an octave higher |
| `+t2` | Play tune two octaves higher |
| `-t1` | Play tune an octave lower |
| `-t2` | Play tune two octaves lower |
All RomWBW operating system boot disks include a selection of sound
files in user area 3.
@@ -960,4 +983,4 @@ software was adapted and embedded from pre-existing sources. The YM
player code is from MYMPLAY 0.4 by Lieves!Tuore and the PT player code
is (c)2004-2007 S.V.Bulba <vorobey@mail.khstu.ru>.
The source code is provided in the RomWBW distribution.
The source code is provided in the RomWBW distribution.

View File

@@ -410,6 +410,28 @@ require double-buffering if the callers buffer is in the lower 32K of CPU
address space. For optimal performance, such buffers should be placed in
the upper 32K of CPU address space.
Error Codes
-----------
The following error codes are defined generically for all HBIOS functions.
Most function calls will return a result in register A.
_Code_ | _Meaning_
------ | ---------
0 | function succeeded
-1 | undefined error
-2 | function not implemented
-3 | invalid function
-4 | invalid unit numberr
-5 | out of memory
-6 | parameter out of range
-7 | media not present
-8 | hardware not present
-9 | I/O error
-10 | write request to read-only media
-11 | device timeout
-12 | invalid configuration
`\clearpage`{=latex}
Character Input/Output (CIO)
@@ -536,6 +558,8 @@ unit. Register pair DE contains the line characteristics upon return.
| C: Serial Device Attributes
| D: Serial Device Type
| E: Serial Device Number
| H: Serial Device Unit Mode
| L: Serial Device Unit I/O Base Address
Reports information about the character device unit specified. Register C
indicates the device attributes: 0=RS-232 and 1=Terminal. Register D
@@ -563,7 +587,7 @@ _Id_ | _Device Type / Driver_
Disk Input/Output (DIO)
-----------------------
Character input/output functions require that a character unit be specified
Disk input/output functions require that a disk unit be specified
in the C register. This is the logical disk unit number assigned during
the boot process that identifies all disk i/o devices uniquely.
@@ -583,16 +607,18 @@ MID\_FD144 | 6 | 3.5" 1.44M Floppy
MID\_FD360 | 7 | 5.25" 360K Floppy
MID\_FD120 | 8 | 5.25" 1.2M Floppy
MID\_FD111 | 9 | 8" 1.11M Floppy
MID\_HDNEW | 10 | Hard Disk with 1024 Directory entries
### Function 0x10 -- Disk Status (DIOSTATUS)
| _Entry Parameters_
| B: 0x10
| C: Disk Device Unit ID
| _Exit Results_
| A: Status (0=OK, else error)
### Function 0x11 -- Disk Status (DIORESET)
### Function 0x11 -- Disk Reset (DIORESET)
| _Entry Parameters_
| B: 0x11
@@ -643,6 +669,7 @@ determine if the device supports LBA addressing.
| _Entry Parameters_
| B: 0x13
| C: Disk Device Unit ID
| D: Bank ID
| E: Block Count
| HL: Buffer Address
@@ -654,18 +681,18 @@ Read Block Count sectors to buffer address starting at current target
sector. Current sector must be established by prior seek function; however,
multiple read/write/verify function calls can be made after a seek
function. Current sector is incremented after each sector successfully
read. On error, current sector is sector is sector where error occurred.
read. On error, current sector is sector where error occurred.
Blocks read indicates number of sectors successfully read.
Caller must ensure: 1) buffer address is large enough to contain data for
all sectors requested, and 2) entire buffer area resides in upper 32K of
memory.
all sectors requested, and 2) does not cross a 32k memory bank boundary.
### Function 0x14 -- Disk Write (DIOWRITE)
| _Entry Parameters_
| B: 0x14
| C: Disk Device Unit ID
| D: Bank ID
| E: Block Count
| HL: Buffer Address
@@ -677,12 +704,10 @@ Write Block Count sectors to buffer address starting at current target
sector. Current sector must be established by prior seek function; however,
multiple read/write/verify function calls can be made after a seek
function. Current sector is incremented after each sector successfully
written. On error, current sector is sector is sector where error occurred.
written. On error, current sector is sector where error occurred.
Blocks written indicates number of sectors successfully written.
Caller must ensure: 1) buffer address is large enough to contain data for
all sectors being written, and 2) entire buffer area resides in upper 32K
of memory.
Caller must ensure the source buffer does not cross a 32k memory bank boundary.
### Function 0x15 -- Disk Verify (DIOVERIFY)
@@ -723,6 +748,8 @@ of memory.
| C: Attributes
| D: Device Type
| E: Device Number
| H: Disk Device Unit Mode
| L: Disk Device Unit I/O Base Address
Reports information about the character device unit specified. Register D
indicates the device type (driver) and register E indicates the physical
@@ -739,9 +766,9 @@ Bit 7: 1=Floppy, 0=Hard Disk (or similar, e.g. CF, SD, RAM)
| Bits 1-0: Reserved
| If Hard Disk:
| Bit 6: Removable\
| Bit 6: Removable
| Bits: 5-3: Type (0=Hard, 1=CF, 2=SD, 3=USB,
| 4=ROM, 5=RAM, 6=RAMF, 7=Reserved)
| 4=ROM, 5=RAM, 6=RAMF, 7=FLASH)
| Bits 2-0: Reserved
Each disk device is handled by an appropriate driver (IDE, SD,
@@ -792,7 +819,6 @@ function will return an error status.
| _Entry Parameters_
| B: 0x1A
| C: Disk Device Unit ID
| HL: Buffer Address
| _Exit Results_
| A: Status (0=OK, else error)
@@ -912,6 +938,53 @@ to by HL. HL must point to a location in the top 32K of CPU address space.
Write the entire contents of the Non-Volatile RAM from the buffer pointed
to by HL. HL must point to a location in the top 32K of CPU address space.
### Function 0x26 -- RTC Get Alarm (RTCGETALM)
| _Entry Parameters_
| B: 0x26
| _Exit Results_
| A: Status (0=OK, else error)
Documentation required...
### Function 0x27 -- RTC Set Alarm (RTCSETALM)
| _Entry Parameters_
| B: 0x27
| _Exit Results_
| A: Status (0=OK, else error)
Documentation required...
### Function 0x28 -- RTC DEVICE (RTCDEVICE)
| _Entry Parameters_
| B: 0x28
| C: RTC Device Unit ID
| _Exit Results_
| A: Status (0=OK, else error)
| D: Device Type
| E: Device Number
| H: RTC Device Unit Mode
| L: RTC Device Unit I/O Base Address
Reports information about the RTC device unit specified. Register D
indicates the device type (driver) and register E indicates the physical
device number assigned by the driver.
Each RTC device is handled by an appropriate driver (DSRTC, BQRTC,
etc.) which is identified by a device type id from the table below.
**Type ID** | **Disk Device Type**
----------- | --------------------
0x00 | DS1302
0x10 | BQ4845P
0x20 | SIMH
0x30 | System Periodic Timer
`\clearpage`{=latex}
Video Display Adapter (VDA)
@@ -1069,8 +1142,10 @@ Keyboard should be flushed.
| _Exit Results_
| A: Status (0=OK, else error)
| D=Device Type
| E=Device Number
| D: Device Type
| E: Device Number
| H: VDA Device Unit Mode
| L: VDA Device Unit I/O Base Address
Reports information about the video device unit specified.
@@ -1292,6 +1367,244 @@ codes as described at the start of this section.
`\clearpage`{=latex}
Sound (SND)
------------
### Function 0x50 -- Sound Reset (SNDRESET)
| _Entry Parameters_
| B: 0x50
| C: Audio Device Unit ID
| _Exit Results_
| A: Status (0=OK, else error)
Reset the sound chip. Turn off all sounds and set volume on all
channels to silence.
### Function 0x51 -- Sound Volume (SNDVOL)
| _Entry Parameters_
| B: 0x51
| C: Audio Device Unit ID
| L: Volume (00=Silence, FF=Maximum)
| _Exit Results_
| A: Status (0=OK, else error)
This function sets the sound chip volume parameter. The volume will
be applied when the next SNDPLAY function is invoked.
Note that not all sounds chips implement 256 volume levels. The
driver will scale the volume to the closest possible level the
chip provides.
### Function 0x52 -- Sound Period (SNDPRD)
| _Entry Parameters_
| B: 0x52
| C: Audio Device Unit ID
| HL: Period
| _Returned Values_
| A: Status (0=OK, else error)
This function sets the sound chip period parameter. The period will
be applied when the next SNDPLAY function is invoked.
The period value is a driver specific value. To play standardized
notes, use the SNDNOTE function. A higher value will generate a lower
note. The maximum value that can be used is driver specific. If value
supplied is beyond driver capabilities, register A will be set to $FF.
### Function 0x53 -- Sound Note (SNDNOTE)
| _Entry Parameters_
| B: 0x53
| C: Audio Device Unit ID
| HL: Value of note to play
| _Returned Values_
| A: Status (0=OK, else error)
This function sets the sound chip period parameter with steps of quarter
of a semitone. The value of 0 (lowest) corresponds to Bb/A# in octave 0.
Increase by steps of 4 to select the next corresponding note.
Increase by steps of 48 to select the same note in next octave.
If the driver is able to generate the requested note, a success (0) is
returned, otherwise a non-zero error state will be returned.
The sound chip resolution and its oscillator limit the range and
accuracy of the notes played. The typically range of the AY-3-8910
is six octaves, Bb2/A#2-A7, where each value is a unique tone. Values
above and below can still be played but each quarter tone step may not
result in a note change.
The following table shows the mapping of the input value in HL
to the corresponding octave and note.
| Note | Oct 0 | Oct 1 | Oct 2 | Oct 3 | Oct 4 | Oct 5 | Oct 6 | Oct 7 |
|:----- | -----:| -----:| -----:| -----:| -----:| -----:| -----:| -----:|
| Bb/A# | 0 | 48 | 96 | 144 | 192 | 240 | 288 | 336 |
| B | 4 | 52 | 100 | 148 | 196 | 244 | 292 | 340 |
| C | 8 | 56 | 104 | 152 | 200 | 248 | 296 | 344 |
| C#/Db | 12 | 60 | 108 | 156 | 204 | 252 | 300 | 348 |
| D | 16 | 64 | 112 | 160 | 208 | 256 | 304 | 352 |
| Eb/D# | 20 | 68 | 116 | 164 | 212 | 260 | 308 | 356 |
| E | 24 | 72 | 120 | 168 | 216 | 264 | 312 | 360 |
| F | 28 | 76 | 124 | 172 | 220 | 268 | 316 | 364 |
| F#/Gb | 32 | 80 | 128 | 176 | 224 | 272 | 320 | 368 |
| G | 36 | 84 | 132 | 180 | 228 | 276 | 324 | 372 |
| Ab/G# | 40 | 88 | 136 | 184 | 232 | 280 | 328 | 376 |
| A | 44 | 92 | 140 | 188 | 236 | 284 | 332 | 380 |
### Function 0x54 -- Sound Play SNDPLAY)
| _Entry Parameters_
| B: 0x54
| C: Audio Device Unit ID
| D: Channel
| _Returned Values_
| A: Status (0=OK, else error)
This function applies the previously specified volume and period by
programming the sound chip with the appropriate values. The values
are applied to the specified channel of the chip.
For example, to play a specific note on Audio Device UNit 0,
the following HBIOS calls would need to be made:
```
HBIOS B=51 C=00 L=80 ; Set volume to half level
HBIOS B=53 C=00 L=69 ; Select Middle C (C4) assuming SN76489
HBIOS B=54 C=00 D=01 ; Play note on Channel 1
```
### Function 0x55 -- Sound Query (SNDQUERY)
| _Entry Parameters_
| B: 0x55
| C: Audio Device Unit ID
| E: Subfunction
| _Returned Values_
| A: Status (0=OK, else error)
This function will return the status of the current pending command or
key aspects of the specific Audio Device.
#### SNDQUERY Subfunction 0x01 -- Get count of audio channels supported (SNDQ_CHCNT)
| _Entry Parameters_
| B: 0x55
| E: 0x01
| _Returned Values_
| A: Status (0=OK, else error)
| B: Count of standard tone channels
| C: Count of noise tone channels
#### SNDQUERY Subfunction 0x02 -- Get current volume setting (SNDQ_VOL)
| _Entry Parameters_
| B: 0x55
| E: 0x02
| _Returned Values_
| A: Status (0=OK, else error)
| H: 0
| L: Current volume setting
#### SNDQUERY Subfunction 0x03 -- Get current period setting (SNDQ_PERIOD)
| _Entry Parameters_
| B: 0x55
| E: 0x03
| _Returned Values_
| A: Status (0=OK, else error)
| HL: Current period setting
#### SNDQUERY Subfunction 0x04 -- Get device details (SNDQ_DEV)
| _Entry Parameters_
| B: 0x55
| E: 0x04
| _Returned Values_
| A: Status (0=OK, else error)
| B: Driver identity
| HL: Driver specific port settings
| DE: Driver specific port settings
Reports information about the audio device unit specified.
Register B reports the audio device type (see below).
Registers HL and DE contain relevant port addresses for the hardware
specific to each device type.
The currently defined audio device types are:
AUDIO ID | Value | Device | Returned registers
-------------- | ----- | ---------- | --------------------------------------------
SND_SN76489 | 0x01 | SN76489 | E: Left channel port, L: Right channel port
SND_AY38910 | 0x02 | AY-3-8910 | D: Address port, E: Data port
SND_BITMODE | 0x03 | I/O PORT | D: Address port, E: Bit mask
### Function 0x56 -- Sound Duration (SNDDUR)
| _Entry Parameters_
| B: 0x56
| C: Audio Device Unit ID
| HL: Duration
| _Returned Values_
| A: Status (0=OK, else error)
This function sets the duration of the note to be played in milliseconds.
If the duration is set to zero, then the play function will operate in a non-blocking
mode. i.e. a tone will start playing and the play function will return. The tone will
continue to play until the next tone is played. I/O PORT are not compatible and will
not play a note if the duration is zero.
For other values, when a tone is played, it will play for the duration defined in HL
and then return.
### Function 0x57 -- Sound Device (SNDDEVICE)
| _Entry Parameters_
| B: 0x57
| C: Sound Device Unit Number
| _Exit Results_
| A: Status (0=OK, else error)
| D: Serial Device Type
| E: Serial Device Number
| H: Serial Device Unit Mode
| L: Serial Device Unit I/O Base Address
Reports information about the sound device unit specified. Register D
indicates the device type (driver) and register E indicates the physical
device number assigned by the driver.
Each character device is handled by an appropriate driver (AY38910, SN76489,
etc.). The driver can be identified by the Device Type. The assigned Device
Types are listed below.
_Id_ | _Device Type / Driver_
---- | ----------------------
0x00 | SN76489
0x10 | AY38910
0x20 | BITMODE
`\clearpage`{=latex}
System (SYS)
------------
@@ -1299,13 +1612,47 @@ System (SYS)
| _Entry Parameters_
| B: 0xF0
| C: Subfunction (see below)
| _Exit Results_
| A: Status (0=OK, else error)
This function performs various forms of a system reset depending on
the value of the subfucntion. See subfunctions below.
#### SYSRESET Subfunction 0x00 -- Internal HBIOS Reset (RESINT)
| _Entry Parameters_
| BC: 0xF000
| _Returned Values_
| A: Status (0=OK, else error)
Perform a soft reset of HBIOS. Releases all HBIOS memory allocated by
current OS. Does not reinitialize physical devices.
#### SYSRESET Subfunction 0x01 -- Warm Start System (RESWARM)
| _Entry Parameters_
| BC: 0xF001
| _Returned Values_
| <none>
Warm start the system returning to the boot loader prompt. Does not
reinitialize physical devices.
#### SYSRESET Subfunction 0x02 -- Cold Start System (RESCOLD)
| _Entry Parameters_
| BC: 0xF002
| _Returned Values_
| <none>
Perform a system cold start (like a power on). All devices are
reinitialized.
### Function 0xF1 -- System Version (SYSVER)
| _Entry Parameters_
@@ -1462,6 +1809,32 @@ available along with the registers/information returned.
| A: Status (0=OK, else error)
| E: Count of Serial Device Units
#### SYSGET Subfunction 0x01 -- Get Serial Unit Function (CIOFN)
| _Entry Parameters_
| BC: 0xF801
| D: CIO Function
| E: Unit
| _Returned Values_
| A: Status (0=OK, else error)
| HL: Driver Function Address
| DE: Unit Data Address
This function will lookup the actual driver function address and
unit data address inside the HBIOS driver. On entry, place the
CIO function number to lookup in D and the CIO unit number in E.
On return, HL will contain the address of the requested function
in the HBIOS driver (in the HBIOS bank). DE will contain the
associated unit data address (also in the HBIOS bank). See
Appendix A for details.
This function can be used to speed up HBIOS calls by looking up the
function and data address for a specific driver function. After this,
the caller can use interbank calls directly to the function in the
driver which bypasses the overhead of the normal function invocation
lookup.
#### SYSGET Subfunction 0x10 -- Get Disk Device Unit Count (DIOCNT)
| _Entry Parameters_
@@ -1471,6 +1844,40 @@ available along with the registers/information returned.
| A: Status (0=OK, else error)
| E: Count of Disk Device Units
#### SYSGET Subfunction 0x11 -- Get Disk Unit Function (DIOFN)
| _Entry Parameters_
| BC: 0xF811
| D: DIO Function
| E: Unit
| _Returned Values_
| A: Status (0=OK, else error)
| HL: Driver Function Address
| DE: Unit Data Address
This function will lookup the actual driver function address and
unit data address inside the HBIOS driver. On entry, place the
DIO function number to lookup in D and the DIO unit number in E.
On return, HL will contain the address of the requested function
in the HBIOS driver (in the HBIOS bank). DE will contain the
associated unit data address (also in the HBIOS bank).
This function can be used to speed up HBIOS calls by looking up the
function and data address for a specific driver function. After this,
the caller can use interbank calls directly to the function in the
driver which bypasses the overhead of the normal function invocation
lookup.
#### SYSGET Subfunction 0x20 -- Get Disk Device Unit Count (RTCCNT)
| _Entry Parameters_
| BC: 0xF820
| _Returned Values_
| A: Status (0=OK, else error)
| E: Count of RTC Device Units
#### SYSGET Subfunction 0x40 -- Get Video Device Unit Count (VDACNT)
| _Entry Parameters_
@@ -1480,6 +1887,67 @@ available along with the registers/information returned.
| A: Status (0=OK, else error)
| E: Count of Video Device Units
#### SYSGET Subfunction 0x41 -- Get Video Unit Function (VDAFN)
| _Entry Parameters_
| BC: 0xF841
| D: VDA Function
| E: Unit
| _Returned Values_
| A: Status (0=OK, else error)
| HL: Driver Function Address
| DE: Unit Data Address
This function will lookup the actual driver function address and
unit data address inside the HBIOS driver. On entry, place the
VDA function number to lookup in D and the VDA unit number in E.
On return, HL will contain the address of the requested function
in the HBIOS driver (in the HBIOS bank). DE will contain the
associated unit data address (also in the HBIOS bank). See
Appendix A for details.
This function can be used to speed up HBIOS calls by looking up the
function and data address for a specific driver function. After this,
the caller can use interbank calls directly to the function in the
driver which bypasses the overhead of the normal function invocation
lookup.
#### SYSGET Subfunction 0x50 -- Get Sound Device Unit Count (SNDCNT)
| _Entry Parameters_
| BC: 0xF850
| _Returned Values_
| A: Status (0=OK, else error)
| E: Count of Sound Device Units
#### SYSGET Subfunction 0x51 -- Get Sound Unit Function (SNDFN)
| _Entry Parameters_
| BC: 0xF851
| D: SND Function
| E: Unit
| _Returned Values_
| A: Status (0=OK, else error)
| HL: Driver Function Address
| DE: Unit Data Address
This function will lookup the actual driver function address and
unit data address inside the HBIOS driver. On entry, place the
SND function number to lookup in D and the SND unit number in E.
On return, HL will contain the address of the requested function
in the HBIOS driver (in the HBIOS bank). DE will contain the
associated unit data address (also in the HBIOS bank). See
Appendix A for details.
This function can be used to speed up HBIOS calls by looking up the
function and data address for a specific driver function. After this,
the caller can use interbank calls directly to the function in the
driver which bypasses the overhead of the normal function invocation
lookup.
#### SYSGET Subfunction 0xD0 -- Get Timer Tick Count (TIMER)
| _Entry Parameters_
@@ -1488,6 +1956,7 @@ available along with the registers/information returned.
| _Returned Values_
| A: Status (0=OK, else error)
| DE:HL: Current Timer Tick Count Value
| C: Tick frequency (typically 50 or 60)
#### SYSGET Subfunction 0xD1 -- Get Seconds Count (SECONDS)
@@ -1573,7 +2042,6 @@ available along with the registers/information used as input.
| _Returned Values_
| A: Status (0=OK, else error)
#### SYSSET Subfunction 0xE0 -- Set Boot Information (BOOTINFO)
| _Entry Parameters_
@@ -1721,3 +2189,35 @@ On entry, register E must contain an index into the interrupt vector table
and register HL must contain the address of the new interrupt vector to
be inserted in the table at the index. On return, HL will contain the
previous address in the table at the index.
`\clearpage`{=latex}
### Appendix A Driver Instance Data fields
The following section outlines the read only data referenced by the
`SYSGET`, subfunctions `xxxFN` for specific drivers.
#### TMS9918 Driver:
| Name | Offset | Size (bytes)| Description |
|--------|--------|-------------|-------------|
| PPIA | 0 | 1 | PPI PORT A |
| PPIB | 1 | 1 | PPI PORT B |
| PPIC | 2 | 1 | PPI PORT C |
| PPIX | 3 | 1 | PPI CONTROL PORT |
| DATREG | 4 | 1 | IO PORT ADDRESS FOR MODE 0 |
| CMDREG | 5 | 1 | IO PORT ADDRESS FOR MODE 1 |
| The following are the register mirror values that HBIOS used for initialisation |
| REG. 0 | 6 | 1 | $00 - NO EXTERNAL VID
| REG. 1 | 7 | 1 | $50 or $70 - SET MODE 1 and interrupt if enabled |
| REG. 2 | 8 | 1 | $00 - PATTERN NAME TABLE := 0
| REG. 3 | 9 | 1 | $00 - NO COLOR TABLE
| REG. 4 | 10 | 1 | $01 - SET PATTERN GENERATOR TABLE TO $800
| REG. 5 | 11 | 1 | $00 - SPRITE ATTRIBUTE IRRELEVANT
| REG. 6 | 12 | 1 | $00 - NO SPRITE GENERATOR TABLE
| REG. 7 | 13 | 1 | $F0 - WHITE ON BLACK
| DCNTL* | 14 | 1 | Z180 DMA/WAIT CONTROL |
* ONLY PRESENT FOR Z180 BUILDS

830
Source/Doc/Catalog.md Normal file
View File

@@ -0,0 +1,830 @@
!include(Common.inc)
!def(document)(Disk Catalog)
!def(author)(Mykl Orders)
---
title: |
| !product
| Version !ver
|
| !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
documentclass: article
classoption:
- oneside
toc: true
papersize: letter
geometry:
- top=1.5in
- bottom=1.5in
- left=1.0in
- right=1.0in
# - showframe
linestretch: 1.25
colorlinks: true
fontfamily: helvet
fontsize: 12pt
header-includes:
- |
```{=latex}
\usepackage{fancyhdr}
\usepackage{xhfill}
\renewcommand*{\familydefault}{\sfdefault}
\setstretch{1.25} % for TOC
```
---
```{=latex}
\clearpage
\pagestyle{fancyplain}
\fancyhf{}
\pagenumbering{arabic}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill !product !document}}}
\lfoot{\small RetroBrew Computing Group ~~ {\xrfill[3pt]{1pt}[cyan]} ~~ \thepage}
```
`\clearpage`{=latex}
# RomWBW Distribution File Catalog
This document is a reference to the files found on the disk media
distributed with RomWBW. Specifically, RomWBW provides a set
of floppy and hard disk images in the Binary directory of the
distribution. The contents of these images is listed here.
The files on the disk images were sourced from a variety of locations.
The primary sources of these files are listed below. Note that the
primary documentation for each of these sources is listed. You are
strongly encouraged to refer to this documentation for more information
on using the applications and files listed.
## Sources
- **RomWBW**: RomWBW Custom Applications
Documentation: RomWBW Applications.pdf*
These files are custom applications built exclusively to enhance the
functionality of RomWBW. In some cases they are built from scratch
while others are customized versions of well known CP/M tools.
- **CPM22**: Digital Research CP/M-80 2.2 Distribution Files
Documentation: CPM Manual.pdf
These files are from the official Digital Research distribution
of CP/M 2.2. Applications have been patched according to the
DRI patch list.
- **ZSDOS**: ZSDOS 1.1 Disk Operating System Distribution Files
Documentation: *ZSDOS Manual.pdf*
These files are from the official ZSDOS 1.1 distribution. Some of
the files are redistributions of applications from other sources.
- **ZCPR**: ZCPR 1.0 Command Processor Distribution Files
Documentation: *ZCPR Manual.pdf*
These files are from the ZCPR 1.0 distribution.
- **NZCOM**: NZCOM Automatic Z-System Distribution Files
Documentation: *NZCOM Users Manual.pdf*
These files are from the last official release of NZCOM.
- **CPM3**: Digital Research CP/M 3 Distribution Files
Documentation: *CPM3 Users Guide.pdf*, *CPM3 System Guide.pdf*,
*CPM3 Programmers Guide.pdf*, *CPM3 Command Summary.pdf*
These files are from the official Digital Research distribution of
CP/M 3. Applications have been patched according to the DRI
patch list.
- **ZPM3**: Digital Research CP/M-80 2.2 Distribution Files
Documentation: *CPM Manual.pdf*
These files are from Simeon Cran's ZPM3 operating system distribution.
`\clearpage`{=latex}
# CPM 2.2 Boot Disk
| Floppy Disk Image: **fd_cpm22.img**
| Hard Disk Image: **hd_cpm22.img**
| Combo Disk Image: **Slice 0**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ASM.COM` | CPM22 | DRI 8080 Assembler |
| `CR.COM` | -- | Crunch archiver |
| `DDT.COM` | CPM22 | DRI Dynamic Debugger |
| `DDTZ.DOC` | -- | Z80 replacement for DDT |
| `DIRX.COM` | -- | Directory lister with file sizes |
| `DUMP.COM` | CPM22 | DRI type contents of disk file in hex |
| `ED.COM` | CPM22 | DRI context editor |
| `KERMIT.COM` | -- | Generic CP/M 2.2 Kermit communication application |
| `LBREXT.COM` | -- | Extract library files |
| `LIB.COM` | -- | DRI Library manager |
| `LINK.COM` | -- | DRI CPM relocatable linker |
| `LOAD.COM` | -- | DRI hex file loader into memory |
| `MAC.COM` | -- | DRI CPM macro assembler |
| `MBASIC.COM` | -- | Microsoft Basic |
| `PIP.COM` | CPM22 | DRI Periperal Interchange Program |
| `PMARC.COM` | -- | LHA file compressor |
| `PMEXT.COM` | -- | Extractor for PMARC archives |
| `RMAC.COM` | -- | DRI Relocatable Macro Assembler |
| `STAT.COM` | CPM22 | DRI statistices about file storage and device assignment |
| `SUBMIT.COM` | CPM22 | DRI batch processor |
| `UNCR.COM` | -- | NZCOM Uncrunch decompression |
| `UNZIP.COM` | -- | Extractor for ZIP archives |
| `XSUB.COM` | CPM22 | DRI eXtended submit |
| `ZSID.COM` | -- | DRI Z80 symbolic instruction debugger |
| `ASSIGN.COM` | RomWBW | RomWBW Drive/Slice mapper |
| `FAT.COM` | RomWBW | RomWBW FAT filesystem access |
| `FDU.COM` | RomWBW | RomWBW Floppy Disk Utility |
| `FORMAT.COM` | RomWBW | RomWBW media formatter (placeholder) |
| `INTTEST.COM` | RomWBW | RomWBW Interrupt test |
| `MODE.COM` | RomWBW | RomWBW Modify serial port characteristics |
| `RTC.COM` | RomWBW | RomWBW Display and set RTC |
| `SURVEY.COM` | RomWBW | System survey |
| `SYSCOPY.COM` | RomWBW | RomWBW Read/write system boot image |
| `SYSGEN.COM` | RomWBW | DRI CPM SYSGEN to put CPM onto a new drive |
| `TALK.COM` | RomWBW | RomWBW Direct console I/O to a serial port |
| `TIMER.COM` | RomWBW | RomWBW Display timer tick counter |
| `TUNE.COM` | RomWBW | RomWBW Play PT or MYM sound files |
| `XM.COM` | RomWBW | RomWBW XMODEM file transfer |
| `CPM.SYS` | RomWBW | CPM2.2 system image |
| `CLRDIR.COM` | -- | Max Scane's disk directory cleaner |
| `COMPARE.COM` | -- | FoxHollow compare two files |
| `DDTZ.COM` | -- | Z80 replacement for DDT |
| `FDISK80.COM` | -- | John Coffman's Partition editor for FAT filesystem |
| `FLASH.COM` | -- | Will Sowerbutts' in-situ EEPROM programmer |
| `NULU.COM` | -- | NZCOM new library utility |
| `UNARC.COM` | -- | Extractor for ARC archives |
| `ZAP.COM` | -- | Disk editor/patcher |
| `ZDE.COM` | -- | Z-system display editor |
| `ZDENST.COM` | -- | ZDE Installer |
| **User 1** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `SAMPKEY.DOC` | -- | ZDE Distribution File |
| `SAMPKEY.ZDK` | -- | ZDE Distribution File |
| `SAMPKEY.ZDT` | -- | ZDE Distribution File |
| `ZDE10.DOC` | -- | ZDE Distribution File |
| `ZDE10.FOR` | -- | ZDE Distribution File |
| `ZDE10.NEW` | -- | ZDE Distribution File |
| `ZDE10.QRF` | -- | ZDE Distribution File |
| `ZDE10.TOC` | -- | ZDE Distribution File |
| `ZDE13.FOR` | -- | ZDE Distribution File |
| `ZDE13.NEW` | -- | ZDE Distribution File |
| `ZDE16.COM` | -- | ZDE Distribution File |
| `ZDE16.DIR` | -- | ZDE Distribution File |
| `ZDE16.FIX` | -- | ZDE Distribution File |
| `ZDE16.FOR` | -- | ZDE Distribution File |
| `ZDE16.NEW` | -- | ZDE Distribution File |
| `ZDE16A.COM` | -- | ZDE Distribution File |
| `ZDE16A.PAT` | -- | ZDE Distribution File |
| `ZDENST16.COM` | -- | ZDE Distribution File |
| `ZDEPROP.DOC` | -- | ZDE Distribution File |
| `ZDEPROP.Z80` | -- | ZDE Distribution File |
| `ZDKCOM13.COM` | -- | ZDE Distribution File |
| `ZDKCOM13.DOC` | -- | ZDE Distribution File |
| **User 3** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ATTACK.PT3` | -- | Sound File |
| `BACKUP.PT3` | -- | Sound File |
| `BADMICE.PT3` | -- | Sound File |
| `DEMO.MYM` | -- | Sound File |
| `DEMO1.MYM` | -- | Sound File |
| `DEMO3.MYM` | -- | Sound File |
| `DEMO3MIX.MYM` | -- | Sound File |
| `DEMO4.MYM` | -- | Sound File |
| `HOWRU.PT3` | -- | Sound File |
| `ITERATN.PT3` | -- | Sound File |
| `LOOKBACK.PT3` | -- | Sound File |
| `LOUBOUTN.PT3` | -- | Sound File |
| `NAMIDA.PT3` | -- | Sound File |
| `RECOLL.PT3` | -- | Sound File |
| `SANXION.PT3` | -- | Sound File |
| `SYNCH.PT3` | -- | Sound File |
| `TOSTAR.PT3` | -- | Sound File |
| `VICTORY.PT3` | -- | Sound File |
| `WICKED.PT3` | -- | Sound File |
| `YEOLDE.PT3` | -- | Sound File |
| `YEOVIL.PT3` | -- | Sound File |
`\clearpage`{=latex}
# ZSDOS 1.1 Boot Disk
| Floppy Disk Image: **fd_zsdos.img**
| Hard Disk Image: **hd_zsdos.img**
| Combo Disk Image: **Slice 1**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ASM.COM` | CPM22 | DRI 8080 Assembler |
| `CLOCKS.DAT` | ZSDOS | ZSDOS Library of clock drivers |
| `COPY.CFG` | ZSDOS | ZSDOS Configuration file for COPY.COM |
| `COPY.COM` | ZSDOS | ZSDOS File copier with file dates and archiving |
| `COPY.UPD` | ZSDOS | ZSDOS ??? |
| `CR.COM` | -- | Crunch archiver |
| `DATSWEEP.COM` | ZSDOS | ZSDOS Comprehensive file management utility |
| `DDT.COM` | CPM22 | DRI Dynamic Debugger |
| `DDTZ.DOC` | -- | Z80 replacement for DDT |
| `DIRX.COM` | -- | Directory lister with file sizes |
| `DSCONFIG.COM` | ZSDOS | ZSDOS DATSWEEP configuration tool |
| `DUMP.COM` | CPM22 | DRI type contents of disk file in hex |
| `ED.COM` | CPM22 | DRI context editor |
| `FA16.CFG` | ZSDOS | ZSDOS FILEATTR.COM v1.6 configuration file |
| `FA16.DOC` | ZSDOS | ZSDOS FILEATTR.COM v1.6 documentation |
| `FA16A.FOR` | ZSDOS | ZSDOS FILEATTR.COM v1.6a information |
| `FA16CFG.TXT` | ZSDOS | ZSDOS FILEATTR.COM v1.6 configuration instructions |
| `FILEATTR.COM` | ZSDOS | ZSDOS Modify file attributes |
| `FILEDATE.CFG` | ZSDOS | ZSDOS Configuration file for FILEDATE.COM |
| `FILEDATE.COM` | ZSDOS | ZSDOS Disk directory that allows sorting and selecting by date and name |
| `FILEDATE.COM` | ZSDOS | ZSDOS Disk directory that allows sorting and selecting by date and name |
| `INITDIR.CFG` | ZSDOS | ZSDOS Configuration file for INITDIR.COM |
| `INITDIR.COM` | ZSDOS | ZSDOS Prepare disks for P2DOS Stamps |
| `KERMIT.COM` | -- | Generic CP/M 2.2 Kermit communication application |
| `LBREXT.COM` | -- | Extract library files |
| `LDDS.COM` | ZSDOS | Clock driver |
| `LDNZT.COM` | ZSDOS | Clock driver |
| `LDP2D.COM` | ZSDOS | Clock driver |
| `LIB.COM` | -- | DRI Library manager |
| `LINK.COM` | -- | DRI CPM relocatable linker |
| `LOAD.COM` | -- | DRI hex file loader into memory |
| `MAC.COM` | -- | DRI CPM macro assembler |
| `MBASIC.COM` | -- | Microsoft Basic |
| `PIP.COM` | CPM22 | DRI Periperal Interchange Program |
| `PMARC.COM` | -- | LHA file compressor |
| `PMEXT.COM` | -- | Extractor for PMARC archives |
| `PUTBG.COM` | ZSDOS | ZSDOS Prepare disk for backgrounder |
| `PUTDS.COM` | ZSDOS | ZSDOS Prepare disk for datestamper |
| `RELOG.COM` | ZSDOS | ZSDOS relog disks after program that bypasses BDOS |
| `RMAC.COM` | -- | DRI Relocatable Macro Assembler |
| `SETTERM.COM` | ZSDOS | ZSDOS Installs terminal control codes into DateSamper utilities |
| `SETUPZST.COM` | ZSDOS | ZSDOS Select clock driver |
| `STAMPS.DAT` | ZSDOS | ZSDOS Library of stamping routines |
| `STAT.COM` | CPM22 | DRI statistices about file storage and device assignment |
| `SUBMIT.COM` | CPM22 | DRI batch processor |
| `SUPERSUB.COM` | ZSDOS | |
| `TD.CFG` | ZSDOS | ZSDOS Configuration file for TD.COM |
| `TD.COM` | ZSDOS | ZSDOS Time/Date utility |
| `TERMBASE.DAT` | ZSDOS | ZSDOS Terminal information library for SETTERM |
| `TESTCLOK.COM` | ZSDOS | ZSDOS Test various clock drivers |
| `UNCR.COM` | -- | NZCOM Uncrunch decompression |
| `UNZIP.COM` | -- | Extractor for ZIP archives |
| `XSUB.COM` | CPM22 | DRI eXtended submit |
| `ZCAL.COM` | ZSDOS | ZSDOS Show month calendar |
| `ZCNFG.COM` | ZSDOS | ZSDOS Configure various utilities |
| `ZCNFG24.CFG` | ZSDOS | ZSDOS Configuration file for ZCNFG.COM |
| `ZPATH.COM` | ZSDOS | ZSDOS Set BDOS and/or ZCPR command path |
| `ZSCONFIG.COM` | ZSDOS | ZSDOS Dynamically regulate many of ZSDOS features |
| `ZSID.COM` | -- | DRI Z80 symbolic instruction debugger |
| `ZSVSTAMP.COM` | ZSDOS | ZSDOS Save/restore file timestamp |
| `ZSVSTAMP.DOC` | ZSDOS | ZSDOS ZSVSTAMP.COM documentation |
| `ZXD.CFG` | ZSDOS | ZSDOS Configuration file for ZXD.COM |
| `ZXD.COM` | ZSDOS | ZSDOS Extended directory utility |
| `ASSIGN.COM` | RomWBW | RomWBW Drive/Slice mapper |
| `FAT.COM` | RomWBW | RomWBW FAT filesystem access |
| `FDU.COM` | RomWBW | RomWBW Floppy Disk Utility |
| `FORMAT.COM` | RomWBW | RomWBW media formatter (placeholder) |
| `INTTEST.COM` | RomWBW | RomWBW Interrupt test |
| `MODE.COM` | RomWBW | RomWBW Modify serial port characteristics |
| `RTC.COM` | RomWBW | RomWBW Display and set RTC |
| `SURVEY.COM` | RomWBW | System survey |
| `SYSCOPY.COM` | RomWBW | RomWBW Read/write system boot image |
| `SYSGEN.COM` | RomWBW | DRI CPM SYSGEN to put CPM onto a new drive |
| `TALK.COM` | RomWBW | RomWBW Direct console I/O to a serial port |
| `TIMER.COM` | RomWBW | RomWBW Display timer tick counter |
| `TUNE.COM` | RomWBW | RomWBW Play PT or MYM sound files |
| `XM.COM` | RomWBW | RomWBW XMODEM file transfer |
| `ZSYS.SYS` | RomWBW | ZSDOS system image |
| `CLRDIR.COM` | -- | Max Scane's disk directory cleaner |
| `COMPARE.COM` | -- | FoxHollow compare two files |
| `DDTZ.COM` | -- | Z80 replacement for DDT |
| `FDISK80.COM` | -- | John Coffman's Partition editor for FAT filesystem |
| `FLASH.COM` | -- | Will Sowerbutts' in-situ EEPROM programmer |
| `NULU.COM` | -- | NZCOM new library utility |
| `UNARC.COM` | -- | Extractor for ARC archives |
| `ZAP.COM` | -- | Disk editor/patcher |
| `ZDE.COM` | -- | Z-system display editor |
| `ZDENST.COM` | -- | ZDE Installer |
| **User 1** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `SAMPKEY.DOC` | -- | ZDE Distribution File |
| `SAMPKEY.ZDK` | -- | ZDE Distribution File |
| `SAMPKEY.ZDT` | -- | ZDE Distribution File |
| `ZDE10.DOC` | -- | ZDE Distribution File |
| `ZDE10.FOR` | -- | ZDE Distribution File |
| `ZDE10.NEW` | -- | ZDE Distribution File |
| `ZDE10.QRF` | -- | ZDE Distribution File |
| `ZDE10.TOC` | -- | ZDE Distribution File |
| `ZDE13.FOR` | -- | ZDE Distribution File |
| `ZDE13.NEW` | -- | ZDE Distribution File |
| `ZDE16.COM` | -- | ZDE Distribution File |
| `ZDE16.DIR` | -- | ZDE Distribution File |
| `ZDE16.FIX` | -- | ZDE Distribution File |
| `ZDE16.FOR` | -- | ZDE Distribution File |
| `ZDE16.NEW` | -- | ZDE Distribution File |
| `ZDE16A.COM` | -- | ZDE Distribution File |
| `ZDE16A.PAT` | -- | ZDE Distribution File |
| `ZDENST16.COM` | -- | ZDE Distribution File |
| `ZDEPROP.DOC` | -- | ZDE Distribution File |
| `ZDEPROP.Z80` | -- | ZDE Distribution File |
| `ZDKCOM13.COM` | -- | ZDE Distribution File |
| `ZDKCOM13.DOC` | -- | ZDE Distribution File |
| **User 3** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ATTACK.PT3` | -- | Sound File |
| `BACKUP.PT3` | -- | Sound File |
| `BADMICE.PT3` | -- | Sound File |
| `DEMO.MYM` | -- | Sound File |
| `DEMO1.MYM` | -- | Sound File |
| `DEMO3.MYM` | -- | Sound File |
| `DEMO3MIX.MYM` | -- | Sound File |
| `DEMO4.MYM` | -- | Sound File |
| `HOWRU.PT3` | -- | Sound File |
| `ITERATN.PT3` | -- | Sound File |
| `LOOKBACK.PT3` | -- | Sound File |
| `LOUBOUTN.PT3` | -- | Sound File |
| `NAMIDA.PT3` | -- | Sound File |
| `RECOLL.PT3` | -- | Sound File |
| `SANXION.PT3` | -- | Sound File |
| `SYNCH.PT3` | -- | Sound File |
| `TOSTAR.PT3` | -- | Sound File |
| `VICTORY.PT3` | -- | Sound File |
| `WICKED.PT3` | -- | Sound File |
| `YEOLDE.PT3` | -- | Sound File |
| `YEOVIL.PT3` | -- | Sound File |
`\clearpage`{=latex}
# NZCOM Boot Disk
| Floppy Disk Image: **fd_nzcom.img**
| Hard Disk Image: **hd_nzcom.img**
| Combo Disk Image: **Slice 2**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `!(C)1988` | NZCOM | |
| `!NZ-COM` | NZCOM | |
| `!VERS--1.2H` | NZCOM | |
| `ALIAS.CMD` | NZCOM | NZCOM Aliases file for ARUNZ.COM |
| `ARUNZ.COM` | NZCOM | NZCOM Invoke an alias in ALIAS.CMD |
| `BGZRDS19.LBR` | NZCOM | |
| `CLEDINST.COM` | NZCOM | Command line editing and history shell installer |
| `CLEDSAVE.COM` | NZCOM | Write command line history to disk |
| `CONFIG.LBR` | NZCOM | |
| `COPY.COM` | NZCOM | ZSDOS File copier with file dates and archiving |
| `CPSET.COM` | NZCOM | NZCOM Create multiple definitions for CRT and PRT |
| `CRUNCH.COM` | NZCOM | NZCOM Text compression |
| `DOCFILES.LBR` | NZCOM | |
| `EDITNDR.COM` | NZCOM | NZCOM Associate names with directories |
| `FCP.LBR` | NZCOM | NZCOM ??? Flow control |
| `FF.COM` | NZCOM | NZCOM File finder |
| `HELP.COM` | NZCOM | DRI CPM+ |
| `HLPFILES.LBR` | NZCOM | |
| `IF.COM` | NZCOM | NZCOM Flow condition tester for FCP |
| `JETLDR.COM` | NZCOM | NZCOM General-purpose module loader |
| `KERMIT.COM` | -- | Generic CP/M 2.2 Kermit communication application |
| `LBREXT.COM` | NZCOM | Extract library files |
| `LBRHELP.COM` | NZCOM | |
| `LDIR.COM` | NZCOM | NZCOM Display the directory of a library |
| `LPUT.COM` | NZCOM | NZCOM Put files into a library |
| `LSH-HELP.COM` | NZCOM | |
| `LSH.COM` | NZCOM | |
| `LSH.WZ` | NZCOM | |
| `LSHINST.COM` | NZCOM | |
| `LX.COM` | NZCOM | NZCOM Extract and execute a memeber of a library |
| `MKZCM.COM` | NZCOM | NZCOM NZCOM system defining utility |
| `NAME.COM` | NZCOM | NZCOM Name a drive/user |
| `NZ-DBASE.INF` | NZCOM | NZCOM Dbase information |
| `NZBLITZ.COM` | NZCOM | |
| `NZBLTZ14.CFG` | NZCOM | |
| `NZBLTZ14.HZP` | NZCOM | |
| `NZCOM.COM` | NZCOM | NZCOM system loader from CP/M |
| `NZCOM.LBR` | NZCOM | NZCOM Library of NZCOM system modules |
| `NZCPR.LBR` | NZCOM | NZCOM Default command processor |
| `PATH.COM` | NZCOM | NZCOM Set/display command search path |
| `PUBLIC.COM` | NZCOM | |
| `PWD.COM` | NZCOM | |
| `RCP.LBR` | NZCOM | NZCOM Resident command package |
| `RELEASE.NOT` | NZCOM | |
| `SAINST.COM` | NZCOM | |
| `SALIAS.COM` | NZCOM | NZCOM Screen alias |
| `SAVENDR.COM` | NZCOM | NZCOM Save named directory assignments to a file |
| `SDZ.COM` | NZCOM | NZCOM Super directory |
| `SHOW.COM` | NZCOM | NZCOM Show resident commands |
| `SUB.COM` | NZCOM | |
| `SUBMIT.COM` | -- | DRI batch processor |
| `TCAP.LBR` | NZCOM | NZCOM Terminal capability descriptor library |
| `TCJ.INF` | NZCOM | |
| `TCJ25.WZ` | NZCOM | |
| `TCJ26.WZ` | NZCOM | |
| `TCJ27.WZ` | NZCOM | |
| `TCJ28.WZ` | NZCOM | |
| `TCJ29.WZ` | NZCOM | |
| `TCJ30.WZ` | NZCOM | |
| `TCJ31UPD.WZ` | NZCOM | |
| `TCJ32.WZ` | NZCOM | |
| `TCJ33UPD.WZ` | NZCOM | |
| `TCSELECT.COM` | NZCOM | NZCOM Create terminal capability file |
| `TY3ERA.COM` | NZCOM | NZCOM Type-3 transient program to erase a file |
| `TY3REN.COM` | NZCOM | NZCOM Type-3 transient program to rename a file |
| `TY4ERA.COM` | NZCOM | NZCOM Type-4 transient program to erase a file |
| `TY4REN.COM` | NZCOM | NZCOM Type-4 transient program to rename a file |
| `TY4SAVE.COM` | NZCOM | NZCOM Type-4 transient program to save memory to a file |
| `TY4SP.COM` | NZCOM | NZCOM Type-4 transient program ti display disk space |
| `UNCRUNCH.COM` | NZCOM | NZCOM Text decompressor |
| `VIEW.COM` | NZCOM | |
| `XTCAP.COM` | NZCOM | |
| `Z3LOC.COM` | NZCOM | NZCOM Display the addresses of the ZCPR3 CCP, BDOS, and BIOS |
| `Z3TCAP.TCP` | NZCOM | NZCOM Database of terminal descriptors |
| `ZCNFG.COM` | NZCOM | ZSDOS Configure various utilities |
| `ZERR.COM` | NZCOM | |
| `ZEX.COM` | NZCOM | NZCOM Memory-based batch processor |
| `ZF-DIM.COM` | NZCOM | NZCOM ZFILER shell for dim-video terminals |
| `ZF-REV.COM` | NZCOM | NZCOM ZFILER shell for reverse-video terminals |
| `ZFILEB38.LZT` | NZCOM | |
| `ZFILER.CMD` | NZCOM | NZCOM Macro script file for ZFILER |
| `ZHELPERS.LZT` | NZCOM | |
| `ZLT.COM` | NZCOM | |
| `ZNODES66.LZT` | NZCOM | |
| `ZSDOS.ZRL` | NZCOM | |
| `ZSYSTEM.IZF` | NZCOM | |
| `ASSIGN.COM` | RomWBW | RomWBW Drive/Slice mapper |
| `FAT.COM` | RomWBW | RomWBW FAT filesystem access |
| `FDU.COM` | RomWBW | RomWBW Floppy Disk Utility |
| `FORMAT.COM` | RomWBW | RomWBW media formatter (placeholder) |
| `INTTEST.COM` | RomWBW | RomWBW Interrupt test |
| `MODE.COM` | RomWBW | RomWBW Modify serial port characteristics |
| `RTC.COM` | RomWBW | RomWBW Display and set RTC |
| `SURVEY.COM` | RomWBW | System survey |
| `SYSCOPY.COM` | RomWBW | RomWBW Read/write system boot image |
| `SYSGEN.COM` | RomWBW | DRI CPM SYSGEN to put CPM onto a new drive |
| `TALK.COM` | RomWBW | RomWBW Direct console I/O to a serial port |
| `TIMER.COM` | RomWBW | RomWBW Display timer tick counter |
| `TUNE.COM` | RomWBW | RomWBW Play PT or MYM sound files |
| `XM.COM` | RomWBW | RomWBW XMODEM file transfer |
| `CPM.SYS` | RomWBW | |
| `ZSYS.SYS` | RomWBW | |
| `CLRDIR.COM` | -- | Max Scane's disk directory cleaner |
| `COMPARE.COM` | -- | FoxHollow compare two files |
| `DDTZ.COM` | -- | Z80 replacement for DDT |
| `FDISK80.COM` | -- | John Coffman's Partition editor for FAT filesystem |
| `FLASH.COM` | -- | Will Sowerbutts' in-situ EEPROM programmer |
| `NULU.COM` | -- | NZCOM new library utility |
| `UNARC.COM` | -- | Extractor for ARC archives |
| `ZAP.COM` | -- | Disk editor/patcher |
| `ZDE.COM` | -- | Z-system display editor |
| `ZDENST.COM` | -- | ZDE Installer |
| **User 3** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ATTACK.PT3` | -- | Sound File |
| `BACKUP.PT3` | -- | Sound File |
| `BADMICE.PT3` | -- | Sound File |
| `DEMO.MYM` | -- | Sound File |
| `DEMO1.MYM` | -- | Sound File |
| `DEMO3.MYM` | -- | Sound File |
| `DEMO3MIX.MYM` | -- | Sound File |
| `DEMO4.MYM` | -- | Sound File |
| `HOWRU.PT3` | -- | Sound File |
| `ITERATN.PT3` | -- | Sound File |
| `LOOKBACK.PT3` | -- | Sound File |
| `LOUBOUTN.PT3` | -- | Sound File |
| `NAMIDA.PT3` | -- | Sound File |
| `RECOLL.PT3` | -- | Sound File |
| `SANXION.PT3` | -- | Sound File |
| `SYNCH.PT3` | -- | Sound File |
| `TOSTAR.PT3` | -- | Sound File |
| `VICTORY.PT3` | -- | Sound File |
| `WICKED.PT3` | -- | Sound File |
| `YEOLDE.PT3` | -- | Sound File |
| `YEOVIL.PT3` | -- | Sound File |
`\clearpage`{=latex}
# CP/M 3 Boot Disk
| Floppy Disk Image: **fd_cpm3.img**
| Hard Disk Image: **hd_cpm3.img**
| Combo Disk Image: **Slice 3**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `DATE.COM` | CPM3 | DRI CPM+ Set or display the date and time |
| `DEVICE.COM` | CPM3 | DRI CPM+ Assign logical devices with one or more physical devices |
| `DIR.COM` | CPM3 | DRI CPM+ DIR with options |
| `DUMP.COM` | CPM3 | DRI type contents of disk file in hex |
| `ED.COM` | CPM3 | DRI context editor |
| `ERASE.COM` | CPM3 | DRI file deletion |
| `GENCOM.COM` | CPM3 | DRI CPM+ Generate special COM file with attached RSX files |
| `GET.COM` | CPM3 | DRI CPM+ Temporarily get console input form a disk file |
| `HELP.COM` | CPM3 | DRI CPM+ Display information on how to use commands |
| `HELP.HLP` | CPM3 | DRI CPM+ Databse of help information for HELP.COM |
| `HEXCOM.CPM` | CPM3 | DRI CPM+ Create a COM file from a nex file output by MAC |
| `INITDIR.COM` | CPM3 | DRI CPM+ Initializes a disk to allow time and date stamping |
| `KERMIT.COM` | -- | Generic CP/M 3 Kermit communication application |
| `PATCH.COM` | CPM3 | DRI CPM+ Display or install patch to the CPM+ system or command files |
| `PIP.COM` | CPM3 | DRI Periperal Interchange Program |
| `PUT.COM` | CPM3 | DIR CPM+ Temporarily redirect printer or console output to a disk file |
| `RENAME.COM` | CPM3 | DRI CPM+ Rename a file |
| `ROMWBW.TXT` | RomWBW | |
| `SAVE.COM` | CPM3 | DRI CPM+ Copy the contents of memory to a file |
| `SET.COM` | CPM3 | DIR CPM+ Set file options |
| `SETDEF.COM` | CPM3 | DIR CPM+ Set system options including the drive search chain |
| `SHOW.COM` | CPM3 | DIR CPM+ Display disk and drive statistics |
| `SUBMIT.COM` | CPM3 | DRI batch processor |
| `TYPE.COM` | CPM3 | DIR CPM+ Display the contents of an ASCII character file |
| `ZSID.COM` | CPM3 | DRI Z80 symbolic instruction debugger |
| `CPMLDR.COM` | RomWBW | DRI CPM 3.0 loader |
| `CPMLDR.SYS` | RomWBW | DRI CPM 3.0 loader |
| `CCP.COM` | CPM3 | DRI CPM+ Console Command Processor |
| `GENCPM.COM` | CPM3 | DRI CPM+ Create a memory image of CPM3.SYS |
| `GENRES.DAT` | RomWBW | |
| `GENBNK.DAT` | RomWBW | |
| `BIOS3.SPR` | RomWBW | DRI CPM+ GENCPM input file for non-banked BIOS |
| `BNKBIOS3.SPR` | RomWBW | DRI CPM+ GENCPM input file for banked BIOS |
| `BDOS3.SPR` | CPM3 | DRI CPM+ GENCPM input file for the non-banked BDOS |
| `BNKBDOS3.SPR` | CPM3 | DRI CPM+ GENCPM input file for banked BDOS |
| `RESBDOS3.SPR` | CPM3 | DRI CPM+ GENCPM input file for resident BDOS |
| `CPM3RES.SYS` | RomWBW | DRI CPM+ (non-banked) memory image |
| `CPM3BNK.SYS` | RomWBW | DRI CPM+ (banked) memory image |
| `GENCPM.DAT` | RomWBW | DRI CPM+ System generation tool data file |
| `CPM3.SYS` | RomWBW | DRI CPM+ (non-banked) memory image |
| `README.1ST` | CPM3 | |
| `CPM3FIX.PAT` | CPM3 | |
| `ASSIGN.COM` | RomWBW | RomWBW Drive/Slice mapper |
| `FAT.COM` | RomWBW | RomWBW FAT filesystem access |
| `FDU.COM` | RomWBW | RomWBW Floppy Disk Utility |
| `FORMAT.COM` | RomWBW | RomWBW media formatter (placeholder) |
| `INTTEST.COM` | RomWBW | RomWBW Interrupt test |
| `MODE.COM` | RomWBW | RomWBW Modify serial port characteristics |
| `RTC.COM` | RomWBW | RomWBW Display and set RTC |
| `SURVEY.COM` | RomWBW | System survey |
| `SYSCOPY.COM` | RomWBW | RomWBW Read/write system boot image |
| `SYSGEN.COM` | RomWBW | DRI CPM SYSGEN to put CPM onto a new drive |
| `TALK.COM` | RomWBW | RomWBW Direct console I/O to a serial port |
| `TIMER.COM` | RomWBW | RomWBW Display timer tick counter |
| `TUNE.COM` | RomWBW | RomWBW Play PT or MYM sound files |
| `XM.COM` | RomWBW | RomWBW XMODEM file transfer |
| `CLRDIR.COM` | -- | Max Scane's disk directory cleaner |
| `COMPARE.COM` | -- | FoxHollow compare two files |
| `DDTZ.COM` | -- | Z80 replacement for DDT |
| `FDISK80.COM` | -- | John Coffman's Partition editor for FAT filesystem |
| `FLASH.COM` | -- | Will Sowerbutts' in-situ EEPROM programmer |
| `NULU.COM` | -- | NZCOM new library utility |
| `UNARC.COM` | -- | Extractor for ARC archives |
| `ZAP.COM` | -- | Disk editor/patcher |
| `ZDE.COM` | -- | Z-system display editor |
| `ZDENST.COM` | -- | ZDE Installer |
| **User 3** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ATTACK.PT3` | -- | Sound File |
| `BACKUP.PT3` | -- | Sound File |
| `BADMICE.PT3` | -- | Sound File |
| `DEMO.MYM` | -- | Sound File |
| `DEMO1.MYM` | -- | Sound File |
| `DEMO3.MYM` | -- | Sound File |
| `DEMO3MIX.MYM` | -- | Sound File |
| `DEMO4.MYM` | -- | Sound File |
| `HOWRU.PT3` | -- | Sound File |
| `ITERATN.PT3` | -- | Sound File |
| `LOOKBACK.PT3` | -- | Sound File |
| `LOUBOUTN.PT3` | -- | Sound File |
| `NAMIDA.PT3` | -- | Sound File |
| `RECOLL.PT3` | -- | Sound File |
| `SANXION.PT3` | -- | Sound File |
| `SYNCH.PT3` | -- | Sound File |
| `TOSTAR.PT3` | -- | Sound File |
| `VICTORY.PT3` | -- | Sound File |
| `WICKED.PT3` | -- | Sound File |
| `YEOLDE.PT3` | -- | Sound File |
| `YEOVIL.PT3` | -- | Sound File |
`\clearpage`{=latex}
# ZPM3 Boot Disk
| Floppy Disk Image: **fd_zpm3.img**
| Hard Disk Image: **hd_zpm3.img**
| Combo Disk Image: **Slice 4**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `HELP.HLP` | ZPM3 | |
| `ROMWBW.TXT` | RomWBW | |
| `ZPMLDR.COM` | RomWBW | |
| `ZPMLDR.SYS` | RomWBW | |
| `CPMLDR.COM` | RomWBW | |
| `CPMLDR.SYS` | RomWBW | |
| `CPM3.SYS` | RomWBW | |
| `ZCCP.COM` | ZPM3 | |
| `ZINSTAL.ZPM` | ZPM3 | |
| `STARTZPM.COM` | ZPM3 | |
| `MAKEDOS.COM` | ZPM3 | |
| `GENCPM.DAT` | RomWBW | |
| `BNKBIOS3.SPR` | RomWBW | |
| `BNKBDOS3.SPR` | ZPM3 | |
| `RESBDOS3.SPR` | ZPM3 | |
| **User 3** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ATTACK.PT3` | -- | Sound File |
| `BACKUP.PT3` | -- | Sound File |
| `BADMICE.PT3` | -- | Sound File |
| `DEMO.MYM` | -- | Sound File |
| `DEMO1.MYM` | -- | Sound File |
| `DEMO3.MYM` | -- | Sound File |
| `DEMO3MIX.MYM` | -- | Sound File |
| `DEMO4.MYM` | -- | Sound File |
| `HOWRU.PT3` | -- | Sound File |
| `ITERATN.PT3` | -- | Sound File |
| `LOOKBACK.PT3` | -- | Sound File |
| `LOUBOUTN.PT3` | -- | Sound File |
| `NAMIDA.PT3` | -- | Sound File |
| `RECOLL.PT3` | -- | Sound File |
| `SANXION.PT3` | -- | Sound File |
| `SYNCH.PT3` | -- | Sound File |
| `TOSTAR.PT3` | -- | Sound File |
| `VICTORY.PT3` | -- | Sound File |
| `WICKED.PT3` | -- | Sound File |
| `YEOLDE.PT3` | -- | Sound File |
| `YEOVIL.PT3` | -- | Sound File |
| **User 10** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ALIAS.HLP` | -- | |
| `HP-RPN.HLP` | -- | |
| `HP-ZP.HLP` | -- | |
| `IF.HLP` | -- | |
| `MENU.HLP` | -- | |
| `VLU.HLP` | -- | |
| `ZFHIST.HLP` | -- | |
| `ZFILER.HLP` | -- | |
| `ZFMACRO.HLP` | -- | |
| `ZP.HLP` | -- | |
| **User 14** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `COPY.CFG` | -- | |
| `ERASE.CFG` | -- | |
| `HELPC15.CFG` | -- | |
| `ZCNFG24.CFG` | -- | |
| `ZEX.CFG` | -- | |
| `ZF11.CFG` | -- | |
| `ZP17.CFG` | -- | |
| **User 15** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ALIAS.COM` | -- | |
| `ARUNZ.COM` | -- | |
| `COPY.COM` | -- | |
| `DATE.COM` | CPM3 | |
| `DEV.COM` | -- | |
| `DEVICE.COM` | CPM3 | |
| `DIR.COM` | CPM3 | |
| `DISKINFO.COM` | -- | |
| `DU.COM` | -- | |
| `DUMP.COM` | CPM3 | |
| `ED.COM` | CPM3 | |
| `ERASE.COM` | CPM3 | |
| `GENCOM.COM` | CPM3 | |
| `GENCPM.COM` | CPM3 | |
| `GET.COM` | CPM3 | |
| `GOTO.COM` | -- | |
| `HELP.COM` | CPM3 | |
| `HEXCOM.COM` | CPM3 | |
| `IF.COM` | -- | |
| `INITDIR.COM` | CPM3 | |
| `KERMIT.COM` | CPM3 | |
| `LBREXT.COM` | -- | |
| `LIB.COM` | -- | |
| `LINK.COM` | -- | |
| `LOADSEG.COM` | -- | |
| `MAC.COM` | -- | |
| `MBASIC.COM` | -- | |
| `NAMES.NDR` | -- | |
| `PATCH.COM` | CPM3 | |
| `PIP.COM` | CPM3 | |
| `PUT.COM` | CPM3 | |
| `REMOVE.COM` | -- | |
| `RENAME.COM` | CPM3 | |
| `RMAC.COM` | -- | |
| `RSXDIR.COM` | -- | |
| `SAINST.COM` | -- | |
| `SALIAS.COM` | -- | |
| `SAVE.COM` | CPM3 | |
| `SET.COM` | CPM3 | |
| `SETDEF.COM` | CPM3 | |
| `SETPATH.COM` | -- | |
| `SHOW.COM` | CPM3 | |
| `SUBMIT.COM` | CPM3 | |
| `TCAP.Z3T` | -- | |
| `TYPE.COM` | CPM3 | |
| `VERROR.COM` | -- | |
| `VLU.COM` | -- | |
| `XREF.COM` | -- | |
| `ZCNFG.COM` | -- | |
| `ZERASE.COM` | -- | |
| `ZEX.COM` | -- | |
| `ZFILER.COM` | -- | |
| `ZHELP.COM` | -- | |
| `ZP.COM` | -- | |
| `ZSHOW.COM` | -- | |
| `ZSID.COM` | -- | |
| `ZXD.COM` | -- | |
| `AUTOTOG.COM` | ZPM3 | |
| `CLRHIST.COM` | ZPM3 | |
| `SETZ3.COM` | ZPM3 | |
| `ASSIGN.COM` | RomWBW | |
| `FAT.COM` | RomWBW | |
| `FDU.COM` | RomWBW | |
| `FORMAT.COM` | RomWBW | |
| `INTTEST.COM` | RomWBW | |
| `MODE.COM` | RomWBW | |
| `RTC.COM` | RomWBW | |
| `SURVEY.COM` | RomWBW | |
| `SYSCOPY.COM` | RomWBW | |
| `SYSGEN.COM` | RomWBW | |
| `TALK.COM` | RomWBW | |
| `TIMER.COM` | RomWBW | |
| `TUNE.COM` | RomWBW | |
| `XM.COM` | RomWBW | |
| `CLRDIR.COM` | -- | |
| `COMP.COM` | -- | |
| `DDTZ.COM` | -- | |
| `FDISK80.COM` | -- | |
| `FLASH.COM` | -- | |
| `NULU.COM` | -- | |
| `TCVIEW.COM` | -- | |
| `UNARC.COM` | -- | |
| `Z3LOC.COM` | -- | |
| `ZAP.COM` | -- | |
| `ZDE.COM` | -- | |
| `ZDENST.COM` | -- | |
`\clearpage`{=latex}
# WordStar 4 Application Disk
| Floppy Disk Image: **fd_ws4.img**
| Hard Disk Image: **hd_ws4.img**
| Combo Disk Image: **Slice 5**
| **User 0** | **Source** | **Description** |
| -------------- | ---------- | ------------------------------------------------------------ |
| `ANAGRAM.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `CHAPTER1.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `CHAPTER2.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `CHAPTER3.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `DIARY.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `DICTSORT.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `FIND.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `HOMONYMS.TXT` | WS4 | MicroPro WordStar 4 Distribution File |
| `HYEXCEPT.TXT` | WS4 | MicroPro WordStar 4 Distribution File |
| `HYPHEN.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `LOOKUP.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `MAINDICT.CMP` | WS4 | MicroPro WordStar 4 Distribution File |
| `MARKFIX.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `MOVEPRN.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `PATCH.LST` | WS4 | MicroPro WordStar 4 Distribution File |
| `PRINT.TST` | WS4 | MicroPro WordStar 4 Distribution File |
| `READ.ME` | WS4 | MicroPro WordStar 4 Distribution File |
| `README.` | WS4 | MicroPro WordStar 4 Distribution File |
| `REVIEW.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `RULER.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `SAMPLE1.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `SAMPLE2.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `SAMPLE3.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `SPELL.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `TABLE.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `TEXT.DOC` | WS4 | MicroPro WordStar 4 Distribution File |
| `TW.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WC.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WINSTALL.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WORDFREQ.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WS.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WS.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSCHANGE.COM` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSCHANGE.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSCHHELP.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSHELP.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSINDEX.XCL` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSMSGS.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSPRINT.OVR` | WS4 | MicroPro WordStar 4 Distribution File |
| `WSSHORT.OVR` | WS4 | MicroPro WordStar 4 Distribution File |

View File

@@ -67,7 +67,7 @@ General features include:
* Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD
* Serial drivers including UART (16550-like), ASCI, ACIA, SIO
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
* Real time clock drivers including DS1322, BQ4845
* Real time clock drivers including DS1302, BQ4845
* Multiple OS support including CP/M 2.2, ZSDOS, CP/M 3, ZPM3
* Built-in VT-100 terminal emulation support
@@ -347,7 +347,7 @@ the first 256 8MB chunks of space on a single media.
Of course, the problem is that CP/M-like operating systems have only
16 drive letters (A:-P:) available. Under the covers, RomWBW allows
you to use any drive letter to refer to any slice of any media. The
`ASSIGN` command is allows you to view or change the drive letter
`ASSIGN` command allows you to view or change the drive letter
mappings at any time. At startup, the operating system will
automatically allocate a reasonable number of drive letters to the
available storage devices. The allocation will depend on the number of
@@ -756,13 +756,18 @@ likely to encounter problems.
### Notes
- You can change media, but it must be done while at the OS
command prompt and you **must** warm start CP/M by pressing
ctrl-c. This is a CP/M 2.2 constraint and is well documented
in the DRI manuals.
- The original versions of DDT, DDTZ, and ZSID used the RST 38
vector which conflicts with interrupt mode 1 use of this vector.
The DDT, DDTZ, and ZSID applications in RomWBW have been modified
to use RTS 30 to avoid this issue.
to use RST 30 to avoid this issue.
- Z-System applications will not run under CP/M 2.2. For example,
the `LDDS` date stamper with not run.
the `LDDS` date stamper will not run.
## ZSDOS 1.1
@@ -784,6 +789,10 @@ Manual.pdf").
may not work as expected. The best example is PIP which is not aware
of the ZSDOS paths and will fail in some scenarios (use `COPY` instead).
- Although ZSDOS can recognize a media change in some cases, it will not
always work. You should only change media at a command prompt and be
sure to warm start the OS with a ctrl-c.
## NZCOM Automatic Z-System
NZCOM is a much further refined version of Z-System (ZCPR 3.4). NZCOM
@@ -824,6 +833,14 @@ system tracks. `CPMLDR.SYS` chain loads `CPM3.SYS`.
used to read the current date/time for file stamping, etc. You can
use the `RTC` app to set the RTC clock.
- The `COPYSYS` command described in the DRI CP/M 3 documentation is
not provided with RomWBW. The RomWBW `SYSCOPY` command is used instead.
- Although CP/M 3 is generally able to run CP/M 2.2 programs, this is
not universally true. This is especially true of the utility programs
included with the operating system. For example, the `SUBMIT` program
of CP/M 3 is completely different from the `SUBMIT` program of CP/M 2.2.
## Simeon Cran's ZPM3
ZPM3 is an interesting combination of the features of both CP/M 3 and
@@ -838,7 +855,9 @@ tracks of the disk.
- `ZPMLDR` is included with ZPM3, but it is not working correctly.
- The ZPM operating system is contained in the file called CPM3.SYS
which is confusing, but it is the author's intended way of using ZPM3.
which is confusing, but this is as intended by the ZPM3 distribution.
I believe it was done this way to make it easier for users to transition
from CP/M 3 to ZPM3.
## FreeRTOS
@@ -1072,7 +1091,7 @@ update your ROM. The following is a typical example of transferring
ROM image using XModem and flashing the chip in-situ.
```
E>xm r rom.img
E>xm r rom.rom
XMODEM v12.5 - 07/13/86
RBC, 28-Aug-2019 [WBW], ASCI
@@ -1084,7 +1103,7 @@ To cancel: Ctrl-X, pause, Ctrl-X
Thanks for the upload
E>flash write rom.img
E>flash write rom.rom
FLASH4 by Will Sowerbutts <will@sowerbutts.com> version 1.2.3
Using RomWBW (v2.6+) bank switching.
@@ -1115,12 +1134,81 @@ your choice. This process is described below in the Disk Images
section. If you wish to update existing disk media in your system, you
need to perform the following steps.
If the disk is bootable, you need to update the system tracks of the
disk. This is done using a SYSCOPY command such as `SYSCOPY
C:=B:ZSYS.SYS`. For a ZSDOS boot disk, use ZSYS.SYS. For a CP/M 2.2
disk, use CPM.SYS. For a CP/M 3 or ZPM3 disk, use CPMLDR.SYS.
CPMLDR.SYS is not provided on the ROM disk, so you will need to
upload it from the distribution.
If the disk is bootable, you need to update the system image on the
disk using the procedure described below corresponsing to the
operating system on your disk.
* **CP/M 2.2**
Boot to CP/M 2.2 from ROM, then use `SYSCOPY` to update the system
image on **all** CP/M 2.2 boot disks/slices. The CP/M 2.2 system image
is called CPM.SYS and is found on the ROM disk. For example:
`B>SYSCOPY C:=CPM.SYS`
* **ZSDOS**
Boot to Z-System from ROM, then use `SYSCOPY` to update the system
image on **all** ZSDOS boot disks/slices. The ZSDOS system image
is called ZSYS.SYS and is found on the ROM disk. For example:
`B>SYSCOPY C:=ZSYS.SYS`
* **NZCOM**
NZCOM runs on top of either CP/M 2.2 or ZSDOS. By default, the
RomWBW disk image for NZCOM uses ZSDOS. Follow the corresponding
procedure above to update the system image on the NZCOM boot
disks/slices.
* **CP/M 3**
CP/M 3 uses a multi-step boot process involving multiple files.
The CP/M 3 boot files are not included on the ROM disk due to
space constraints. You will need to transfer the files to your
system from the RomWBW distribution directory Binary\\CPM3.
After this is done, you will need to use `SYSCOPY` to place
the CP/M 3 loader image on the boot tracks of all CP/M 3
boot disks/slices. The loader image is called `CPMLDR.SYS`.
You must then copy (at a minimum) `CPM3.SYS` and `CCP.COM`
onto the disk/slice. Assuming you copied the CP/M 3 boot files
onto your RAM disk at A:, you would use:
```
A>B:SYSCOPY C:=CPMLDR.SYS
A>B:COPY CPM3.SYS C:
A>B:COPY CCP.COM C:
```
* **ZPM3**
ZPM3 uses a multi-step boot process involving multiple files.
The ZPM3 boot files are not included on the ROM disk due to
space constraints. You will need to transfer the files to your
system from the RomWBW distribution directory Binary\\ZPM3.
After this is done, you will need to use `SYSCOPY` to place
the ZPM3 loader image on the boot tracks of all ZPM3
boot disks/slices. The loader image is called `CPMLDR.SYS`.
You must then copy (at a minimum) `CPM3.SYS`, `ZCCP.COM`,
`ZINSTAL.ZPM`, and `STARTZPM.COM` onto the disk/slice.
Assuming you copied the ZPM3 boot files onto your RAM disk
at A:, you would use:
```
A>B:SYSCOPY C:=CPMLDR.SYS
A>B:COPY CPM3.SYS C:
A>B:COPY ZCCP.COM C:
A>B:COPY ZINSTAL.ZPM C:
A>B:COPY STARTZPM.COM C:
```
You may be wondering if the references to `CPMLDR.SYS` and
`CPM3.SYS` are typos. They are not. ZPM3 uses the same loader
image as CPM3. The ZPM3 main system code file is called `CPM3.SYS`
which is the same name as CP/M 3 uses, but the file contents are
not the same.
Finally, if you have copies of any of the RomWBW custom applications
on your hard disk, you need to update them with the latest copies. The
@@ -1151,6 +1239,30 @@ images.
* FAT.COM
* TUNE.COM
# System Update
If the system running ROMWBW utilizes the SST39SF040 Flash chip then it is possible to do a System Update in place of
a System Upgrade in some cases.
A System Update would involve only updating the BIOS, ROM applications and CP/M system.
A System Update may be more favorable than a System Upgrade in cases such as:
- Overwriting of the ROM drive is not desired.
- Space is unavailable to hold a full ROMWBW ROM.
- To mimimize time taken to transfer and flash a full ROM.
- Configuration changes are only minor and do not impact disk applications.
The ROMWBW build process generates a system upgrade file along with the normal ROM image and can be identified by the
extension ".upd". It will be 128Kb in size. In comparison the normal ROM image will have the extension ".rom" and be
512Kb or 1024Kb in size.
Transferring and flashing the System Update is accomplished in the same manner as described above in *Upgrading* with
the required difference being that the flash application needs to be directed to complete a partial flash using the
/p command line switch.
`E>flash write rom.upd /p`
# RomWBW Distribution
All source code and distributions are maintained on GitHub. Code
@@ -1191,12 +1303,17 @@ these applications are no longer provided.
driver.
* Ed Brindley contributed some of the code that supports the RC2014
platform.
* Phil Summers contributed Forth and BASIC in ROM as well as a long
list of general code enhancements.
* Phil Summers contributed Forth and BASIC in ROM, the AY-3-8910 sound
driver as well as a long list of general code enhancements.
* Phillip Stevens contributed support for FreeRTOS.
* Curt Mayer contributed the Linux / MacOS build process.
* UNA BIOS and FDISK80 is a product of John Coffman.
* UNA BIOS and FDISK80 are the products of John Coffman.
* FLASH4 is a product of Will Sowerbutts.
* CLRDIR is a product of Max Scane.
* Tasty Basic is a product of Dimitri Theulings.
* Dean Netherton contributed the sound driver interface and
the SN76489 sound driver.
* The RomWBW Disk Catalog document was produced by Mykl Orders.
Contributions of all kinds to RomWBW are very welcome.
@@ -1209,6 +1326,7 @@ RetroBrew Computers projects is via the community forums:
* [RC2014 Google Group](https://groups.google.com/forum/#!forum/rc2014-z80)
* [retro-comp Google Group](https://groups.google.com/forum/#!forum/retro-comp)
Submission of issues and bugs are welcome at the [RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW).
Submission of issues and bugs are welcome at the
[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email !author at [!authmail](mailto:!authmail).

Binary file not shown.