Browse Source

Improved section Reat Time Clock in User Guide document

pull/411/head
Mark Pruden 1 year ago
parent
commit
764abddb49
  1. 5
      Doc/ChangeLog.txt
  2. 2
      Doc/Contrib/ZSystem.txt
  3. 8
      Source/Doc/Catalog.md
  4. 155
      Source/Doc/UserGuide.md
  5. 34
      Source/Images/d_bp/u0/support.txt
  6. 9
      Source/ZSDOS/Clock/Build.sh
  7. 32
      Source/ZSDOS/Clock/Makefile
  8. 6
      Source/ZSDOS/Clock/ReadMe.txt

5
Doc/ChangeLog.txt

@ -14,7 +14,7 @@ Version 3.5
- DDW: Added support for Duodyne Media board
- WBW: Auto restore TMS video on user reset (CP/M warm boot)
- L?B: Added support for NABU w/ RomWBW Option Board
- M?P: Reorganization of Doc directory introducing subfolders
- MAP: Reorganization of Doc directory introducing subfolders
- WBW: Upgraded BBCBASIC to v5.00
- W?S: Updated FLASH utility to v1.3.9
- WBW: Support RCBus PS/2 Keyboard (EP/Sally)
@ -30,6 +30,7 @@ Version 3.5
- WBW: Refactor UART driver for more flexible configuration
- M?R: Added hour/minute/second display to timer app
- WBW: Substantial customization of NZ-COM disk image
- MAP: Improved section Real Time Clock in User Guide document
Version 3.4
-----------
@ -698,4 +699,4 @@ interrupts disabled the BIOS will now start OK even if some vagrant
hardware is asserting an interrupt (DISKIO). Seems like this is better
anyway -- general idea is that we only enable interupts precisely
when desired for very specific controled purposes since there is no
concept of interrupt dispatching available.
concept of interrupt dispatching available.

2
Doc/Contrib/ZSystem.txt

@ -20,7 +20,7 @@ Beyond the construction and integration of the actual DOS itself, the majority o
The remainder of this document details the changes I made as I went along. In all cases, my goal was to keep the result as close to the original distribution as possible. I started by copying all of the files from the distribution (contained in zsdos2.zip) into Support\ZSDOS. From there I tested, modified, updated, and customized as documented below. Finally, I cherry picked files that made sense to include on the ZSystem ROM disks.
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, HBCLK. I have also added the SIMHCLOK clock driver.
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, WBWCLK. I have also added the SIMHCLOK clock driver.
2. STAMPS.DAT has been replaced with an updated version. The update was called STAMPS11.DAT and was found on the Walnut Creek CP/M CDROM. The original version has a bug that prevents RSX (resident system extension) mode to load properly.

8
Source/Doc/Catalog.md

@ -217,9 +217,9 @@ on using the applications and files listed.
| `INITDIR.COM` | ZSDOS | ZSDOS Prepare disks for P2DOS Stamps |
| `KERMIT.COM` | -- | Generic CP/M 2.2 Kermit communication application |
| `LBREXT.COM` | -- | Extract library files |
| `LDDS.COM` | ZSDOS | Clock driver |
| `LDNZT.COM` | ZSDOS | Clock driver |
| `LDP2D.COM` | ZSDOS | Clock driver |
| `LDDS.COM` | ZSDOS | Load DateStamper date/time stamping resident extension |
| `LDNZT.COM` | ZSDOS | Load NZT date/time stamping resident extension |
| `LDP2D.COM` | ZSDOS | Load P2DOS date/time stamping resident extension |
| `LIB.COM` | -- | DRI Library manager |
| `LINK.COM` | -- | DRI CPM relocatable linker |
| `LOAD.COM` | -- | DRI hex file loader into memory |
@ -229,7 +229,7 @@ on using the applications and files listed.
| `PMARC.COM` | -- | LHA file compressor |
| `PMEXT.COM` | -- | Extractor for PMARC archives |
| `PUTBG.COM` | ZSDOS | ZSDOS Prepare disk for backgrounder |
| `PUTDS.COM` | ZSDOS | ZSDOS Prepare disk for datestamper |
| `PUTDS.COM` | ZSDOS | ZSDOS Prepare disk for datestamper date/time stamping|
| `RELOG.COM` | ZSDOS | ZSDOS relog disks after program that bypasses BDOS |
| `RMAC.COM` | -- | DRI Relocatable Macro Assembler |
| `SETTERM.COM` | ZSDOS | ZSDOS Installs terminal control codes into DateSamper utilities |

