Browse Source

Yet Another Iteration of Documentation Updates

pull/331/head
Wayne Warthen 3 years ago
parent
commit
97cb2f1dfc
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Disk Catalog.pdf
  3. BIN
      Doc/RomWBW Errata.pdf
  4. BIN
      Doc/RomWBW ROM Applications.pdf
  5. BIN
      Doc/RomWBW System Guide.pdf
  6. BIN
      Doc/RomWBW User Guide.pdf
  7. 11
      ReadMe.md
  8. 12
      ReadMe.txt
  9. 13
      Source/Doc/Errata.md
  10. 8
      Source/Doc/ReadMe.md
  11. 730
      Source/Doc/UserGuide.md

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Errata.pdf

Binary file not shown.

BIN
Doc/RomWBW ROM Applications.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.

11
ReadMe.md

@ -1,7 +1,7 @@
RomWBW ReadMe
Version 3.1 Pre-release
Wayne Warthen (<wwarthen@gmail.com>)
05 Feb 2023
06 Feb 2023
# Overview
@ -12,8 +12,9 @@ platforms are supported including those produced by these developer
communities:
- [RetroBrew Computers](https://www.retrobrewcomputers.org)
- [RC2014](https://rc2014.co.uk)
- [retro-comp](https://groups.google.com/forum/#!forum/retro-comp)
- [RC2014](https://rc2014.co.uk),
[RC2014-Z80](https://groups.google.com/g/rc2014-z80)
- [retro-comp](https://groups.google.com/g/retro-comp)
- [Small Computer Central](https://smallcomputercentral.com/)
General features include:
@ -71,8 +72,6 @@ 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.
# Getting Started
# Acquiring RomWBW
The [RomWBW Repository](https://github.com/wwarthen/RomWBW) on GitHub is
@ -157,6 +156,8 @@ let me know if I missed you!
computers at Small Computer Central and is distributing RomWBW with
many of them.
- 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.

12
ReadMe.txt

@ -3,7 +3,7 @@
RomWBW ReadMe
Version 3.1 Pre-release
Wayne Warthen (<wwarthen@gmail.com>)
05 Feb 2023
06 Feb 2023
Overview
========
@ -15,8 +15,9 @@ platforms are supported including those produced by these developer
communities:
- [RetroBrew Computers](https://www.retrobrewcomputers.org)
- [RC2014](https://rc2014.co.uk)
- [retro-comp](https://groups.google.com/forum/#!forum/retro-comp)
- [RC2014](https://rc2014.co.uk),
[RC2014-Z80](https://groups.google.com/g/rc2014-z80)
- [retro-comp](https://groups.google.com/g/retro-comp)
- [Small Computer Central](https://smallcomputercentral.com/)
General features include:
@ -74,9 +75,6 @@ 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.
Getting Started
===============
Acquiring RomWBW
================
@ -165,6 +163,8 @@ let me know if I missed you!
computers at Small Computer Central and is distributing RomWBW with
many of them.
- 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.

13
Source/Doc/Errata.md

@ -5,14 +5,15 @@ $include{"Book.h"}$
The following errata apply to $doc_product$ $doc_ver$:
* The use of high density floppy disks requires a CPU speed of 8 MHz or greater.
* The use of high density floppy disks requires a CPU speed of 8 MHz or
greater.
* The PropIO support is based on RomWBW specific firmware. Be sure to
program/update your PropIO firmware with the corresponding firmware
image provided in the Binary directory of the RomWBW distribution.
* Reading bytes from the video memory of the VDU board (not Color VDU)
appears to be problematic. This is only an issue when the driver needs
to scroll a portion of the screen which is done by applications such as
WordStar or ZDE. You are likely to see screen corruption in this case.
software/firmwareos/romwbw/errata.
* Reading bytes from the video memory of the VDU board (not Color
VDU) appears to be problematic. This is only an issue when the driver
needs to scroll a portion of the screen which is done by applications
such as WordStar or ZDE. You are likely to see screen corruption in
this case.

8
Source/Doc/ReadMe.md

@ -15,8 +15,8 @@ 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)
* [retro-comp](https://groups.google.com/forum/#!forum/retro-comp)
* [RC2014](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80)
* [retro-comp](https://groups.google.com/g/retro-comp)
* [Small Computer Central](https://smallcomputercentral.com/)
General features include:
@ -73,8 +73,6 @@ 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.
# Getting Started
# Acquiring RomWBW
The [RomWBW Repository](https://github.com/wwarthen/RomWBW) on GitHub is
@ -154,6 +152,8 @@ please let me know if I missed you!
computers at Small Computer Central and is distributing RomWBW
with many of them.
* 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.

730
Source/Doc/UserGuide.md

@ -18,7 +18,7 @@ companion documents you should refer to as appropriate:
with RomWBW including the monitor, programming languages, etc.
* $doc_catalog$ is a reference for the contents of the disk images
provided with RomWBW. It is not entirely up-to-date.
provided with RomWBW. It is somewhat out of date at this time.
* $doc_errata$ is updated as needed to document issues or anomalies
discovered in the current software distribution.
@ -52,7 +52,7 @@ 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](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80)
* [retro-comp](https://groups.google.com/forum/#!forum/retro-comp)
* [Small Computer Central](https://smallcomputercentral.com/)
@ -64,7 +64,7 @@ General features include:
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
* Keyboard (PS/2) drivers via VT8242 or PPI interfaces
* Real time clock drivers including DS1302, BQ4845
* OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS
* OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS
* Built-in VT-100 terminal emulation support
RomWBW is distributed as both source code and pre-built ROM and disk
@ -78,7 +78,7 @@ ROM firmware itself:
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass media devices (IDE Disk, CF Card, SD Card) support
Additionally, mass storage devices (IDE Disk, CF Card, SD Card) 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
@ -105,10 +105,10 @@ 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 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.
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.
# Getting Started
@ -188,24 +188,24 @@ below, **carefully** pick the appropriate ROM image for your hardware.
| RC/BP80 Bus Z180 w/ native banking | RCZ180_nat.rom | 115200 |
| RC/BP80 Bus Z280 w/ external banking | RCZ180_ext.rom | 115200 |
| RC/BP80 Bus Z280 w/ native banking | RCZ180_nat.rom | 115200 |
| Sergey Kiselev's Easy Z80 SBC w/ RC Bus | EZZ80_std.rom | 115200 |
| Sergey Kiselev's Tiny EIPC Z80 SBC w/ RC Bus | EZZ80_tz80.rom | 115200 |
| Sergey Kiselev's Z80-512K Module for RC Bus | EZZ80_skz.rom | 115200 |
| Sergey Kiselev's Easy Z80 SBC w/ RCBus | EZZ80_std.rom | 115200 |
| Sergey Kiselev's Tiny EIPC Z80 SBC w/ RCBus | EZZ80_tz80.rom | 115200 |
| Sergey Kiselev's Z80-512K Module for RCBus | EZZ80_skz.rom | 115200 |
| Stephen Cousin's SC126 Z180 SBC w/ BP80 Bus | SCZ180_126.rom | 115200 |
| Stephen Cousin's SC130 Z180 SBC w/ RC Bus | SCZ180_130.rom | 115200 |
| Stephen Cousin's SC130 Z180 SBC w/ RCBus | SCZ180_130.rom | 115200 |
| Stephen Cousin's SC131 Z180 Pocket Computer | SCZ180_131.rom | 115200 |
| Stephen Cousin's SC140 Z180 for Z50Bus | SCZ180_140.rom | 115200 |
| Steve Garcia's Z180 Dyno SBC w/ Dyno Bus | DYNO_std.rom | 38400 |
| Andrew Lynch's Nhyodyne Z80 MBC | MBC_std.rom | 38400 |
| Andrew Lynch's Rhyophyre Z180 SBC | RPH_std.rom | 38400 |
| Bill Shen's Z80 ZRC for RC Bus | RCZ80_zrc.rom | 115200 |
| Bill Shen's Z280 ZZRCC for RC Bus | RCZ280_nat_zzr.rom | 115200 |
| Bill Shen's Z280 ZZ80MB SBC w/ RC Bus | RCZ280_nat_zz.rom | 115200 |
| Bill Shen's Z80 ZRC for RCBus | RCZ80_zrc.rom | 115200 |
| Bill Shen's Z280 ZZRCC for RCBus | RCZ280_nat_zzr.rom | 115200 |
| Bill Shen's Z280 ZZ80MB SBC w/ RCBus | RCZ280_nat_zz.rom | 115200 |
RC Bus refers to Spencer Owen's RC2014 bus specification. BP80 Bus is
RCBus refers to Spencer Owen's RC2014 bus specification. BP80 Bus is
an enhanced 80-pin version of the RC2014 bus.
The RC Bus Z180 & Z280 require a separate RAM/ROM memory module. There
The RCBus Z180 & Z280 require a separate RAM/ROM memory module. There
are two types of these modules and you must pick the correct ROM for
your type of memory module. The first option is the same as the 512K
RAM/ROM module for RC/BP80 Bus. This is called external ("ext") because
@ -1717,20 +1717,30 @@ disk slice from the boot loader prompt. See the instructions in
One of the primary goals of RomWBW is to expose a set of generic
hardware functions that make it easy to adapt operating systems to
any hardware supported by RomWBW. As a result, there are now 5
any hardware supported by RomWBW. As a result, there are now 8
operating systems that have been adapted to run under RomWBW. The
adaptations are identical for all hardware supported by RomWBW
because RomWBW hides all hardware specifics from the operating system.
Note that all of the operating systems included with RomWBW support
the same basic filesystem format. As a result, a formatted filesystem
will be accessible to any operating system. The only possible issue
is that if you turn on date/time stamping using the newer OSes, the
older OSes will not understand this. Files will not be corrupted, but
the date/time stamps will not be maintained.
By design, the operating systems provided with RomWBW are original and
unmodified from their original distribution. Patches published by the
authors are generally included or applied. The various enhancements
RomWBW provides (such as hard disk slices) are implemented entirely
within the system adaptation component of each operating system (e.g.,
CP/M CBIOS). As a result, each operating system should function
exactly as documented by the authors and retain maximum compatibility
with original applications.
Note that all of the operating systems included with RomWBW support the
same basic filesystem format from DRI CP/M 2.2 (except for p-System). As
a result, a formatted filesystem will be accessible to any operating
system. The only possible issue is that if you turn on date/time
stamping using the newer OSes, the older OSes will not understand this.
Files will not be corrupted, but the date/time stamps will not be
maintained.
The following sections briefly describe the operating system options
currently available.
currently available and brief operating notes.
## Digital Research CP/M 2.2
@ -1741,12 +1751,7 @@ operating systems including those listed below.
If you are new to the CP/M world, I would recommend using this CP/M
variant to start with simply because it is the most stable and you are
less likely to encounter problems.
The RomWBW CP/M 2.2 CBIOS has been enhanced to allow automatic
execution of a `PROFILE.SUB` submit file at startup. The CP/M 2.2
code components from DRI were not changed -- this was implemented in
the machine specific CBIOS.
less likely to encounter compatibility issues.
#### Documentation
@ -1768,6 +1773,10 @@ call "CPM.SYS". For example:
ctrl-C. This is a CP/M 2.2 constraint and is well documented
in the DRI manual.
* `SUBMIT.COM` has been patched per DRI to always place submit
files on A:. This ensures the submitted file will always be
properlly executed.
* The original versions of DDT, DDTZ, and ZSID used the RST 38
vector which conflicts with interrupt mode 1 use of this vector.
The DDT, DDTZ, and ZSID applications in RomWBW have been modified
@ -1784,17 +1793,16 @@ version of CP/M and should run all CP/M 2.2 applications. It is
optimized for the Z80 CPU (as opposed to 8080 for CP/M) and has some
significant improvements such as date/time stamping of files.
Z-System is a somewhat ambiguous term because there are multiple
generations of this software. RomWBW uses ZCPR-DJ and ZSDOS 1.1
when referring to Z-System. The latest version of Z-System (ZCPR 3.4)
is also provided with RomWBW via NZ-COM (see below).
Like CP/M 2.2, RomWBW includes the ability to autorun a `PROFILE.SUB`
submit file at startup.
Z-System is a somewhat ambiguous term because there are multiple
generations of this software. RomWBW Z-System is a combination of both
ZCPR-DJ (the CCP) and ZSDOS 1.1 (the BDOS) when referring to Z-System.
The latest version of Z-System (ZCPR 3.4) is also provided with RomWBW
via the NZ-COM adaptation (see below).
#### Documentation
* [ZCPR Manual]($doc_root$/ZCPR Manual.pdf)
* [ZCPR-DJ]($doc_root$/ZCPR-DJ.doc)
* [ZSDOS Manual]($doc_root$/ZSDOS Manual.pdf)
#### Boot Disk
@ -2026,7 +2034,7 @@ tool if you want to perform a fresh installation.
## UCSD p-System
This is a full implementation of the UCSD p-System IV.0 for Z80
running under RomWBW. Unlike the OSes above, p-System uses it's
running under RomWBW. Unlike the OSes above, p-System uses its
own unique filesystem and is not interoperable with other OSes.
It was derived from the p-System Adaptable Z80 System. Unlike
@ -2091,7 +2099,7 @@ You can also contact Phillip for detailed information on the Z180
implementation of FreeRTOS for RomWBW.
[feilipu](https://github.com/feilipu)
# RomWBW Custom Applications
# Custom Applications
The operation of the RomWBW hosted operating systems is enhanced through
several custom applications. You have already read about one of these --
@ -2143,6 +2151,494 @@ directory of the distribution.
| FAT | Access MS-DOS FAT filesystems from RomWBW (based on FatFs). |
| INTTEST | Test interrupt vector hooking. |
# FAT Filesystem
The FAT filesystem format that originated with MS-DOS has been almost
ubiquitous across modern computers. Virtually all operating systems
now support reading and writing files to a FAT filesystem. For this
reason, RomWBW now has the ability to read and write files on FAT
filesystems.
This is accomplished by running a RomWBW custom application called `FAT`.
This application understands both FAT filesystems as well as CP/M filesystems.
* Files can be copied between a FAT filesystem and a CP/M filesystem,
but you cannot execute files directly from a FAT filesystem.
* FAT12, FAT16, and FAT32 formats are supported.
* Long filenames are not supported. Files with long filenames will
show up with their names truncated into the older 8.3 convention.
* A FAT filesystem can be located on floppy or hard disk media. For
hard disk media, the FAT filesystem must be located within a valid
FAT partition.
## FAT Filesystem Preparation
In general, you can create media formatted with a FAT filesystem on
your RomWBW computer or on your modern computer. We will only be
discussing the RomWBW-based approach here.
In the case of a floppy disk, you can use the `FAT` application to
format the floppy disk. For example, if your floppy disk is on RomWBW
disk unit 2, you could use `FAT FORMAT 2:`. This will overwrite the
floppy with a FAT filesystem and all previous contents will be lost.
Once formatted this way, the floppy disk can be used in a floppy drive
attached to a modern computer or it can be used on RomWBW using the
other `FAT` tool commands.
In the case of hard disk media, it is necessary to have a FAT
partition. If you prepared your RomWBW hard disk media using the
disk image process, then this partition will already be present and
you do not need to recreate it. This default FAT partition is located
at approximately 512MB from the start of your disk and it is 384MB in
size. So, your hard disk media must be 1GB or greater to use this
default FAT partition.
You can confirm the existence of the FAT partition with `FDISK80` by
using the 'P' command to show the current partition table. Here is an
example of a partition table listing from `FDISK80` that includes the
FAT partition (labeled "FAT16"):
```
Capacity of disk 4: ( 4G) 7813120 Geom 77381010
Nr ---Type- A -- Start End LBA start LBA count Size
1 RomWBW 2e 8:0:1 1023:15:16 2048 1048576 512M
2 FAT16 06 1023:0:1 1023:15:16 1050624 786432 384M
3 00 *** empty ***
4 00 *** empty ***
```
If your hard disk media does not have a FAT partition already defined,
you will need to define one using FDISK80 by using the 'N' command.
Ensure that the location and size of the FAT partition does not
overlap any of the CP/M slice area and that it fits within the szie
of your media.
Once the partition is defined, you will still need to format it. Just
as with a floppy disk, you use the `FAT` tool to do this. If your
hard disk media is on RomWBW disk unit 4, you would use `FAT FORMAT 4:`.
This will look something like this:
```
E>fat format 4:
About to format FAT Filesystem on Disk Unit #4.
All existing FAT partition data will be destroyed!!!
Continue (y/n)?
Formatting... Done
```
Your FAT filesystem is now ready to use.
If your RomWBW system has multiple disk drives/slots, you can also just
create a disk with your modern computer that is a dedicated FAT
filesystem disk. You can use your modern computer to format the disk
(floppy, CF Card, SD Card, etc.), then insert the disk in your RomWBW
computer and access if using `FAT` based on it's RomWBW unit number.
## FAT Application Usage
Complete instructions for the `FAT` application are found in $doc_apps$.
Here, we will just provide a couple of simple examples. Note that the
FAT application is not on the ROM disk because it is too large to
include there.
The most important thing to understand about the `FAT` application is
how it refers to FAT filesystems vs. CP/M filesystems. It infers this
based on the file specification provided. If you use a specification
like `C:SAMPLE.TXT`, it will use the C: drive of your CP/M operating
system. If you use a specification like `4:SAMPLE.TXT`, it will use
the FAT filesystem on the disk in RomWBW disk unit 4. Basically, if
you start your file or directory specification with a number followed
by a colon, it means FAT filesystem. Anything else will mean CP/M
filesystem.
Here are a few examples. This first example shows how to get a FAT
directory listing from RomWBW disk unit 4:
```
E>fat dir 4:
Directory of 4:
E>
```
As you can see, there are currently no files there. Now let's copy
a file from CP/M to the FAT directory:
```
E>fat copy sample.txt 4:
Copying...
SAMPLE.TXT ==> 4:/SAMPLE.TXT ... [OK]
1 File(s) Copied
```
If we list the FAT directory again, you will see the file:
```
E>fat dir 4:
Directory of 4:
01/30/2023 17:50:14 29952 ---A SAMPLE.TXT
```
Now let's copy the file from the FAT filesystem back to CP/M. This
time we will get a warning about overwriting the file. For this
example, we don't want to do that, so we abort and reissue the
command specifying a new filename to use:
```
E>fat copy 4:sample.txt e:
Copying...
4:/SAMPLE.TXT ==> E:SAMPLE.TXT Overwrite? (Y/N) [Skipped]
0 File(s) Copied
E>fat copy 4:sample.txt e:sample2.txt
Copying...
4:/SAMPLE.TXT ==> E:SAMPLE2.TXT ... [OK]
1 File(s) Copied
```
Finally, let's try using wildcards:
```
E>fat copy sample*.* 4:
Copying...
SAMPLE.TXT ==> 4:/SAMPLE.TXT Overwrite? (Y/N) ... [OK]
SAMPLE2.TXT ==> 4:/SAMPLE2.TXT ... [OK]
2 File(s) Copiedd
```
# CP/NET Networking
Digital Research created a simple network file sharing system called
CP/NET. This allowed a network server running CP/NOS to host files
available to network attached CP/M computers. Essentially, the host
becomes a simple file sharing server.
RomWBW disk images include an adaptation of the DRI CP/NET client
software provided by Douglas Miller. RomWBW does not support operation
as a network server itself. However, Douglas has also developed a
Java-based implementation of the DRI network server that can be used to
provide host services from a modern computer.
Both CP/NET 1.2 and 3.0 clients are provided. Version 1.2 is for use
with CP/M 2.2 and compatible OSes. Version 3.0 is for use with CP/M 3
and compatible OSes.
The CP/NET client software provided with RomWBW is specifically for the
MT011 Module developed by Mark T for the RCBus. The client software
interacts directly with this hardware. In a future version of RomWBW, I
hope to add a generic networking API that will allow a greater range of
network hardware to be used.
To use CP/NET effectively, you will want to review the documentation
provided by Douglas on his
[cpnet-z80 GitHub Project](https://github.com/durgadas311/cpnet-z80).
Additionally, you should consult the DRI documentation which is not
included with RomWBW, but is available on the
[cpnet-z80](https://github.com/durgadas311/cpnet-z80) site.
Below, I will provide the general steps involved in setting up a
network using MT011 with RomWBW. The examples are all based on
Z-System.
## CP/NET Client Setup
The CP/NET client files are included on the RomWBW disk images, but
they are found in user area 4. They are placed there to avoid
confusing anyone that is not specifically trying to run a network
client.
First, you need to merge the files from user area 4 into user area 0.
After booting into Z-System (disk boot), you can copy the files
using the following command:
`COPY 4:*.* 0:`
You will be asked if you want to overwrite `README.TXT`. It doesn't
really matter, but I suggest you do not overwrite it.
The MT011 Module uses a WizNet network module. At this point, you will
need to configure it for your local network. The definitive guide to
the use of `WIZCFG` is on the
[cpnet-z80](https://github.com/durgadas311/cpnet-z80) site in the
document called "CPNET-WIZ850io.pdf". Here is an example of the commands
needed to configure the WizNet:
| | |
|------------------------------------|----------------------------------------|
| `wizcfg w n F0` | set CP/NET node id |
| `wizcfg w i 192.168.1.201` | set WizNet IP address |
| `wizcfg w g 192.168.1.1` | set local network gateway IP address |
| `wizcfg w s 255.255.255.0` | set WizNet subnet mask |
| `wizcfg w 0 00 192.168.1.3 31100` | set server node ID, IP address, & port |
You will need to use values appropriate for your local network. You can
use the command `wiznet w` to display the current values which is
useful to confirm they have been set as intended.
```
A>wizcfg w
Node ID: F0H
IP Addr: 192.168.1.201
Gateway: 192.168.1.1
Subnet: 255.255.255.0
MAC: 98:76:B6:11:00:C4
Socket 0: 00H 192.168.1.3 31100 0
```
You will need to reapply these commands every time you power cycle
your RomWBW computer, so I recommend putting them into a `SUBMIT` file.
After applying these commands, you should be able ping the WizNet from
another computer on the local network. If this works, then the
client-side is ready.
## CP/NET Sever Setup
These instructions will assume you are using Douglas' CpnetSocketServer
as the server on your network. The definitive guide to this software
is also on the [cpnet-z80](https://github.com/durgadas311/cpnet-z80)
site and is called "CpnetSocketServer.pdf".
The software is a Java application, so it can generally run anywhere
there is a Java runtime environment available. I have normally used
it on a Linux system and have had good results with that.
You will need to download the application called "CpnetSocketServer.jar"
from the [cpnet-z80](https://github.com/durgadas311/cpnet-z80) site. The
application uses a configuration file. My configuration file is called
"cpnet00.rc" and has these contents:
```
cpnetserver_host = 192.168.1.3
cpnetserver_port = 31100
cpnetserver_temp = P
cpnetserver_sid = 00
cpnetserver_max = 16
cpnetserver_root_dir = /home/wayne/cpnet/root
```
You will also need to setup a directory structure with the drive
letters per the documentation.
To start the server, you would use a command like this:
`java -jar CpnetSocketServer.jar conf=cpnet00.rc`
At this point, the server should start and you should see the following:
```
CpnetSocketServer v1.3
Using config in cpnet00.rc
Server 00 Listening on 192.168.1.3 port 31100 debug false
```
Your CP/NET server should now be ready to accept client connections.
## CP/NET Usage
With both the client and server configured, you are ready to load and
use CP/NET on your RomWBW system. CP/NET documentation is available
on the [cpnet-z80](https://github.com/durgadas311/cpnet-z80) site.
The document is called "dri-cpnet.pdf".
After booting your computer, you will always need to start CP/NET using
the `CPNETLDR` command. If that works, you can map network drives as
local drives using the `NETWORK` command. The `CPNETSTS` command is
useful for displaying the current status. Here is a sample session:
```
A>cpnetldr
CP/NET 1.2 Loader
=================
BIOS E600H 1A00H
BDOS D800H 0E00H
SNIOS SPR D400H 0400H
NDOS SPR C800H 0C00H
TPA 0000H C800H
CP/NET 1.2 loading complete.
A>network k:=c:[0]
A>dir k:
K: TELNET COM : ZDENST COM : CLRDIR COM : RTC COM
K: DDTZ COM : MBASIC COM : XSUBNET COM : NETWORK COM
K: WGET COM : UNCR COM : FLASH COM : PIP COM
K: TIMEZONE COM : COMPARE COM : ZAP COM
A>cpnetsts
CP/NET 1.2 Status
=================
Requester ID = F0H
Network Status Byte = 10H
Disk device status:
Drive A: = LOCAL
Drive B: = LOCAL
Drive C: = LOCAL
Drive D: = LOCAL
Drive E: = LOCAL
Drive F: = LOCAL
Drive G: = LOCAL
Drive H: = LOCAL
Drive I: = LOCAL
Drive J: = LOCAL
Drive K: = Drive C: on Network Server ID = 00H
Drive L: = LOCAL
Drive M: = LOCAL
Drive N: = LOCAL
Drive O: = LOCAL
Drive P: = LOCAL
Console Device = LOCAL
List Device = LOCAL
```
You will see some additional messages on your server when clients
connect. Here are the messages issued by the server in the above
example:
```
Connection from 192.168.1.201 (31100)
Remote 192.168.1.201 is f0
Creating HostFileBdos 00 device with root dir /home/wayne/cpnet/root
```
At this point CP/NET is ready for general use.
## Network Boot
It is possible to boot your MT011 equipped RomWBW system directly
from a network server. This means that the operating system will be
loaded directly from the network server and all of your drive letters
will be provided by the network server.
It is important to understand that the operating system that is loaded
in this case is **not** a RomWBW enhanced operating system. Some
commands (such as the `ASSIGN` command) will not be possible. Also,
you will only have access to drives provided by the network server --
no local disk drives will be available.
In order to do this, your MT011 Module must be enhanced with an NVRAM
SPI FRAM mini-board. The NVRAM is used to store your WizNet
configuration values so they do not need to be re-entered every time you
cold boot your system.
Using the same values from the previous example, you would
issue the WizNet commands:
```
wizcfg n F0
wizcfg i 192.168.1.201
wizcfg g 192.168.1.1
wizcfg s 255.255.255.0
wizcfg 0 00 192.168.1.3 31100
```
Note that the 'w' parameter is now omitted which causes these values to
be written to NVRAM.
As before, your network server will need to be running
CpnetSocketServer. However, you will need to setup a directory that
contains some files that will be sent to your RomWBW system when the
Network boot is performed. By default the directory will be
`~/NetBoot`. In this directory you need to place the following files:
* `cpnos-wbw.sys` found in the Binary directory of RomWBW
* `ndos.spr` found in the Source/Images/cpnet12 directory of RomWBW
* `snios.spr` found in the Source/Images/cpnet12 directory of RomWBW
You also need to make sure CpnetSocketServer is configured with an 'A'
drive and that drive must contain (at an absolute minimum) the following
file:
* `ccp.spr` found in the Source/Images/cpnet12 directory of RomWBW
Finally, you need to add the following line to your CpnetSocketServer
configuration file:
`netboot_default = cpnos-wbw.sys`
To perform the network boot, you start your RomWBW system normally which
should leave you at the Boot Loader prompt. The 'N' command will
initiate the network boot. Here is an example of what this looks like:
```
RC2014 [RCZ180_nat_wbw] Boot Loader
Boot [H=Help]: n
Loading Network Boot...
MT011 WizNET Network Boot
WBWBIOS SPR FD00 0100
COBDOS SPR FA00 0300
SNIOS SPR F600 0400
NDOS SPR EA00 0C00
58K TPA
A>
```
The CP/M operating system and the CP/NET components have been loaded
directly from the network server. All of your drive letters are
automatically mapped directly to the drive letters configured with
CpnetSocketServer.
```
A>cpnetsts
CP/NET 1.2 Status
=================
Requester ID = F0H
Network Status Byte = 10H
Disk device status:
Drive A: = Drive A: on Network Server ID = 00H
Drive B: = Drive B: on Network Server ID = 00H
Drive C: = Drive C: on Network Server ID = 00H
Drive D: = Drive D: on Network Server ID = 00H
Drive E: = Drive E: on Network Server ID = 00H
Drive F: = Drive F: on Network Server ID = 00H
Drive G: = Drive G: on Network Server ID = 00H
Drive H: = Drive H: on Network Server ID = 00H
Drive I: = Drive I: on Network Server ID = 00H
Drive J: = Drive J: on Network Server ID = 00H
Drive K: = Drive K: on Network Server ID = 00H
Drive L: = Drive L: on Network Server ID = 00H
Drive M: = Drive M: on Network Server ID = 00H
Drive N: = Drive N: on Network Server ID = 00H
Drive O: = Drive O: on Network Server ID = 00H
Drive P: = Drive P: on Network Server ID = 00H
Console Device = LOCAL
List Device = LOCAL
```
At this point you can use CP/M and CP/NET normally, but all disk
access will be to/from the network drives.
# Transferring Files
Transferring files between your modern computer and your RomWBW
@ -2216,33 +2712,35 @@ detail in the Source\\Images directory of the distribution.
## FAT Filesystem Transfers
RomWBW provides a mechanism that allows it to read and write files on
a FAT formatted disk. This means that you can generally use your
modern computer to make an SD Card or CF Card with a standard FAT32
filesystem on it, then place that media in your RomWBW computer and
The ability to interact with FAT filesystems was covered in [FAT
Filesystem]. This capability means that you can generally use your
modern computer to make an SD Card or CF Card with a standard FAT32
filesystem on it, then place that media in your RomWBW computer and
access the files.
When formatting the media on your modern computer, be sure to pick
the FAT filesystem. NTFS and other filesystems will not work.
On your RomWBW computer you can use the `FAT` application to access
the FAT media. The `FAT` application allows you to read files, write
files, list a directory, and erase files on the FAT media. It can
handle subdirectories as well. It will only see 8.3 character
filenames however. Longer filenames will show up as a truncated
version.
The `FAT` application is not on your ROM disk because it is too large
to fit. You will find it on all of the pre-built disk images as well
as in the Binary\\Apps directory of the distribution.
For advanced users, it is possible to create a hybrid disk that
contains CP/M slices at the beginning and a FAT filesystem after.
Such a hybrid disk can be used to boot an operating system and still
have access to FAT files on the FAT portion of the disk. David Reese
has prepared a document describing how to do this. It is called
"SC126_How-To_No_2_Preparing_an_SD_Card_for_Use_with_SC126_Rev_1-5.pdf"
and can be found in the Doc\\Contrib directory of the distribution.
When formatting the media on your modern computer, be sure to pick the
FAT filesystem. NTFS and other filesystems will not work. As previously
mentioned, the `FAT` application does not understand long filenames,
only the traditional 8.3 filenames. If you have files on your modern
computer with long filenames, it is usually easiest to rename them on
the modern computer.
To copy files from your modern computer to your RomWBW computer, start
by putting the disk media with the FAT filesystem in your modern
computer. The modern computer should recognize it. Then copy the files
you want to get to your RomWBW computer onto this media. Once done,
remove the media from your modern computer and insert it in the RomWBW
computer. Finally, use the `FAT` tool to copy the files onto a CP/M
drive.
This process works just fine in reverse if you want to copy files from a
CP/M filesystem to your modern computer.
**WARNING**: If you are using media that contains both a FAT partition
and a RomWBW partition, your modern computer may be confused by the
RomWBW partition. In some cases, it will prompt you to format the
RomWBW partition because it doesn't know what it is. You will be
prompted before it does this -- just be careful not to allow it.
# Customizing RomWBW
@ -2533,6 +3031,8 @@ please let me know if I missed you!
computers at Small Computer Central and is distributing RomWBW
with many of them.
* 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.
@ -2610,54 +3110,60 @@ Submission of issues and bugs are welcome at the
Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$).
# Appendix A - Device Summary
# Appendixes
```{=latex}
\newpage
```
## Appendix A - Device Summary
The table below briefly describes each of the possible devices that
may be discovered by RomWBW in your system.
| ID | Unit Type | Description |
|---------- | ---------- | -------------------------------------------- |
| ACIA | Character | ? Serial Interface |
| ASCI | Character | Z180 built-in serial ports|
| AY | Audio | |
| BQRTC | RTC | |
| CTC | System | |
| CVDU | Video | |
| DMA | System | |
| DS1307 | RTC | |
| DS1501RTC | RTC | |
| DSKY | System | |
| DSRTC | RTC | |
| DUART | Character | |
| FD | Disk | |
| GDC | Video | |
| HDSK | Disk | |
| IDE | Disk | |
| INTRTC | RTC | |
| KBD | Keyboard | |
| KIO | System | |
| LPT | Character | |
| MD | Disk | |
| MSXKYB | Keyboard | |
| I2C | System | |
| PIO | Character | |
| PPIDE | Disk | |
| PPK | Keyboard | |
| PPPSD | Disk | |
| PPPCON | Serial | |
| PRPSD | Disk | |
| PRPCON | Serial | |
| RF | Disk | |
| RP5C01 | RTC | |
| SD | Disk | |
| SIMRTC | |
| SIO | Character | |
| SN76489 | Sound | |
| SPK | Sound | |
| TMS | Video | |
| UART | Character | |
| USB-FIFO | Character | |
| VDU | Video | |
| VGA | Video | |
| YM | Audio | |
| Z2U | Character | |
| ID | Type | Description |
|---------- | ------- | ------------------------------------------------------ |
| ACIA | Char | MC68B50 Asynchronous Communications Interface Adapter |
| ASCI | Char | Z180 Built-in Serial Ports |
| AY | Audio | AY-3-8910/YM2149 Programmable Sound Generator |
| BQRTC | RTC | BQ4845P Real Time Clock |
| CTC | System | Zilog Clock/Timer |
| CVDU | Video | MC8563-based Video Display Controller |
| DMA | System | Zilog DMA Controller |
| DS1307 | RTC | Maxim DS1307 PCF I2C Real-Time Clock w/ NVRAM |
| DS1501RTC | RTC | Maxim DS1501/DS1511 Watchdog Real-Time Clock |
| DSKY | System | Keypad & Display |
| DSRTC | RTC | Maxim DS1302 Real-Time Clock w/ NVRAM |
| DUART | Char | SCC2681 or compatible Dual UART |
| FD | Disk | 8272 of compatible Floppy Disk Controller |
| GDC | Video | uPD7220 Video Display Controller |
| HDSK | Disk | SIMH Simulator Hard Disk |
| IDE | Disk | IDE/ATA Hard Disk Interface |
| INTRTC | RTC | Interrupt-based Real Time Clock |
| KBD | Kbd | 8242 PS/2 Keyboard Controller |
| KIO | System | Zilog Serial/ Parallel Counter/Timer |
| LPT | Char | Parallel I/O Controller |
| MD | Disk | ROM/RAM Disk |
| MSXKYB | Kbd | MSX Compliant Matrix Keyboard |
| I2C | System | I2C Interface |
| PIO | Char | Zilog Parallel Interface Controller |
| PPIDE | Disk | 8255 IDE/ATA Hard Disk Interface |
| PPK | Kbd | Matrix Keyboard |
| PPPSD | Disk | ParPortProp SD Card Interface |
| PPPCON | Serial | ParPortProp Serial Console Interface |
| PRPSD | Disk | PropIO SD Card Interface |
| PRPCON | Serial | PropIO Serial Console Interface |
| RF | Disk | RAM Floppy Disk Interface |
| RP5C01 | RTC | Ricoh RPC01A Real-Time Clock w/ NVRAM |
| SD | Disk | SD Card Interface |
| SIMRTC | RTC | SIMH Simulator Real-Time Clock |
| SIO | Char | Zilog Serial Port Interface |
| SN76489 | Sound | SN76489 Programmable Sound Generator |
| SPK | Sound | Bit-bang Speaker |
| TMS | Video | TMS9918/38/58 Video Display Controller |
| UART | Char | 16C550 Family Serial Interface |
| USB-FIFO | Char | FT232H-based ECB USB FIFO |
| VDU | Video | MC6845 Family Video Display Controller |
| VGA | Video | HD6445CP4-based Video Display Controller |
| YM | Audio | YM2612 Programmable Sound Generator |
| Z2U | Char | Zilog Z280 Built-in Serial Ports |

Loading…
Cancel
Save