Copy Link
Add to Bookmark
Report

How to get a 68881 coprocessor to work with your Atari 1040 or similar

atari's profile picture
Published in 
atari
 · 3 years ago

This describes how you can get a 68881 coprocessor to work with your Atari 1040 or similar.

Basically what you have to do is this; in the following I am using '*' for the inversion of a signal:

  • AS* is decode from address 0xFFFA40. Only bits A23-A5 are used though. To do this I used two 74HC133 13 I/P nand gates, oring the two outputs together using a 74HC32. Also FC0-FC2 are inputted to the 133's, decode as x01, i.e. do not use FC2 and invert FC1. A single 74HC04 will provide the inverters for the address decode and FC1.
  • DS* is just the AND of UDS* and LDS*. Other than this, the signals need to be connected just as shown in the 68881 data sheet (you'll need a copy of this, if only for the 68881 pinout). The following shows the connections I used, with MC68000 pins on the left and MC68881 pins on the right.

I soldered 2 26 way IDC cables with connectors right onto the 68000 pins (crude but my 68000 was not socketed, so there wasn't much choice). The use of IDC connectors is recommended as at least you can unplug your Atari and use as normal while you're checking your circuit. I built it on a small piece of board with plated-thru holes. If you can make PCB's so much the better, please send me one!

I buffered the clock from the 68000 using a spare AND gate in the 74HC08, since with ~8 inch leads the signal was a bit flaky, giving me errors at first.

Here's the complete schematic, there may be one or two 68000 - > 68881 signals that I have forgotten (I'm working from memory here, I'll check it over the weekend). If I have forgotten anything important I'll remail you.

I tested it with a simple Laser C program linked with the lib881.a library. A test of about 1000 log, exp etc. double precision operations took 7.00s with the standard lib (libc.a) and 0.53s with lib881.a.

Pretty impressive, huh?

Keith Sabine (keiths@cadence.com)

 FC2 --- 
FC1 ---|>o----|
|
FC0 ----------|
|
A23 ----------|
|
A22 ----------|
|
A21 ----------|
| 74HC133
A20 ----------|
|)O-------------
A19 ----------| |
| |
A18 ----------| |
| |
A17 ----------| |
| |
A16 ----------| |
| |
Vcc ----------| |
| |
Vcc ----------| |
| |
Vcc ----------| |
|
| 74HC32
----|
)------- AS*
----|
|
|
A15 ----------| |
| |
A14 ----------| |
| |
A13 ----------| |
| |
A12 ----------| |
| |
A11 ----------| |
| 74HC133 |
A10 ---|>o----| |
|)O-------------
A9 ----------|
|
A8 ---|>o----|
|
A7 ---|>o----|
|
A6 ----------|
|
A5 ---|>o----|
|
Vcc ----------|
|
Vcc ----------|
74HC08
UDS* ---------|
|)---------------------------- DS*
LDS* ---------|

D0-D7 ------------------------+------------- D0 - D7
|
|
D8-D15 -----------------+------------------- D8 - D15
| |
| |
| ------------- D16 - D23
|
|
-------------------- D24 - D31

RESET* ------------------------------------- RESET*
74HC08
CLK ------+----|
| |)--------------------------- CLK
-----|
DTACK -------------------------------------- DSACK1*

R/W* --------------------------------------- R/W*

Vdd ---------------------------------------- SIZE

Gnd ---------------------------------------- A0

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT