home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C128Toolkit / FASTHACKEM-NEW < prev    next >
Text File  |  2019-04-13  |  8KB  |  257 lines

  1. ╨ATH: DRUHI!DRUTX!IHNP4!HOMXB!MTUXO!MTUNE!RUTGERS!DAEMON
  2. ╞ROM: PRINDLE@╬┴─├.┴╥╨┴
  3. ╬EWSGROUPS: COMP.SYS.CBM
  4. ╙UBJECT: ├ORRECTION TO ╞AST ╚ACK'EM PATCH
  5. ═ESSAGE-╔─: <4940@RUTGERS.RUTGERS.EDU>
  6. ─ATE: 3 ╧CT 87 02:57:53 ╟═╘
  7. ╙ENDER: DAEMON@RUTGERS.RUTGERS.EDU
  8. ╠INES: 246
  9.  
  10. ╞ROM: PRINDLE@NADC.ARPA (╞RANK ╨RINDLE)
  11.  
  12.  
  13. ╫ELCOME TO THE "├┴╨╒╘┼!" DEPARTMENT!  ═ANY THANKS TO ╞RED ┬OWEN OF ├OMMODORE
  14. WHO SPOTTED A TYPO IN THE PATCHES TO ╞AST ╚ACK'EM "╙ ╬╔┬" MODULE (TO MAKE IT
  15. WORK WITH THE NEW -05 ╥╧═ FOR THE 1571):
  16.  
  17. ╔NCORRECT PATCH:    1499: $┴┴
  18.  
  19. ├ORRECT PATCH:        1494: $┴┴
  20.  
  21. ╞RED VERIFIED ALL THE OTHER PATCHES FOR THIS MODULE AND THE OTHERS WERE
  22. CORRECT AS POSTED.  ╔N ANY CASE, JUST TO PREVENT ANY POSSIBILITY OF CONFUSION,
  23. HERE IS A RE-POST OF THE COMPLETE SET OF PATCHES WITH THE CORRECTION NOTED
  24. WITH AN ASTERISK(*) IN COLUMN 1.  ╚OPE NOBODY PATCHED HIS/HER ORIGINAL DISK!
  25.  
  26. ----------------------------├ORRECTED 2 ╧CT 1987--------------------------------
  27.  
  28.     ╨ATCHES TO "╞┴╙╘ ╚┴├╦'┼═" TO WORK WITH 1571 ╥╧═ UPGRADE -05
  29.  
  30.  
  31. ╘HE FOLLOWING FILES FROM VERSIONS 3.0┴ THROUGH 4.1 NEED TO BE PATCHED:
  32.  
  33.     "64"
  34.     "╞┴╙╘┬╧╧╘ ╓2"
  35.     "╙╔╬╟╠┼"
  36.     "╓2 ╬╔┬" (3.0┴ ONLY)
  37.     "╙ ╬╔┬"
  38.     "128 ╙╔╬╟╠┼"
  39.  
  40. ╘HE PATCHES ARE NECESSITATED BY THREE CHANGES IN THE 1571 ╥╧═:
  41.  
  42.     1. ╥╧═ LOCATION $C000 CONTAINS A NEW VALUE.  ╘HE 'FASTBOOT' PROCESSING
  43.        CHECKS THIS VALUE TO DETERMINE IF IT IS APPROPRIATE TO INSTALL AND
  44.        UTILIZE THE FAST BOOTING CODE.  ╞INDING THE NEW VALUE THERE, WHICH
  45.        DOES NOT MATCH ANY KNOWN DRIVE TYPE, IT BYPASSES THE FAST BOOTING
  46.        CAPABILITY.  ╘HIS MAY BE RESTORED BY MAKING THE PROCESSING CHECK
  47.        DEFAULT TO 1541/1571 MODE IF $C000 IS UNKNOWN.
  48.  
  49.     2. ╥┴═ LOCATION $01B4 IS NOW USED BY THE ─╧╙ AS A FLAG.  ╫HEN CODE IS
  50.        UPLOADED FROM THE ├64 INTO DRIVE ╥┴═ $0174-$01B9, THE LAST ONE OR TWO
  51.        INSTRUCTIONS IS OVERWRITTEN BY THE ─╧╙ IN THIS LOCATION (A $01 IS
  52.        OVERWRITTEN); THUS THE UPLOADED PROGRAM EXECUTES INCORRECTLY.
  53.        ╘HIS MAY BE CORRECTED BY INSTALLING A HARMLESS INSTRUCTION WITH
  54.        IT'S OPERAND AT THIS ADDRESS: ╧╥┴ ($00,╪).  ╘HE REMAINING CODE IS
  55.        MOVED DOWN OR PRIOR CODE IS MOVED UP, AS NECESSARY TO FIT UNDER
  56.        $01BA.
  57.  
  58.     3. ╘HE -05 ╥╧═ CLEARS BIT 1 ($02) OF THE DISK CONTROLLER'S ╨ERIPHERAL
  59.        ├ONTROL ╥EGISTER (╨├╥) AT $1├0├ IN THE DRIVE WHENEVER IT IS NOT
  60.        READING OR WRITING THE DISK.  ┴PPARENTLY, THIS BIT, WHEN CLEARED,
  61.        DISABLES THE GENERATION OF "BYTE READY" SIGNAL (AS BYTES ARE
  62.        READ AND ASSEMBLED BY THE DISK CONTROLLER) WHICH APPEARS AS BIT
  63.        7 OF PORT $180╞.  ╘HIS ONLY SEEMS TO OCCUR WHEN THE DRIVE IS IN
  64.        "FAST-SERIAL" (I.E. 128) MODE.  ╘HE "128 SINGLE" MODULE ASSUMED THAT
  65.        THIS BIT WOULD BE SET AND DID NOT SET IT.  ┴DDITIONAL CODE MUST
  66.        BE ADDED TO ENSURE THAT THIS BIT OF THE ╨├╥ IS SET DURING BOTH READ
  67.        AND WRITE PORTIONS OF THE COPY OPERATION.
  68.  
  69. (╬OTE: NOTICE THAT THE "2-─RIVE" MODULES ARE NOT AFFLICTED BY THESE PROBLEMS,
  70. AND DO NOT REQUIRE MODIFICATION).
  71.  
  72. --------------------------------------------------------------------------------
  73.                                     ╙╨┼├╔╞╔├╙
  74. --------------------------------------------------------------------------------
  75.  
  76. ═ODULE: "64":
  77.  
  78.     ╙YMPTOM: ═AIN MENU BOOTS UP SLOWLY ON A ├64.
  79.  
  80.     ├AUSE: ╙IGNATURE CHANGE IN ╥╧═ CAUSES DRIVE NOT TO BE RECOGNIZED AS
  81.            A 1541 OR A 1571.  ─EFAULTS TO NO FAST BOOT.
  82.  
  83.     ╞IX: ┴LTER CODE SO THAT UNRECOGNIZED SIGNATURE DEFAULTS TO 1571.
  84.  
  85.     ═ODULE ╠OADS ┴T: $102 TO ? (I.E. IN THE STACK)
  86.  
  87.     ╨ATCH:
  88.             0135: ┬╬┼ +9    ;─EFAULT UNKNOWN $C000 TO 1541/1571
  89.             ;I.E. THE SECOND BYTE OF THE ┬╬┼ INSTRUCTION IS 9
  90.  
  91.             ╚INT: ╒SE "─╔╙╦ ─╧├╘╧╥" OR ANY OTHER SECTOR EDITOR TO
  92.                   CHANGE FIRST SECTOR OF FILE, POSITION 55=208,
  93.                   POSITION 56=9 (THESE NUMBERS ARE DECIMAL).
  94.  
  95.  
  96. ═ODULE: "╞┴╙╘┬╧╧╘ ╓2"
  97.  
  98.     ╙YMPTOM: ┼VEN WHEN ╞┴╙╘┬╧╧╘ IS ENABLED, MODULES DON'T LOAD FAST
  99.  
  100.     ├AUSE: ╙IGNATURE CHANGE IN ╥╧═ CAUSES DRIVE NOT TO BE RECOGNIZED AS
  101.            A 1541 OR A 1571.  ─EFAULTS TO NO FAST LOAD.
  102.  
  103.     ╞IX: ┴LTER CODE SO THAT UNRECOGNIZED SIGNATURE DEFAULTS TO 1571.
  104.  
  105.     ═ODULE ╠OADS ┴T: $├800 TO $├╞┴6-1
  106.  
  107.     ╨ATCH:
  108.             ├878: ╬╧╨    ;─EFAULT UNKNOWN $C000 TO 1541/1571
  109.             ├879: ╬╧╨
  110.             ├87┴: ╬╧╨
  111.             ├87┬: ╬╧╨
  112.             ├87├: ╬╧╨
  113.  
  114.             ╚INT: ═UST USE "─╔╙╦ ─╧├╘╧╥" OR OTHER SECTOR EDITOR
  115.                   TO CHANGE FIRST SECTOR OF FILE, POSITIONS 124
  116.                   THRU 128 TO 234; ╘HIS FILE IS NOT LOADED BY NAME,
  117.                   BUT BY POSITION ON DISK, SO IT MUST BE MODIFIED
  118.                   IN PLACE!  ╔F YOU MOVE IT, IT WON'T BE FOUND.
  119.  
  120.  
  121. ═ODULE: "╙╔╬╟╠┼"
  122.  
  123.     ╙YMPTOM:  1541 ╙INGLE ─RIVE ╞AST ├OPY HANGS UP
  124.  
  125.     ├AUSE: ╞AST UPLOADER CODE UPLOADED TO $1B4 IN THE DRIVE IS OVERWRITTEN
  126.            BY THE NEW ─╧╙, WHICH HAS ALLOCATED $1B4 FOR IT'S OWN USE.
  127.  
  128.     ╞IX: ┴LTER UPLOADED CODE SO THAT IT DOESN'T MATTER WHAT IS IN $1B4.
  129.  
  130.     ═ODULE ╠OADS ┴T: $07╞8 TO $13╞0-1
  131.  
  132.     ╨ATCH:
  133.             13┼─: ╧╥┴ ($00,╪)    ;SKIP OVER DRIVE $1B4
  134.             13┼╞: ╬╧╨
  135.             13╞0: ╩═╨ ($01┴9)
  136.  
  137.             0╞┴─: $┬6        ;CHANGE REFS TO $1B3 -> $1B6
  138.             1008: $┬6
  139.             106├: $┬6
  140.             10┴9: $┬6
  141.             10┼┬: $┬6
  142.             10╞┼: $┬6
  143.  
  144.             ╚INT: ╞ILE MUST BE LOADED, ALTERED, AND RE-SAVED WITH
  145.                   A ═╠ MONITOR.  ╫HEN RE-SAVING FILE, SAVE
  146.                   $07╞8-$13╞3 (I.E. 3 MORE BYTES THAN LOADED, TO
  147.                   COMPENSATE FOR ADDED CODE).
  148.  
  149.  
  150. ═ODULE: "╓2 ╬╔┬" (╓ERSION 3.0┴ ONLY)
  151.  
  152.     ╙YMPTOM: 1541 ╙INGLE ─RIVE ┴UTO ╬IBBLER HANGS UP.
  153.  
  154.     ├AUSE: ╙AME AS FOR "╙╔╬╟╠┼"
  155.  
  156.     ╞IX: ╙AME AS FOR "╙╔╬╟╠┼"
  157.  
  158.     ═ODULE ╠OADS ┴T: $07╞8 TO $17┴9-1
  159.  
  160.     ╨ATCH:
  161.             ╞IRST, TRANSFER $15┴2-$15─3 TO $15┴0 (I.E. MOVE THAT
  162.             BLOCK OF CODE BACKWARD TWO BYTES).  ╘HEN:
  163.  
  164.             159┬: ╠─┴ #$04        ;CORRECT FOR MOVE-BACK
  165.             15├8: ┬╬┼ $159┬        ;CORRECT FOR MOVE-BACK
  166.             15├╞: ╧╥┴ ($00,╪)    ;SKIP OVER DRIVE $1B4
  167.             15─1: ╩═╨ ($01┴9)
  168.  
  169.             119─: $┴┴        ;CHANGE REFS TO $1AC -> $1AA
  170.             1266: $┴┴
  171.             12┬7: $┴┴
  172.             12├2: $┴┴
  173.             12├┴: $┴┴
  174.             131┴: $┴┴
  175.             131┼: $┴┴
  176.  
  177.             ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
  178.                   IS MOVED BACK INSTEAD OF AHEAD, JUST SAVE SAME
  179.                   AREA AS LOADED: $07╞8-$17┴9.
  180.  
  181. ═ODULE "╙ ╬╔┬":
  182.  
  183.     ╙YMPTOM: 1541 ╙INGLE ─RIVE ╬IBBLER HANGS UP.
  184.  
  185.     ├AUSE: ╙AME AS FOR "╙╔╬╟╠┼"
  186.  
  187.     ╞IX: ╙AME AS FOR "╙╔╬╟╠┼"
  188.  
  189.     ═ODULE ╠OADS ┴T: $07╞8 TO $179┬-1
  190.  
  191.     ╨ATCH:
  192.             ╞IRST, TRANSFER $1769-$179┴ TO $1767 (I.E. MOVE THAT
  193.             BLOCK OF CODE BACKWARD 2 BYTES).  ╘HEN:
  194.  
  195.             1762: ╠─┴ #$04        ;CORRECT FOR MOVE-BACK
  196.             178╞: ┬╬┼ $1762        ;CORRECT FOR MOVE-BACK
  197.             1796: ╧╥┴ ($00,╪)    ;SKIP OVER DRIVE $1B4
  198.             1798: ╩═╨ ($01┴9)
  199.  
  200.             136╞: $┴┴        ;CHANGE REFS TO $1AC -> $1AA
  201.             1438: $┴┴
  202.             1489: $┴┴
  203. *(CORRECTED 2 ╧CT 87)    1494: $┴┴
  204.             149├: $┴┴
  205.             14┼├: $┴┴
  206.             14╞0: $┴┴
  207.  
  208.             ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
  209.                   IS MOVED BACK INSTEAD OF AHEAD, JUST SAVE SAME
  210.                   SAME AREA AS LOADED: $07╞8-$179┬.
  211.  
  212. ═ODULE: "128 ╙╔╬╟╠┼"
  213.  
  214.     ╙YMPTOM: 1571 (128 MODE) ╙INGLE ─RIVE ╞AST ├OPY HANGS UP.
  215.  
  216.     ├AUSE: ╬EW ╥╧═ -05 CLEARS BIT 1 OF ╨├╥ WHEN NOT READING FROM DISK.  ╘HIS
  217.            INHIBITS ABILITY TO DETECT "BYTE READY" BY TESTING THE SIGN BIT
  218.            OF $180╞.  128 ╙╔╬╟╠┼ ASSUMES THAT THIS BIT IS SET WHEN IT GETS
  219.            CONTROL FROM THE ─╧╙ AND HANGS FOREVER WAITING FOR "BYTE READY".
  220.  
  221.     ╞IX: ═ODIFY THE CURRENT SUBROUTINE WHICH DELAYS WHILE WAITING FOR DRIVE
  222.          MOTOR TO COME UP TO SPEED SO THAT IT ACHIEVES A SIMILAR DELAY, BUT
  223.          ALSO ENSURES THAT BIT 1 OF THE ╨├╥ ($1├0├) IS SET.  ╘HIS MAY SEEM
  224.          LIKE A SILLY PLACE FOR A PATCH, BUT THERE IS NO OTHER AVAILABLE
  225.          PATCH AREA.
  226.  
  227.     ═ODULE ╠OADS ┴T: $1├00 TO $2┼24-1 (IN 128 MODE)
  228.  
  229.     ╨ATCH:
  230.             2─0┬: ╠─┴ #$00        ; MODIFIED DRIVE MOTOR DELAY
  231.             2─0─: ╘┴╪
  232.             2─0┼: ╘┴┘
  233.             2─0╞: ╠─┴ $1├0├        ; LOOP BEGINS
  234.             2─12: ╧╥┴ #$02        ; SET BIT 1 OF ╨├╥
  235.             2─14: ╙╘┴ $1├0├        ; INSIDE LOOP FOR MORE DELAY
  236.             2─17: ╬╧╨        ; STILL MORE DELAY
  237.             2─18: ─┼╪
  238.             2─19: ┬╬┼ $2─0╞        ; END OF INNER LOOP
  239.             2─1┬: ─┼┘
  240.             2─1├: ┬╬┼ $2─0╞        ; END OF OUTER LOOP
  241.             2─1┼: ╥╘╙
  242.  
  243.             ╚INT: ┼ASIEST TO DO THIS WITH A ═╠ MONITOR; ┬ECAUSE CODE
  244.                   IS NOT MOVED AND NO NEW CODE IS ADDED, SAVE
  245.                   SAME AREA AS LOADED: $1├00-$2┼24.
  246.  
  247.  
  248. ═Y EXPERIENCE IS THAT THE ╙╔╬╟╠┼ 1541 ╞╔╠┼ ├╧╨╔┼╥ AND ALL OF THE ─╒┴╠ 1541 AND
  249. ─╒┴╠ 1571 MODULES STILL WORK (UNMODIFIED) WITH THE -05 ╥╧═ UPGRADE, THOUGH ╔
  250. SUSPECT THIS IS PURELY COINCIDENTAL.  ╔F ANYONE HAS INFORMATION TO THE CONTRARY,
  251. PLEASE LET ME KNOW.
  252.  
  253. ╙INCERELY,
  254. ╞RANK ╨RINDLE
  255. ╨RINDLE@╬┴─├.ARPA
  256.  
  257.