Browse Source

Minor Doc File Tweaks

pull/573/head
Wayne Warthen 8 months ago
parent
commit
760ed38297
No known key found for this signature in database GPG Key ID: 8B34ED29C07EEB0A
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Disk Catalog.pdf
  3. BIN
      Doc/RomWBW Hardware.pdf
  4. BIN
      Doc/RomWBW Introduction.pdf
  5. BIN
      Doc/RomWBW System Guide.pdf
  6. BIN
      Doc/RomWBW User Guide.pdf
  7. 2
      ReadMe.md
  8. 2
      ReadMe.txt
  9. 342
      Source/Doc/Catalog.md
  10. 4
      Source/Doc/Makefile
  11. 296
      Source/Doc/ReadMe.md

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Hardware.pdf

Binary file not shown.

BIN
Doc/RomWBW Introduction.pdf

Binary file not shown.

BIN
Doc/RomWBW System Guide.pdf

Binary file not shown.

BIN
Doc/RomWBW User Guide.pdf

Binary file not shown.

2
ReadMe.md

@ -7,7 +7,7 @@
**RomWBW Introduction** \
Version 3.6 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
06 Jun 2025
07 Jun 2025
# Overview

2
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW Introduction
Wayne Warthen (wwarthen@gmail.com)
06 Jun 2025
07 Jun 2025

342
Source/Doc/Catalog.md

