GZ/80S - 20MHz Z-80 PCPI Applicard compatible Apple CP/M card

Submitted by GG on Tue, 04/06/2021 - 14:43
Project Status

GZ80 B03The PCPI Appli-Card was the first single board computer style CP/M card for the apple II. It featured a 6MHz Z-80 CPU paired with 64KB of RAM and 2KB of ROM. Thanks to the high clock and zero wait states DRAM accesses the card performed almost 3 times as fast as the Microsoft SoftCard. The GZ/80-B00 is a new implementation of the PCPI card with a 20MHz Z-80 CPU and 512KB of static RAM.

PCPI Appli Card

Schematics

The GZ/80s is a reimplementation of the PCPI Applicard with an on board 448K memory expansion.
The card is a complete Z80 SBC (Single Board Computer) with its dedicated ROM (U4) and RAM (U3). The schematics is identical to the earlier GZ80s-B00 with many components converted to SMD. The Z80 communicates to the Apple through a pair of 8-bit registers (U1 and U2) mapped in the Z80 I/O space. The Z80 I/O space is decoded by U13 into 8 separate Chip Selects. Refer to the table below for the mapping. U10/U16 generate the Z80 clock. U15B divides the Z80 clock by 2 and provides it to the expansion bus J1. U14 decodes the apple card I/O space to provide access to the card I/O registers. The U8 GAL integrates the remaining glue logic to generate the RAM and ROM chip selects and the high order bits of the RAM based on the bank register settings.

I/O Address Function Notes
0xh/1xh write data register (Z80 to apple) U2
2xh/3xh read data register (apple to Z80) U3
4xh/5xh I/O register full apple data U11A (bit 7), Z80 data U11B (bit 0)
6xh/7xh ROM Enable U15A
8xh/9xh Reserved for optional CTC  
axh/bxh Reserved for optional Apple IRQ  
cxh/dxh RAM Bank register U9 (bit 1,2,3 bank address, bit 6 common area enable)
exh/fxh Not used  

Performance

To evaluate the performance we have used a simple basic program that draws the Mandelbrot set in ASCII.

Card Clock FRACT.BAS execution time (mm:ss)
Microsoft Softcard 2MHz 9:36
GZ/80-A0x 7MHz 5:39
PCPI Applicard 6MHz 3:20
GZ/80-B0x 10MHz 2:04
GZ/80-B0x 12MHz 1:45
GZ/80-B0x 16MHz 1:21
GZ/80-B0x 20MHz 1:07
GZ/80-B0x 24MHz 0:58

BASIC FractalASCII Fractal

Filed under