Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

68008 co-processor board complete working design available ...

366 views
Skip to first unread message

Jim Gilbert

unread,
Nov 8, 2010, 5:32:13 PM11/8/10
to
Back in 1985-1987 I implemented a 68008 wirewrapped co-processor board
that ran on both my Apple II+ and my Apple IIGs. (I never tested in
on a IIe.)

This design was based on a Motorola design note and featured some
considerable extensions:

8 Mhz 68008
128 K DRAM (Intel 64x4 FPM DRAMs)
2732 EPROM
Communication with Apple II back plane via a dedicated read port and a
dedicated write port, each attached to a Mostek 4501
256 x 8 FIFO. These FIFOs enabled both processors to speak to the
other with relative impunity since they handled timing issues well.
68901 MFP chip serving as interrupt controller, parallel ports, serial
port (complete with full modem control), and timers for 68008.
Hardwired reset pushbutton on top edge of card.
Software:
(1) PROM Monitor on 68008 initialized everything, maintained software
refresh of DRAM, and implemented bidirectional communications protocol
with host 6502 (read/write a byte/word/long/block, run code beginning
at x, reset).
(2) Applesoft debugging monitor on 6502 which helped load and debug
code on the 68k
(3) RAM Disk software used to test 68008 where the co-processor was
just used as RAM drive for the 6502
(4) Print spooler for the 68008 using its memory to spool for the 6502
(not sure I still have this)

I have a working wirewrapped board, block diagrams, schematics, wire
lists, theory of operation, construction and debugging guides, timing
diagrams, the works...

I built this out of parts that were mainly free samples from Motorola,
Intel, Mostek etc. back when I worked for a system company.

I used to actually sell the kit on Usenet but unfortunately the key
single component that became unavailable was Hollywood Hardware's
wonderful full-length Apple II prototyping board which I used. To run
the card in an Apple II GS I had to use a bus extender because the GS
case is a little shorter front to back than the IIe or II+ ones
were.

I am seriously thinking of scanning and loading all this stuff into a
web site and making it public domain if anyone is interested.
As far as I can tell the 68008 and the 68901 and the 4501s are still
all available. The rest of it is all 74 series TTL except for one 555
timer chip.

My design, was heavily influenced and inspired by the Motorola design
note but is clearly significantly different and original.

The main problem with building another one or more would be finding a
viable Apple II prototyping board that is big enough.

The 68008 software is assembly language in the AT&T syntax that was
accepted by the BSD UNIX system at work and the public domain 68K
assembler for CP/M I used on my Z/80 coprocessor (Softcard, then
Applicard). Yes, the 68008 co-existed with the Z/80 cards...

I no longer have an Apple II. In order to build or play with one of
these a bus extender is very valuable because you'll wear out your
backplane slot with too many insertions and extractions otherwise...

Jim Gilbert
brok...@gmail.com

Michael J. Mahon

unread,
Nov 8, 2010, 7:57:32 PM11/8/10
to

Jim, I'd be very interested in your design. It is considerably more
capable than the 68008 card I acquired several years ago! That card
had a single 8-bit port, with handshaking--pretty slow communication.

I think it would be a great idea to scan in the documentation and make
it available on the web.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page: http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."

Steven Hirsch

unread,
Nov 9, 2010, 7:51:08 AM11/9/10
to
On 11/08/2010 07:57 PM, Michael J. Mahon wrote:

>> I am seriously thinking of scanning and loading all this stuff into a
>> web site and making it public domain if anyone is interested.
>> As far as I can tell the 68008 and the 68901 and the 4501s are still
>> all available. The rest of it is all 74 series TTL except for one 555
>> timer chip.
>>
>> My design, was heavily influenced and inspired by the Motorola design
>> note but is clearly significantly different and original.
>>
>> The main problem with building another one or more would be finding a
>> viable Apple II prototyping board that is big enough.
>>
>> The 68008 software is assembly language in the AT&T syntax that was
>> accepted by the BSD UNIX system at work and the public domain 68K
>> assembler for CP/M I used on my Z/80 coprocessor (Softcard, then
>> Applicard). Yes, the 68008 co-existed with the Z/80 cards...
>>
>> I no longer have an Apple II. In order to build or play with one of
>> these a bus extender is very valuable because you'll wear out your
>> backplane slot with too many insertions and extractions otherwise...
>
> Jim, I'd be very interested in your design. It is considerably more
> capable than the 68008 card I acquired several years ago! That card
> had a single 8-bit port, with handshaking--pretty slow communication.
>
> I think it would be a great idea to scan in the documentation and make
> it available on the web.

