HalBower's Home Page(updated 29 Dec 2007)Recovering vinyl records under Linux **************************************************************** Mail address is: HalBower [at sign] worldnet [dot] att [dot] net **************************************************************** While the 8-bit CP/M computers may be fading, some of us dinosaurs still keep programming for them. In the process of preparing files for release of the Banked and portable (B/P) Bios, several Y2K and related problems have been uncovered. Fixes for some of the more critical ones (along with some corrected and new Z-System utilities) are available here as well as some other related donations. In spite of the derision received from those dealing with larger word sizes, 8-bitters are up to many tasks such as this YASBEC-based laptop with the computer controlling an ISA 8-bit LCD controller with Z-System termcap emulation. A 40 MB SCSI hard drive and 3.5" HD floppy are included. Power is regulated internally with National Semi "Simple Switcher" circuits from a nominal 12 vdc source. Table of Page Contents:
****************************************************************
Programming Languages**************************************************************** (22 Sep 2002) Peter Hochstrasser has released his "Modula-2 System for Z80 CP/M" per the following message fragment:
Date: Thu, 19 Sep 2002 15:29:58 +0200 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Having mulled over this for much too long, I say, let's do it. Just put it on the sites you find OK. As stated below, no support is available, and, as I'm sad to say, not even the manual text is available - it was done using WordStar, MagicBind and a Visual-100 terminal with programmable function keys, using command macros for most of the formatting. It was easy to create at that time...
Peter Hochstrasser Many thanks to Peter for this action, and I will try, over time, to add documentation here to make up for the loss of manual sources. Here is a portion of the Users Guide in Ascii which should permit you to get started with this fine system. In the future I will be adding some samples of converting assembly programs to Modula-2 Modules, as well as modules for accessing ZCPR3 Termcap and more. The Modula-2 System for Z80 CP/M was distributed on three 8-inch diskettes in standard CP/M format. I first ordered a copy in 1985 directly from Peter in Switzerland. The three diskettes from that order bear the following label data:
Serial No. 20-00026 - Disk No. 1 (thru 3) SS SD, 77 Tracks, 26 Sectors/Track, 128 Bytes/Sector Disk #1 from that order was defective, and was replaced with one bearing the same label, but with Serial Number 20-00064. Files from that replacement along with files from the other two original diskettes are provided here for a complete "Modula-2 System for Z80 CP/M". Files on each of these three diskettes were consolidated into one with a version of ZIP utilities that allows extraction with the "UNZIP.COM" program available on the Walnut Creek CP/M CDROM (and other places). This way, you can extract them on native CP/M 2.2 and compatible systems.
DISK2.ZIP - Module (.MRL) and Symbol (.MSY) files (1985) DISK3.ZIP - Sample programs and library sources (1985) ****************************************************************
Date: Sat, 25 May 2002 22:04:09 -0700 X-Mailer: KMail [version 1.2]
(rest snipped) The files comprising the complete distribution disk (ZMAC assembler, ZML linker, ZMLIB librarian) are available here in one .ZIP file. Also in the file is documentation and the Z-System configuration utility for option settings (used to configure many Z-System utilities). Extracting this file under MSDOS or Linux creates a subdirectory (HAWLEY1) containing four more subdirectories with files to go in four User Areas (USER0..USER3) on the CP/M diskette. A 'README' file in each user area explains the contents and necessary instructions.
Uzi180****************************************************************
---------------------------------------------------------------
Y2K Fixes*************************************************************** The utility to extract elements from .LBR libraries with create and modify date preservation improperly displays the year (last two) digits for years > 1999 ('01' shows as 'A1'). A new option was also added so that the default date presentation will be either 'dd.mm.yy' or 'mm/dd/yy'. Since this is the recommended program for accessing the remaining packages, the .COM file alone is provided, defaulting to automatically decompress files when extracting. You might want to rename this simply 'LBREXT.COM'.
**************************************************************** Version 1.6 (the last one released) of the Z-System Editor (ZDE) does not retain the creation date for files greater than one extent. Since no source for this program was released, only a patch file is available for correction. A configuration flag was also added to set the default 'Auto-Indent' feature for Non-Documents (it currently is always ON when files are first opened). Before you apply this patch, insure that your source ZDE16.COM matches the 'was:' code to avoid corruption (and other interesting side effects).
**************************************************************** The CP/M 2.2 version (at least) of DosDisk(tm) does not correctly convert Dates to MSDOS format when copying files to 5.25" '360k' formatted disks for transferring to MSDOS machines for years > 1999. 2000 will be converted to '80' and 2001 to '29' with additional corruption to the month value (17 July 2001 appears as 17th day, 15th month, 2029 :^) This Assembly patch corrects the problem and _should_ be good until 31 Dec 2076 when the rest of DateStamper(tm) and ZSDOS stamps will fail. WARNING: This has only been tested for the CP/M 2.2 version of DosDisk in the final 1.0 release version with subdirectory support enabled. Check the 'was:' code in the patch source before applying to avoid problems.
**************************************************************** The COPY.COM utility provided with ZSDOS, B/P Bios and on old RBBS systems has a cosmetic Y2K glitch when copying a file where the file already exists at the destination (1999 is 'newer' than 2001). This package corrects the problem.
**************************************************************** It is possible that a buggy version of the ZXD Directory listing program has been released since late 1993 and which would not display dates for certain files. This updated package corrects the problem, and also automatically sizes the screen(s) of data (lines and columns) to values in the ZCPR3 Termcap (if one is detected). It also clears up the printed output then the '/p' toggle is passed. NOTE: I usually rename the executable to 'D.COM', set defaults to desired values, place it with other utilities in A15: and set the 'SYStem' and 'PUBlic' bits for fast and easy access.
ZsDOS, GPL Release and Utilities***************************************************************ZSDOS (Z-System DOS) and the Companion ZDDOS (Z-System DOS with Embedded DateStamper) are enhanced replacements for the CP/M 2.2 Basic Disk Operating System. ZSDOS was a commercial product sold from 1988 through 1998 when the complete package (including source code) was released under the GNU General Public License. These four packages comprise the GPL release:
****************************************************************
**************************************************************** To apply .HEX patches (such as the ZDE16 and DosDisk Y2K fixes), a utility such as the venerable MLOAD is usually used. Unfortunately, that program does not work with odd sizes of BDOS and CCP/CPR which are common with the B/P Bios (which allow banking of much of the code) so I wrote one a number of years ago called MYLOAD. This is a re- release of that package, and as with most other utilities, built-in help is available by entering 'MYLOAD //' at the CP/M prompt.
Banked and Portable (B/P) Bios, GPL Release*************************************************************** B/P Bios was developed to provide a common interface for CP/M 2.2 compatible systems with provisions to manage more than 64k of physical memory. With permission of Jay Sage, a banked Command Processor Replacement based on ZCPR 3.4 was added with many built-in commands; ZSDOS was banked and extended to include multiple file date/time stamp formats (courtesy of Bridger Mitchell and Joe Wright) and optional directory hashing to speed access. Five hardware platforms were ultimately supported in the commercial release which was sold from 1992 through 1999.Packages will be added as they are updated, tested and built.
Each platform supported by the B/P Bios system was distributed on a single 800k or two 400k diskettes depending on the hardware in the destination system. For convenience in this GPL release, the common run-time support, configuration, data and some ZCPR3 common utilities are provided in a library of libraries. RUNDISK.LBR contains separate libraries for each user area except that normally holding the Bios Source, which was machine-dependant. LBREXT or equivalent (depending on your system) will be needed to extract the individual members and uncompress them (using the LZH algorithm).
**************************************************************** D-X DESIGNS PTY LTD Project 112 (P112).This Platform was designed and produced by Dave Brooks in 1996. The photo shows a P112 mounted on a 3.5" floppy drive with an 80 MB 2.5" hard drive (in 3.5" adapter) in the foreground, and a homemade GIDE controller detatched to show the bottom wiring details. A switching regulator (National Semi "Simple Switcher") provides 5 vdc from a 12 vdc (nominal) source which is currently a wet-cell NiCd array charged by Solar cells. B/P Bios supports the hardware as indicated: Z80182 CPU (Z8S180 core CPU, MMU, DMA)
SMC FDC37C665 Multifunction System Support Chip
Dallas DS-1202/1302 Realtime Clock
28F256 Flash ROM (Boot Code, Device initialization) 32/128/512 kB Static RAM (up to 1MB) This release also supports add-on Hard Disk interfaces with two subsystems as Bios assembly-time options:
**************************************************************** Yet Another Single Board Eight-bit Computer (YASBEC)This Platform was designed and produced by Paul Chidley beginning in 1991. B/P Bios was specifically designed for this system and was the primary OS hosted on it. The photo shows a stock YASBEC modified with a National DP8743 Floppy controller modification that I described in The Computer Journal (See Gaby's archived) for "high-density" floppy support. The YASBEC hardware is supported as indicated: Z80180/Z8S180 CPU (Z180 core CPU, MMU, DMA)
WD1771/1772 Double-Density Floppy Disk Controller National DP8490/NCR5380 SCSI Controller (both Polled and Int/DMA modes) Dallas DS-1216E Hardware Clock (aka No-Slot-Clock / Smartwatch) 74HC474/74HC74 Minimal Parallel Printer Output, Interrupt ACK 128-1024 kB Static RAM (with appropriate decode PAL) ------------------------ In the mid-1990s, Jim Thale produced an optional accessory board for the YASBEC, the YASMIO, which added additional capabilities which are supported by B/P Bios as:
------------------------ In the late '90s, I adapted the DP8473 FDC to completely replace the Western Digital controller on the YASBEC and described the design in a TCJ article. This modification is also accomodated as an option in B/P Bios with a separate DP8473-only Floppy Disk driver module.
**************************************************************** MicroMint SB180-FX (SB180L02).This single-board computer was sold by MicroMint from 1986/7 until just a few years ago. It is uses the HD64180/Z (Z180) CPU, and was sold with a few variations over the years in clock rates (6.144 and 9.216 MHz) and on-board memory complement (256/512kB). With some minor trace cutting and re-jumpering, this system can use some of the newer "high-density" floppy drives in all but the first position (the boot drive) without a ROM modification. Notes in the FDC-FX.Z80 module describe the procedure, and a .NOT file is provided with tested drive models. Since the controller chip used can not read/write to the floppy drive at 300 kbps, only 5.25" drives which can change the spindle speed between 300 and 360 rpm can be used. B/P Bios supports the SB180-FX hardware as indicated: HD64180/Z CPU (Z180 core CPU, MMU, DMA)
SMC 9266 Double-Density 5.25" and 8" Floppy Disk Controller National NCR5380 SCSI Controller in Polled IO mode Dallas DS-1216E Hardware Clock (aka No-Slot-Clock / Smartwatch) 74LS273/74LS74 Minimal Parallel Printer Output, Interrupt ACK 256 kB and 512 kB Dynamic RAM (with assembly flag to disable refresh if Static RAM used) Up to 4MB RAM disk with FX-2MME memory expansion boards (untested)
**************************************************************** MicroMint SB-180.This single-board computer was sold by MicroMint in the early/mid 1980s and was described by Steve Ciarcia in Byte magazine. It uses the Hitachi HD64180 CPU in a DIP package. The board used a 12.288 MHz crystal for a clock frequency of 6.144 MHz and contained 256kB of dynamic RAM onboard along with an SMC 9266 (NEC 765 derivative) Floppy Disk Controller for 5.25 and 8" drives, two serial ports and a parallel printer port. Micromint sold a couple of expansion boards for the SB-180, among them being a 5380-based SCSI controller for hard drives. ETS Technologies of Frederick Maryland produced an expansion board late 1980s which was compatible with the Micromint SCSI controller but also featured two more serial ports with complete handshaking and a Real-Time Clock with battery backup. All of these units plugged into a limited DIP header on the SB-180. The SB-180 was a minimal computer and featured many hardware compromises which limited expansion capabilities. For example, "High-Density" floppy disks are not directly supported by any known kit, and the 9266 controller is not capable of handling the data rates which would allow compatibility without directly varying the motor spindle speed on 5.25" drives. In 2002, Scott Coburn (scotttt@optonline.net) modified a SB-180 by replacing the HD64180 with a Zilog Z8S180, replaced the 256k x 1 DRAM chips with fast Static RAM and managed to crank the speed up to 22 MHz. B/P Bios modifications from Scott's efforts are included with his permission. B/P Bios supports the SB180 hardware with Assembly time options as: HD64180 or Z8S180 (Scott Coburn's mod) CPU (Z180 core CPU, MMU, DMA)
SMC 9266 Double-Density 5.25" and 8" Floppy Disk Controller 74LS273/74LS74 Minimal Parallel Printer Output, Interrupt ACK 256 kB Dynamic RAM (with assembly flag to disable refresh if Static RAM used) -------------------- The following items are supported from the ETS180IO+ Expansion board:
-------------------- Other additions supported in this package are: Tilmann Reh's GIDE interface for IDE Disk Drives Dallas DS-1216E Hardware Clock (aka No-Slot-Clock / Smartwatch)
=============================================================== B/P-specific Utilities. These programs are intended to support or be used in a B/P Bios-based system. These packages contain source code needed to build the respective program.
Z-System Libraries*************************************************************** Many (if not most) programs written for the ZCPR3.x-based systems, ZSDOS, the B/P Bios, and more used pre-assembled libraries of routines originated by Richard Conn. The basic SYSLIB was augmented with Z3LIB for the ZCPR3 Command Processor Replacement, and VLIB which added generic terminal support to applications.I picked up maintenance for these libraries and their associated Help files in the late 1980s. From that time until the last updates, all routines were optimized for Z80s, and a fourth library, DSLIB, was added to support generic file date stamping. The last updates were made in December 1993 and are available here:
**************************************************************** When the Z-System Libraries were being actively developed, I wrote a small demonstration program to use the primative character-based windowing features in Version 4 of VLIB as a shell instead of command line interaction. At that time, two versions were produced; one using the multiple command line of ZCPR3, the other using the shell stack. Both versions were combined in 1997 with an assembly option dictating which mechanism is used. This library contains the source, executable and documentation. It is hereby released into the public domain...
Programs and Utilities****************************************************************
**************************************************************** Rather than access the CDROMs from 'big' machines and then transfer files to CP/M 2.2 machines, a native utility was needed. Thanks to Duncan Elvin who allowed me to use his C code (after converting to assembly...naturally), the CDZSWP Z-System utility was produced. This updated release corrects minor bugs and adjusts things to use a common driver for both the Audio Play program and this Data Sweep program. This program is inspired by other 'SWEEP'-style programs and uses the ZCPR3 Termcap definitions for screen attributes and the 'WordStar Diamond' for movement.
****************************************************************** |