home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ENTERPRS
/
C64
/
GFX
/
64HDPRO.ARC
/
C64HDOC.PETASCII
< prev
next >
Wrap
Text File
|
2000-06-30
|
15KB
|
462 lines
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
╨╥┼╞┴├┼
╘HIS IS AN EXPLANATION OF ONE METHOD OF CONNECTING A HARD
DISK DRIVE TO THE ├OMMODORE 64 COMPUTER USING A ╫ESTERN
─IGITAL CONTROLLER CARD. ╧BVIOUSLY THERE ARE MANY WAYS IN
WHICH TO APPROACH THIS TASK AND EACH WILL HAVE ITS MERITS.
╙INCE 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. ╫ITH THIS
DISCLAIMER IN MIND, EVER ONWARD.
╘HE TASK OF CONNECTING A ╫ESTERN ─IGITAL HARD DISK
CONTROLLER TO THE ├64 IS RATHER SIMPLE BUT DOES REQUIRE
BASIC SOLDERING AND WIRING SKILLS. ╥EMEMBER THAT IT IS
POSSIBLE TO DAMAGE THE ├64 AND/OR THE CONTROLLER CARD WITH
IMPROPER WIRING. ╘HE COST OF THIS PROJECT IS VERY POSSIBLY
MORE THAN TRIVIAL SO PROCEED WITH CAUTION. ╧NE LAST TIME,
IS IT WORTH THE RISK AND EFFORT? ╘HE AVAILABILITY OF A GOOD
REFERENCE MANUAL WITH THE PIN OUT OF THE EXPANSION PORT AS
WELL AS A REFERENCE FOR THE ╨├ BUS WILL HELP TO UNDERSTAND
THE FOLLOWING DIRECTIONS.
┬EFORE STARTING WITH THE DETAILS AN OVERVIEW OF THE
CONTROLLER CARD MIGHT BE IN ORDER. ┴ ╫ESTERN ─IGITAL ╫╪1
CONTROLLER WAS USED IN THE PROTOTYPE BUT THE ╫╪2 SHOULD WORK
AS WELL. ─ON'T BE CONCERNED AS TO WHAT ┬╔╧╙ ╥╧═ IS ON THE
CARD SINCE IT WILL NOT BE USED. ╘HERE ARE SEVERAL DIFFERENT
VERSIONS OF THE CONTROLLER CARDS BUT ALL SHOULD WORK. ╘HE
CONTROLLER WRITES 17 SECTORS EACH OF 512 BYTES ON EACH TRACK
WHICH CONTRASTS WITH THE 128 BYTE SECTORS ON THE 1541.
─EPENDENT UPON THE VERSION OF THE CONTROLLER CARD THE DRIVES
SUPPORTED CAN HAVE UP TO 8 OR 16 HEADS AND A MAXIMUM OF 1024
CYLINDERS. ╘HE SOFTWARE SUPPORT DESCRIBED LATER ASSUMES A
LIMIT OF 8 HEADS. ┴ LIMIT OF 8 HEADS WILL ALLOW FOR THE
ATTACHMENT OF A DRIVE WITH A CAPACITY OF GREATER THAN 30
MEGABYTES. ┴DDITIONALY 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. ┴ 10 MEGABYTE DRIVE COULD POSSIBLY BE A GOOD
CHOICE SINCE OFTEN A USED ONE CAN BE BOUGHT AT A VERY
REASONABLE PRICE. ╘HE CONTROLLER SUPPORTS 19 COMMANDS FOR
READING, WRITING, FORMATING, DIAGNOSTICS, AND ETC. ╫ITH THE
EXCEPTION OF THE ╫╪1╟┼╬ CARD THERE IS AN EIGHT POSITION
HEADER WHICH IS NORMALLY USED TO SELECT WHICH DRIVE
PARAMETERS TO USE OUT OF A TABLE. ╘HE 'HARD DISK KERNAL'
DOESN'T USE THESE. ╔T READS THE CONFIGURATION OFF SECTOR
ZERO. ╘HE ╞╧╥═┴╘ PROGRAM IS RESPONSIBLE FOR WRITING THE
INFORMATION ON THE FIRST SECTOR.
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
2
╧KAY, NOW WHAT IS NEEDED BEFORE STARTING THE ADVENTURE? ╘HE
LIST FOLLOWS.
┴ ╫ESTERN ─IGITAL ╫╪1 OR ╫╪2 CONTROLLER CARD.
┴ HARD DISK DRIVE COMPATIBLE WITH THE CONTROLLER CARD.
┴N ENCLOSURE WITH POWER SUPPLY FOR THE HARD DISK DRIVE.
├ABLES TO CONNECT THE CONTROLLER TO THE DRIVE. (1 34
CONDUCTOR AND 1 20 CONDUCTOR)
┴N EDGE CARD WITH .1" CONTACT CENTERS TO PLUG INTO THE
EXPANSION PORT. ╥ADIO ╙HACK HAS ONE NEW IN 1989
(276-192) WHICH WILL WORK.
╧NE 31/62 PIN PC MOUNT EDGE CONNECTOR WITH .1" CENTERS
FOR THE CONTROLLER CARD. (┴ RIGHT ANGLE WOULD BE
NICE.)
╧NE 14 PIN ╔├ SOCKET.
╧NE 74╠╙04 ╔├.
╧NE .01 UF 10 VOLT BYPASS CAPACITOR.
╙OME 30 GAUGE OR SO WIRE WRAP OR SIMILAR WIRE.
╨OSSIBLY A SEPARATE POWER SUPPLY FOR THE CONTROLLER
CARD. ╔T REQUIRES +5 AND +12 VOLTS. ╘HIS CAN BE
OBTAINED FROM THE SUPPLY USED FOR THE DRIVE. ╥ADIO
╙HACK HAS A SUPPLY WITH +5VDC, -5VDC, AND +12VDC WHICH
WAS ORIGINALLY USED ON A ├OLECO WHICH WORKS RATHER
WELL.
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
3
╘HE PERTINENT PIN OUT FOR THE CONTROLLER CARD FOLLOWS:
┴2 ─7 (DATA BIT SEVEN)
┴3 ─6 (DATA BIT SIX)
┴4 ─5 (DATA BIT FIVE)
┴5 ─4 (DATA BIT FOUR)
┴6 ─3 (DATA BIT THREE)
┴7 ─2 (DATA BIT TWO)
┴8 ─1 (DATA BIT ONE)
┴9 ─0 (DATA BIT ZERO)
┴22 ┴9 (ADDRESS LINE NINE)
┴23 ┴8 (ADDRESS LINE EIGHT)
┴24 ┴7 (ADDRESS LINE SEVEN)
┴25 ┴6 (ADDRESS LINE SIX)
┴26 ┴5 (ADDRESS LINE FIVE)
┴27 ┴4 (ADDRESS LINE FOUR)
┴28 ┴3 (ADDRESS LINE THREE)
┴29 ┴2 (ADDRESS LINE TWO)
┴30 ┴1 (ADDRESS LINE ONE)
┴31 ┴0 (ADDRESS LINE ZERO)
┬1 ╟╥╧╒╬─
┬2 ╥┼╙┼╘ (ACTIVE HIGH)
┬3 +5╓─├
┬9 +12╓─├
┬10 ╟╥╧╒╬─
┬13 -╔╧╫ (╔/╧ ╫╥╔╘┼ ACTIVE LOW)
┬14 -╔╧╥ (╔/╧ ╥┼┴─ ACTIVE LOW)
┬29 +5╓─├
┬31 ╟╥╧╒╬─
╘O LOCATE THE PINS ON THE CONTROLLER CARD PLACE IT COMPONENT
SIDE UP WITH THE FINGERS FACING YOU. ╨IN ┴1 WILL BE ON THE
FAR RIGHT AND ┴31 WILL BE ON THE FAR LEFT. ┬1, ┬2, ETC.
ARE DIRECTLY BEHIND THE ┴ PINS ON THE OPPOSITE SIDE OF THE
CARD. ═OST IF NOT ALL THE CARDS WILL HAVE ┴1 MARKED AS
SUCH. ╘HE ├64 BUS NEEDS TO BE MAPPED TO THE CONTOLLER WHICH
REQUIRES SOME OF THE SIGNALS TO BE INVERTED. ╘HE 74╠╙04 ╔├
IS USED TO INVERT THE REQUIRED SIGNALS AND TO DERIVE THE ╔╧╥
AND ╔╧╫ FROM THE ├64 ╥/╫ LINE.
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
4
╘HE PINS OF INTEREST ON THE EXPANSION PORT ARE:
1 ╟╥╧╒╬─
2 +5 VOLTS DC
3 +5 VOLTS DC
5 ╥/-╫ (╥┼┴─ IF HIGH, ╫╥╔╘┼ IF LOW)
7 -╔/╧1 (╔/╧ ┬╠╧├╦ 1, ACTIVE LOW)
OR
10 -╔/╧2 (╔/╧ ┬╠╧├╦ 2, ACTIVE LOW)
┼ITHER PIN 7 OR 10 IS USED FOR SELECTING THE ╔/╧
ADDRESS OF THE CONTROLLER.
14 ─7 (─┴╘┴ ┬╔╘ 7)
15 ─6 (─┴╘┴ ┬╔╘ 6)
16 ─5 (─┴╘┴ ┬╔╘ 5)
17 ─4 (─┴╘┴ ┬╔╘ 4)
18 ─3 (─┴╘┴ ┬╔╘ 3)
19 ─2 (─┴╘┴ ┬╔╘ 2)
20 ─1 (─┴╘┴ ┬╔╘ 1)
21 ─0 (─┴╘┴ ┬╔╘ 0)
22 ╟╥╧╒╬─
┴ ╟╥╧╒╬─
╥ ┴7 (┴──╥┼╙╙ LINE 7)
╙ ┴6 (┴──╥┼╙╙ LINE 6)
╘ ┴5 (┴──╥┼╙╙ LINE 5)
╒ ┴4 (┴──╥┼╙╙ LINE 4)
╓ ┴3 (┴──╥┼╙╙ LINE 3)
╫ ┴2 (┴──╥┼╙╙ LINE 2)
╪ ┴1 (┴──╥┼╙╙ LINE 1)
┘ ┴0 (┴──╥┼╙╙ LINE 0)
┌ ╟╥╧╒╬─
╠OOKING AT THE BACK OF THE ├64 AT THE EXPANSION SLOT, PIN 1
IS ON THE RIGHT TOP, PIN 22 IS ON THE TOP LEFT, PIN ┴ IS ON
THE BOTTOM RIGHT, AND PIN ┌ IS ON THE BOTTOM LEFT. ╬╧╘┼
THAT ALL THE ALPHABET ISN'T USED IN NUMBERING THE BOTTOM
PINS, REFER TO A ├64 DESCRIPTION FOR THE PROPER PINS.
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
5
┴RMED WITH THE ABOVE INFORMATION IT'S TIME TO START PUTTING
THE ADAPTER TOGETHER. ╞IRST TRIM THE FINGERS OF THE EDGE
CARD DOWN TO WHERE IT WILL PROPERLY FIT INTO THE EXPANSION
PORT 22/44 PIN SOCKET. ├┴╒╘╔╧╬! ═AKE SURE IT FITS PROPERLY.
┴ SHORT CAN BLOW THE FUSE IN THE POWER SUPPLY. ╘HE
╥╙-276-192 CARD MENTIONED EARLIER IS MADE TO FIT A 36/72 PIN
SOCKET. ╬EXT MOUNT THE 14 PIN ╔├ SOCKET CLOSE TO THE
FINGERS ON THE CARD FOLLOWED BY THE 31/62 PIN CONTROLLER
SOCKET. ┴S 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. ┴ WIRE
WRAP SOCKET COULD BE USED AND THE PINS BENT TO RIGHT ANGLES
AND TRIMMED PROPERLY. ├ONNECT THE FINGERS TO THE SOCKETS AS
INDICATED BELOW.
├64 ├╧╬╘╥╧╠╠┼╥
1 ┬31 ╟╥╧╒╬─
14 ┴2 ─7
15 ┴3 ─6
16 ┴4 ─5
17 ┴5 ─4
18 ┴6 ─3
19 ┴7 ─2
20 ┴8 ─1
21 ┴9 ─0
22 ┬1 ╟╥╧╒╬─
┴ ┬10 ╟╥╧╒╬─
╥ ┴24 ┴7
╙ ┴25 ┴6
╘ ┴26 ┴5
╒ ┴27 ┴4
╓ ┴28 ┴3
╫ ┴29 ┴2
╪ ┴30 ┴1
┘ ┴31 ┴0
┌ ┬10 ╟╥╧╒╬─
═AKE THE FOLLOWING CONNECTIONS TO THE 14 PIN ╔├ SOCKET.
╔├ ├64 ├╧╬╘╥╧╠╠┼╥
1 ├ -╥┼╙┼╘
2 ┬2 ╥┼╙┼╘
3 7 OR 10 (SEE TEXT) ╔╧1 OR ╔╧2
4 ┴22 & ┴23 ADDRESS BITS 8 AND 9
5 5 ╥┼┴─/-╫╥╔╘┼
6 ┬14 -╔╧╥
7 1 ╟╥╧╒╬─
8 ┬13 -╔╧╫
9 CONNECT TO ╔├ PIN 6
10,11,12,13 NO CONNECTION
14 2 & 3 +5╓─├
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
6
╘HE NEXT STEP IS TO CONNECT THE +5╓─├ AND +12╓─├ TO THE
SOCKET FOR THE CONTROLLER CARD. ╘HIS POWER CAN BE TAKEN
FROM THE POWER SUPPLY IN THE HARD DISK ENCLOSURE OR FROM A
SEPARATE SUPPLY. ╥ADIO ╙HACK HAS AN INEXPENSIVE POWER
SUPPLY THAT WAS MADE FOR ├OLECO WHICH HAS +5╓─├, +12╓─├, AND
-5╓─├. ╫HEREVER IT COMES FROM, WIRE THE +5╓─├ TO CONTROLLER
PINS ┬3 AND ┬29, THE +12╓─├ TO CONTROLLER PIN ┬9, AND ╟╥╧╒╬─
TO CONTROLLER PINS ┬1, ┬31, AND ┬10. ╫ITH THE WIRING OF THE
ADAPTER COMPLETE IT IS TIME TO CONNECT A HARD DISK TO THE
CONTROLLER. ├ONNECT THE 34 CONDUCTER CABLE TO THE HEADER
LABELED ╩1 ON THE CONTROLLER AND THE FIRST DRIVE TO THE 20
PIN HEADER ╩2. ╘HE SECOND DRIVE CONNECTS TO HEADER ╩3 AND
TO A SECOND EDGE CONNECTOR ON THE 34 CONDUCTER CABLE. ╘HESE
CABLES MUST BE PLUGGED IN SO THAT ╨╔╬ 1 FROM THE CONTROLLER
IS CONNECTED TO ╨╔╬ 1 OF THE DRIVE, ETC. ═OST CABLES HAVE A
SOLID COLORED SIDE CORESPONDING TO THE ╨╔╬ 1 SIDE AND SOME
MAY BE KEYED SUCH AS TO ONLY FIT THE PROPER WAY. ╘HE CABLES
CAN HAVE A MAXIMUM LENGTH OF AROUND 10 FEET. ╘HE DRIVE
CONNECTED TO ╩3 WILL NEED ITS ADDRESS SWITCHES OR JUMPERS TO
BE SET FOR DRIVE 2 WHILE THE DRIVE IN ╩2 WILL NEED TO HAVE
ITS SWITCHES SET FOR DRIVE 1. ╨LUG THE CONTROLLER CARD INTO
THE ADAPTER AND THE ADAPTER INTO THE ├64 EXPANSION PORT.
┴PPLY POWER TO THE DRIVE AND CONTROLLER CARD ALONG WITH
POWER TO THE 64. ╔F ALL IS WELL SO FAR THEN THE ├64 SHOULD
COME UP AND RUN. ╔F NOT, SOMETHING IS PROBABLY EITHER
MIS-WIRED OR SHORTED. ─OUBLE CHECK ALL THE CONNECTIONS.
╥EMEMBER THAT A SHORT COULD BLOW A FUSE EITHER IN THE ├64 OR
IN THE POWER SUPPLY BLOCK. ╙INCE MOST OF THE ├OMMODORE
SUPPLIES ARE NOT REPAIRABLE, A BLOWN FUSE IN THE POWER
SUPPLY IS BAD NEWS TO SAY THE LEAST.
╧NCE THE HARDWARE IS UP AND APPARENTLY WORKING IT IS TIME TO
START WITH THE SOFTWARE. ┴VAILABLE WITH THIS PACKAGE IS THE
'HARD DISK KERNAL'. ╘HIS KERNAL HAS THE SUPPORT FOR THE
NINETEEN COMMANDS. ╞OR A BETTER EXPLANATION REFER TO THE
SOURCE FOR THE KERNAL AND READ THE COMMENTS. ╘HERE IS A
CONTROL BLOCK USED TO COMMUNICATE WITH THE CONTROLLER CALLED
THE ─RIVE ├ONTROL ┬LOCK (─├┬) WHICH IS 6 BYTES LONG. ╘HE
FORMAT OF THE ─├┬ IS:
┬YTE 0 - COMMAND CODE.
┬YTE 1 - DRIVE NUMBER (0 OR 1) AND HEAD NUMBER.
┬YTE 2 - ═OST SIGNIFICANT 2 BITS OF THE CYLINDER ADDRESS
AND THE SECTOR NUMBER.
┬YTE 3 - ╠EAST SIGNIFICANT 8 BITS OF THE CYLINDER
ADDRESS.
┬YTE 4 - ╬UMBER OF SECTORS TO READ OR WRITE, OR THE
INTERLEAVE IF FORMATING.
┬YTE 5 - ╙TEP RATE FOR MOVING THE HEADS (SEEKING).
╘HE ─├┬ WILL NEED TO BE UPDATED BEFORE READING OR WRITING.
╘HE 'HARD DISK KERNAL' PASSES THIS INFORMATION ON TO THE
CONTROLLER. ╙OME ADDITIONAL INFORMATION IS APPENDED TO THE
─├┬ WHICH IS USED BY THE 'HARD DISK KERNAL' WHICH IS
╚┴╥─ ─╔╙╦ ─╥╔╓┼ ╧╬ ┴ ├-64
7
DOCUMENTED IN THE COMMENTS OF THE SOURCE FOR THE KERNAL.
╘HE SUCCESS OF A CALL TO THE HARD DISK KERNAL IS INDICATED
BY ├┴╥╥┘ BEING CLEAR UPON RETURN, AND ├┴╥╥┘ SET FOR FAILURE.
╥EFERENCE THE SOURCE FOR THE PROGRAMS FOR EXAMPLES OF SOME
OF THE CALLS.