Particularly because all the logic will probably fit on a single CPLD. Might
be a reasonably simple thing to build.

Jim Gilbert

unread,
Nov 9, 2010, 3:54:13 PM11/9/10
to

Huzzah, someone is interested enough to at least read this. I will
start with the high level, overview, block diagram etc.

Jim Gilbert

unread,
Nov 9, 2010, 3:56:41 PM11/9/10
to

I strongly suspect all the SSI/MSI would handily fit into a CPLD or
FPGA. My work on this whole kit was seriously compromised long ago
when I realized I had bet on the continuing existence of long Apple II
prototyping cards and that they had ceased to exist.

Jim Gilbert

unread,
Nov 9, 2010, 6:43:49 PM11/9/10
to
On Nov 8, 7:57 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:

http://jgg-apple2-68008.110mb.com

Here's the web site. Currently there is a photo of the board on the
home page, a link to a page with the conceptual block diagram, a link
to a page with the Programmer's Reference Manual, and a link to a page
with the Conceptual Theory of Operations.

This is just the beginning of the technical information available.

Jim Gilbert

Michael J. Mahon

unread,
Nov 9, 2010, 7:00:44 PM11/9/10
to
> http://jgg-apple2-68008.110mb.com
>
> Here's the web site. Currently there is a photo of the board on the
> home page, a link to a page with the conceptual block diagram, a link
> to a page with the Programmer's Reference Manual, and a link to a page
> with the Conceptual Theory of Operations.
>
> This is just the beginning of the technical information available.

Wow--I see you really *used* that long proto board! ;-)

Jim Gilbert

unread,
Nov 9, 2010, 7:20:26 PM11/9/10
to

I have now uploaded the Motorola Application Note AN896 by Geoff Brown
which inspired this design. This material is copyright 1984, Motorola.

Jim Gilbert

unread,
Nov 9, 2010, 7:24:28 PM11/9/10
to

