home *** CD-ROM | disk | FTP | other *** search
- hard disk drive on a c-64
-
-
-
-
- preface
-
- tHIS IS AN EXPLANATION OF ONE METHOD OF CONNECTING A HARD
- DISK DRIVE TO THE cOMMODORE 64 COMPUTER USING A wESTERN
- dIGITAL CONTROLLER CARD. oBVIOUSLY THERE ARE MANY WAYS IN
- WHICH TO APPROACH THIS TASK AND EACH WILL HAVE ITS MERITS.
- sINCE THERE MAY BE A LACK OF COMPATIBILITY WITH SOME
- EXISTING SOFTWARE THIS PROJECT MAY BE OF LIMITED VALUE AND
- EACH ONE SHOULD GIVE CAREFUL CONSIDERATION TO THE THE PROS
- AND CONS BEFORE INVESTING IN THE PROJECT. wITH THIS
- DISCLAIMER IN MIND, EVER ONWARD.
-
- tHE TASK OF CONNECTING A wESTERN dIGITAL HARD DISK
- CONTROLLER TO THE c64 IS RATHER SIMPLE BUT DOES REQUIRE
- BASIC SOLDERING AND WIRING SKILLS. rEMEMBER THAT IT IS
- POSSIBLE TO DAMAGE THE c64 AND/OR THE CONTROLLER CARD WITH
- IMPROPER WIRING. tHE COST OF THIS PROJECT IS VERY POSSIBLY
- MORE THAN TRIVIAL SO PROCEED WITH CAUTION. oNE LAST TIME,
- IS IT WORTH THE RISK AND EFFORT? tHE AVAILABILITY OF A GOOD
- REFERENCE MANUAL WITH THE PIN OUT OF THE EXPANSION PORT AS
- WELL AS A REFERENCE FOR THE pc BUS WILL HELP TO UNDERSTAND
- THE FOLLOWING DIRECTIONS.
-
- bEFORE STARTING WITH THE DETAILS AN OVERVIEW OF THE
- CONTROLLER CARD MIGHT BE IN ORDER. a wESTERN dIGITAL wx1
- CONTROLLER WAS USED IN THE PROTOTYPE BUT THE wx2 SHOULD WORK
- AS WELL. dON'T BE CONCERNED AS TO WHAT bios rom IS ON THE
- CARD SINCE IT WILL NOT BE USED. tHERE ARE SEVERAL DIFFERENT
- VERSIONS OF THE CONTROLLER CARDS BUT ALL SHOULD WORK. tHE
- CONTROLLER WRITES 17 SECTORS EACH OF 512 BYTES ON EACH TRACK
- WHICH CONTRASTS WITH THE 128 BYTE SECTORS ON THE 1541.
- dEPENDENT UPON THE VERSION OF THE CONTROLLER CARD THE DRIVES
- SUPPORTED CAN HAVE UP TO 8 OR 16 HEADS AND A MAXIMUM OF 1024
- CYLINDERS. tHE SOFTWARE SUPPORT DESCRIBED LATER ASSUMES A
- LIMIT OF 8 HEADS. a LIMIT OF 8 HEADS WILL ALLOW FOR THE
- ATTACHMENT OF A DRIVE WITH A CAPACITY OF GREATER THAN 30
- MEGABYTES. aDDITIONALY 2 DRIVES CAN BE ATTACHED TO A
- CONTROLLER AND MORE THAN ONE CONTROLLER COULD BE INSTALLED
- OFFERING A GREAT AMOUNT OF STORAGE RELATIVE TO A 1541
- DISKETTE. a 10 MEGABYTE DRIVE COULD POSSIBLY BE A GOOD
- CHOICE SINCE OFTEN A USED ONE CAN BE BOUGHT AT A VERY
- REASONABLE PRICE. tHE CONTROLLER SUPPORTS 19 COMMANDS FOR
- READING, WRITING, FORMATING, DIAGNOSTICS, AND ETC. wITH THE
- EXCEPTION OF THE wx1gen CARD THERE IS AN EIGHT POSITION
- HEADER WHICH IS NORMALLY USED TO SELECT WHICH DRIVE
- PARAMETERS TO USE OUT OF A TABLE. tHE 'HARD DISK KERNAL'
- DOESN'T USE THESE. iT READS THE CONFIGURATION OFF SECTOR
- ZERO. tHE format PROGRAM IS RESPONSIBLE FOR WRITING THE
- INFORMATION ON THE FIRST SECTOR.
-
-
-
-
-
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 2
-
- oKAY, NOW WHAT IS NEEDED BEFORE STARTING THE ADVENTURE? tHE
- LIST FOLLOWS.
-
- a wESTERN dIGITAL wx1 OR wx2 CONTROLLER CARD.
-
- a HARD DISK DRIVE COMPATIBLE WITH THE CONTROLLER CARD.
-
- aN ENCLOSURE WITH POWER SUPPLY FOR THE HARD DISK DRIVE.
-
- cABLES TO CONNECT THE CONTROLLER TO THE DRIVE. (1 34
- CONDUCTOR AND 1 20 CONDUCTOR)
-
- aN EDGE CARD WITH .1" CONTACT CENTERS TO PLUG INTO THE
- EXPANSION PORT. rADIO sHACK HAS ONE NEW IN 1989
- (276-192) WHICH WILL WORK.
-
- oNE 31/62 PIN PC MOUNT EDGE CONNECTOR WITH .1" CENTERS
- FOR THE CONTROLLER CARD. (a RIGHT ANGLE WOULD BE
- NICE.)
-
- oNE 14 PIN ic SOCKET.
-
- oNE 74ls04 ic.
-
- oNE .01 UF 10 VOLT BYPASS CAPACITOR.
-
- sOME 30 GAUGE OR SO WIRE WRAP OR SIMILAR WIRE.
-
- pOSSIBLY A SEPARATE POWER SUPPLY FOR THE CONTROLLER
- CARD. iT REQUIRES +5 AND +12 VOLTS. tHIS CAN BE
- OBTAINED FROM THE SUPPLY USED FOR THE DRIVE. rADIO
- sHACK HAS A SUPPLY WITH +5VDC, -5VDC, AND +12VDC WHICH
- WAS ORIGINALLY USED ON A cOLECO WHICH WORKS RATHER
- WELL.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 3
-
- tHE PERTINENT PIN OUT FOR THE CONTROLLER CARD FOLLOWS:
-
-
- a2 d7 (DATA BIT SEVEN)
- a3 d6 (DATA BIT SIX)
- a4 d5 (DATA BIT FIVE)
- a5 d4 (DATA BIT FOUR)
- a6 d3 (DATA BIT THREE)
- a7 d2 (DATA BIT TWO)
- a8 d1 (DATA BIT ONE)
- a9 d0 (DATA BIT ZERO)
- a22 a9 (ADDRESS LINE NINE)
- a23 a8 (ADDRESS LINE EIGHT)
- a24 a7 (ADDRESS LINE SEVEN)
- a25 a6 (ADDRESS LINE SIX)
- a26 a5 (ADDRESS LINE FIVE)
- a27 a4 (ADDRESS LINE FOUR)
- a28 a3 (ADDRESS LINE THREE)
- a29 a2 (ADDRESS LINE TWO)
- a30 a1 (ADDRESS LINE ONE)
- a31 a0 (ADDRESS LINE ZERO)
- b1 ground
- b2 reset (ACTIVE HIGH)
- b3 +5vdc
- b9 +12vdc
- b10 ground
- b13 -iow (i/o write ACTIVE LOW)
- b14 -ior (i/o read ACTIVE LOW)
- b29 +5vdc
- b31 ground
-
- tO LOCATE THE PINS ON THE CONTROLLER CARD PLACE IT COMPONENT
- SIDE UP WITH THE FINGERS FACING YOU. pIN a1 WILL BE ON THE
- FAR RIGHT AND a31 WILL BE ON THE FAR LEFT. b1, b2, ETC.
- ARE DIRECTLY BEHIND THE a PINS ON THE OPPOSITE SIDE OF THE
- CARD. mOST IF NOT ALL THE CARDS WILL HAVE a1 MARKED AS
- SUCH. tHE c64 BUS NEEDS TO BE MAPPED TO THE CONTOLLER WHICH
- REQUIRES SOME OF THE SIGNALS TO BE INVERTED. tHE 74ls04 ic
- IS USED TO INVERT THE REQUIRED SIGNALS AND TO DERIVE THE ior
- AND iow FROM THE c64 r/w LINE.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 4
-
- tHE PINS OF INTEREST ON THE EXPANSION PORT ARE:
-
- 1 ground
- 2 +5 VOLTS DC
- 3 +5 VOLTS DC
- 5 r/-w (read IF HIGH, write IF LOW)
- 7 -i/o1 (i/o block 1, ACTIVE LOW)
- OR
- 10 -i/o2 (i/o block 2, ACTIVE LOW)
- eITHER PIN 7 OR 10 IS USED FOR SELECTING THE i/o
- ADDRESS OF THE CONTROLLER.
- 14 d7 (data bit 7)
- 15 d6 (data bit 6)
- 16 d5 (data bit 5)
- 17 d4 (data bit 4)
- 18 d3 (data bit 3)
- 19 d2 (data bit 2)
- 20 d1 (data bit 1)
- 21 d0 (data bit 0)
- 22 ground
- a ground
- r a7 (address LINE 7)
- s a6 (address LINE 6)
- t a5 (address LINE 5)
- u a4 (address LINE 4)
- v a3 (address LINE 3)
- w a2 (address LINE 2)
- x a1 (address LINE 1)
- y a0 (address LINE 0)
- z ground
-
-
- lOOKING AT THE BACK OF THE c64 AT THE EXPANSION SLOT, PIN 1
- IS ON THE RIGHT TOP, PIN 22 IS ON THE TOP LEFT, PIN a IS ON
- THE BOTTOM RIGHT, AND PIN z IS ON THE BOTTOM LEFT. note
- THAT ALL THE ALPHABET ISN'T USED IN NUMBERING THE BOTTOM
- PINS, REFER TO A c64 DESCRIPTION FOR THE PROPER PINS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 5
-
- aRMED WITH THE ABOVE INFORMATION IT'S TIME TO START PUTTING
- THE ADAPTER TOGETHER. fIRST TRIM THE FINGERS OF THE EDGE
- CARD DOWN TO WHERE IT WILL PROPERLY FIT INTO THE EXPANSION
- PORT 22/44 PIN SOCKET. caution! mAKE SURE IT FITS PROPERLY.
- a SHORT CAN BLOW THE FUSE IN THE POWER SUPPLY. tHE
- rs-276-192 CARD MENTIONED EARLIER IS MADE TO FIT A 36/72 PIN
- SOCKET. nEXT MOUNT THE 14 PIN ic SOCKET CLOSE TO THE
- FINGERS ON THE CARD FOLLOWED BY THE 31/62 PIN CONTROLLER
- SOCKET. aS MENTIONED IN THE PARTS LIST A RIGHT ANGLE WOULD
- BE GREAT SINCE IT WOULD ALLOW THE CONTROLLER CARD TO BE
- MOUNTED HORIZONTALLY, BUT MAY BE DIFFICULT TO FIND. a WIRE
- WRAP SOCKET COULD BE USED AND THE PINS BENT TO RIGHT ANGLES
- AND TRIMMED PROPERLY. cONNECT THE FINGERS TO THE SOCKETS AS
- INDICATED BELOW.
-
- c64 controller
-
- 1 b31 ground
- 14 a2 d7
- 15 a3 d6
- 16 a4 d5
- 17 a5 d4
- 18 a6 d3
- 19 a7 d2
- 20 a8 d1
- 21 a9 d0
- 22 b1 ground
- a b10 ground
- r a24 a7
- s a25 a6
- t a26 a5
- u a27 a4
- v a28 a3
- w a29 a2
- x a30 a1
- y a31 a0
- z b10 ground
-
- mAKE THE FOLLOWING CONNECTIONS TO THE 14 PIN ic SOCKET.
-
- ic c64 controller
-
- 1 c -reset
- 2 b2 reset
- 3 7 OR 10 (SEE TEXT) io1 OR io2
- 4 a22 & a23 ADDRESS BITS 8 AND 9
- 5 5 read/-write
- 6 b14 -ior
- 7 1 ground
- 8 b13 -iow
- 9 CONNECT TO ic PIN 6
- 10,11,12,13 NO CONNECTION
- 14 2 & 3 +5vdc
-
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 6
-
- tHE NEXT STEP IS TO CONNECT THE +5vdc AND +12vdc TO THE
- SOCKET FOR THE CONTROLLER CARD. tHIS POWER CAN BE TAKEN
- FROM THE POWER SUPPLY IN THE HARD DISK ENCLOSURE OR FROM A
- SEPARATE SUPPLY. rADIO sHACK HAS AN INEXPENSIVE POWER
- SUPPLY THAT WAS MADE FOR cOLECO WHICH HAS +5vdc, +12vdc, AND
- -5vdc. wHEREVER IT COMES FROM, WIRE THE +5vdc TO CONTROLLER
- PINS b3 AND b29, THE +12vdc TO CONTROLLER PIN b9, AND ground
- TO CONTROLLER PINS b1, b31, AND b10. wITH THE WIRING OF THE
- ADAPTER COMPLETE IT IS TIME TO CONNECT A HARD DISK TO THE
- CONTROLLER. cONNECT THE 34 CONDUCTER CABLE TO THE HEADER
- LABELED j1 ON THE CONTROLLER AND THE FIRST DRIVE TO THE 20
- PIN HEADER j2. tHE SECOND DRIVE CONNECTS TO HEADER j3 AND
- TO A SECOND EDGE CONNECTOR ON THE 34 CONDUCTER CABLE. tHESE
- CABLES MUST BE PLUGGED IN SO THAT pin 1 FROM THE CONTROLLER
- IS CONNECTED TO pin 1 OF THE DRIVE, ETC. mOST CABLES HAVE A
- SOLID COLORED SIDE CORESPONDING TO THE pin 1 SIDE AND SOME
- MAY BE KEYED SUCH AS TO ONLY FIT THE PROPER WAY. tHE CABLES
- CAN HAVE A MAXIMUM LENGTH OF AROUND 10 FEET. tHE DRIVE
- CONNECTED TO j3 WILL NEED ITS ADDRESS SWITCHES OR JUMPERS TO
- BE SET FOR DRIVE 2 WHILE THE DRIVE IN j2 WILL NEED TO HAVE
- ITS SWITCHES SET FOR DRIVE 1. pLUG THE CONTROLLER CARD INTO
- THE ADAPTER AND THE ADAPTER INTO THE c64 EXPANSION PORT.
- aPPLY POWER TO THE DRIVE AND CONTROLLER CARD ALONG WITH
- POWER TO THE 64. iF ALL IS WELL SO FAR THEN THE c64 SHOULD
- COME UP AND RUN. iF NOT, SOMETHING IS PROBABLY EITHER
- MIS-WIRED OR SHORTED. dOUBLE CHECK ALL THE CONNECTIONS.
- rEMEMBER THAT A SHORT COULD BLOW A FUSE EITHER IN THE c64 OR
- IN THE POWER SUPPLY BLOCK. sINCE MOST OF THE cOMMODORE
- SUPPLIES ARE NOT REPAIRABLE, A BLOWN FUSE IN THE POWER
- SUPPLY IS BAD NEWS TO SAY THE LEAST.
-
- oNCE THE HARDWARE IS UP AND APPARENTLY WORKING IT IS TIME TO
- START WITH THE SOFTWARE. aVAILABLE WITH THIS PACKAGE IS THE
- 'HARD DISK KERNAL'. tHIS KERNAL HAS THE SUPPORT FOR THE
- NINETEEN COMMANDS. fOR A BETTER EXPLANATION REFER TO THE
- SOURCE FOR THE KERNAL AND READ THE COMMENTS. tHERE IS A
- CONTROL BLOCK USED TO COMMUNICATE WITH THE CONTROLLER CALLED
- THE dRIVE cONTROL bLOCK (dcb) WHICH IS 6 BYTES LONG. tHE
- FORMAT OF THE dcb IS:
-
- bYTE 0 - COMMAND CODE.
- bYTE 1 - DRIVE NUMBER (0 OR 1) AND HEAD NUMBER.
- bYTE 2 - mOST SIGNIFICANT 2 BITS OF THE CYLINDER ADDRESS
- AND THE SECTOR NUMBER.
- bYTE 3 - lEAST SIGNIFICANT 8 BITS OF THE CYLINDER
- ADDRESS.
- bYTE 4 - nUMBER OF SECTORS TO READ OR WRITE, OR THE
- INTERLEAVE IF FORMATING.
- bYTE 5 - sTEP RATE FOR MOVING THE HEADS (SEEKING).
-
- tHE dcb WILL NEED TO BE UPDATED BEFORE READING OR WRITING.
- tHE 'HARD DISK KERNAL' PASSES THIS INFORMATION ON TO THE
- CONTROLLER. sOME ADDITIONAL INFORMATION IS APPENDED TO THE
- dcb WHICH IS USED BY THE 'HARD DISK KERNAL' WHICH IS
-
-
-
-
-
-
-
- hard disk drive on a c-64
-
-
- 7
-
- DOCUMENTED IN THE COMMENTS OF THE SOURCE FOR THE KERNAL.
- tHE SUCCESS OF A CALL TO THE HARD DISK KERNAL IS INDICATED
- BY carry BEING CLEAR UPON RETURN, AND carry SET FOR FAILURE.
- rEFERENCE THE SOURCE FOR THE PROGRAMS FOR EXAMPLES OF SOME
- OF THE CALLS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-