home *** CD-ROM | disk | FTP | other *** search
- ╨ATH: DRUHI!DRUTX!IHNP4!HOMXB!MTUXO!MTUNE!RUTGERS!DAEMON
- ╞ROM: PRINDLE@╬┴─├.┴╥╨┴
- ╬EWSGROUPS: COMP.SYS.CBM
- ╙UBJECT: ├ORRECTION TO ╞AST ╚ACK'EM PATCH
- ═ESSAGE-╔─: <4940@RUTGERS.RUTGERS.EDU>
- ─ATE: 3 ╧CT 87 02:57:53 ╟═╘
- ╙ENDER: DAEMON@RUTGERS.RUTGERS.EDU
- ╠INES: 246
-
- ╞ROM: PRINDLE@NADC.ARPA (╞RANK ╨RINDLE)
-
-
- ╫ELCOME TO THE "├┴╨╒╘┼!" DEPARTMENT! ═ANY THANKS TO ╞RED ┬OWEN OF ├OMMODORE
- WHO SPOTTED A TYPO IN THE PATCHES TO ╞AST ╚ACK'EM "╙ ╬╔┬" MODULE (TO MAKE IT
- WORK WITH THE NEW -05 ╥╧═ FOR THE 1571):
-
- ╔NCORRECT PATCH: 1499: $┴┴
-
- ├ORRECT PATCH: 1494: $┴┴
-
- ╞RED VERIFIED ALL THE OTHER PATCHES FOR THIS MODULE AND THE OTHERS WERE
- CORRECT AS POSTED. ╔N ANY CASE, JUST TO PREVENT ANY POSSIBILITY OF CONFUSION,
- HERE IS A RE-POST OF THE COMPLETE SET OF PATCHES WITH THE CORRECTION NOTED
- WITH AN ASTERISK(*) IN COLUMN 1. ╚OPE NOBODY PATCHED HIS/HER ORIGINAL DISK!
-
- ----------------------------├ORRECTED 2 ╧CT 1987--------------------------------
-
- ╨ATCHES TO "╞┴╙╘ ╚┴├╦'┼═" TO WORK WITH 1571 ╥╧═ UPGRADE -05
-
-
- ╘HE FOLLOWING FILES FROM VERSIONS 3.0┴ THROUGH 4.1 NEED TO BE PATCHED:
-
- "64"
- "╞┴╙╘┬╧╧╘ ╓2"
- "╙╔╬╟╠┼"
- "╓2 ╬╔┬" (3.0┴ ONLY)
- "╙ ╬╔┬"
- "128 ╙╔╬╟╠┼"
-
- ╘HE PATCHES ARE NECESSITATED BY THREE CHANGES IN THE 1571 ╥╧═:
-
- 1. ╥╧═ LOCATION $C000 CONTAINS A NEW VALUE. ╘HE 'FASTBOOT' PROCESSING
- CHECKS THIS VALUE TO DETERMINE IF IT IS APPROPRIATE TO INSTALL AND
- UTILIZE THE FAST BOOTING CODE. ╞INDING THE NEW VALUE THERE, WHICH
- DOES NOT MATCH ANY KNOWN DRIVE TYPE, IT BYPASSES THE FAST BOOTING
- CAPABILITY. ╘HIS MAY BE RESTORED BY MAKING THE PROCESSING CHECK
- DEFAULT TO 1541/1571 MODE IF $C000 IS UNKNOWN.
-
- 2. ╥┴═ LOCATION $01B4 IS NOW USED BY THE ─╧╙ AS A FLAG. ╫HEN CODE IS
- UPLOADED FROM THE ├64 INTO DRIVE ╥┴═ $0174-$01B9, THE LAST ONE OR TWO
- INSTRUCTIONS IS OVERWRITTEN BY THE ─╧╙ IN THIS LOCATION (A $01 IS
- OVERWRITTEN); THUS THE UPLOADED PROGRAM EXECUTES INCORRECTLY.
- ╘HIS MAY BE CORRECTED BY INSTALLING A HARMLESS INSTRUCTION WITH
- IT'S OPERAND AT THIS ADDRESS: ╧╥┴ ($00,╪). ╘HE REMAINING CODE IS
- MOVED DOWN OR PRIOR CODE IS MOVED UP, AS NECESSARY TO FIT UNDER
- $01BA.
-
- 3. ╘HE -05 ╥╧═ CLEARS BIT 1 ($02) OF THE DISK CONTROLLER'S ╨ERIPHERAL
- ├ONTROL ╥EGISTER (╨├╥) AT $1├0├ IN THE DRIVE WHENEVER IT IS NOT
- READING OR WRITING THE DISK. ┴PPARENTLY, THIS BIT, WHEN CLEARED,
- DISABLES THE GENERATION OF "BYTE READY" SIGNAL (AS BYTES ARE
- READ AND ASSEMBLED BY THE DISK CONTROLLER) WHICH APPEARS AS BIT
- 7 OF PORT $180╞. ╘HIS ONLY SEEMS TO OCCUR WHEN THE DRIVE IS IN
- "FAST-SERIAL" (I.E. 128) MODE. ╘HE "128 SINGLE" MODULE ASSUMED THAT
- THIS BIT WOULD BE SET AND DID NOT SET IT. ┴DDITIONAL CODE MUST
- BE ADDED TO ENSURE THAT THIS BIT OF THE ╨├╥ IS SET DURING BOTH READ
- AND WRITE PORTIONS OF THE COPY OPERATION.
-
- (╬OTE: NOTICE THAT THE "2-─RIVE" MODULES ARE NOT AFFLICTED BY THESE PROBLEMS,
- AND DO NOT REQUIRE MODIFICATION).
-
- --------------------------------------------------------------------------------
- ╙╨┼├╔╞╔├╙
- --------------------------------------------------------------------------------
-
- ═ODULE: "64":
-
- ╙YMPTOM: ═AIN MENU BOOTS UP SLOWLY ON A ├64.
-
- ├AUSE: ╙IGNATURE CHANGE IN ╥╧═ CAUSES DRIVE NOT TO BE RECOGNIZED AS
- A 1541 OR A 1571. ─EFAULTS TO NO FAST BOOT.
-
- ╞IX: ┴LTER CODE SO THAT UNRECOGNIZED SIGNATURE DEFAULTS TO 1571.
-
- ═ODULE ╠OADS ┴T: $102 TO ? (I.E. IN THE STACK)
-
- ╨ATCH:
- 0135: ┬╬┼ +9 ;─EFAULT UNKNOWN $C000 TO 1541/1571
- ;I.E. THE SECOND BYTE OF THE ┬╬┼ INSTRUCTION IS 9
-
- ╚INT: ╒SE "─╔╙╦ ─╧├╘╧╥" OR ANY OTHER SECTOR EDITOR TO
- CHANGE FIRST SECTOR OF FILE, POSITION 55=208,
- POSITION 56=9 (THESE NUMBERS ARE DECIMAL).
-
-
- ═ODULE: "╞┴╙╘┬╧╧╘ ╓2"
-
- ╙YMPTOM: ┼VEN WHEN ╞┴╙╘┬╧╧╘ IS ENABLED, MODULES DON'T LOAD FAST
-
- ├AUSE: ╙IGNATURE CHANGE IN ╥╧═ CAUSES DRIVE NOT TO BE RECOGNIZED AS
- A 1541 OR A 1571. ─EFAULTS TO NO FAST LOAD.
-
- ╞IX: ┴LTER CODE SO THAT UNRECOGNIZED SIGNATURE DEFAULTS TO 1571.
-
- ═ODULE ╠OADS ┴T: $├800 TO $├╞┴6-1
-
- ╨ATCH:
- ├878: ╬╧╨ ;─EFAULT UNKNOWN $C000 TO 1541/1571
- ├879: ╬╧╨
- ├87┴: ╬╧╨
- ├87┬: ╬╧╨
- ├87├: ╬╧╨
-
- ╚INT: ═UST USE "─╔╙╦ ─╧├╘╧╥" OR OTHER SECTOR EDITOR
- TO CHANGE FIRST SECTOR OF FILE, POSITIONS 124
- THRU 128 TO 234; ╘HIS FILE IS NOT LOADED BY NAME,
- BUT BY POSITION ON DISK, SO IT MUST BE MODIFIED
- IN PLACE! ╔F YOU MOVE IT, IT WON'T BE FOUND.
-
-
- ═ODULE: "╙╔╬╟╠┼"
-
- ╙YMPTOM: 1541 ╙INGLE ─RIVE ╞AST ├OPY HANGS UP
-
- ├AUSE: ╞AST UPLOADER CODE UPLOADED TO $1B4 IN THE DRIVE IS OVERWRITTEN
- BY THE NEW ─╧╙, WHICH HAS ALLOCATED $1B4 FOR IT'S OWN USE.
-
- ╞IX: ┴LTER UPLOADED CODE SO THAT IT DOESN'T MATTER WHAT IS IN $1B4.
-
- ═ODULE ╠OADS ┴T: $07╞8 TO $13╞0-1
-
- ╨ATCH:
- 13┼─: ╧╥┴ ($00,╪) ;SKIP OVER DRIVE $1B4
- 13┼╞: ╬╧╨
- 13╞0: ╩═╨ ($01┴9)
-
- 0╞┴─: $┬6 ;CHANGE REFS TO $1B3 -> $1B6
- 1008: $┬6
- 106├: $┬6
- 10┴9: $┬6
- 10┼┬: $┬6
- 10╞┼: $┬6
-
- ╚INT: ╞ILE MUST BE LOADED, ALTERED, AND RE-SAVED WITH
- A ═╠ MONITOR. ╫HEN RE-SAVING FILE, SAVE
- $07╞8-$13╞3 (I.E. 3 MORE BYTES THAN LOADED, TO
- COMPENSATE FOR ADDED CODE).
-
-
- ═ODULE: "╓2 ╬╔┬" (╓ERSION 3.0┴ ONLY)
-
- ╙YMPTOM: 1541 ╙INGLE ─RIVE ┴UTO ╬IBBLER HANGS UP.
-
- ├AUSE: ╙AME AS FOR "╙╔╬╟╠┼"
-
- ╞IX: ╙AME AS FOR "╙╔╬╟╠┼"
-
- ═ODULE ╠OADS ┴T: $07╞8 TO $17┴9-1
-
- ╨ATCH:
- ╞IRST, TRANSFER $15┴2-$15─3 TO $15┴0 (I.E. MOVE THAT
- BLOCK OF CODE BACKWARD TWO BYTES). ╘HEN:
-
- 159┬: ╠─┴ #$04 ;CORRECT FOR MOVE-BACK
- 15├8: ┬╬┼ $159┬ ;CORRECT FOR MOVE-BACK
- 15├╞: ╧╥┴ ($00,╪) ;SKIP OVER DRIVE $1B4
- 15─1: ╩═╨ ($01┴9)
-
- 119─: $┴┴ ;CHANGE REFS TO $1AC -> $1AA
- 1266: $┴┴
- 12┬7: $┴┴
- 12├2: $┴┴
- 12├┴: $┴┴
- 131┴: $┴┴
- 131┼: $┴┴
-
- ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
- IS MOVED BACK INSTEAD OF AHEAD, JUST SAVE SAME
- AREA AS LOADED: $07╞8-$17┴9.
-
- ═ODULE "╙ ╬╔┬":
-
- ╙YMPTOM: 1541 ╙INGLE ─RIVE ╬IBBLER HANGS UP.
-
- ├AUSE: ╙AME AS FOR "╙╔╬╟╠┼"
-
- ╞IX: ╙AME AS FOR "╙╔╬╟╠┼"
-
- ═ODULE ╠OADS ┴T: $07╞8 TO $179┬-1
-
- ╨ATCH:
- ╞IRST, TRANSFER $1769-$179┴ TO $1767 (I.E. MOVE THAT
- BLOCK OF CODE BACKWARD 2 BYTES). ╘HEN:
-
- 1762: ╠─┴ #$04 ;CORRECT FOR MOVE-BACK
- 178╞: ┬╬┼ $1762 ;CORRECT FOR MOVE-BACK
- 1796: ╧╥┴ ($00,╪) ;SKIP OVER DRIVE $1B4
- 1798: ╩═╨ ($01┴9)
-
- 136╞: $┴┴ ;CHANGE REFS TO $1AC -> $1AA
- 1438: $┴┴
- 1489: $┴┴
- *(CORRECTED 2 ╧CT 87) 1494: $┴┴
- 149├: $┴┴
- 14┼├: $┴┴
- 14╞0: $┴┴
-
- ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
- IS MOVED BACK INSTEAD OF AHEAD, JUST SAVE SAME
- SAME AREA AS LOADED: $07╞8-$179┬.
-
- ═ODULE: "128 ╙╔╬╟╠┼"
-
- ╙YMPTOM: 1571 (128 MODE) ╙INGLE ─RIVE ╞AST ├OPY HANGS UP.
-
- ├AUSE: ╬EW ╥╧═ -05 CLEARS BIT 1 OF ╨├╥ WHEN NOT READING FROM DISK. ╘HIS
- INHIBITS ABILITY TO DETECT "BYTE READY" BY TESTING THE SIGN BIT
- OF $180╞. 128 ╙╔╬╟╠┼ ASSUMES THAT THIS BIT IS SET WHEN IT GETS
- CONTROL FROM THE ─╧╙ AND HANGS FOREVER WAITING FOR "BYTE READY".
-
- ╞IX: ═ODIFY THE CURRENT SUBROUTINE WHICH DELAYS WHILE WAITING FOR DRIVE
- MOTOR TO COME UP TO SPEED SO THAT IT ACHIEVES A SIMILAR DELAY, BUT
- ALSO ENSURES THAT BIT 1 OF THE ╨├╥ ($1├0├) IS SET. ╘HIS MAY SEEM
- LIKE A SILLY PLACE FOR A PATCH, BUT THERE IS NO OTHER AVAILABLE
- PATCH AREA.
-
- ═ODULE ╠OADS ┴T: $1├00 TO $2┼24-1 (IN 128 MODE)
-
- ╨ATCH:
- 2─0┬: ╠─┴ #$00 ; MODIFIED DRIVE MOTOR DELAY
- 2─0─: ╘┴╪
- 2─0┼: ╘┴┘
- 2─0╞: ╠─┴ $1├0├ ; LOOP BEGINS
- 2─12: ╧╥┴ #$02 ; SET BIT 1 OF ╨├╥
- 2─14: ╙╘┴ $1├0├ ; INSIDE LOOP FOR MORE DELAY
- 2─17: ╬╧╨ ; STILL MORE DELAY
- 2─18: ─┼╪
- 2─19: ┬╬┼ $2─0╞ ; END OF INNER LOOP
- 2─1┬: ─┼┘
- 2─1├: ┬╬┼ $2─0╞ ; END OF OUTER LOOP
- 2─1┼: ╥╘╙
-
- ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
- IS NOT MOVED AND NO NEW CODE IS ADDED, SAVE
- SAME AREA AS LOADED: $1├00-$2┼24.
-
-
- ═Y EXPERIENCE IS THAT THE ╙╔╬╟╠┼ 1541 ╞╔╠┼ ├╧╨╔┼╥ AND ALL OF THE ─╒┴╠ 1541 AND
- ─╒┴╠ 1571 MODULES STILL WORK (UNMODIFIED) WITH THE -05 ╥╧═ UPGRADE, THOUGH ╔
- SUSPECT THIS IS PURELY COINCIDENTAL. ╔F ANYONE HAS INFORMATION TO THE CONTRARY,
- PLEASE LET ME KNOW.
-
- ╙INCERELY,
- ╞RANK ╨RINDLE
- ╨RINDLE@╬┴─├.ARPA
-
-