155
Source/Doc/UserGuide.md

@ -2353,28 +2353,12 @@ call "ZSYS.SYS". For example:
or MAP, you may need to run “RELOG” to get the drive properly
recognized by ZSDOS.
* RomWBW fully supports both DateStamper and P2DOS file date/time
stamping. You must load the desired stamping module (`LDDS` for
DateStamper or `LDP2D` for P2DOS). This could be automated using
a `PROFILE.SUB` file. Follow the ZSDOS documentation to initialize
a disk for stamping.
* ZSVSTAMP expects to be running under the ZCPR 3.X command processor.
By default, RomWBW uses ZCPR 1.0 (intentionally, to reduce space usage)
and ZSVSTAMP will just abort in this case. It will work fine if you
implement NZCOM. ZSVSTAMP is included solely to facilitate usage
if/when you install NZCOM.
* FILEDATE only works with DateStamper style date stamping. If you run
it on a drive that is not initialized for DateStamper, it will complain
`FILEDATE, !!!TIME&.DAT missing`. This is normal and just means that
you have not initialized that drive for DateStamper (using PUTDS).
* ZXD will handle either DateStamper or P2DOS type date stamping.
However, it **must** be configured appropriately. As distributed, it will
look for P2DOS date stamps. Use ZCNFG to reconfigure it for P2DOS if
that is what you are using.
* Many of the tools can be configured (using either ZCNFG or DSCONFIG).
The configuration process modifies the actual application file itself.
This will fail if you try to modify one that is on the ROM disk because
@ -2385,10 +2369,6 @@ call "ZSYS.SYS". For example:
SETTERM. So, run SETTERM on DSCONFIG before using DSCONFIG to configure
DATSWEEP!
* After using PUTDS to initialize a directory for ZDS date stamping, I
am finding that it is necessary to run RELOG before the stamping
routines will actually start working.
* Generic CP/M PIP and ZSDOS path searching do not mix well if you use
PIP to copy to or from a directory in the ZSDOS search path. Best to
use COPY from the ZSDOS distribution.
@ -3087,8 +3067,11 @@ SAMPLE2.TXT ==> 4:/SAMPLE2.TXT ... [OK]
RomWBW supports a variety of real time clock hardware. If your
system has this hardware, then it will be able to maintain the
current date and time even while your system is turned off.
Additionally, depending on the operating system being used, you may be
able to utilize date/time stamping of files.
To facilitate this a CP/M clock driver (WBWCLK) has been included
inside `CLOCKS.DAT` that will read the clock via a RomWBW HBIOS call
You can determine if your system has a real time clock present (and
functioning) by looking at the boot messages. Here is an example of
@ -3114,6 +3097,8 @@ RomwWBW includes two utilities for displaying or setting the date/time
stored by the RTC. They are both a bit different and are briefly
described below.
A third utility `TESTCLOK` is also included as part of ZSDOS
### WDATE Utility
The `WDATE` utility (contributed by Kevin Boone) is an application
@ -3193,6 +3178,57 @@ Do **not** enable charging unless you are sure that your system
supports this. If your RTC is being powered by a normal battery, it
would be dangerous to enable charging.
### TESTCLOK Utility
The `TESTCLOK` utility is used to test a selected CPM clock driver
loaded from the CLOCKS.DAT file. After selecting the location of CLOCKS.DAT
and the clock driver (45. WBWCLK) it displays the currently configured time
until a key is pressed.
```
A>testclok
TESTCLOK V1.0 Copyright (C) 1988 H.F. Bower / C.W. Cotrill
Extract Clock from Library ([Y]/N) : Y
Location of CLOCKS.DAT [A0:] : <RETURN>
1. ACTRIX 2. ALSPA 3. AMPRO-LB
4. ANLYTCL-PRD 5. AP2-CDZ180 6. AP2-THND/MT
7. AP2-TIMASTR 8. AP2E+PCP-TM 9. AP2E+PCPI
10. AP2E-THUNDR 11. AP2E-TMASTR 12. BIG-BD-II
13. BP-BIOS 14. CCS-WALLCLK 15. CPUPRO-SSB1
16. ELECTR-MFIO 17. EPSON-QX10 18. ETS180IO+
19. H19-SUPER19 20. H19-ULTRA 21. H19-WATZMAN
22. H89-BITZERO 23. H89-PC12 24. H89-WIDGET
25. H89-WISE 26. H89UTI 27. HEATH-BIOS
28. HOUSEMASTER 29. K83-HOLMES 30. KAYPRO-84
31. KENMOR-ZTIM 32. KPRO-ADVENT 33. KPRO-LEGACY
34. MD3-MACK 35. MTN100K-DAY 36. ONEAC-ON!
37. OTRANA-ATCH 38. P&T-HEARTBT 39. QTSYS-S100
40. RELATIVE 41. S100-5832 42. SB180-HRTBT
43. SB180-XBIOS 44. SIMHCLOK 45. WBWCLK
46. XEROX-820 47. ZSDOS-BIOS
Enter Clock Driver Selection : 45
..Loading : WBWCLK ...
Linking Clock Module... OK
RomWBW HBIOS Clock 1.1
RomWBW Series HBIOS Clock
Press any key to quit...
19 Oct 2023 14:24:34
```
Since this runs at the CPM driver level it is useful as an end-to-end test
to prove that date time stamping is able to read the correct time
The `TESTCLOK` utility is provided by ZSDOS, plese see the ZSDOS Manual
for further information
## Date/Time File Stamping
If an RTC is available in your system, then most operating systems
@ -3201,10 +3237,16 @@ date/time of file creation, update, and or access in the directory.
This capability is available in all of the RomWBW operating system
except the original DRI CP/M 2.2.
In some cases (such as ZSDOS), you must load an RSX (memory resident
utility) to enable date/time stamping of files. Additionally, you
will need to initialize the directory. The procedure varies in each
operation system, so you must review the associated documentation.
Three types of date/time stamping are supported using realtime clock
supported by RomWBW HBIOS. DateStamper, NZT and P2DOS.
In some cases (such as ZSDOS), you must load an RSX (memory resident
utility) to enable date/time stamping of files. This could be automated
using a `PROFILE.SUB` file.
Preconfigured loaders are provided, bypassing the need to use SETUPZST.
Additionally, you will need to initialize the directory. The procedure varies
depending on the date/time stamping mechanism, so you must review the associated documentation.
The date/time stamping mechanisms for each operating system are
generally not compatible. If you initialize a directory for a type
@ -3215,6 +3257,71 @@ mechanism. Doing so may corrupt the directory.
The RomWBW disk images do not have date/time stamping initialized. This
is to avoid any chance of directory corruption.
### DateStampter
DateStamper datestamping follows the standard set by Plu*Perfect Systems.
This method stores stamps in a disk file named `!!!TIME&.DAT`.
Only DateStamper stamping stores full time and date stamps for
file Creation, Last Modification, and Last Access,
and may be used with any CP/M diskette format. In addition,
the DateStamper protocol is supported by a mature set of compatible utilities.
Key Utilities
* LDDS.COM - Load DateStamper date/time stamping resident extension. (RomWBW Provided)
* PUTDS.COM - Prepare disk for DateStamper date/time stamping.
After using PUTDS to initialize a directory for ZDS date stamping,
it may be necessary to run RELOG before the stamping routines
will actually start working.
### P2DOS (CP/M Plus compatible)
CP/M Plus-type datestamping is also widely used due to the popularity
of CP/M Plus (also know as CP/M 3). CP/M Plus-type file datestamping uses
directory sectors to store file datestamps which may be accessed more quickly
by programs, but there is no Last File Access stamp. Finally, the range of
utilities for this type of stamps is more limited than for the DateStamper protocol.
Key Utilities
* LDP2D.COM - Load P2DOS date/time stamping resident extension. (RomWBW Provided)
* INITDIR.COM - Prepares disks for P2DOS-type file stamping.
### NZT
_The use of NZT needs to be further documented_
Key Utilities
* LDNZT.COM - Load NZT date/time stamping resident extension. (RomWBW Provided)
### Additional Notes
The following files have been provided, customised and tested for for use in RomWBW
* `CLOCKS.DAT` - Library of clock drivers, which has been updated to include
the RomWBW clock driver WBWCLK, and also includes the SIMHCLOK clock driver.
The file is just a standard LU type library and is easily updated using NULU.
The members are the relocatable binaries, but with the .REL extension removed.
* `STAMPS.DAT` - Library of available date/time stamping modules for SETUPZST.
The file has been replaced with an updated version from the Walnut Creek CP/M CDROM.
The original version has a bug that prevents RSX (resident system extension) mode
to load properly.
Additional Notes
* `SETUPZST` (provided by ZSDOS) Should not normally be needed since the
creation of the appropriate LDTIM loaders has already been performed.
* `FILEDATE` only works with DateStamper style date stamping. If you run
it on a drive that is not initialized for DateStamper, it will complain
`FILEDATE, !!!TIME&.DAT missing`. This is normal and just means that
you have not initialized that drive for DateStamper (using PUTDS).
* `ZXD` will handle either DateStamper or P2DOS type date stamping.
However, it **must** be configured appropriately. As distributed, it will
look for P2DOS date stamps. Use ZCNFG to reconfigure it for P2DOS if
that is what you are using.
## Timezone
None of the operating systems distributed with RomWBW have any concept

