From 760ed3829710b5ecd0a541f3cf9c138504551de6 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Sat, 7 Jun 2025 12:27:31 -0700 Subject: [PATCH] Minor Doc File Tweaks --- Doc/RomWBW Applications.pdf | Bin 413035 -> 413036 bytes Doc/RomWBW Disk Catalog.pdf | Bin 243573 -> 244629 bytes Doc/RomWBW Hardware.pdf | Bin 361318 -> 361375 bytes Doc/RomWBW Introduction.pdf | Bin 93036 -> 93035 bytes Doc/RomWBW System Guide.pdf | Bin 631398 -> 631511 bytes Doc/RomWBW User Guide.pdf | Bin 571615 -> 571615 bytes ReadMe.md | 2 +- ReadMe.txt | 2 +- Source/Doc/Catalog.md | 354 +++++++-------- Source/Doc/Introduction.md | 828 ++++++++++++++++++------------------ Source/Doc/Makefile | 8 +- Source/Doc/ReadMe.md | 296 ------------- 12 files changed, 597 insertions(+), 893 deletions(-) delete mode 100644 Source/Doc/ReadMe.md diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 3cc350c2102950eed34698ca2ff64fca120b0694..ffde712fa08aff1ef5b039a36859fdc1edd25119 100644 GIT binary patch delta 17705 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%0Dhv&~y!L%=MK*^y9Q;{8fLf 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 C0AZm3 delta 49252 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
=c147xKswK0Y+@F)FlQ7` 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 diff --git a/Doc/RomWBW Introduction.pdf b/Doc/RomWBW Introduction.pdf index 638d4448a413c7b72d754b77fdc49c84422ecda5..cf6c8146028db1475c3585f17d3b7f120dcecae5 100644 GIT binary patch delta 4833 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 diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 5ee6a4929f1da41d595c2f00544161ac93690f30..d51d2edc91c66ddc1d68fa83ff1e99fe0e246634 100644 GIT binary patch delta 41438 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 delta 39468 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 diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index c9bd0f19fcc0ce4fe2321c2e47c6047740541e15..e69b49b3ec25ddb5a418ac227c6a3de5b3e5bbe8 100644 GIT binary patch delta 575 zcmccrQR)6ir3sVkRkIk`*dEQyyl^M#hu9O51(v*BPyX^R)v0uyn6O}>ZqR-^J+%t< zrsaKn)85W+Xw+=@7-PZ<1d<9LhjCf{winrtz(DJTOaM|H!AGt|Wfq>Fl-Lw)`$aU2p5-k3ZK^W%Qi$ z$xlm5O2;DbiHO)rpCuDdh)e&P{3B;~(xNQue_7h1`NIB8P8#Pt?{rlQow2-eRL*kE zoc_HZD#h}}XD+dd4$|v>mU=sNI3QJw~AMZ|Jo9h z5GVJ{eCO3WW(*6DitJ8#^`CzsXT5Cd0|~?BTV8scHS$eOvAV9~o&Lu5yz2~&EdfWu z*w%fS75*t|m1@xqZ@-Cki`IC|f8YD|`(?J^3&AYjC$p9sFXQ|C$~n_V^S9W0hxh$o z()K^iTa{;PWpd;1^ruH}=V))Z@#e?Yxz6Vo&bhSji`(fPCrldG%4Hw0+4#JzAXDN~ ztVUtbv6S4c_mm9fyFa&XC|&GxE8w$!<7JEBvz2Sl>OEY%xA(67{K{vWryrDM6mIrr zYWHSh1Y!`)48$xz%nHP8K+L|~n~9?`nBCma$jHRha{B2|4jC9{`@2w%2}#Z-ZjL5q q7KY9SZf=GyhDJ^X#s&sPE-o%ct}e!|u7=Kb3O0n4Oh34TLk<9g!2XZ` delta 575 zcmccrQR)6ir3sVkU2_i{aIi7vofXY}ziAGW$#Tbud;Tw+qPku~h{t4$>Z|9+kFvaX z_;BUo!A*aK4GdI2Oqx*Cw!QlMMZ>HK6JC9Mwo`6fbnfGa&*wh;wf%SM{+};GMEs>s zCccrYJHn%>N0(i zjZ+)7_nz0T)V=!1@{Ovx|6C32OV6v5fB)TbP$Z-)K{ImgpPrZPm0uT{ESpl>UB2MD z^4^>IJ7=$oUeCu{_CIyyinH6;#b(RK-nRTAb4vIA^m{*y^o)EHRv&+5;QwZ)VvJN< zO}NIKDTa~JYqxuxIsT|dG3TzvWV0)Ox*waI3n`Av-t7G&BR}~&|C~3^HcdY$%P8FJ z&D8GA#0bP7ni+^$fS47C*?^dRyEhX@WiY#$p^2%9k@57?p&T+W&h~eq921h9oy`m_ rTn$ZKEnH2FElrKg3`~vOjEzjpoSh6DT}%xP>=bMWDVct72ZtO0@zVk{ diff --git a/ReadMe.md b/ReadMe.md index b5d89a56..a9a8ffa9 100644 --- a/ReadMe.md +++ b/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 diff --git a/ReadMe.txt b/ReadMe.txt index 7f60d0ff..11467777 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW Introduction Wayne Warthen (wwarthen@gmail.com) -06 Jun 2025 +07 Jun 2025 diff --git a/Source/Doc/Catalog.md b/Source/Doc/Catalog.md index 78576b35..8b5ec975 100644 --- a/Source/Doc/Catalog.md +++ b/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 @@ -1060,66 +1060,66 @@ 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 ) | +| **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 ) | ## 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 . @@ -1218,52 +1218,52 @@ 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 | +| **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 | ## MSX ROMS @@ -1315,17 +1315,17 @@ 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 | +| **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 Pascal | +| `TURBO.OVR` | Part of TURBO Pascal | +| `TURBOMSG.OVR` | Part of TURBO Pascal | ## WordStar 4 @@ -1472,53 +1472,53 @@ 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 | +| **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 | 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 | +| **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 | 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 | +| **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 | diff --git a/Source/Doc/Introduction.md b/Source/Doc/Introduction.md index bbfd6a8f..b6ef4b48 100644 --- a/Source/Doc/Introduction.md +++ b/Source/Doc/Introduction.md @@ -1,414 +1,414 @@ -$define{doc_title}{Introduction}$ -$include{"Book.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) - () -* [RC2014](https://rc2014.co.uk) (), \ - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) - () -* [Retro Computing](https://groups.google.com/g/retro-comp) - () -* [Small Computer Central](https://smallcomputercentral.com/) - () - -A complete list of the currently supported platforms is found in -$doc_hardware$ . - -`\clearpage`{=latex} - -# Description - -## Primary Features - -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. - -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, Xosera -* 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 - -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 addressable storage on a single device, -with up to 128MB accessible at any one time. - -## Included Software - -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. - -Some of the included software: - -* Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM ) -* Support for other operating systems, p-System, FreeRTOS, and FUZIX. -* Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol) -* C Compiler's including Aztec-C, and HI-TECH C -* Microsoft Basic Compiler, and Microsoft Fortran -* Some games such as Colossal Cave, Zork, etc -* Wordstar Word processing software - -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 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. - -`\clearpage`{=latex} - -## ROM Distribution - -The [RomWBW Repository](https://github.com/wwarthen/RomWBW) -() on GitHub is the official -distribution location for all project source and documentation. - -RomWBW is distributed as both source code and pre-built ROM and disk -images. - -The pre-built ROM images distributed with RomWBW are based on -the default system configurations as determined by the hardware -provider/designer. The pre-built ROM firmware images are generally -suitable for most users. - -The fully-built distribution releases are available on the -[RomWBW Releases Page](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. - -#### Distribution Directory Layout - -The RomWBW distribution is a compressed zip archive file organized in -a set of directories. Each of these directories has its own -ReadMe.txt file describing the contents in detail. In summary, these -directories are: - -| **Directory** | **Description** | -|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in ".rom" and disk images ending in .img. | -| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. | -| **Source** | Contains the source code files used to build the software and ROM images. | -| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. | - -`\clearpage`{=latex} - -#### Building from Source - -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. - -## 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 - -There are several documents that form the core of the RomWBW documentation: - -* $doc_user$ is the main user guide for RomWBW, it covers the major topics - of how to install, manage and use RomWBW, and includes additional guidance - to the use of some of the operating systems supported by RomWBW - -* $doc_hardware$ contains a description of all the hardware platforms, - and devices supported by RomWBW. - -* $doc_apps$ is a reference for the ROM-hosted and OS-hosted applications - created or customized to enhance the operation of RomWBW. - -* $doc_catalog$ is a reference for the contents of the disk images - provided with RomWBW, with a description of many of the files on each image - -* $doc_sys$ discusses much of the internal design and construction - of RomWBW. It includes a reference for the RomWBW HBIOS API - functions. - -Each of the operating systems and ROM applications included with RomWBW -are sophisticated tools in their own right. It is not reasonable to -fully document their usage. However, you will find complete manuals -in PDF format in the Doc directory of the distribution. The intention -of this documentation is to describe the operation of RomWBW and the ways in -which it enhances the operation of the included applications and -operating systems. - -Since RomWBW is purely a software product for many different platforms, -the documentation does **not** cover hardware construction, -configuration, or troubleshooting -- please see your hardware provider -for this information. - -# Support - -## 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$). -I am happy to provide support adapting RomWBW to new or modified systems - -# Contributions - -All source code and distributions are maintained on GitHub. -Contributions of all kinds to RomWBW are very welcome. - -## 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 utility - - 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 - -* Rob Gowin created an online documentation site via MkDocs, and - contributed a driver for the Xosera FPGA-based video - controller. - -`\clearpage`{=latex} - -## Related Projects - -Outside of the hardware platforms adapted to RomWBW, there are a variety -of projects that either target RomWBW specifically or provide -a RomWBW-specific variation. These efforts are greatly appreciated -and are listed below. Please contact the author if there are any other -such projects that are not listed. - -#### Z88DK - -Z88DK is a software powerful development kit for Z80 computers -supporting both C and assembly language. This kit now provides -specific library support for RomWBW HBIOS. The Z88DK project is -hosted at . - -#### Paleo Editor - -Steve Garcia has created a Windows-hosted IDE that is tailored to -development of RomWBW. The project can be found at -. - -#### Z80 fig-FORTH - -Dimitri Theulings' implementation of fig-FORTH for the Z80 has a -RomWBW-specific variant. The project is hosted at -. - -#### Assembly Language Programming for the RC2014 Zed - -Bruce Hall has written a very nice document that describes how to -develop assembly language applications on RomWBW. It begins with the -setup and configuration of a new RC2014 Zed system running RomWBW. -It describes not only generic CP/M application development, but also -RomWBW HBIOS programming and bare metal programming. The latest copy -of this document is hosted at -[http://w8bh.net/Assembly for RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf). - -# Licensing - -## License Terms - -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 . - -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. +$define{doc_title}{Introduction}$ +$include{"Book.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) + () +* [RC2014](https://rc2014.co.uk) (), \ + [RC2014-Z80](https://groups.google.com/g/rc2014-z80) + () +* [Retro Computing](https://groups.google.com/g/retro-comp) + () +* [Small Computer Central](https://smallcomputercentral.com/) + () + +A complete list of the currently supported platforms is found in +$doc_hardware$ . + +`\clearpage`{=latex} + +# Description + +## Primary Features + +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. + +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, Xosera +* 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 + +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 addressable storage on a single device, +with up to 128MB accessible at any one time. + +## Included Software + +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. + +Some of the included software: + +* Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM ) +* Support for other operating systems, p-System, FreeRTOS, and FUZIX. +* Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol) +* C Compiler's including Aztec-C, and HI-TECH C +* Microsoft Basic Compiler, and Microsoft Fortran +* Some games such as Colossal Cave, Zork, etc +* Wordstar Word processing software + +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 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. + +`\clearpage`{=latex} + +## ROM Distribution + +The [RomWBW Repository](https://github.com/wwarthen/RomWBW) +() on GitHub is the official +distribution location for all project source and documentation. + +RomWBW is distributed as both source code and pre-built ROM and disk +images. + +The pre-built ROM images distributed with RomWBW are based on +the default system configurations as determined by the hardware +provider/designer. The pre-built ROM firmware images are generally +suitable for most users. + +The fully-built distribution releases are available on the +[RomWBW Releases Page](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. + +#### Distribution Directory Layout + +The RomWBW distribution is a compressed zip archive file organized in +a set of directories. Each of these directories has its own +ReadMe.txt file describing the contents in detail. In summary, these +directories are: + +| **Directory** | **Description** | +|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in ".rom" and disk images ending in .img. | +| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. | +| **Source** | Contains the source code files used to build the software and ROM images. | +| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. | + +`\clearpage`{=latex} + +#### Building from Source + +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. + +## 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 + +There are several documents that form the core of the RomWBW documentation: + +* $doc_user$ is the main user guide for RomWBW, it covers the major topics + of how to install, manage and use RomWBW, and includes additional guidance + to the use of some of the operating systems supported by RomWBW + +* $doc_hardware$ contains a description of all the hardware platforms, + and devices supported by RomWBW. + +* $doc_apps$ is a reference for the ROM-hosted and OS-hosted applications + created or customized to enhance the operation of RomWBW. + +* $doc_catalog$ is a reference for the contents of the disk images + provided with RomWBW, with a description of many of the files on each image + +* $doc_sys$ discusses much of the internal design and construction + of RomWBW. It includes a reference for the RomWBW HBIOS API + functions. + +Each of the operating systems and ROM applications included with RomWBW +are sophisticated tools in their own right. It is not reasonable to +fully document their usage. However, you will find complete manuals +in PDF format in the Doc directory of the distribution. The intention +of this documentation is to describe the operation of RomWBW and the ways in +which it enhances the operation of the included applications and +operating systems. + +Since RomWBW is purely a software product for many different platforms, +the documentation does **not** cover hardware construction, +configuration, or troubleshooting -- please see your hardware provider +for this information. + +# Support + +## 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$). +I am happy to provide support adapting RomWBW to new or modified systems + +# Contributions + +All source code and distributions are maintained on GitHub. +Contributions of all kinds to RomWBW are very welcome. + +## 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 utility + - 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 + +* Rob Gowin created an online documentation site via MkDocs, and + contributed a driver for the Xosera FPGA-based video + controller. + +`\clearpage`{=latex} + +## Related Projects + +Outside of the hardware platforms adapted to RomWBW, there are a variety +of projects that either target RomWBW specifically or provide +a RomWBW-specific variation. These efforts are greatly appreciated +and are listed below. Please contact the author if there are any other +such projects that are not listed. + +#### Z88DK + +Z88DK is a software powerful development kit for Z80 computers +supporting both C and assembly language. This kit now provides +specific library support for RomWBW HBIOS. The Z88DK project is +hosted at . + +#### Paleo Editor + +Steve Garcia has created a Windows-hosted IDE that is tailored to +development of RomWBW. The project can be found at +. + +#### Z80 fig-FORTH + +Dimitri Theulings' implementation of fig-FORTH for the Z80 has a +RomWBW-specific variant. The project is hosted at +. + +#### Assembly Language Programming for the RC2014 Zed + +Bruce Hall has written a very nice document that describes how to +develop assembly language applications on RomWBW. It begins with the +setup and configuration of a new RC2014 Zed system running RomWBW. +It describes not only generic CP/M application development, but also +RomWBW HBIOS programming and bare metal programming. The latest copy +of this document is hosted at +[http://w8bh.net/Assembly for RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf). + +# Licensing + +## License Terms + +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 . + +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. diff --git a/Source/Doc/Makefile b/Source/Doc/Makefile index 84264301..53d46942 100644 --- a/Source/Doc/Makefile +++ b/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 Graphics/*.svg mkdocs/UserGuide/Graphics - cp Graphics/*.svg mkdocs/SystemGuide/Graphics + cp mkdocs/Introduction.md mkdocs/README.md + cp Graphics/*.svg mkdocs/UserGuide/Graphics + cp Graphics/*.svg mkdocs/SystemGuide/Graphics diff --git a/Source/Doc/ReadMe.md b/Source/Doc/ReadMe.md deleted file mode 100644 index 5a3ec790..00000000 --- a/Source/Doc/ReadMe.md +++ /dev/null @@ -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) - () -* [RC2014](https://rc2014.co.uk) (), \ - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) - () -* [Retro Computing](https://groups.google.com/g/retro-comp) - () -* [Small Computer Central](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) -() 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) -() 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 . - -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$).