An MC68020/68881 Coprocessor Card for the Apple ][
In late 1985 I designed a MC68020/68881 coprocessor card for the Apple
][, based on an earlier 68008 card designed by Richard Ottosen.
Richard and I built the card.
The MC68020 and MC68881 are run from a common clock, which is jumper
selectable from either an on-board oscillator or the Apple ][ 7M clock.
The card has a 2764 boot EPROM, and 32 Kbyte of SRAM organized as
8K*32.
Communication with the Apple ][ is by means of four eight-bit parallel
I/O ports, two in each direction, and by one interrupt "doorbell" in each
direction. Typically one port in each direction is used for data, and
the other for status and/or handshaking.
On system reset, the MC68020 CPU is held in reset until the Apple ][
releases it by writing to an I/O location.
We used two PAL16L8 chips (U2 and U12) for the address and byte strobe
decode, bus error, and interrupt auto-vector.
Schematic:
Here's a scan of the
hand-drawn schematic (B size, 354K PDF file).
Although I no longer have it in machine readable form, I have scanned
a printed copy of the
schematic redrawn using MacDraw (A size, 400 DPI scan, 80K PDF file).
Construction:
We didn't have wire-wrap sockets for the PGAs,
so Richard constructed custom ones by removing the pins from machined-pin
DIP wire-wrap sockets, and inserting them into suitably sized (13x13, 10x10)
pieces of perf board. Most of the remaining circuitry was wired using
3M Scotchflex insulation-displacement prototyping.
PAL Programming:
This was the first time either Richard or I had used PALs. Even though
the concept seemed fairly simple, we weren't 100% confident that we'd
get it right the first time. We purchased five parts, in order to have
three spares. We borrowed a Structured Design SD10 programmer. This
was a self-contained box that had PALASM built-in, and a wafer-tape
drive for storing your source code and/or JEDEC files. All you need
with the SD10 is a dumb terminal. In practice, though, we used the
Apple ][ as the terminal, and kept our source files on disk.
Debugging the hardware:
I checked and rechecked the wiring. When we plugged it into the Apple,
there was a problem with lots of noise on the +5V supply, and the
card didn't run the boot code. In short order Richard and I traced this
to a fault on the R/W* line. Once this was fixed, the hardware worked.
And the PALs did in fact work the first time.
Software:
A simple monitor program was put in the EPROM, which provided a means
for the Apple ][ to load code into the card.
Loren Blaney modified the
XPL0 compiler
to generate native 68020 and 68881 code.
Epilogue:
Unfortunately the card was disassembled for parts in 1987. I should
have at least taken a photo of it. Sigh.
Some thought was given to a "mark two" card, which would have had DRAM
and direct access to the Apple ][ memory (handy for graphics). However,
the design was not completed.
Back to my retrocomputing page
Back to my home page
Last updated July 21, 2002
Copyright 2000, 2002 Eric Smith
eric@brouhaha.com
check now