34
Source/Images/d_bp/u0/support.txt

@ -2,16 +2,16 @@ This library contains a number of support files, programs and scripts needed
to bring up a fully functioning BPBIOS Zsystem. These programs and files
are used and/or loaded by the startup scripts.
Some of the support files are startup ZEX scripts, some are Z3+ segment files,
others are Date and Time stamp drivers, some are command line editors and
history shells others are needed to initialize the RAMDRIVE as well as help files.
Some of the support files are startup ZEX scripts, some are Z3+ segment files,
others are Date and Time stamp drivers, some are command line editors and
history shells others are needed to initialize the RAMDRIVE as well as help files.
The following table shows which files are needed to support each of the ten
BPBIOS variants (BP33, BP33BNK, BP34, BP34BNK & BBP41BNK).
The following table shows which files are needed to support each of the ten
BPBIOS variants (BP33, BP33BNK, BP34, BP34BNK & BBP41BNK).
Variant Name BP33 BP33BNK BP34 BP34BNK BP41BNK
================================================================
bpbio.ndr X X X
bpbio.ndr X X X
bpbioz33.ndr X X
BPCNFG.COM X X X X X
EASE.COM X X
@ -20,18 +20,18 @@ fcp-4.zrl X X
fcp-4t.zrl X X X
RELOG X X X X X
HELPLSH.COM X X X
IF.COM X X X X
IF.COM X X X X
jetldr.com X X X X X
LDTIMEC.COM X X X
LSH.COM X X X
LSHF.COM* X X X
LSHF.VAR* X X X
myterm.z3t X X X X X
nzdec23d.z3t X X X X X
myterm.z3t X X X X X
nzdec23d.z3t X X X X X
PUTDS.COM X X X X X
RAMFILES.TXT X X X X X
RCOPY.COM X X X X X
rcp-16h.zrl X X X X
rcp-16h.zrl X X X X
SAVE.COM X X X X
Z33.ZEX X X
ZEX.COM X X X X X
@ -43,14 +43,14 @@ ZST.ZEX X X
Instructions:
The support files are "crunched" and stored in the library file
SUPPORT.LBR. Place SUPPORT.LBR on the RAMDRIVE using for example
SUPPORT.LBR. Place SUPPORT.LBR on the RAMDRIVE using for example
XModem. Use LBREXT with the /U option to extract and uncrunch the
files. First extract ZEX.COM while logged onto the A: drive with the
files. First extract ZEX.COM while logged onto the A: drive with the
following command:
B0:LBREXT SUPPORT C0:ZEX.C?M /U
Next place all the .COM files on C15: by typing:
B0:LBREXT SUPPORT C15:*.C?M /U
The remaining files should be placed on C0:.
The remaining files should be placed on C0:.
B0:LBREXT SUPPORT C0:*.Z?X /U
B0:LBREXT SUPPORT C0:*.Z?L /U
B0:LBREXT SUPPORT C0:*.N?R /U
@ -59,14 +59,14 @@ The remaining files should be placed on C0:.
B0:LBREXT SUPPORT C0:*.H?P /U
Note in all BPBIOS variants that A: is the RAMDRIVE, B: is
the ROMDRIVE and C: is the system drive. Hard drive slices occupy C:
the ROMDRIVE and C: is the system drive. Hard drive slices occupy C:
through N: and floppy drives are O: & P:. A short desciption
of each of the support files follows:
bpbioz33.ndr - Named Directory Table for Z33
bpbio.ndr - Named Directory Table for Z34 & Z41
BPCNFG.COM - BPBIOS configuration program
EASE.COM - Command line editor & history shell for Z33*
EASE.COM - Command line editor & history shell for Z33*
EASE.HLP - Help file for EASE
fcp-4.zrl - Z33 Flow Control Processor (handles IF, ELSE etc)
fcp-4t.zrl - Z34 & Z41 Flow Control Processor (IF is transient)
@ -80,7 +80,7 @@ LSHF.COM - LSH with a fixed length History file (runs faster)
LSHF.VAR - History file for LSHF
myterm.z3t - Terminal Capabilities file (defines ESC sequences etc)
NZDEC23D.Z3T - VT100 Terminal Capabilities File.
PUTDS.COM - Installs date stamping for RAM drive.
PUTDS.COM - Prepare disk for DateStamper date/time stamping.
RAMFILES.TXT - List of frequently used command (edit to suit)
RCOPY.COM - Copies files listed in RAMFILES.TXT to RAMDRIVE
rcp-16h.zrl - Zsystem Resident Command Processor
@ -92,4 +92,4 @@ ZSCFG2.COM - Configures ZSDOS 2
ZSTF.ZEX - Automatically executed Startup script for BP41BNK
ZST.ZEX - Automatically executed Startup script for BP34*
Note that clock & datestamping drivers are builtin to Z41.
Note that clock & datestamping drivers are builtin to Z41.

