Table of Contents
ZRuno, Z80+RAM+CPLD+CF for Arduino Mega Enclosure
Introduction
ZRuno is same as ZRCC electrically except a row of 10 WS2812B pixel addressable LED is added and the board is designed for Arduino Mega enclosure
Features
- Z80 running at 22MHz
- 128K banked RAM
- EPM7064S CPLD
- Compact flash drive
- CP/M-ready
- Ten WS2812B pixel addressable RGB LED
- 26-pin I/O expansion (RC2014-lite)
- 93mm x 53mm 2-layer pc board
- Software compatible with ZRCC
Theory of Operation
The heart of ZRuno is the EPM7064S CPLD. It contains a 64-byte boot ROM, a buffered shift register that serves as simple serial receiver, and decoding logic. At powerup, the Z80 executes the small ROM code which continuously polls the compact flash READY signal and the serial port receive ready flag. If serial receive ready flag is set, then it jumps into the serial bootstrap routine that loads 256 serial data into memory starting from 0xB000 and jump into 0xB000 after the 256th serial data is received.
If CF READY is detected, it jumps into the CF bootstrap routine that reads the 256 words of data from CF's Master Boot Record (track 0, sector 1) into memory starting from 0xB000 and jump into 0xB000 after the 256th words are read.
Because it takes a moment for the CF disk to be ready after reset, the user can wait half a second for the CF disk to be ready and boot or press a key immediately after reset button is released and select the serial bootstrap mode. The serial bootstrap is primarily for loading CF initialization software to set up a new CF disk.
Design Information
Software
Please note many of the software refer to 'ZRCC' in their documentation. This is because ZRuno software is fully compatible with ZRCC software.
ZRCC Serial bootstrap loader. Enable serial bootstrap and load this file first (note: enable binary file load for this file only). This is a 256-byte hex file loader that loads a hex file to memory at 0xB400 and jump into 0xB400 when loading is completed. Note, this first step can be tricky. Here is additional instruction on how to enable serial bootstrap mode.
ZRCC monitor, rev0.3. Load this file with the serial bootstrap loader
CFBootLoader. This boot loader is stored in master boot record of a CF disk. When in CF bootstrap mode, ZRCC reads in this program located in master boot record to location 0xB000 and jump into it. The CF bootloader, in turn, loads 3K bytes worth of data located in track 0, sector 0xF0 to 0xF6 of a CF disk into 0xB400 and jump into 0xB400. Beside the CFBootLoader program itself, this file contains two installation programs. Located at 0xB200 is the installation program for CFBootloader. At ZRCC monitor prompt, type 'gb200' will install CFBootLoader in the master boot record. Located at 0xB300 is the installation program for ZRCC Monitor. Type 'gb300' will install the current monitor into track 0, sector 0xF8-0xFD of the CF disk.
SCMonitor+StarTrek. This is Steve Cousin's SCMonitor ported to ZRCC. This is Steve Cousin's homepage. As an extra bonus, it includes the StarTrek program in BASIC. To install SCMonitor+StarTrek, send scmonitor_startrek.hex to ZRCC and type 'c1' to install it in track 0 of CF disk. Once it is installed, type 'b1' to load and run SCMonitor. To run Startrek in BASIC, type 'wbasic', then 'run'. Have fun! Youtube video of running Startrek in ZRCC using a TeraTerm macro file. This is the TeraTerm macro program
CP/M2.2 BIOS/CCP/BDOS. This is CP/M2.2 BIOS/CCP/BDOS all in a file. To install it, send cpm22all.hex to ZRCC and type 'c2' to install it in track 0 of CF disk. Once it is installed, type 'b2' to load and run CP/M2.2
XMODEM.HEX. This is the very first program in a new ZRCC CF disk. Install CP/M2.2 above first, then while in ZRCC Monitor, send xmodem.hex to ZRCC; then type 'b2' to enter CP/M2.2; then type 'save 17 xmodem.com' at CP/M prompt. This will save the RAM image into a file called xmodem.com.
unarj.com. This is file decompression program running in CP/M. Use it to decompress .arj files
cpm22dri. This is the CP/M2.2 distribution files from Digital Research. Use unarj.com to decompress it.
CP/M3 Loader. This is loader for CP/M3. It expects CPM3.SYS in drive A of the CF disk. To install it, send CPM3LDR.HEX to ZRCC and type 'c3' to install it in track 0 of CF disk. Once it is installed, type 'b3' to boot CP/M3.
CPM3ALL. This is the CP/M 3 distribution files. Use unarj.com to decompress it.
Installation macro for ZRCC CF disk. This zipped file contains all the files installed in a released ZRCC disk. The installation macro runs in TeraTerm and expects all files in directory c:\teraterm\zrcc Run the macro once ZRCC is in serial bootstrap mode.