Browse Source

Doc Updates

- Various edits to address feedback from Andrew Kendall.
work
Wayne Warthen 2 years ago
parent
commit
47120dcf8c
  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. 4
      ReadMe.md
  8. 4
      ReadMe.txt
  9. 50
      Source/Doc/ROM_Applications.md
  10. 2
      Source/Doc/ReadMe.md
  11. 74
      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.

4
ReadMe.md

@ -3,7 +3,7 @@
**RomWBW ReadMe** \
Version 3.5 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
16 Apr 2024
17 Apr 2024
# Overview
@ -229,6 +229,8 @@ let me know if I missed you!
- 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

4
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com)
16 Apr 2024
17 Apr 2024
@ -230,6 +230,8 @@ let me know if I missed you!
- 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.

50
Source/Doc/ROM_Applications.md

@ -10,7 +10,7 @@ programming languages.
`\clearpage`{=latex}
# ROMWBW Monitor
# RomWBW Monitor
The Monitor program is a low level utility that can be used
for testing and programming. It allows programs to be entered,
@ -339,8 +339,8 @@ A comprehensive instruction manual is available in the Doc\\Contrib directory.
## ROMWBW unsupported features
- Cassette loading
- Cassette saving
- This ROM-hosted implementation does not support cassette or disk
access for loading and saving programs.
# TastyBASIC
@ -350,10 +350,12 @@ original source can be found here [https://github.com/dimitrit/tastybasic](https
## Features / Limitations
Integer arithmetic, numbers -32767 to 32767
Singles letter variables A-Z
1-dimensional array support
Strings are not supported
- This ROM-hosted implementation does not support disk access for
loading and saving programs.
- Integer arithmetic, numbers -32767 to 32767
- Singles letter variables A-Z
- 1-dimensional array support
- Strings are not supported
## Direct Commands
@ -494,7 +496,8 @@ Due to different platform processor speeds, serials speeds and flow control cap
See the ROMWBW Applications guide for additional information on performing upgrades.
## Console Options
## Console Options
Option ( C ) - Set Console Device
Option ( S ) - Set Serial Device
@ -576,7 +579,7 @@ Can be used to verify if a ROM image has been transferred and flashed correctly.
In Windows, right clicking on a file should also give you a context menu option CRC SHA which will allow you to select a CRC32 calculation to be done on the selected file.
## Teraterm macro configuration
## Tera Term macro configuration
Macros are a useful tool for automatic common tasks. There are a number of instances where using macros to facilitate the update process could be worthwhile if you are:
@ -595,20 +598,21 @@ crc32file crc '\\desktop\users\phillip\documents\github\romwbw\binary\sbc_std_cu
sprintf '0x%08x' crc
messagebox inputstr 'crc32'
```
## Serial speed guidelines
As identified in the introduction, there are limitations on serial speed depending on processor speed and flow control settings. Listed below are some of the results identified during testing.
Platform / Configuration | Processor Speed | Maximum Serial Speed
-------------------------------|-----------------|---------------------
Sbc-v2 uart no flow control | 2mhz | 9600
sbc-v2 uart no flow control | 4mhz | 19200
sbc-v2 uart no flow control | 5mhz | 19200
sbc-v2 uart no flow control | 8mhz | 38400
sbc-v2 uart no flow control | 10mhz | 38400
sbc-v2 usb-fifo 2mhz+ | | n/a
sbc-mk4 asci no flow control | 18.432mhz | 9600
sbc-mk4 asci with flow control | 18.432mhz | 38400
SBC-V2 UART no flow control | 2mhz | 9600
SBC-V2 UART no flow control | 4mhz | 19200
SBC-V2 UART no flow control | 5mhz | 19200
SBC-V2 UART no flow control | 8mhz | 38400
SBC-V2 UART no flow control | 10mhz | 38400
SBC-V2 USB-FIFO 2mhz+ | | n/a
SBC-MK4 ASCI no flow control | 18.432mhz | 9600
SBC-MK4 ASCI with flow control | 18.432mhz | 38400
The **Set Recommend Baud Rate** option in the Updater menu follows the following guidelines.
@ -623,9 +627,9 @@ These can be customized in the updater.asm source code in the CLKTBL table if d
Feedback to the ROMWBW developers on these guidelines would be appreciated.
## Notes:
All testing was done with Teraterm x-modem, Forcing checksum mode using macros was found to give the most reliable transfer.
Partial writes can be completed with 39SF040 chips. Other chips require entire flash to be erased before being written.
An SBC V2-005 MegaFlash or Z80 MBC required for 1mb flash support. The Updater assumes both chips are same type
Failure handling has not been tested.
Timing broadly calibrated on a Z80 SBC-v2
Unabios not supported
- All testing was done with Teraterm x-modem, Forcing checksum mode using macros was found to give the most reliable transfer.
- Partial writes can be completed with 39SF040 chips. Other chips require entire flash to be erased before being written.
- An SBC V2-005 MegaFlash or Z80 MBC required for 1mb flash support. The Updater assumes both chips are same type
- Failure handling has not been tested.
- Timing broadly calibrated on a Z80 SBC-v2
- UNA BIOS not supported

2
Source/Doc/ReadMe.md

@ -220,6 +220,8 @@ please let me know if I missed you!
* 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

74
Source/Doc/UserGuide.md

@ -631,6 +631,7 @@ prompt:
| CP/M 2.2 | Digital Research CP/M 2.2 OS |
| Z-System | ZSDOS 1.1 w/ ZCPR 1 (Enhanced CP/M compatible OS) |
| Forth | Brad Rodriguez's ANSI compatible Forth language |
| BASIC | Microsoft ROM BASIC |
| Tasty BASIC | Dimitri Theuling's Tiny BASIC implementation |
| Play | A simple video game (requires ANSI terminal emulation) |
| Network Boot | Boot system via Wiznet MT011 device |
@ -650,9 +651,17 @@ in the ROM (CP/M 2.2 & Z-System) are described in the Operating Systems
chapter of this document.
In general, the command to exit any of these applications and restart
the system is `BYE`. The exceptions are the Monitor which uses `B` and
the system is `BYE`. The exceptions are the Monitor which uses `X` and
Play which uses `Q`.
**NOTE:** Of the ROM Applications, only the operating systems (CP/M and
Z-System) have the ability to interact with disk drives. So, other than
these 2 OSes, the ROM Applications do **not** have any way to save or
load data from peristent/disk storage. For example, if you launch BASIC
from the Boot Loader, you will not be able to save or load your
programs. You will need to start an operating system first and then run
BASIC in order to save or load programs.
Two of the ROM Applications are, in fact, complete operating systems.
Specifically, "CP/M 2.2" and "Z-System" are provided so that you can
actually start either operating system directly from your ROM. This
@ -1395,15 +1404,24 @@ filesystem format used is 8MB. This ensures any filesystem will be
accessible to any of the operating systems.
Since storage devices today are quite large, RomWBW implements a
mechanism called slicing to allow up to 256 8MB filesystems on a
single large storage device. This allows up to 2GB of usable space on
mechanism called slicing to allow up to 256 8MB CP/M filesystems on a
single large storage device. To say it another way, the media is
"sliced up" into many 8MB CP/M filesystems. Each slice is a complete
CP/M filesystem. This allows up to 2GB of usable space on
one media. You can think of slices as a way to refer to any of
the first 256 8MB chunks of space on a single media.
the first 256 8MB chunks of space on a single media. Each chunk
is a CP/M filesystem.
Note that slices are **not** the same thing as a hard disk partition.
In fact, these slices all live inside of a single hard disk partition.
Normally, a RomWBW hard disk will have one partition (called the
RomWBW partition) containing 64 slices. Optionally, there may be
a second partition which contains a FAT filesystem. For now, we
are just talking about the slices within the single RomWBW partition.
Note that although you can use up to 256 slices per physical disk, this
large number of slices is rarely used. The recommended RomWBW disk
layout provides for 64 slices which is more than enough for most
use cases.
Although you can use up to 256 slices per physical disk, this large
number of slices is rarely used. The recommended RomWBW disk layout
provides for 64 slices which is more than enough for most use cases.
Of course, the problem is that CP/M-like operating systems have only
16 drive letters (A:-P:) available. Under the covers, RomWBW allows
@ -1439,22 +1457,28 @@ the same device/slice at the same time. Second, there must always be a
drive assigned to A:. Any attempt to violate these rules will be blocked
by the `ASSIGN` command.
As you see, the name of a slice does not reference the hard disk
partition containing the slices. Since there can only be a single
RomWBW partition containing slices on any disk, the partition is
determined automatically.
In case this wasn't already clear, you **cannot** refer directly
to slices using CP/M. CP/M only understands drive letters, so
to access a given slice, you must assign a drive letter to it first.
While it may be obvious, you cannot use slices on any media less
than 8MB in size. Specifically, you cannot slice RAM disks, ROM
disks, floppy disks, etc. All of these are considered to have a single
slice and any attempt to ASSIGN a drive letter to a slice beyond that
will result in an error message.
While it may be obvious, you cannot use slices on any media less than
8MB in size. Specifically, you cannot slice RAM disks, ROM disks, floppy
disks, etc. All of these are considered to have a single slice (slice
0) and any attempt to ASSIGN a drive letter to a slice beyond that will
fail and produce an error message.
It is very important to understand that RomWBW slices are not
individually created or allocated on your hard disk. RomWBW uses a
single, large chunk of space on your hard disk to contain the slices.
You should think of slices as just an index into a sequential set of 8MB
areas that exist in this large chunk of space. The next section will
go into more detail on how slices are located on your hard disk.
single, large chunk of space (partition) on your hard disk to contain
the slices. You should think of slices as just an index into a
sequential set of 8MB areas that exist in this large chunk of space.
The next section will go into more detail on how slices are located on
your hard disk.
Although you do not need to allocate slices individually, you do need to
initialize each slice for CP/M to use it. This is somewhat analogous
@ -1466,10 +1490,10 @@ absolutely sure you know what media and slice are assigned to that
drive letter before using `CLRDIR` because CLRDIR will wipe out any
pre-existing contents of the slice.
**WARNING**: The `CLRDIR` application does not appear to check for
disk errors when it runs. If you attempt to run `CLRDIR` on a drive
that is mapped to a slice that does not actually fit on the physical
disk, it may behave erratically.
**WARNING**: Earlier versions of the `CLRDIR` application does not
appear to check for disk errors when it runs. If you attempt to run
`CLRDIR` on a drive that is mapped to a slice that does not actually fit
on the physical disk, it may behave erratically.
Here is an example of using `CLRDIR`. In this example, the `ASSIGN`
command is used to show the current drive letter assignments. Then
@ -1697,8 +1721,8 @@ computer (Windows, Linux, MacOS) to write the disk image onto the
disk media, then just move the media over to your system.
The disk image files are found in the Binary directory of the
distribution. Floppy disk images are prefixed with "fd_" and hard
disk images are prefixed with either "hd512_" or "hd1k_" depending on the
distribution. Floppy disk images are prefixed with "fd_" and hard disk
images are prefixed with either "hd512_" or "hd1k_" depending on the
hard disk layout they are for.
Each disk image has the complete set of normal applications and tools
@ -2916,7 +2940,7 @@ computer and access it using `FAT` based on its RomWBW unit number.
**WARNING**: Microsoft Windows will sometimes suggest reformatting
partitions that it does not recognize. If you are prompted to format a
partition of your SD/CF/USB Media when inserting the card into a Windows
computer, you probably want to select Cancel.
computer, you probably want to select Cancel.
## FAT Application Usage
@ -4184,6 +4208,8 @@ please let me know if I missed you!
* 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

Loading…
Cancel
Save