SkillAgentSearch skills...

Z280RC

Software for Bill Shen's Z280RC Single Board Z280 system on a RC2014 board

Install / Use

/learn @agn453/Z280RC
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Z280RC

Software for Bill Shen's Z280RC Single Board Z280 system on a RC2014 board

This repository contains a snapshot of the original software, plus enhancements, updates and new utilities for Bill Shen's Z280RC single board Z280 system - as described on the RetroBrew builders wiki at

https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:z280rc

The original software is located in zip files in the "original" subdirectory.

My modifications to Bill Shen's original non-banked CBIOS3 for CP/M 3 are in the "system/cpm3-nonbanked" subdirectory - adding DS1302 clock support.

I've also developed

  • A modified CP/M 2 (in system/cpm22) to support file partitions containing up to 2048 directory entries (four 8Mb drives on CompactFlash with 1.5Mb RAMdisk);

  • A CP/M 3 BIOS (in system/bios280) supporting Banked memory (up to eight banks of memory, four (and optionally eight) 8Mb drives, 1.5Mb RAMdisk, optional 4-port QuadSer module);

  • Ported UZI280 (in system/uzi280*) - a version of the Unix operating system; and

  • Some new utility programs in the "utilities" subdirectory - XMODEM, RESET, TIME, DU, NULU, RELHEX and updated for CP/M 3 versions of DEVICE, HELP and KERMIT.

Modification History (in reverse chronological order):

17-Nov-2021

Minor tweak to XMODEM to look for its configuration file on the system drive (in A:XMZ280RC.CFG). Be sure to set this with the SYS attribute so it is seen from all user areas under CP/M 3.

A>set xmz280rc.cfg [sys ro]

16-Nov-2021

Ported the Z280 UART console I/O routines to the latest version of Martin Eberhard's XMODEM version 2.9. The new version is in the "utilities" subdirectory as a ZIP file utilities/xm29z280.zip or you can download the individual files utilities/XM29Z280.MAC, utilities/XM29Z280.HEX and utilities/XM29Z280.COM . This version uses the same configuration file utilities/XMZ280RC.CFG as the previous version (see below) to obtain its default switch values (/X3 uses the built-in Z280 console UART).

11-Oct-2021

A new utility program to reset the system from CP/M back to the ZZmon command prompt. (This is the software equivalent of pressing the reset button).

Assembler source is in utilities/RESET.MAC and a pre-built binary is in utilities/RESET.COM

08-Oct-2021

The CP/M 3 BIOS checks for the presence of a QuadSer module. If none is found then it reports

%QUADSER I/O board not detected

during the system start-up, and it disables the TTY0 to TTY3 devices.

However, the default character device assignments for both the AUXIN and AUXOUT devices were not adjusted (causing an error if you tried to use the DEVICE command).

To fix this, I've changed the defaults for the AUXIN and AUXOUT to the NULL device. This means if you have a QuadSer module, then you will now need to use the DEVICE command (in the PROFILE.SUB start-up file) to configure the AUXIN and AUXOUT devices under CP/M 3. For example -

C>device aux:=tty2[19200,xon]                                                  
A:DEVICE   COM  (User 0)                                                        
                                                                                
Physical Devices:                                                               
I=Input,O=Output,S=Serial,X=Xon-Xoff                                            
UART   NONE  IOS    TTY0   19200 IOS    TTY1   19200 IOS                        
TTY2   19200 IOSX   TTY3   19200 IOS                                            
                                                                                
Current Assignments:                                                            
CONIN:  = UART                                                                  
CONOUT: = UART                                                                  
AUXIN:  = TTY2                                                                  
AUXOUT: = TTY2                                                                  
LST:    = Null Device                                                           
                                                                                
                                                                                
C>

To set them back to NULL, use

C>device auxin:=null, auxout:=null                                             
A:DEVICE   COM  (User 0)                                                        
                                                                                
Physical Devices:                                                               
I=Input,O=Output,S=Serial,X=Xon-Xoff                                            
UART   NONE  IOS    TTY0   19200 IOS    TTY1   19200 IOS                        
TTY2   19200 IOSX   TTY3   19200 IOS                                            
                                                                                
Current Assignments:                                                            
CONIN:  = UART                                                                  
CONOUT: = UART                                                                  
AUXIN:  = Null Device                                                           
AUXOUT: = Null Device                                                           
LST:    = Null Device                                                           
                                                                                
                                                                                
C>

In addition, I have verified that my CP/M 2, CP/M 3 and UZI280 (and Hector Peraza's RSX280) operating systems all work under the new Z280RC emulator by Michal Tomek.

The emulator (which runs under Linux/macOS and Windows MinGW) is available from

https://github.com/mtdev79/z280emu

Note that the UZI280 operating system still needs to be loaded from CP/M and not yet from the ZZmon monitor -

C>bootuzi                                                                       
C:BOOTUZI  COM                                                                  
                                                                                
UZI280 is (c) Copyright (1990-96) by Stefan Nitschke and Doug Braun             
                                                                                
boot: 0                                                                         
UZI280 version 1.12                                                             
login: root                                                                     
[root]/usr/root#

I'm working on adding support for the QuadSer module and direct boot capability from ZZmon to UZI280 and a CP/M RESET utility (to restart back to ZZmon).

They'll be added here soon.

07-Oct-2021

Change the CP/M 2 cold-boot default drive to B: (since this is where the CP/M 2.2 system files are loaded). Updated only the "BIG" version of the CPM22BIG.MAC monolithic source file - and there's a new Intel HEX loader file for CPM22BIG.HEX in the system/cpm22 subdirectory. No more "REQUIRES CP/M 3" messages when you type a "PIP" command! (and a warm-boot returns to the current selected default drive).

21-Sep-2021

Please note: The CP/M 3 system images I've made available are linked with Simeon Cran's ZPM3 replacement BDOS routines.

ZPM3 is a Z80 coded CP/M 3 compatible BDOS replacement which includes

  • Bug fixes (the "Random Read Bug" and System Control Block sanity checks),

  • Enhancements to the BDOS Parse (Function 152) to accept drive/user area filespecs (like C1:FILE.DAT),

  • New functions for file time-stamps manipulation - Get Stamp (Function 54), Use Stamp (Function 55) can retrieve and change a file's time-stamp, and

  • Command-line history and WordStar(C)-style editing for Read Console Buffer (Function 10).

You'll find more details here and I've added the ZPM3 distribution archive (includes sourcecode) in the system/zpm3/ZPM3S.ARC file.

If you wish to revert to the Digital Research CP/M 3 BDOS, you'll need to select it with the DRI-CPM3.SUB file and rebuild a new CPM3.SYS file (e.g. using the BIGBIOS.SUB build procedure from the BIOS source area).

20-Sep-2021

I updated the CP/M 3 disk image to include the CP/M 2.2 BIOS sources (on drive B: user area 1), and included Infocom games and terminal set-up program (on drive D: in user area 0). Also, updated the IDEHD.MAC CompactFlash driver module to match the latest version.

Get it from z280rc-bigcpm-swab.img.gz

19-Sep-2021

There's now an updated CP/M 3 banked memory system supporting 2048 directory entries on the A: to D: drives (and if you require additional drives using the PARTN8 configuration option).

To be able to load CPM3.SYS from the revised drive layout, you'll need to install the new "BIG" CP/M 3 Loader from [CPMLBIG.HEX](https://raw.githubusercontent.com/agn453/Z280RC/master/system/bios280/CPMLBIG.HEX

Related Skills

View on GitHub
GitHub Stars15
CategoryDevelopment
Updated4mo ago
Forks0

Languages

Assembly

Security Score

92/100

Audited on Nov 19, 2025

No findings