home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / firmware / drives / new / 1541 / hacks / 1541-II-relocated.txt < prev    next >
Text File  |  2003-06-06  |  9KB  |  245 lines

  1. tHE rom FOR THE 1541-ii CAN BE USED FOR ANY OLDER DRIVE WITHOUT
  2. PROBLEMS, AND IT CONTAINS MANY FIXES TO THE cbm-dos v2.6.  hOWEVER,
  3. THE MODIFICATIONS INTRODUCED IN THE 1541-ii FIRMWARE ARE INCOMPATIBLE
  4. WITH MANY FLOPPY SPEEDER SYSTEMS.
  5.  
  6. tO MAKE THE 1541-ii FIRMWARE TO WORK WITH FASTLOADER SYSTEMS SUCH AS
  7. sPEEDdos, IT NEEDS TO BE PREPARED.  pATCHES THAT ARE LOCATED IN THE
  8. UPPER BANK (0Xe000-0Xffff) NEED TO BE MOVED TO THE LOWER BANK
  9. (0Xc000-0Xdfff), SO THAT THE UPPER BANK CAN BE REPLACED BY THE FLOPPY
  10. SPEEDER FIRMWARE WITHOUT LOSING THE PATCHES.
  11.  
  12. tHE FILE "1541-ii-RELOCATED.BIN" HAS BEEN PREPARED IN THE ABOVE
  13. MENTIONED WAY.  tHIS FILE DOCUMENTS THE CHANGES.  iT ALSO DOCUMENTS
  14. THE CHANGES BETWEEN THE MOST COMMON FIRMWARE FOR THE UPPER BANK
  15. (901229-05, 0Xe000-0Xffff) AND THE UPPER BANK OF THE PREPARED 1541-ii
  16. FIRMWARE.
  17.  
  18. DIFF 1541-ii.251968-03.OD.TXT 1541-ii-RELOCATED.OD.TXT
  19.  
  20. cHANGES MADE TO CREATE THE 1541-ii rom NAMED "1541-ii cbm impr".
  21. mAINLY THE PATCHES FOR THE 0Xe000 rom PART WERE MOVED FROM THE
  22. UPPER rom ADDRESS 0Xff2f TO THE LOWER rom ADDRESS 0Xc09f. aLL
  23. REFERENCES TO THESE PATCHES MUST BE CHANGED ALSO.
  24.  
  25.  
  26.             {$7c}{$7c} UPDATE OF THE 0Xc000 rom CHECKSUM
  27. < 00C000 97 E0 43 4F 50 59 52 49 47 48 54 20 28 43 29 31
  28. ---
  29. > 00C000 97 DB 43 4F 50 59 52 49 47 48 54 20 28 43 29 31
  30.  
  31.  
  32.          *****.... MOVED PATCHES FROM 0Xff2f
  33. < 00C090 4C AA E6 C9 03 B0 05 A9 72 20 C7 E6 A9 01 60 AA
  34. < 00C0A0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  35. < 00C0B0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  36. < 00C0C0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  37. < 00C0D0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  38. < 00C0E0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  39. ---
  40. > 00C090 4C AA E6 C9 03 B0 05 A9 72 20 C7 E6 A9 01 60 A9
  41. > 00C0A0 FF 85 51 4C C6 C8 85 FF 4C 00 C1 C9 02 90 07 C9
  42. > 00C0B0 0F F0 03 4C 6B D3 4C 73 D3 78 A2 45 9A 4C 25 EB
  43. > 00C0C0 2C 01 18 4C 5B E8 BD FF 00 60 A6 7F BD FF 00 4C
  44. > 00C0D0 1B F0 A9 00 9D FF 00 4C B7 C1 98 9D FF 00 4C 64
  45. > 00C0E0 C6 95 1C 9D FF 00 4C 75 D0 AA AA AA AA AA AA AA
  46.  
  47.  
  48.                      {$7c}{$7c} {$7c}{$7c} UPDATED PATCH LOCATION
  49. < 00C1B0 8E 02 AA 4C 62 FF EA 20 BD C1 4C DA D4 A0 28 A9
  50. ---                  ** **
  51. > 00C1B0 8E 02 AA 4C D2 C0 EA 20 BD C1 4C DA D4 A0 28 A9
  52.  
  53.  
  54.                {$7c}{$7c} {$7c}{$7c} UPDATED PATCH LOCATIONS {$7c}{$7c} {$7c}{$7c}
  55. < 00C660 7F 4C 6A FF D0 03 20 42 D0 A6 7F 4C 56 FF 48 20
  56. ---            ** **                         ** **
  57. > 00C660 7F 4C DA C0 D0 03 20 42 D0 A6 7F 4C C6 C0 48 20
  58.  
  59.  
  60.                {$7c}{$7c} {$7c}{$7c} UPDATED PATCH LOCATION
  61. < 00D070 00 4C 71 FF EA 20 3A EF A0 04 A9 00 AA 18 71 6D
  62. ---            ** **
  63. > 00D070 00 4C E1 C0 EA 20 3A EF A0 04 A9 00 AA 18 71 6D
  64.  
  65.  
  66.           UPDATED PATCH LOCATION {$7c}{$7c} {$7c}{$7c}
  67. < 00D360 29 3F AA B5 00 30 FC 4C 3B FF EA A6 6F E0 07 90
  68. ---                              ** **
  69. > 00D360 29 3F AA B5 00 30 FC 4C AB C0 EA A6 6F E0 07 90
  70.  
  71.  
  72.              UPDATED PATCH LOCATION {$7c}{$7c} {$7c}{$7c}
  73. < 00EA60 10 09 60 AD 00 18 10 FA 4C 50 FF 4C D7 E8 A2 00
  74. ---                                 ** **
  75. > 00EA60 10 09 60 AD 00 18 10 FA 4C C0 C0 4C D7 E8 A2 00
  76.  
  77.  
  78.                   {$7c}{$7c} {$7c}{$7c} UPDATED PATCH LOCATION
  79. < 00EB20 71 EA 4C 49 FF AD 00 1C 29 F7 8D 00 1C A9 01 8D
  80. ---               ** **
  81. > 00EB20 71 EA 4C B9 C0 AD 00 1C 29 F7 8D 00 1C A9 01 8D
  82.  
  83.  
  84.                         {$7c}{$7c} {$7c}{$7c} UPDATED PATCH LOCATION
  85. < 00EC00 A5 7C F0 03 4C 50 FF 58 A9 0E 85 72 A9 00 85 6F
  86. ---                     ** **
  87. > 00EC00 A5 7C F0 03 4C C0 C0 58 A9 0E 85 72 A9 00 85 6F
  88.  
  89.  
  90.                             UPDATED PATCH LOCATION {$7c}{$7c} {$7c}{$7c}
  91. < 00EE10 A5 E2 10 05 A9 33 4C C8 C1 29 01 85 7F 20 36 FF
  92. ---                                                ** **
  93. > 00EE10 A5 E2 10 05 A9 33 4C C8 C1 29 01 85 7F 20 A6 C0
  94.  
  95.  
  96.                             UPDATED PATCH LOCATION {$7c}{$7c} {$7c}{$7c}
  97. < 00EE30 12 B9 01 02 95 13 20 07 D3 A9 01 85 80 20 2F FF
  98. ---                                                ** **
  99. > 00EE30 12 B9 01 02 95 13 20 07 D3 A9 01 85 80 20 9F C0
  100.  
  101.  
  102.           UPDATED PATCH LOCATION {$7c}{$7c} {$7c}{$7c}
  103. < 00F010 60 A5 6F 48 A5 70 48 4C 5A FF EA F0 05 A9 74 20
  104. ---                              ** **
  105. > 00F010 60 A5 6F 48 A5 70 48 4C CA C0 EA F0 05 A9 74 20
  106.  
  107.  
  108.             UPDATE OF THE  {$7c}{$7c}  0Xe000 rom CHECKSUM
  109. < 00FEE0 03 04 05 06 07 07 79 6C 65 00 8D 00 1C 8D 02 1C
  110. ---                        **
  111. > 00FEE0 03 04 05 06 07 07 61 6C 65 00 8D 00 1C 8D 02 1C
  112.  
  113.  
  114.          *****.... REMOVED PATCHES FROM 0Xff2f
  115. < 00FF20 AD 00 18 29 01 D0 F9 A9 01 8D 05 18 4C DF E9 A9
  116. < 00FF30 FF 85 51 4C C6 C8 85 FF 4C 00 C1 C9 02 90 07 C9
  117. < 00FF40 0F F0 03 4C 6B D3 4C 73 D3 78 A2 45 9A 4C 25 EB
  118. < 00FF50 2C 01 18 4C 5B E8 BD FF 00 60 A6 7F BD FF 00 4C
  119. < 00FF60 1B F0 A9 00 9D FF 00 4C B7 C1 98 9D FF 00 4C 64
  120. < 00FF70 C6 95 1C 9D FF 00 4C 75 D0 AA AA AA AA AA AA AA
  121. ---
  122. > 00FF20 AD 00 18 29 01 D0 F9 A9 01 8D 05 18 4C DF E9 AA
  123. > 00FF30 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  124. > 00FF40 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  125. > 00FF50 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  126. > 00FF60 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  127. > 00FF70 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
  128.  
  129.  
  130. sPECIAL NOTES:
  131.  
  132.   tHE REMAINING SPARE SPACE OF THE LOWER rom PATCH AREA (0Xc0e9) COULD
  133.   BE USED FOR VERSION STRING INFORMATIONS INSTEAD OF CHANGING THE
  134.   IDENT STRING (cbm-dos v2.6 1541). tHE LOWER rom CHECKSUM BYTE
  135.   (0Xc001) NEEDS TO BE ADJUSTED ACCORDINGLY THEN.
  136.  
  137.  
  138. cHANGES IN THE UPPER rom AREA (0Xe000) FROM THE LATEST 1541-i
  139. MODEL rom TO THE IMPROVED 1541-ii rom VERSION.
  140.  
  141. tHIS IS MADE, SO THAT THESE CHANGES CAN BE INJECTED INTO
  142. CERTAIN SPEEDER SYSTEM romS. tHIS WAY, THESE romS MAY ALSO
  143. PROFIT FROM THE PATCHES INTEGRATED INTO THE 1541-ii.
  144.  
  145.  
  146. iF YOU WANT TO PATCH ANOTHER SPEEDER rom (UPPER rom) ONLY, SO
  147. THAT IT USES THE PATCHES OF THE LOWER rom PART OF THE IMPROVED
  148. 1541-ii rom VERSION, THEN YOU WOULD HAVE TO CAREFULLY CHECK THE
  149. FOLLOWING ADDRESSES, IF THE CHANGES COULD BE INTEGRATED.
  150.  
  151.            0Xe69c (3):
  152.            0Xe780 (1):
  153.            0Xea69 (2):
  154.            0Xeb22 (3):
  155.            0Xec05 (2):
  156.            0Xee1e (2):
  157.            0Xee3e (2):
  158.            0Xefc5 (4):
  159.            0Xf017 (4):
  160.            0Xfcaf (2):
  161.            0Xfee6 (1):
  162.            0Xffe5 (1):
  163.  
  164. iF THE CODE OF THE SPEEDER rom DOESN'T MATCH THE CODE OF THE OLD
  165. 1541-i UPPER SYSTEM rom AS SHOWN BELOW, IT WOULD BE BETTER TO
  166. OMIT THIS PARTICULAR CHANGE. pROBABLY THE SPEEDER rom APPLIED
  167. IT'S OWN PATCH OR FIX AT THIS LOCATION.
  168.  
  169.  
  170. DIFF 1541-E000.901229-05.OD.TXT 1541-ii-RELOCATED.OD.TXT
  171.  
  172. ** 0Xe69c (3):
  173.         CALL PATCH INSTEAD OF "LDA #00; SED" {$7c}{$7c} {$7c}{$7c} {$7c}{$7c}
  174. < 00E690 D1 C9 04 B0 03 20 27 D2 4C E7 EB AA A9 00 F8 E0
  175. ---                                          ** ** **
  176. > 00E690 D1 C9 04 B0 03 20 27 D2 4C E7 EB AA 4C 7F C0 E0
  177.  
  178.  
  179. ** 0Xe780 (1):
  180.          {$7c}{$7c} OLD, UNNEEDED CODE REMOVED
  181. < 00E780 60 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
  182. ---      **
  183. > 00E780 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
  184.  
  185.  
  186. ** 0Xea69 (2):          CALL PATCH  {$7c}{$7c} {$7c}{$7c}
  187. < 00EA60 10 09 60 AD 00 18 10 FA 4C 5B E8 4C D7 E8 A2 00
  188. ---                                 ** **
  189. > 00EA60 10 09 60 AD 00 18 10 FA 4C C0 C0 4C D7 E8 A2 00
  190.  
  191.  
  192. ** 0Xeb22 (3): {$7c}{$7c} {$7c}{$7c} {$7c}{$7c}  CALL PATCH INSTEAD OF "LDX #45; TXS"
  193. < 00EB20 71 EA A2 45 9A AD 00 1C 29 F7 8D 00 1C A9 01 8D
  194. ---            ** ** **
  195. > 00EB20 71 EA 4C B9 C0 AD 00 1C 29 F7 8D 00 1C A9 01 8D
  196.  
  197.  
  198. ** 0Xec05 (2):          {$7c}{$7c} {$7c}{$7c}  CALL PATCH
  199. < 00EC00 A5 7C F0 03 4C 5B E8 58 A9 0E 85 72 A9 00 85 6F
  200. ---                     ** **
  201. > 00EC00 A5 7C F0 03 4C C0 C0 58 A9 0E 85 72 A9 00 85 6F
  202.  
  203.  
  204. ** 0Xee1e (2):                         CALL PATCH  {$7c}{$7c} {$7c}{$7c}
  205. < 00EE10 A5 E2 10 05 A9 33 4C C8 C1 29 01 85 7F 20 00 C1
  206. ---                                                ** **
  207. > 00EE10 A5 E2 10 05 A9 33 4C C8 C1 29 01 85 7F 20 A6 C0
  208.  
  209.  
  210. ** 0Xee3e (2):                         CALL PATCH  {$7c}{$7c} {$7c}{$7c}
  211. < 00EE30 12 B9 01 02 95 13 20 07 D3 A9 01 85 80 20 C6 C8
  212. ---                                                ** **
  213. > 00EE30 12 B9 01 02 95 13 20 07 D3 A9 01 85 80 20 9F C0
  214.  
  215.  
  216. ** 0Xefc5 (4):
  217.             CALL PATCH  {$7c}{$7c} {$7c}{$7c} {$7c}{$7c} {$7c}{$7c}  INSTEAD OF "CMP #03; BCS EFCE"
  218. < 00EFC0 D0 0C BD FA 02 C9 03 B0 05 A9 72 20 C7 E6 60 20
  219. ---                     ** ** ** **
  220. > 00EFC0 D0 0C BD FA 02 4C 93 C0 EA A9 72 20 C7 E6 60 20
  221.  
  222.  
  223. ** 0Xf017 (4):    CALL PATCH  {$7c}{$7c} {$7c}{$7c} {$7c}{$7c} {$7c}{$7c}  INSTEAD OF "LDX 7F; LDA FF,X"
  224. < 00F010 60 A5 6F 48 A5 70 48 A6 7F B5 FF F0 05 A9 74 20
  225. ---                           ** ** ** **
  226. > 00F010 60 A5 6F 48 A5 70 48 4C CA C0 EA F0 05 A9 74 20
  227.  
  228.  
  229. ** 0Xfcaf (2):                {$7c}{$7c} {$7c}{$7c}  CALL PATCH
  230. < 00FCA8 8F F7 A9 00 85 32 20 0E FE A9 FF 8D 01 1C A2 05
  231. ---                           ** **
  232. > 00FCA8 8F F7 A9 00 85 32 20 4E C0 A9 FF 8D 01 1C A2 05
  233.  
  234.  
  235. ** 0Xfee6 (1):             {$7c}{$7c}  CHANGED CHECKSUM BYTE
  236. < 00FEE0 03 04 05 06 07 07 3E 6C 65 00 8D 00 1C 8D 02 1C
  237. ---                        **
  238. > 00FEE0 03 04 05 06 07 07 61 6C 65 00 8D 00 1C 8D 02 1C
  239.  
  240.  
  241. ** 0Xffe5 (1):          {$7c}{$7c}  ALTERNATIVE 1541-ii CHECKSUM?
  242. < 00FFE0 AA AA AA AA AA AA C6 C8 8F F9 5F CD 97 CD 00 05
  243. ---                     **
  244. > 00FFE0 AA AA AA AA AA EB C6 C8 8F F9 5F CD 97 CD 00 05
  245.