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

Valid HTML 3.2! check now