Home Atari ST Series Hardware Blitter Patch Atari TT Series Hardware
 

3.15 Add 68881 FPU


Add 68881 FPU to an Atari


Adding a 68881 Math Co-processor

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







Copyright © Robert Schaffner (doit@doitarchive.de)
Letzte Aktualisierung am 23. Mai 2004
Home Atari ST Series Hardware Blitter Patch Atari TT Series Hardware