BASIC, CP/M, RomWBW or Small Computer Monitor

There are currently 4 different operating systems supplied for the RC2014; BASIC, CP/M, RomWBW or Small Computer Monitor.  The ROM codes for these are R, K, 1, 2, 4, 6, 9, 88 or 1.512k.  See Decoding ROM Labels for clarification

BASIC

Microsoft BASIC 4.7 comes in 2 variations for the RC2014; 32k or 56k.  The 32k BASIC will run on the RC2014 Mini, RC2014 Classic, RC2014 Plus and RC2014 Pro, but 56k BASIC will only run on a RC2014 Pro or an expanded Classic or Plus.

This particular implementation was modified from Nascom 2 BASIC by Grant Searle and has been used here with his kind permission.  The hardware specific code from the Nascom implemention has been stripped out to form a more generic BASIC, and a few extra commands have been added in.  Details on this can be found on Grant Searles website here; http://searle.x10host.com/z80/SimpleZ80.html#RomBasic

The source code can be found here for the 32k BASIC (“R”) and here for the 56k BASIC (“K”)as used in the RC2014 Mini and RC2014 Classic – both of which use a 68B50 ACIA.  The serial routine for the SIO/2 found in the RC2014 Plus and RC2014 Pro has been modified from Grants code and this can be downloaded from the Factory ROM GitHub page, designated as “2” for 32k and “4” for 56k.

The original Nascom 2 BASIC manual can be found here http://www.nascomhomepage.com/pdf/Basic.pdf

When you first boot in to BASIC, you are greeted with

Z80 SBC By Grant Searle

Memory top?

Simply hit return to accept the full amount of memory.  You will then see the following prompt

Z80 BASIC Ver 4.7b
Copyright (C) 1978 by Microsoft
56958 Bytes free          (Or 32382 Bytes free for 32k BASIC)
Ok

You’re now running BASIC!

CP/M

The RC2014 Pro runs CP/M as standard, or a CP/M Upgrade Kit can be added to the RC2014 Classic or RC2014 Plus.  The variation supplied is CP/M 2.2 and, as with BASIC, this has been modified by Grant Searle and is used with his kind permission.

The CP/M Monitor has been modified to allow it to be used with the Pageable ROM Module and CP/M itself has been modified for either the 68B50 ACIA (“1”) or SIO/2 UART (“6”).  Note that the CP/M Monitor runs from ROM as the RC2014 is booted up, and CP/M runs from the compact flash after it has been invoked from the Monitor.

The original files can be found on Grant Searles website http://searle.x10host.com/cpm/index.html#ROMFiles

The RC2014 modifications can be found on GitHub https://github.com/RC2014Z80/RC2014/tree/master/CPM

When you boot up the RC2014 you are greeted by the following message;

Press [SPACE] to activate console

This is sent out to both Port A and Port B on the SIO/2 serial module, or sent out twice on the 68B50 serial module.

After hitting space, you have the following prompt

Z80 SBC Boot ROM 1.1 by G. Searle
Type ? for options

Typing ? will give you the following options

R – Reset
BC or BW – ROM BASIC Cold or Warm
X – Boot CP/M (load $D000-$FFFF from disk)
:nnnnnn… – Load Intel-Hex file record

Note that on the RC2014, the BC and BW options are not active.  If you wish to run BASIC, you can change the jumpers on the ROM module, or download BASIC for CP/M.  Using BASIC under CP/M gives you the ability to load and save programs from the CF card, which is unavailable for ROM based BASIC

Hit the X key, followed by Y and you are in to CP/M

Z80 CP/M BIOS 1.0 by G. Searle 2007-13
CP/M 2.2 Copyright 1979 (c) by Digital Research
A>

RomWBW

RomWBW is available for any RC2014 model which has the 512k ROM 512k RAM Module upgrade.  It can use the Compact Flash Module for storage, and also supports IDE drives, floppy drives and RTC.  RomWBW was written by Wayne Warthen and used on the RC2014 with his kind permission.

RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for all RetroBrew Computers Z80/Z180 hardware platforms including SBC 1/2, Zeta 1/2, N8, Mark IV, and RC2014. Virtually all RetroBrew hardware is supported including floppy, hard disk (IDE, CF Card, SD Card), Video, and keyboard. VT-100 terminal emulation is built-in.

The RomWBW ROM loads and runs the built-in operating systems directlyfrom the ROM and includes a selection of standard/useful applicationsaccessed via a ROM disk drive. A RAM disk drive is also providedto allow temporary file storage.

Pre-built ROM images are included for all platforms. Detailed system customization is achieved by making simple modifications to a configuration file and running a build script to generate a custom ROM image. All source and build tools are included in the distribution. As distributed, the build scripts run under any modern 32 or 64 bit version of Microsoft Windows.

For full details, see https://github.com/wwarthen/RomWBW/releases

Small Computer Monitor

Small Computer Monitor was written by Steve Cousins and has been tested extensively on all variants of the RC2014 excluding the 512k RomWBW. It is used here with Steve Cousins kind permission. Full information, as well as user guides, tutorials and reference sheets can be found https://smallcomputercentral.com/projects/small-computer-monitor/

SCM has been designed to work with 32k, 56k or 64k of RAM, and either the 68B50 or SIO/2 serial module.

In it’s simplest form, it is a basic machine code monitor for the Z80 CPU.  It features an inline assmebler and disassembler, can examine or set registers, can set breakpoints or run single step, or load Intel .hex file.  In short, it is everything that you need to develop on the RC2014

Two variations are supplied on RC2014 ROMs.  “9” is an 8k image that will run on any RC2014.  Simply set the 3 address jumpers for the ROM all high.  When you boot you will be greeted by the following prompt

Small Computer Monitor – RC2014

Typing a ? or HELP will bring up the help screen, which shows the commands available

*?
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration R1 for Z80 based RC2014 systems

Monitor commands:
A [<address>] = Assemble | D [<address>] = Disassemble
M [<address>] = Memory display | E [<address>] = Edit memory
R [<name>] = Registers/edit | F [<name>] = Flags/edit
B [<address>] = Breakpoint | S [<address>] = Single step
I <port> = Input from port | O <port> <data> = Output to port
G [<address>] = Go to program
BAUD <device> <rate> | CONSOLE <device>
FILL <start> <end> <byte> | API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET

The 2nd variation has the designation “88” and is a 16k ROM for use on the RC2014 Pro.  This works exactly the same as the “9”, but includes a BASIC and CP/M loader;

*?
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration R4 for Z80 based RC2014 systems

Monitor commands:
A [<address>] = Assemble | D [<address>] = Disassemble
M [<address>] = Memory display | E [<address>] = Edit memory
R [<name>] = Registers/edit | F [<name>] = Flags/edit
B [<address>] = Breakpoint | S [<address>] = Single step
I <port> = Input from port | O <port> <data> = Output to port
G [<address>] = Go to program
BAUD <device> <rate> | CONSOLE <device>
FILL <start> <end> <byte> | API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET
BASIC Grant Searle’s adaptation of Microsoft BASIC
WBASIC Warm start BASIC (retains BASIC program)
CPM Load CP/M from Compact Flash (requires prepared CF card)
*CPM

Z80 CP/M BIOS 1.0 by G. Searle 2007-13

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>

Typing BASIC, WBASIC or CPM at the prompt will boot in to the appropriate operating system as shown above.

Comments are closed