Copyright ½ 1991 by Natuerlich! on documentation, board design and software. Non commercial spreadance encouraged. HOW TO BUILD IT NNN NNN AAA SSSSSSS TTTTTTTTT YYY YYY NNNN NNN AAAAA SSS TTT YYY YYY NNNNN NNN AAA AAA SSS TTT YYYYY NNN NNNNN AAAAAAA SSS TTT YYY NNN NNNN AAA AAA SSS TTT YYY NNN NNN AAA AAA SSSSSSS TTT YYY Connection NOT FOR CASSETTE ONLY USERS PROBABLY NOT FOR TT USERS DISCLAIMER: ALTHOUGH NO PROBLEMS HAVE SURFACED YET WITH THIS INTERFACE, IT IS NEVERTHELESS POSSIBLE THAT YOU MAY DESTROY YOUR COMPUTER OR IMPORTANT DATA WITH THIS LITTLE PROJECT. THE AUTHOR WARNS YOU BEFOREHAND ABOUT SUCH A POSSIBILITY AND DISCLAIMS ANY RESPONSIBILITY OR LIABILITY ON DATA OR HARDWARE LOSSAGE THAT YOU MIGHT SUFFER THRU THE USAGE OF EITHER SOFTWARE OR HARDWARE OR A COMBINATION THEREOF. THIS PROJECT/SOFTWARE COMES WITHOUT WARRANTY OF ANY KIND. This is a little pamphlet that tells you how to build yourself in your own home a NASTY connection. NASTY is a parallel interface between the ST and an 8Bit Atari. "Building a Nasty Connection for the beginner (like me)" You need: Knowledge: Very basic soldering/electronics knowledge. Parts: 1 small circuit board with prefabricated copper lines (not dots) 2 joystick extension cables (*1*) 1 serial I/O cable 1 74LS14 IC (1 14 pin IC socket) 2 1K resistors 1 shielded 11 (or more) polar cable 1 25 pin plug ST printer port style with cover some thin isolated wire Tools: Soldering iron, solder (resin core solder preferably), soldering grease voltage meter + ohm meter (w/buzzer preferably) P R E P A R A T I O N S Depending on your setup, figure where you want to place the interface, where your old Atari sits, where your ST rests in relative peace. Now guess the length of the cables and buy/cut accordingly. 1. PREPARING THE SERIAL I/O CABLE Cut the serial I/O cable in half, remove 1 mm of isolation from each of the colored cables. Heat soldering iron and put a little solder on its tip. (*2*) Dip the ends of the colored cable into the grease then cover the ends lightly with solder. Twist part of the shield into a little wire, not thicker than the colored cables and just as long. [ I prefer cutting the shield with a pair of scissors on one side, which makes twisting very easy ] Cut off the excess shield if neccessary. Dip your shield wire into the grease and cover it lightly with solder as well. Standard Atari SIO cables may only provide some aluminum foil or somesuch as shielding, ignore that. Use the ohm meter to fill in the following table: Hole 1. : Color = _________ 2. : Color = _________ 3. : Color = _________ 4. : Color = _________ 5. : Color = _________ 6. : Color = _________ 7. : Color = _________ 8. : Color = _________ 9. : Color = _________ 10.<5V> : Color = _________ 11. : Color = _________ 12. : Color = _________ 13. : Color = _________ +---+---+---+---+---+---+ As seen looking into the | 12| 10| 8 | 6 | 4 | 2 | plug +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 13| 11| 9 | 7 | 5 | 3 | 1 | +---+---+---+---+---+---+---+ (If you have a buzzer just insert one line of the meter into pin 4 f.i. and then check all colored cables serially until you hear a beep. Note that color in the table above. If you don't have a buzzer, you can find the line, by searching for the cable with no resistance.) Or even easier open the plug casing, if possible, and look up the colors. 2. PREPARING THE PARALLEL CABLE Prepare the colored cables and the shield on each side of the 11 polar cable as the serial I/O cable. You only need to prepare one shielding cable on one side. Fill the following table, by randomly assigning some cable colors to the various entries. Pin 1. (Strobe) : Color = _________ 2. (d0) : Color = _________ 3. (d1) : Color = _________ 4. (d2) : Color = _________ 5. (d3) : Color = _________ 6. (d4) : Color = _________ 7. (d5) : Color = _________ 8. (d6) : Color = _________ 9. (d7) : Color = _________ 11.(IRQ) : Color = _________ 20.(Ground) : Color = _________ As seen looking into the plug +----+---+---+---+---+---+---+---+---+---+---+---+----+ \ 13| 12| 11| 10| 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 / +--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+ \ 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14/ +--+---+---+---+---+---+---+---+---+---+---+--+ Solder the cables to the pins of the 25 pin plug as indicated by the chart you just made. The plug tells you were pin 1 is located. Now solder the shielding cable to pin 22 of the 25 pin plug. 3. PREPARING THE JOYSTICK CABLES Prepare joystick cables like you prepared the other cables. Only pins 1-4 will be used. Check which are which with a ohm meter and cut of the other wires. You _may_ ignore the shielding, probably not even provided. Cable #1: Pin 1. (D0) : Color = _________ 2. (D1) : Color = _________ 3. (D2) : Color = _________ 4. (D3) : Color = _________ Cable #2: Pin 1. (D4) : Color = _________ 2. (D5) : Color = _________ 3. (D6) : Color = _________ 4. (D7) : Color = _________ +----+---+---+---+----+ As seen looking into the plug \ 5 | 4 | 3 | 2 | 1 / +--+-+-+-+-+-+-+--+ \ 9 | 8 | 7 | 6 / +--+---+---+--+ Mark cable #1 visibly, so that you can easily identify it as belonging into joystick port 1. This will save you quite a few headaches later on. P R O D U C T I O N Solder everything into place according to this diagram except the IC. If you use a socket don't insert the IC yet, if you don't, wait until the preliminary tests show that everything else is OK. Legend: 1 character = 1 raster dot on your board + Solder in wire or cable R Resistor A (solder in resistors) r resistor B ~ Prefabricated copper line (Don't do anything) . Scratched copper line (remove copper (with a needle f.i.)) _ | Wired connection (follow path to determine connection) I IC pin 1 (orientation of IC) i IC leg d0 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D0 d1 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D1 Cable d2 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D2 #1 Parallel d3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D3 Cable d4 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D4 d5 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D5 Cable d6 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D6 #2 d7 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ D7 Strobe +~~~~~~~~~~~~~~~~~~+ | SIO Cable Busy +~~~~~~~~~~~~~~+ | #1 #2 | | Ground +~~~~~~~~~~~~~~|~+ | ..+~~+ 1 | | | ..+~~+ 2 | | | ..+~~+ 3 i..i~~~|~+~|~~r~~~~~~~~~~+~~+ 4 Ground i..i | | ..+~~+ 5 i..i | | ..+~~+ 6 74LS14 i..i~~~+ | ..+~~+ 7 i..i~~~~~~~|~~rR....R~~~~+..+ 8 Motor i..i.. +~~~~~~~~~~~~~+..+ 9 Proceed +~~I..i.. +~~~~~~~~~~~~~~~+~~+ 10 5V | | ..+~~+ 11 ------------- ..+~~+ 12 ..+~~+ 13 SIO-cable #2 goes to the disc drive, SIO-cable #1 (the one closer to the IC) to the Atari. T E S T I N G With your ohmmeter check that all data lines D0 to D7 are in order and that there aren't any shorts between the lines. You only should get a beep when testing D0 to d0, but not when testing D0 to d1-d7. Check the SIO cable, except pins 8 and 9, all lines should give a beep. Make sure that the resistors are lined up with the right pin of the IC, and you didn't forget to scratch away the copper under R....R ?? Are the three wires in place ? Is the IC facing in the right direction (downwards...) ? Is their no beep when testing line 4 and line 10 ? Is their a beep when testing pin 1 of the 25 pin plug and line 9 of SIO cable 1, and their is none when testing pin 1 of the 25 pin plug with pin 2 of the same ? Good now it's time for a first real test. Connect the SIO-cable #1 to your 8Bit Atari. Turn on ye olde machinery. If the screen goes black or anything else unusual happens, turn off your machine immediately, you have a short somewhere in your SIO cable. Recheck that. If your Atari comes up OK, turn it off again connect your discdrive to SIO-cable #2 and if you have MAC/65 or some other debugger on cartridge it's now a good time to put that in your cartridge slot, but BASIC will do as well. Now turn on your drive and then the computer. Is DOS loading OK ? If it isn't than you still have a problem in the SIO cable. (or you forgot to insert your DOS diskette (har har)). Connect cable #1 to joystick port 1 and cable #2 to port 2. Now it's time to test the data lines. In BASIC type 04 REM --------------------------------------------------------- 05 REM This might be extended to a real testing program 06 REM that diagnoses exactly what's wrong 07 REM --------------------------------------------------------- 10 POKE 54018,56:REM Port A to control 20 POKE 54016,255:REM Port A to all output 30 POKE 54018,60:REM Port A to data 40 ? "Testing"; 50 A=85:GOSUB 100 60 A=170:GOSUB 100 70 A=204:GOSUB 100 80 A=51:GOSUB 100 85 A=255:GOSUB 100 90 A=0:GOSUB 100 95 ?: ? "data lines OK" 99 END 100 POKE 54016,A 200 IF PEEK(54016)<> A THEN 300 250 ? ".";:RETURN 300 ? : ? "Data lines not OK":END or in your favorite debugger do the following set PORT A to I/O control by depositing $38 into PACTL ($D302), select all lines to output by writing $FF into PORTA ($D300), reset PORT A to data control by depositing $3C into PACTL. Now try putting some values into PORTA like $55 $AA $CC $33 $FF and $00 and reading PORTA back, if there is a difference some data lines are either disconnected (missing bit) or there is a cross over (superflous bit) It's time to test the control lines. Use your voltage meter and connect ground of the meter to line 4 of the SIO cable 1, connect plus to the place where the both resistors meet. You should read 0V at the moment (we'll allow a tolerance of +/- 0.2V but not more), if you don't read that press RESET on your Atari, if there is still no improvement and there isn't anything obvious wrong with the way you have soldered MOTOR and GROUND (pins 4 and 8), the resistor value appears to be wrong. Just remember this and go on to the next test. Now either POKE 54018,52 or deposit $34 into $D302 (PACTL) to set the MOTOR line to high, with the volt meter still in place. The value you should be reading now ought to be above 2V. If it is below 2V this is too little. Tip: raise resistance of B. If you have problems at this point and you have no idea what's going on, it would be wise to consult a friend who appears to be vaguely familiar with electronics. My advice is to go out and buy a variety of resistors (or may be a potentiometer in the range of 1K to 10K or somesuch). First try replacing resistor B and retesting until the results are satisfactory. (POKE 54018,60 -> 0V POKE 54018,52 -> 5V [ $3C, $34]). If that doesn't work carefully change resistor A. In my first try I had some good results with A=0 ohm and B=27 ohm, DON'T DO THAT. The resistor gets -real- hot, 'cause this is near shorting out. Sorry that I can't be of more help here. Now insert the IC into the socket, or solder the IC in place. The right way please!! A P P E N D I X 1. DIAGRAM Atari 8-Bit Atari 16-Bit D0 ------------------------- d0 D1 ------------------------- d1 D2 ------------------------- d2 D3 ------------------------- d3 D4 ------------------------- d4 D5 ------------------------- d5 D6 ------------------------- d6 D7 ------------------------- d7 Proceed ------------------------- Strobe Motor ----| 1K |--+----|>o----- Busy | 74LS14 - 1 K - | GND 2. GLOSSARY polar means (?) number of little colored isolated wires within a cable shield that's the copper/cable mesh surrounding the little colored cables. It's for protection against outside influences. mm millimeter FOOTNOTES (*1*) Alternatively use intact cables salvaged from old joysticks. I advise against building them yourself, because usually the plugs are to big to fit on the Atari. If you are sure that they fit, then by all means go ahead. Then go for shielded cables as well. Ground is located on pin 8. (*2*) If you have problems using tools, try your teeth.