The 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.
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 |