Actually the FIFOs were each 512x9, not 256x8. There is provision in
the design for the 68008 to interrupt the 6502 in-band (i.e. when the
6502 decides to allow itself to be interrupted. There is also
provision for the 6502 to interrupt the 68008 in or out of band.

Debugging RAM-based code on machines which are running software
refresh is kind of tricky. If you stop the processor all the evidence
evaporates!

sfahey

unread,
Nov 10, 2010, 9:48:25 AM11/10/10
to
To: Jim Gilbert
Re: Re: 68008 co-processor board complete working design available ...
By: Jim Gilbert to comp.sys.apple2 on Tue Nov 09 2010 03:43 pm

> This is just the beginning of the technical information available.

What is the board's application/function?

Sean Fahey
www.a2central.com

Jim Gilbert

unread,
Nov 10, 2010, 2:24:17 PM11/10/10
to
On Nov 10, 9:48 am, "sfahey" <sfa...@a2central.com.remove-6n6-this>
wrote:

The board possessed substantially more memory and a much faster 32-bit
processor than the hosting Apple II; it also had a full-function
serial port with full modem control. I had no particular application/
functional target other than to build a substantially powerful Apple
II co-processor using a bunch of parts that were sampled to me for
free by my Motorola, Intel, and Mostek sales reps.

It required programming in 68000 assembly language with knowledge of
its deeply buffered interfaces to the host processor. I used two
trivial applications to convince myself it was working properly: (1) a
RAM Disk providing fast storage for the host Apple II (that would
evaporate when the power did, unlike a real disk drive), and (2) a
print spooler using the RAM to allow the host to run far ahead while
thinking it was printing large jobs.

The primary purpose was for a recovering systems programmer to
convince himself he could design, build, and debug a substantial board-
level computer. I learned about many aspects of logic design, layout,
wirewrapping, use of discrete components, etc. All the Apple and
68000 assembly language and the ROM monitor were pretty easy since I
had spent 15 years as a professional systems programmer.

I implemented this board after having completely understood my
Microsoft Softcard by deriving the schematic from the traces, studying
the datasheets, disassembling the software, etc. My board was based
on a Motorola Application Note by Geoff Brown demonstrating what could
be done with a 68008 and a 68901 multi-function peripheral. The main
feature my board shares with Geoff's design was software refresh of
the dynamic RAM propelled by the timers and interrupt controller
integrated into the 68901.

If I were doing the board today I would have probably integrated most
of the TTL into a CPLD or FPGA and have included an Ethernet
controller.

This whole thing began when my Motorola sales rep gave me a 68008 in a
plastic tube after I had asked a curiousity question about it. Then
came some design notes. And I asked him about a 68901 which appeared.
And my Intel guy gave me a pair of 64Kx4 FP-DRAMs, so I asked him for
another pair. And I think I got the FIFOs from spares for one our our
printer controllers (I was manager of Operating Systems and Networking
for FileNet at the time).

sfahey

unread,
Nov 10, 2010, 4:54:09 PM11/10/10
to
To: Jim Gilbert
Re: Re: 68008 co-processor board complete working design available ...
By: Jim Gilbert to comp.sys.apple2 on Wed Nov 10 2010 11:24 am

> The board possessed substantially more memory and a much faster 32-bit
> processor than the hosting Apple II; it also had a full-function
> serial port with full modem control. I had no particular application/
> functional target other than to build a substantially powerful Apple
> II co-processor using a bunch of parts that were sampled to me for
> free by my Motorola, Intel, and Mostek sales reps.

Have you considered recreating this co-processor in a Carte Blanche card?

I love these kinds of co-processor cards, because they represent learning
opportunities, old school hacking for the fun of it... and they sometimes even
have a practical side as well.

Sean Fahey
www.a2central.com

Steven Hirsch

unread,
Nov 10, 2010, 8:15:29 PM11/10/10
to

It would be ideal if a real 68008 could plug into the CarteBlanche ASIC
adapter, but a 48-pin package is not going to work (at least not easily) with
a 40-pin ZIF socket.


Jim Gilbert

unread,
Nov 24, 2010, 3:53:17 PM11/24/10
to
On Nov 10, 4:54 pm, "sfahey" <sfa...@a2central.com.remove-113v-this>
wrote:

Newly posted information:

- Applesoft debugger listing
- Debugger user guide
- PROM 68008 Monitor listing
- 68009 Monitor Design Notes
- Board Layout
- Board Selection Guide
- Parts List
- Power and Grounds Wire List
- Wire List

Patrick Schaefer

unread,
Nov 25, 2010, 2:47:45 PM11/25/10
to
Am 24.11.2010 21:53 schrieb Jim Gilbert:

> Newly posted information:
>
> (...)

Thank you very much! It would be great if you could provide binary
versions of the sotware as well. I.e. a hex or bin file for the EPROM,
and a dsk or shk with the Prodos part.


Best regards
Patrick

Michael J. Mahon

unread,
Nov 26, 2010, 1:25:21 AM11/26/10
to

I just tried to reach
http://jgg-apple2-68008.110mb.com/
and failed. Has the URL changed?

-michael

NadaNet and AppleCrate II: parallel computing for Apple II computers!
Home page: http://home.comcast.net/~mjmahon

Michael J. Mahon

unread,
Nov 26, 2010, 1:12:55 PM11/26/10
to

Never mind-- now I can get to it. Must have been too many video
streamers on the public wifi net...

-michael - NadaNet 3.1: http://home.comcast.net/~mjmahon

Jim Gilbert

unread,
Dec 3, 2010, 8:37:45 PM12/3/10
to

I am working on this...

The binary is on Apple ][ 5.25" floppies. I no longer have an Apple ]
[. I do not have hardcopy source for the print spooler but I swear I
wrote one.

I can recreate the softcopy of the Applesoft monitor and the DOS3.3
ram disk and the EPROM Monitor by OCRing the listings I have, I think.

Cheers.
Jim Gilbert

Jim Gilbert

unread,
Dec 13, 2010, 9:46:01 AM12/13/10
to

After some extensive review of the design I have concluded that this
could easily be upgraded to 512K of memory (ironically going from
matching the original Mac to the "Fat Mac" in RAM). There is room for
the 1-pin longer sockets on the layout if the decoupling capacitors
for the 4 memory chips are relocated to beside the chips instead of
inline with them. And you CAN still buy 256x8 FPM 5V DRAMs.

The EPROM could be fairly easily upgraded to EEPROM.

And an LED or two for RESET and HALT would be nice.

I have seriously considered putting together a little breadboard
driven by a spare ATX supply that would connect to power, a power
button, the 50-pin backplane connector and a PC parallel port. Careful
review of the 68008 board and a whole lot of parallel port
documentation reveals that given power, the 68008 board would run with
a PC parallel port interfacing to the backplane connector. A QBASIC,
or C, program driving the parallel port would replace the Applesoft
DBG68 debugger.
In a moment of weakness I ordered a cable with the 50-pin card edge
connector. The next step would be getting a little breadboard and
some jumpers. I can hear
the cry "She lives!" from that old Peter Sellers movie already...

So I may bring the board back to live without an Apple ][ just for
fun.
Of course I could buy another Apple ][.

The easiest way to rescue the softcopy of the programs on the Apple ]
[ floppies I have would be to mail them off to a trusty volunteer with
a real Apple ][ and working 5.25" drive. They could be liberated from
the medium and turned into disk images that are easier to save and
toss around the Internet that way.

Or more intriguingly, since I am out of space on the 68008 board I
could use an Arduino, Beagleboard, Netburner, or PIC-breadboard for
the host interface. This would allow me to easily add IDE/CF disk,
Ethernet, Wifi or USB access to the 68008 via the host interface. I
might end up programming the host interface more than the 68008.

And, other than the thrill of retro-hacking, what would you have? An
8-bit 68008 with 512K RAM, a bi-directional 512x8 path to the host,
and a serial port.
Too small for uclinux. OK for SK*DOS, the USCD P-system*, or someone's
real time system. OK for Contiki. No display capability except via the
serial port to a terminal emulator.

Of course a host interface with an ARM, x86 or Coldfire processor
would already have Linux available on it.

Intel, AMD, Microsoft, and all the Linux guys have buried us under GB
of RAM, GHz of processor, and awesome high-res color displays.

If I want to enjoy 68000 assembly language programming then the
smartest thing to do is to do it on my Windows box via an emulator.
This would be rather sterile.

If I were to do the board again today I would use the free Coldfire V1
FPGA core, do the bulk of the logic in the FPGA or CPLD, do it in
3.3v, use modern RAM, and allow for standalone or Apple ][ versions.

Retro-ramblings, eh?

Jim Gilbert

*Regarding the UCSD P-system I once ported the II.0 P-system entirely
to 8086 running on my Cromemco System III using a Seattle Computer
Products S-100 8086 board, SCP-DOS 0.9 (the great-grandfather of all
MS-DOS's, and Tim Patterson's monitor). I compared the performance of
the UCSD system compiling the compiler using Z80 at 4 MHz, 8086 at
8MHz with 8 bit memory, 8086 at 8MHz with 16 bit memory, etc. I had
lots of experience with the P-System compiler because I had ported,
extended, and maintained it for the Basic Four "Newport" 32-bit stack
machines. I gave away, threw away all my P-system stuff when I moved
from California to the East Coast in 1989.

Jim Gilbert

unread,
Dec 26, 2010, 1:41:30 PM12/26/10
to

I have now posted a board port addresses cheat sheet as well as .TXT
file version of completely revamped, commented, improved DBG68
Applesoft debugger.

The next softcopy to be posted will be the 68K monitor sources.

I intend to run this card again, either on a fixture connected to a PC
parallel port, or in a real Apple ][.

I am in considerable admiration of the great work done by Alex Freed
and others with their many excellent FPGA and/or CPLD projects.

Merry Christmas!

Jim Gilbert

unread,
Dec 28, 2010, 2:13:27 PM12/28/10
to
On Nov 25, 2:47 pm, Patrick Schaefer <pa.schae...@web.de> wrote:

Hi Patrick,

The web page now has .txt files for:

RAMDisk-a65.txt = DOS Toolkit 6502 assembler source for RAMDisk
Uses 4 simple macros. Not sure macro declarations in proper syntax for
EDASM since I can't find a manual for it anymore. The macros are
utterly simple, although they do use local labels.

DBG68.txt = Applesoft Debugger with expansions including built in help
MON68 Makefile.txt = 4.3 BSD Makefile for 68008 Monitor
All-h.txt = All .h files needed by the makefile run together into
one .txt file
All-i.txt = All .i ( .globl decls ) needed by the makefile run
together into one .txt file
All-s.txt = All .s files needed by the makefile run together into
one .txt file

The 68008 assembler source is AT&T syntax. No macros. Does use local
labels.

This is all the softcopy anyone, including me, will need to rebuild
any of the binaries assuming access to the right tools on Windows, or
probably easier, the right tools on Linux.

All this is free for any use, just identify the author.

Newer technology hosts like Carte Blance offer more memory, more
features, etc.

I do note that having the coprocessor interface with the 6502 CPU by a
dedicated 512x9 FIFO in each direction allows some really nice things,
like moving entire big sectors across the interface without to
handshake explictly with the guy on the other side. The FIFOs let the
68k and the 6502 both proceed without bothering each other most of the
time.

Cheers.

Jim Gilbert

unread,
Dec 28, 2010, 2:15:50 PM12/28/10
to

And yes, I did REKEY and check all the sources for the Debugger,
Monitor and RAMDisk.

Patrick Schaefer

unread,
Dec 28, 2010, 3:47:31 PM12/28/10
to
Am 28.12.2010 20:15 schrieb Jim Gilbert:

> And yes, I did REKEY and check all the sources for the Debugger,
> Monitor and RAMDisk.

Thank you very much, Jim! I really appreciate it.


Best regards
Patrick

Jim Gilbert

unread,
Dec 31, 2010, 7:06:39 PM12/31/10
to

I have carefully checked the rekeyed listings and added some new
comments, clarifications and corrections.
The listings uploaded have not seen an assembler, compiler or
interpretor in 23 years.

I think the next thing I may do is to either try to remake them on
either Ubuntu Linux or XP.
The makefile reflects FileNet's 4.3BSD installation on a VAX 785 a
long time ago. I understand it well enough now to get it through the
GNU tools or similar ones.

In coming months I will probably bring it back to life either on an
Apple ][ from ebay or on a PC power suppy with a PC parallel port
driving a cable to the Apple backplane connector. To do the PC
approach I would have to modify DBG68 to run on QBasic.

I am most puzzled to identify a destination here. Even if I got it
working again and did minor upgrades (EEPROM for EPROM, 512K RAM
instead of 128K, a few LEDs) I would still have an execution
environment that is woefully small for anything except Con-tiki or
SK*DOS. No Linux dialect will be happy with just 512K.
And the environment would have no EZ access to mass storage, network
or graphics.

The two easy answers would be to use the Apple II as a host processor
or a PC as a host.

And, if you really want a 68K coprocessor for an Apple ][ and don't
want the thrill of building one with your own hands the smart thing to
do would be to work on getting the free Coldfire V1 core into Carte
Blanche (which ought ought to have enough room for Yet Another CPU
core emulation).

Rob Justice

unread,
Dec 16, 2015, 6:57:39 PM12/16/15
to
Does anyone have the files for this card? Web site does not seem to be there any more.

Curious to have a look.

thanks
Rob

srk...@gmail.com

unread,
Dec 17, 2015, 2:03:23 AM12/17/15
to
Wow, very cool Jim. CBII has a 5V 48pin ZIF with global clocking specifically for the 68008 as well as dual port memories for the bus IO FIFO's. Id love to port this design. Ill keep checking back to your site now and then for the schematics.

cheers,
Steve
0 new messages