@ -667,12 +667,12 @@ The following are found in
| **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 |
| CPN12SER.LBR | CP/NET 1.2 | CP/M 2.2 | RomWBW Serial Port |
| CPN3SER.LBR | CP/NET 3 | CP/M 3 | RomWBW Serial Port |
| `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 |
| `CPN12SER.LBR` | CP/NET 1.2 | CP/M 2.2 | RomWBW Serial Port |
| `CPN3SER.LBR` | CP/NET 3 | CP/M 3 | RomWBW Serial Port |
## General Purpose Applications
@ -928,12 +928,12 @@ The following files are found in
| **File** | **Description** |
|----------------|-----------------------------------------------------------|
| HDIR.COM | |
| R.COM | transfer files between the simulator and host file system |
| RSETSIMH.COM | -- |
| TIMER.COM | -- |
| URL.COM | -- |
| W.COM | transfer files between the simulator and host file system |
| `HDIR.COM` | |
| `R.COM` | transfer files between the simulator and host file system |
| `RSETSIMH.COM` | -- |
| `TIMER.COM` | -- |
| `URL.COM` | -- |
| `W.COM` | transfer files between the simulator and host file system |
## Testing Applications
@ -1061,65 +1061,65 @@ The following files are found in
* /Source/Images/d_cowgol
| **File** | **Description** |
|--------------|--------------------------------------------|
| $EXEC.COM | HiTech C batch processor which launches the Cowgol toolchain executables |
| ADVENT.COW | Adventure game program source |
| ADVENT.SUB | SUBMIT file to build Adventure game |
| ADVENT?.TXT | Adventure game program resources |
| ADVMAIN.COW | Adventure game program source |
| ADVTRAV.COW | Adventure game component source |
| ARGV.COH | Cowgol include file providing command line argument processing |
| C.LIB | HI-TECH C runtime library |
| CGEN.COM | HiTech C compiler pass 2 |
| COMMFILE.COH | Include file providing file I/O |
| COMMON.COH | Include file providing common functions |
| COWBE.COM | Cowgol back end which builds the cowgol object files (optimized) |
| COWFE.COM | Cowgol front end which parses the source file (optimized) |
| COWFIX.COM | Interface to Z80AS -- performs code optimizations |
| COWGOL.COH | Include file providing standard Cowgol functions |
| COWGOL.COM | Interprets the command line and generates $EXEC run requests (a variant of HiTech C.COM) |
| COWGOL.COO | Cowgol object file with ??? |
| COWGOL.LIB | ??? |
| COWGOLC.COH | Cowgol include file providing ??? |
| COWLINK.COM | Cowgol linker which binds all the cowgol object files and outputs a Z80 assembler file (optimized) |
| CPP.COM | HiTech C pre-processor, modified to accept // style comments |
| DYNMSORT.COW | Sort algorithm sample program source |
| DYNMSORT.SUB | SUBMIT file to build DYNMSORT sample application |
| FACT.COW | Factorial computation sample program source |
| FILE.COH | Include file providing CP/M file processing support |
| FILEIO.COH | Include file providing CP/M file processing support |
| HEXDUMP.COW | Hex file dump sample source |
| HEXDUMP.SUB | SUBMIT file to build HEXDUMP sample program |
| LIBBASIC.COH | Include file providing ??? |
| LIBBIOS.COH | Include file providing ??? |
| LIBCONIO.COH | Include file providing console I/O |
| LIBFP.COH | Include file providing floating point support |
| LIBR.COM | HiTech object file librarian |
| LIBSTR.COH | Include file providing string functions |
| LINK.COM | HiTech linker which builds the final executable from object and library files |
| MALLOC.COH | Include file providing dynamic memory management functions |
| MERGES.C | Merge sort sample function C language source |
| MISC.COH | Include file providing miscellaneous functions |
| MISC.COO | Miscellaneous functions object file |
| MISC.COW | Miscellaneous functions source file |
| OPTIM.COM | HiTech C compiler optimizer |
| P1.COM | HiTech C compiler first pass |
| RAND.AS | Pseudo-random number generator source in assembly language |
| RANFILE.COH | Include file providing random file access functions |
| RANFILE.COO | Random file access functions object file |
| RANFILE.COW | Random file access functions source file |
| README.TXT | Cowgol disk image release notes |
| SEQFILE.COH | Include file providing sequential file access functions |
| SEQFILE.COO | Sequential file access functions object file |
| SEQFILE.COW | Sequential file access functions source file |
| STDCOW.COH | Include file providing standard library functions |
| STRING.COH | Include file providing string functions |
| STRING.COO | String functions object file |
| STRING.COW | String functions source file |
| STRINGS.COH | Include file implementing string functions |
| TESTAS.COW | Assembly language interface sample program source |
| TESTAS.SUB | SUBMIT file to build TESTAS sample program |
| Z80AS.COM | Z80 assembler which assembles the output of COWFIX and other Z80 source files (see <https://github.com/Laci1953/Z80AS>) |
|----------------|--------------------------------------------|
| `$EXEC.COM` | HiTech C batch processor which launches the Cowgol toolchain executables |
| `ADVENT.COW` | Adventure game program source |
| `ADVENT.SUB` | SUBMIT file to build Adventure game |
| `ADVENT?.TXT` | Adventure game program resources |
| `ADVMAIN.COW` | Adventure game program source |
| `ADVTRAV.COW` | Adventure game component source |
| `ARGV.COH` | Cowgol include file providing command line argument processing |
| `C.LIB` | HI-TECH C runtime library |
| `CGEN.COM` | HiTech C compiler pass 2 |
| `COMMFILE.COH` | Include file providing file I/O |
| `COMMON.COH` | Include file providing common functions |
| `COWBE.COM` | Cowgol back end which builds the cowgol object files (optimized) |
| `COWFE.COM` | Cowgol front end which parses the source file (optimized) |
| `COWFIX.COM` | Interface to Z80AS -- performs code optimizations |
| `COWGOL.COH` | Include file providing standard Cowgol functions |
| `COWGOL.COM` | Interprets the command line and generates $EXEC run requests (a variant of HiTech C.COM) |
| `COWGOL.COO` | Cowgol object file with ??? |
| `COWGOL.LIB` | ??? |
| `COWGOLC.COH` | Cowgol include file providing ??? |
| `COWLINK.COM` | Cowgol linker which binds all the cowgol object files and outputs a Z80 assembler file (optimized) |
| `CPP.COM` | HiTech C pre-processor, modified to accept // style comments |
| `DYNMSORT.COW` | Sort algorithm sample program source |
| `DYNMSORT.SUB` | SUBMIT file to build DYNMSORT sample application |
| `FACT.COW` | Factorial computation sample program source |
| `FILE.COH` | Include file providing CP/M file processing support |
| `FILEIO.COH` | Include file providing CP/M file processing support |
| `HEXDUMP.COW` | Hex file dump sample source |
| `HEXDUMP.SUB` | SUBMIT file to build HEXDUMP sample program |
| `LIBBASIC.COH` | Include file providing ??? |
| `LIBBIOS.COH` | Include file providing ??? |
| `LIBCONIO.COH` | Include file providing console I/O |
| `LIBFP.COH` | Include file providing floating point support |
| `LIBR.COM` | HiTech object file librarian |
| `LIBSTR.COH` | Include file providing string functions |
| `LINK.COM` | HiTech linker which builds the final executable from object and library files |
| `MALLOC.COH` | Include file providing dynamic memory management functions |
| `MERGES.C` | Merge sort sample function C language source |
| `MISC.COH` | Include file providing miscellaneous functions |
| `MISC.COO` | Miscellaneous functions object file |
| `MISC.COW` | Miscellaneous functions source file |
| `OPTIM.COM` | HiTech C compiler optimizer |
| `P1.COM` | HiTech C compiler first pass |
| `RAND.AS` | Pseudo-random number generator source in assembly language |
| `RANFILE.COH` | Include file providing random file access functions |
| `RANFILE.COO` | Random file access functions object file |
| `RANFILE.COW` | Random file access functions source file |
| `README.TXT` | Cowgol disk image release notes |
| `SEQFILE.COH` | Include file providing sequential file access functions |
| `SEQFILE.COO` | Sequential file access functions object file |
| `SEQFILE.COW` | Sequential file access functions source file |
| `STDCOW.COH` | Include file providing standard library functions |
| `STRING.COH` | Include file providing string functions |
| `STRING.COO` | String functions object file |
| `STRING.COW` | String functions source file |
| `STRINGS.COH` | Include file implementing string functions |
| `TESTAS.COW` | Assembly language interface sample program source |
| `TESTAS.SUB` | SUBMIT file to build TESTAS sample program |
| `Z80AS.COM` | Z80 assembler which assembles the output of COWFIX and other Z80 source files (see <https://github.com/Laci1953/Z80AS>) |
## Microsoft Fortran 80 (Fortran)
@ -1205,11 +1205,11 @@ all CP/M and compatible operations systems provided in RomWBW.
The enhanced files are:
- CGEN.COM
- CPP.COM
- OPTIM.COM
- P1.COM
- ZAS.COM (replaced with Z80AS)
- `CGEN.COM`
- `CPP.COM`
- `OPTIM.COM`
- `P1.COM`
- `ZAS.COM` (replaced with Z80AS)
A thread discussing this enhanced version of HI-TECH C is found at
<https://groups.google.com/g/rc2014-z80/c/sBCCIpOnnGg>.
@ -1219,51 +1219,51 @@ The following files are found in
* /Source/Images/d_hitechc
| **File** | **Description** |
|--------------|--------------------------------------------|
| $EXEC.COM | Compiler execution manager |
| ASSERT.H | Language include file |
| C.COM | Compiler invocation application (updated) |
| C309.COM | Compiler invocation application (original) |
| CGEN.COM | The code generator - produces assembler code |
| CONIO.H | Language include file (see manual) |
| CPM.H | Language include file (see manual) |
| CPP.COM | Pre-processor - handles macros and conditional compilation |
| CREF.COM | Produces cross-reference listings of C or assembler programs |
| CRTCPM.OBJ | Startup Object File (standard) |
| CTYPE.H | Language include file (see manual) |
| DEBUG.COM | C Debugger (Z80) |
| DRTCPM.OBJ | Startup Object File (???) |
| EXEC.H | Language include file (see manual) |
| FLOAT.H | Language include file (see manual) |
| HITECH.H | Language include file (see manual) |
| LIBC.LIB | Standard C Runtime Library |
| LIBF.LIB | Floating Point Library |
| LIBOVR.LIB | Overlay Library |
| LIBR.COM | Creates and maintains libraries of object modules |
| LIMITS.H | Language include file (see manual) |
| LINQ.COM | Link editor - links object files with libraries |
| MATH.H | Language include file (see manual) |
| NRTCPM.OBJ | Startup Object File (minimal getargs) |
| OBJTOHEX.COM | Converts the output of LINK into the appropriate executable file format (e.g., .EXE or .PRG or .HEX) |
| OPTIM.COM | Code improver - may optionally be omitted, reducing compilation time at a cost of larger, slower code produced |
| OPTIONS | Compiler usage help file |
| OVERLAY.H | Language include file |
| P1.COM | The syntax and semantic analysis pass - writes intermediate code for the code generator to read |
| RRTCPM.OBJ | Startup Object File (self relocating) |
| SETJMP.H | Language include file (see manual) |
| SIGNAL.H | Language include file (see manual) |
| STAT.H | Language include file (see manual) |
| STDARG.H | Language include file (see manual) |
| STDDEF.H | Language include file (see manual) |
| STDINT.H | Language include file (see manual) |
| STDIO.H | Language include file (see manual) |
| STDLIB.H | Language include file (see manual) |
| STRING.H | Language include file (see manual) |
| SYMTOAS.COM | Convert symbol file to assembler |
| SYS.H | Language include file (see manual) |
| TIME.H | Language include file (see manual) |
| UNIXIO.H | Language include file (see manual) |
| ZAS.COM | The assembler - in fact a general purpose macro assembler |
|----------------|--------------------------------------------|
| `$EXEC.COM` | Compiler execution manager |
| `ASSERT.H` | Language include file |
| `C.COM` | Compiler invocation application (updated) |
| `C309.COM` | Compiler invocation application (original) |
| `CGEN.COM` | The code generator - produces assembler code |
| `CONIO.H` | Language include file (see manual) |
| `CPM.H` | Language include file (see manual) |
| `CPP.COM` | Pre-processor - handles macros and conditional compilation |
| `CREF.COM` | Produces cross-reference listings of C or assembler programs |
| `CRTCPM.OBJ` | Startup Object File (standard) |
| `CTYPE.H` | Language include file (see manual) |
| `DEBUG.COM` | C Debugger (Z80) |
| `DRTCPM.OBJ` | Startup Object File (???) |
| `EXEC.H` | Language include file (see manual) |
| `FLOAT.H` | Language include file (see manual) |
| `HITECH.H` | Language include file (see manual) |
| `LIBC.LIB` | Standard C Runtime Library |
| `LIBF.LIB` | Floating Point Library |
| `LIBOVR.LIB` | Overlay Library |
| `LIBR.COM` | Creates and maintains libraries of object modules |
| `LIMITS.H` | Language include file (see manual) |
| `LINQ.COM` | Link editor - links object files with libraries |
| `MATH.H` | Language include file (see manual) |
| `NRTCPM.OBJ` | Startup Object File (minimal getargs) |
| `OBJTOHEX.COM` | Converts the output of LINK into the appropriate executable file format (e.g., .EXE or .PRG or .HEX) |
| `OPTIM.COM` | Code improver - may optionally be omitted, reducing compilation time at a cost of larger, slower code produced |
| `OPTIONS` | Compiler usage help file |
| `OVERLAY.H` | Language include file |
| `P1.COM` | The syntax and semantic analysis pass - writes intermediate code for the code generator to read |
| `RRTCPM.OBJ` | Startup Object File (self relocating) |
| `SETJMP.H` | Language include file (see manual) |
| `SIGNAL.H` | Language include file (see manual) |
| `STAT.H` | Language include file (see manual) |
| `STDARG.H` | Language include file (see manual) |
| `STDDEF.H` | Language include file (see manual) |
| `STDINT.H` | Language include file (see manual) |
| `STDIO.H` | Language include file (see manual) |
| `STDLIB.H` | Language include file (see manual) |
| `STRING.H` | Language include file (see manual) |
| `SYMTOAS.COM` | Convert symbol file to assembler |
| `SYS.H` | Language include file (see manual) |
| `TIME.H` | Language include file (see manual) |
| `UNIXIO.H` | Language include file (see manual) |
| `ZAS.COM` | The assembler - in fact a general purpose macro assembler |
## MSX ROMS
@ -1316,16 +1316,16 @@ The following files are found in
* /Source/Images/d_tpascal
| **File** | **Description** |
|--------------|--------------------------------|
| ART.TXT | Part of the Example program |
| SA.PAS | Example Program |
| TINST.COM | Installation and Configuration |
| TINST.DTA | Part of TINST |
| TINST.MSG | Part of TINST |
| TURBO.COM | The main Turbo Pascal program |
| TURBO.MSG | Part of TURBO tascal |
| TURBO.OVR | Part of TURBO tascal |
| TURBOMSG.OVR | Part of TURBO tascal |
|----------------|--------------------------------|
| `ART.TXT` | Part of the Example program |
| `SA.PAS` | Example Program |
| `TINST.COM` | Installation and Configuration |
| `TINST.DTA` | Part of TINST |
| `TINST.MSG` | Part of TINST |
| `TURBO.COM` | The main Turbo Pascal program |
| `TURBO.MSG` | Part of TURBO Pascal |
| `TURBO.OVR` | Part of TURBO Pascal |
| `TURBOMSG.OVR` | Part of TURBO Pascal |
## WordStar 4
@ -1473,52 +1473,52 @@ The following files are found in
User Area 0 - Assembler
| **File** | **Description** |
|-------------|---------------------------------------------|
| 180FIG.COM | Configuration utility for SLR180.COM |
| 8080.MAC | ? |
| CONFIG.COM | Configuration utility for Z80ASM.COM |
| CONFIGP.COM | Configuration utility for Z80ASMP.COM |
| DUMP.* | Sample Program |
| MAKESYM.COM | Symbol File .SYM file generation |
| MAKESYM.DOC | Documentation for MAKESYM.COM |
| SLR180.COM | HD64180 (Z180) Relocating Macro Assembler |
| SLR180.DOC | Release Notes for SLR180.COM |
| SLRMAC.COM | 8080 Relocating Macro Assembler |
| SYNTAX.HLP | Documentation basic usage for all SLR Tools |
| SYNTAX.TXT | Documentation basic usage for all SLR Tools |
| TEST.* | Sample Program |
| Z80ASM.COM | Z80 Relocating Macro Assembler |
| Z80ASMP.COM | Z80 Relocating Macro Assembler (PLUS) |
| Z80ASM.DOC | Release Notes for Z80ASM.COM |
|---------------|---------------------------------------------|
| `180FIG.COM` | Configuration utility for SLR180.COM |
| `8080.MAC` | ? |
| `CONFIG.COM` | Configuration utility for Z80ASM.COM |
| `CONFIGP.COM` | Configuration utility for Z80ASMP.COM |
| `DUMP.*` | Sample Program |
| `MAKESYM.COM` | Symbol File .SYM file generation |
| `MAKESYM.DOC` | Documentation for MAKESYM.COM |
| `SLR180.COM` | HD64180 (Z180) Relocating Macro Assembler |
| `SLR180.DOC` | Release Notes for SLR180.COM |
| `SLRMAC.COM` | 8080 Relocating Macro Assembler |
| `SYNTAX.HLP` | Documentation basic usage for all SLR Tools |
| `SYNTAX.TXT` | Documentation basic usage for all SLR Tools |
| `TEST.\*` | Sample Program |
| `Z80ASM.COM` | Z80 Relocating Macro Assembler |
| `Z80ASMP.COM` | Z80 Relocating Macro Assembler (PLUS) |
| `Z80ASM.DOC` | Release Notes for Z80ASM.COM |
User Area 1 - Linker and Library Management
| **File** | **Description** |
|--------------|-----------------------------------------------|
| LNKFIG.COM | Configuration utility for SLRNK.COM |
| NZLNKFIX.ZEX | ? |
| SLRIB.COM | SuperLibrarian, library manager |
| SLRNK.COM | SuperLinker, the main linker tool |
| SLRNKP.COM | SuperLinker (PLUS) |
| SLRNK.DOC | Release Notes for SLRNK.COM |
| SLRNKFIX.ZEX | ? |
| SYNTAX.HLP | Documentation basic usage for all SLR Tools |
| SYNTAX.TXT | Documentation basic usage for all SLR Tools |
| SYSSLR.REL | SYSLIB (older) Library compatible with SLR |
| VSLR.REL | VLIB (older) Library compatible with SLR |
| Z3SLR.REL | Z3LIB (older) Library compatible with SLR |
|----------------|-----------------------------------------------|
| `LNKFIG.COM` | Configuration utility for SLRNK.COM |
| `NZLNKFIX.ZEX` | ? |
| `SLRIB.COM` | SuperLibrarian, library manager |
| `SLRNK.COM` | SuperLinker, the main linker tool |
| `SLRNKP.COM` | SuperLinker (PLUS) |
| `SLRNK.DOC` | Release Notes for SLRNK.COM |
| `SLRNKFIX.ZEX` | ? |
| `SYNTAX.HLP` | Documentation basic usage for all SLR Tools |
| `SYNTAX.TXT` | Documentation basic usage for all SLR Tools |
| `SYSSLR.REL` | SYSLIB (older) Library compatible with SLR |
| `VSLR.REL` | VLIB (older) Library compatible with SLR |
| `Z3SLR.REL` | Z3LIB (older) Library compatible with SLR |
User Area 2 - Disassembler
| **File** | **Description** |
|--------------|----------------------------------|
| README.22 | Documentation for Z80DIS |
| Z80DIS.000 | Overlay File for Z80DIS.COM |
| Z80DIS.001 | Overlay File for Z80DIS.COM |
| Z80DIS.002 | Overlay File for Z80DIS.COM |
| Z80DIS.COM | Z80DIS Disassembler main program |
| Z80DIS22.DOC | Main Documentation for Z80DIS |
| ZDINSTAL.COM | Instal and Config for Z80DIS.COM |
| ZDINSTAL.DTA | Overlay file for ZDINSTAL.COM |
| ZDINSTAL.MSG | Overlay file for ZDINSTAL.COM |
|----------------|----------------------------------|
| `README.22` | Documentation for Z80DIS |
| `Z80DIS.000` | Overlay File for Z80DIS.COM |
| `Z80DIS.001` | Overlay File for Z80DIS.COM |
| `Z80DIS.002` | Overlay File for Z80DIS.COM |
| `Z80DIS.COM` | Z80DIS Disassembler main program |
| `Z80DIS22.DOC` | Main Documentation for Z80DIS |
| `ZDINSTAL.COM` | Instal and Config for Z80DIS.COM |
| `ZDINSTAL.DTA` | Overlay file for ZDINSTAL.COM |
| `ZDINSTAL.MSG` | Overlay file for ZDINSTAL.COM |

4
Source/Doc/Makefile

@ -56,8 +56,8 @@ deploy :
cp Hardware.pdf "../../Doc/RomWBW Hardware.pdf"
deploy_mkdocs : mkdocs/Introduction.md mkdocs/UserGuide.md mkdocs/SystemGuide.md mkdocs/Applications.md \
mkdocs/Catalog.md mkdocs/Hardware.md mkdocs/ReadMe.md
mkdocs/Catalog.md mkdocs/Hardware.md
mkdir -p mkdocs/UserGuide/Graphics mkdocs/SystemGuide/Graphics
mv mkdocs/ReadMe.md mkdocs/README.md
cp mkdocs/Introduction.md mkdocs/README.md
cp Graphics/*.svg mkdocs/UserGuide/Graphics
cp Graphics/*.svg mkdocs/SystemGuide/Graphics

296
Source/Doc/ReadMe.md

@ -1,296 +0,0 @@
$define{doc_title}{ReadMe}$
$include{"Basic.h"}$
# Overview
RomWBW software provides a complete, commercial quality
implementation of CP/M (and workalike) operating systems and
applications for modern Z80/180/280 retro-computing hardware systems.
A wide variety of platforms are supported including those
produced by these developer communities:
* [RetroBrew Computers](https://www.retrobrewcomputers.org)
(<https://www.retrobrewcomputers.org>)
* [RC2014](https://rc2014.co.uk) (<https://rc2014.co.uk>), \
[RC2014-Z80](https://groups.google.com/g/rc2014-z80)
(<https://groups.google.com/g/rc2014-z80>)
* [Retro Computing](https://groups.google.com/g/retro-comp)
(<https://groups.google.com/g/retro-comp>)
* [Small Computer Central](https://smallcomputercentral.com/)
(<https://smallcomputercentral.com/>)
A complete list of the currently supported platforms is found in the
[Installation] section.
Supported hardware features of RomWBW include:
* Z80 Family CPUs including Z80, Z180, and Z280
* Banked memory services for several banking designs
* Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, Iomega
* Serial drivers including UART (16550-like), ASCI, ACIA, SIO
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
* Keyboard (PS/2) drivers via VT8242 or PPI interfaces
* Real time clock drivers including DS1302, BQ4845
* Support for CP/NET networking using Wiznet, MT011 or Serial
* Built-in VT-100 terminal emulation support
RomWBW is distributed as both source code and pre-built ROM and disk
images. Some of the provided software can be launched directly from the
ROM firmware itself:
* System Monitor
* Operating Systems (CP/M 2.2, ZSDOS)
* ROM BASIC (Nascom BASIC and Tasty BASIC)
* ROM Forth
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
any drive letter. This overcomes the inherent size limitations in legacy
OSes and allows up to 2GB of accessible storage on a single device,
with up to 128MB accessible at any one time.
The pre-built ROM firmware images are generally suitable for most
users. However, it is also very easy to modify and build custom ROM
images that fully tailor the firmware to your specific preferences.
All tools required to build custom ROM firmware under Windows are
included -- no need to install assemblers, etc. The firmware can also
be built using Linux or MacOS after confirming a few standard tools
have been installed.
Multiple disk images are provided in the distribution. Most disk
images contain a complete, bootable, ready-to-run implementation of a
specific operating system. A "combo" disk image contains multiple
slices, each with a full operating system implementation. If you use
this disk image, you can easily pick whichever operating system you
want to boot without changing media.
By design, RomWBW isolates all of the hardware specific functions in
the ROM chip itself. The ROM provides a hardware abstraction layer
such that all of the operating systems and applications on a disk
will run on any RomWBW-based system. To put it simply, you can take
a disk (or CF/SD/USB Card) and move it between systems transparently.
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
slices or on stand-alone media. This makes exchanging files with modern
OSes such as Windows, MacOS, and Linux very easy.
# Acquiring RomWBW
The [RomWBW Repository](https://github.com/wwarthen/RomWBW)
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
distribution location for all project source and documentation.
The fully-built distribution releases are available on the
[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases)
(<https://github.com/wwarthen/RomWBW/releases>) of the repository.
On this page, you will normally see a Development Snapshot as well as
recent stable releases. Unless you have a specific reason, I suggest you
stick to the most recent stable release.
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM
and Disk images as well as full source code. The other assets contain
only source code and do not have the pre-built ROM or disk images.
All source code and distributions are maintained on GitHub. Code
contributions are very welcome.
# Installation & Operation
In general, installation of RomWBW on your platform is very simple. You
just need to program your ROM with the correct ROM image from the RomWBW
distribution. Subsequently, you can write disk images on your disk
drives (IDE disk, CF Card, SD Card, etc.) which then provides even more
functionality.
Complete instructions for installation and operation of RomWBW are
found in the $doc_user$. It is also a good idea to review the
[Release Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md)
for helpful release-specific information.
## Documentation
Documentation for $doc_product$ includes:
* $doc_intro$
* $doc_user$
* $doc_sys$
* $doc_apps$
* $doc_catalog$
* $doc_hardware$
# Acknowledgments
I want to acknowledge that a great deal of the code and inspiration
for RomWBW has been provided by or derived from the work of others
in the RetroBrew Computers Community. I sincerely appreciate all of
their contributions. The list below is probably missing many names --
please let me know if I missed you!
* Andrew Lynch started it all when he created the N8VEM Z80 SBC
which became the first platform RomWBW supported. Some of his
original code can still be found in RomWBW.
* Dan Werner wrote much of the code from which RomWBW was originally
derived and he has always been a great source of knowledge and
advice.
* Douglas Goodall contributed code, time, testing, and advice in "the
early days". He created an entire suite of application programs to
enhance the use of RomWBW. Unfortunately, they have become unusable
due to internal changes within RomWBW. As of RomWBW 2.6, these
applications are no longer provided.
* Sergey Kiselev created several hardware platforms for RomWBW
including the very popular Zeta.
* David Giles created support for the Z180 CSIO which is now included
SD Card driver.
* Phil Summers contributed the Forth and BASIC adaptations in ROM, the
AY-3-8910 sound driver, DMA support, and a long list of general code
and documentation enhancements.
* Ed Brindley contributed some of the code that supports the RCBus
platform.
* Spencer Owen created the RC2014 series of hobbyist kit computers
which has exponentially increased RomWBW usage. Some of his kits
include RomWBW.
* Stephen Cousins has likewise created a series of hobbyist kit
computers at Small Computer Central and is distributing RomWBW
with many of them.
* Alan Cox has contributed some driver code and has provided a great
deal of advice.
* The CP/NET client files were developed by Douglas Miller.
* Phillip Stevens contributed support for FreeRTOS.
* Curt Mayer contributed the original Linux / MacOS build process.
* 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 eZ80 CPU support, the sound driver
interface, and the SN76489 sound driver.
* The RomWBW Disk Catalog document was produced by Mykl Orders.
* Rob Prouse has created many of the supplemental disk images
including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft
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 made a wide variety of contributions including:
- significant content in the Disk Catalog and User Guide
- creation of the Introduction and Hardware documents
- Z3PLUS operating system disk image
- COPYSL and SLABEL utility
- a feature for RomWBW configuration by NVRAM
- the /B bulk mode of disk assignment to the ASSIGN utility
* Jacques Pelletier has contributed the DS1501 RTC driver code.
* Jose Collado has contributed enhancements to the TMS driver
including compatibility with standard TMS register configuration.
* Kevin Boone has contributed a generic HBIOS date/time utility (WDATE).
* Matt Carroll has contributed a fix to XM.COM that corrects the
port specification when doing a send.
* Dean Jenkins enhanced the build process to accommodate the
Raspberry Pi 4.
* Tom Plano has contributed a new utility (HTALK) to allow talking
directly to HBIOS COM ports.
* Lars Nelson has contributed several generic utilities such as
a universal (OS agnostic) UNARC application.
* Dylan Hall added support for specifying a secondary console.
* 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
RomWBW is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
RomWBW is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with RomWBW. If not, see <https://www.gnu.org/licenses/>.
Portions of RomWBW were created by, contributed by, or derived from
the work of others. It is believed that these works are being used
in accordance with the intentions and/or licensing of their creators.
If anyone feels their work is being used outside of its intended
licensing, please notify:
> $doc_author$ \
> [$doc_authmail$](mailto:$doc_authmail$)
RomWBW is an aggregate work. It is composed of many individual,
standalone programs that are distributed as a whole to function as
a cohesive system. Each program may have its own licensing which
may be different from other programs within the aggregate.
In some cases, a single program (e.g., CP/M Operating System) is
composed of multiple components with different licenses. It is
believed that in all such cases the licenses are compatible with
GPL version 3.
RomWBW encourages code contributions from others. Contributors
may assert their own copyright in their contributions by
annotating the contributed source code appropriately. Contributors
are further encouraged to submit their contributions via the RomWBW
source code control system to ensure their contributions are clearly
documented.
All contributions to RomWBW are subject to this license.
# Getting Assistance
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
* [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
* [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).
Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$).
Loading…
Cancel
Save