9
Source/ZSDOS/Clock/Build.sh

@ -0,0 +1,9 @@
#!/bin/bash
export TOOLS=../../../Tools
export PATH=$TOOLS/tasm32;$TOOLS/zxcc;%PATH%
export TASMTABS=$TOOLS/tasm32
export CPMDIR80=$TOOLS/cpm
../../../Tools/Darwin/zxcc ZMAC -WBWCLK -/P || exit /b

32
Source/ZSDOS/Clock/Makefile

@ -0,0 +1,32 @@
TOOLS = ../../../Tools
PATH = %TOOLS%/tasm32;%TOOLS%/zxcc;%PATH%
TASMTABS = %TOOLS%/tasm32
CPMDIR80 = %TOOLS%/cpm/
# OBJECTS = bbcbasic.com
# DOCS = bbcbasic.txt
# DEST = ../../../Binary/Apps
# DOCDEST = ../../../Binary/Apps
# OTHERS = *.rel
include $(TOOLS)/Makefile.inc
WBWCLK:
$(ZXCC) ZMAC -WBWCLK -/P
#set TOOLS=../../../Tools
#set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
#set TASMTABS=%TOOLS%\tasm32
#set CPMDIR80=%TOOLS%/cpm/
#zxcc ZMAC -WBWCLK -/P || exit /b
#OBJECTS = zmd.com
#DEST = ../../../Binary/Apps
#TOOLS = ../../../Tools
#OTHERS = *.hex zmd.rel
#include $(TOOLS)/Makefile.inc
#zmd.com: zmd.rel zmdhb.hex
# $(ZXCC) L80 -zmd,zmd/n/e
# $(ZXCC) MLOAD25 -zmd=zmd.com,zmdhb

6
Source/ZSDOS/Clock/ReadMe.txt

@ -2,10 +2,10 @@ This directory contains the source and assembled versions of the
ZSystem Clock Drivers for RomWBW HBIOS.
The wbwclk.z80 source file can be compiled using Build.cmd which will
produce a relocatable binary (hbclk.rel).
produce a relocatable binary (wbwclk.rel).
The relocatable binary should be added/updated in the STAMPS.DAT
library. The STAMPS.DAT file is just a standard LU type library and
The relocatable binary should be added/updated in the CLOCKS.DAT
library. The CLOCKS.DAT file is just a standard LU type library and
is easily updated using NULU. The members are the relocatable
binaries, but with the .REL extension removed.

Loading…
Cancel
Save