home *** CD-ROM | disk | FTP | other *** search
- DISK2D64 0.0.1 (c)1999 mICHAEL sTEIL
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
-
- aBSTRACT
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- DISK2D64 IS A TOOL THAT TRANSFERS 1541 DISKS FROM A c64 CONNECTED
- THROUGH A pc64 CABLE TO A lINUX pc.
-
- rEQUIREMENTS
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- c64/c128 WITH 1541/1571 OR 100% COMPATIBLE
- cOMPUTER RUNNING lINUX WITH AN ibm pc COMPATIBLE PARALLEL PORT
- pc64 CABLE AS USED BY THE pc64 EMULATOR
-
- iNSTALLATION
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- uNTAR THE FILE AND RUN "MAKE" AS ROOT. CHMOD +S DISK2D64. COPY THE
- FILE SOMEWHERE INTO YOUR path. nOTE THAT DISK2D64.PRG MUST ALWAYS
- BE IN YOUR CURRENT WORKING DIRECTORY WHEN RUNNING DISK2D64.
-
- uSAGE
- {$7e}{$7e}{$7e}{$7e}{$7e}
- cONNECT THE cOMMODORE TO THE pc'S PARALLEL PORT AND RUN THE STARTUP.PRG
- PROGRAM (load "startup.prg",8,1; sys 49152), WHICH YOU MUST HAVE
- TRANSFERRED TO THE cOMMODORE BEFORE.
- nOW RUN DISK2D64 ON THE pc, REDIRECTING THE PROGRAM'S OUTPUT INTO A
- .D64 FILE, LIKE THIS:
- DISK2D64 > TESTDISK.D64
-
- eRROR mESSAGES
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- tIMEOUT
- iF THE cOMMODORE DOESN'T RESPOND WITHIN 10 SECONDS, D64TRANS QUITS
- WITH THIS ERROR MESSAGE.
- cHECK WHETHER THE CABLE IS PROPERLY CONNECTED AND THE PORT ADDRESS
- IS CORRECT.
- tRANSFER PROGRAM FILE READ ERROR
- DISK2D64 NEEDS THE DISK2D64.PRG FILE TO WORK. tHIS FILE CONTAINS THE
- cOMMODORE DISK READING ROUTINES THAT ARE BEING TRANSFERRED AT THE
- BEGINNING.
- tHIS FILE MUST BE IN THE CURRECT WORKING DIRECTORY.
- IOPERM() FAILED
- DISK2D64 COULD NOT ACCESS THE PARALLEL PORT. mAKE SURE THAT YOU'RE
- EITHER ROOT OR THE PROGRAM FILE'S OWNER IS ROOT AND THE S BIT IS SET,
- AND THAT NO OTHER PROGRAM IS ACCESSING THE PARALLEL PORT.
-
- pERFORMANCE
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- iT TAKES ABOUT 50 SECONDS TO COPY A DISK IMAGE FROM A c64/1541 TO A
- pc. tHE PROGRAM IS FASTER WHEN CONNECTED TO A c128 ({$7e}40 SEC.).
-
- iNTERNALS
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- DISK2D64 HAS BEEN OPTIMIZED FOR SPEED. iT IS FASTER THAN ANY x1541
- SOLUTION, FOR ONE SIMPLE REASON: A pc AND A 1541 CANNOT COMMUNICATE
- AS FAST AS A c64 AND A 1541, BECAUSE THEY DO NOT HAVE THE SAME CLOCK
- FREQUENCY. tHEREFORE DISK2D64 WORKS DIFFERENTLY: IT TRANSFERS A WHOLE
- TRACK FROM THE 1541 TO THE c64 - AT FULL SPEED - AND THE c64 THEN
- TRANSFERS THE TRACK TO THE pc, WHICH IS ALSO QUITE FAST.
- tHE c64/1541 ROUTINES CAN TRANSFER A WHOLE DISK IN ABOUT 30 SECONDS
- (THATS {$7e}23 BLOCKS/SEC) AND THE SECOND PART NEEDS ADDITIONAL 20
- SECONDS (10 SECONDS ON A c128).
- fIRST, THE pc PROGRAM COPIES THE FAST DISK ROUTINES INTO THE
- cOMMODORE'S MEMORY AND RUNS IT. tHESE ROUTINES MAKE THE 1541 START
- READING THE FIRST TRACK IMMEDIATELY. tHIS WAY, THE READS AND SENDS
- TRACK BY TRACK. fOR THE pc, THIS IS JUST A STREAM OF 174848 BYTES
- WHICH ARE BEING WRITTEN TO STDOUT.
- tO ACHIEVE BETTER PERFORMANCE, THE FAST DISK ROUTINES ALWAYS READ
- A WHOLE TRACK IN THE FOLLOWING WAY: EVERY SECTOR THAT PASSES THE
- HEAD AND HASN'T BEEN READ BEFORE WILL BE READ AND TRANSFERRED, UNTIL
- ALL SECTORS OF THE TRACK HAVE BEEN READ. tHIS IS FASTER THAN ANY
- INTERLEAVED METHOD.
-
- cOMMAND LINE
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- -v ONLY PRINT VERSION NUMBER AND EXIT
- THIS IS USEFUL IF YOU WANT TO USE DISK2D64 AS A BACKEND FOR
- OTHER PROGRAMMES
- -P port USE THE SPECIFIED PARALLEL PORT (DEFAULT: 0X378)
- YOU MIGHT WANT TO CONNECT A SECOND PARALLEL PORT TO YOUR pc,
- SO YOU CAN SPECIFY ITS ADDRESS HERE
- dos lINUX 2.2 PORT ADDRESS
- lpt1: /DEV/LP0 0X378
- lpt2: /DEV/LP1 0X278
- lpt3: /DEV/LP2 0X3E8
- lpt4: /DEV/LP3 0X2E8
- -Q QUIET OPERATION
- DO NOT SEND ANY MESSAGES TO STDERR
- -V INCREASE VERBOSITY LEVEL BY ONE
- USE THIS IF YOU WANT TO DEBUG YOUR CONNECTION
- -Q NOTHING
- INIT, TRANSFER, TRACK NUMBER
- -V BLOCKS
- -VV BYTES
- -VVV EVERY ACTION CONCERNING THE PARALLEL PORT
-
- rESTRICTIONS
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- - fOR SOME STRANGE REASON, THE 1541 MUST HAVE BEEN ACTIVE SINCE THE
- LAST RESET OF THE cOMMODORE. sO, IF YOU HAVE TO RESET THE c64,
- TYPE open 1,8,15,"i" BEFORE TRING TO TRANSFER ANY DISKS.
- - oN SOME pcS, THE PARALLEL PORT BEHAVES STRANGELY AND DATA IS
- BEING CORRUPTED DURING TRANSFER. i HAVE SEEN THAT ON A pENTIUM mmx
- WITH AN UNKNOWN MAINBOARD CHIPSET (iNTEL tx?) AND ON A via mvp3
- BOARD. iF YOU HAVE THE SAME PROBLEMS, PLEASE CONTACT ME!
- - tHE FAST DISK ROUTINES DO NOT CARE ABOUT READ ERRORS AT ALL. sO
- MAKE SURE THAT THE DISKS YOU WANT TO TRANSFER ARE OKAY.
-
- todo
- {$7e}{$7e}{$7e}{$7e}
- - THE DISK2D64.PRG FILE SHOULD BE IN /USR/LIB/DISK2D64...
- - BETTER MAKEFILE
- - REWRITE THE FAST DISK ROUTINES:
- * TO HAVE SOURCE CODE
- * TO MAKE IT HANDLE DISK ERRORS
- - WRITE A NICE FRONTEND
-
- aUTHOR
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- mICHAEL sTEIL <MIST@C64.ORG>
- aLTERNATIVE E-MAIL ADDRESS: MICHAEL.STEIL@WRITEME.COM
-
- cOPYRIGHT
- {$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}{$7e}
- yOU MAY USE THIS PROGRAM UNDER THE TERMS OF THE gnu gENERAL pUBLIC
- lICENSE. hOWEVER, THIS DOES _NOT_ APPLY TO THE FAST DISK ROUTINES
- IN THE FILE DISK2D64.PRG AND TO THE STARTUP CODE IN THE FILE
- STARTUP.PRG. tHINK OF THIS FILE AS "FREEWARE", SINCE i CANNOT RELEASE
- SOURCE CODE FOR IT.
-
-