home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug020.arc / BIOS84.WSF < prev    next >
Text File  |  1979-12-31  |  12KB  |  215 lines

  1.             MICROBEE BIOS WITH 80/40 TRACK SUPPORT - S. GERRATY
  2.  
  3. INTRODUCTION:
  4.  
  5.      Thσá followinτá cover≤ modifieΣ bio≤ version≤ 1.▓ anΣ 1.│ whicΦá allo≈ ì
  6. botΦ 4░ anΣ 8░ tracδ drive≤ t∩ bσ useΣ oε thσ samσ machine«á Marδá Bishop'≤ ì
  7. SETDIS╦á utilit∙ stil∞ work≤ witΦ thesσ ne≈ bios's«á The∙ currentl∙ d∩á no⌠ ì
  8. suppor⌠á thσá aut∩á formattinτ a≤ useΣ b∙ Microbeσá Systems¼á ie«á thσá DP┬ ì
  9. addresse≤ arσ iε thσ DPH≤ anΣ arσ no⌠ overwrittení Thi≤ allow≤ theφ t∩ boo⌠ ì
  10. u≡á read∙á t∩ talδ t∩ 5.25ó anΣ 3.5ó drive≤ withou⌠ an∙á furthe≥á fuss«á Iµ ì
  11. requireΣ ß bio≤ caε bσ assembleΣ witΦ thσ aut∩ formattinτ supported¼á bu⌠ ╔ ì
  12. finΣ i⌠ ß hindrance¼á rathe≥ thaε ß help«á Currentl∙ botΦ bios'≤ arσ se⌠ u≡ ì
  13. fo≥ │ drives¼á witΦ ß combinatioε oµ 8░ anΣ 4░ tracδ drives¼á A¼á B¼á anΣ ─ ì
  14. (logica∞á drive⌐ arσ initiall∙ se⌠ fo≥ 4░ trδ D╙ D─ iε bio≤ 1.▓ anΣ 8░á trδ ì
  15. S╙á (3.╡ ó format⌐ iε bio≤ 1.3¼á drivσ ├ i≤ thσ oppositσ iσ 8░ trδ iεá bio≤ ì
  16. 1.▓ anΣ 4░ trδ iε 1.3«á Thσ bios'≤ als∩ contaiε ß DP┬ fo≥ aε 800δ 8░ trδ D─ ì
  17. D╙á format¼á a≤á useΣ oε 3.5ó D╙ drive≤ (ske≈ tablσ i≤ stil∞á thσá samσá a≤ ì
  18. others)«   
  19.  
  20.                                BIOS812.LBR:
  21.  
  22. BIOS812.CO═:
  23.  
  24.                Thi≤ i≤ ß modifieΣ bio≤ fo≥ 56δ machine≤ i⌠ support≤ botΦ 8░ ì
  25. anΣ 4░ tracδ drives«á I⌠ require≤ ß modifieΣ boo⌠ roφ t∩ bσ ablσ t∩ reaΣ 8░ ì
  26. tracδ drives¼á bu⌠ wil∞ worδ O╦ withou⌠ thσ modifieΣ rom¼á bu⌠ onl∙ witΦ 4░ ì
  27. tracδ drives«á Thσ distributeΣ version¼á i≤ se⌠ u≡ fo≥ 4░ tracδ A¼ B¼ anΣ ─ ì
  28. (logical⌐ drives¼á anΣ 8░ trk≤ S╙ fo≥ drivσ C«á I⌠ i≤ se⌠ u≡ t∩ suppor⌠ thσ ì
  29. ZCPR▓ buffers¼á anΣ shoulΣ bσ useΣ witΦ ZCPR2«á Notσ tha⌠ witΦ ZCPR2¼á aut∩ ì
  30. commanΣ executioε doe≤ no⌠ worδ oε warφ starts«á SETDIS╦ b∙ Marδ Bisho≡ caε ì
  31. stil∞ bσ useΣ t∩ a≤ before.
  32. 
  33. CNFG12.COM:
  34.  
  35.                ┴ modifieΣ confiτ program¼á shoulΣ onl∙ bσ useΣ witΦ versioε ì
  36. 1.▓ duσ t∩ differen⌠ patcΦ locations« 
  37. 
  38. NEWROMP.MAC:
  39.  
  40.                Thi≤ i≤ aε M8░ sourcσ file¼á showinτ thσ change≤ madσ t∩ thσ ì
  41. boo⌠ roφ fo≥ 56δ machines«á Note╗ thσ boo⌠ roφ imagσ iε thσ 128δ machinσ i≤ ì
  42. identica∞ t∩ thσ 56δ boo⌠ rom¼á anΣ therσ arσ onl∙ │ byte≤ differen⌠ iε thσ ì
  43. CIA┬ roφ image¼ (mainl∙ duσ t∩ thσ 8░ trδ drives).
  44. 
  45. NEW8040.ROM:   (Not supplied)
  46.              
  47.                Thi≤á i≤ ß modifieΣ boo⌠ rom¼á i⌠ use≤ thσ scratcΦá locatioε ì
  48. (word⌐ a⌠ 0DF7D¼á anΣ use≤ thσ 1▒ sparσ byte≤ a⌠ thσ enΣ oµ thσ roφ a≤ wel∞ ì
  49. a≤á par⌠á oµá thσá Monito≥á signoε ~message«á Thσá scratcΦá locatioεá i≤á onl∙ ì
  50. initialized¼á afte≥ thσ boo⌠ roφ decide≤ t∩ BOO╘ froφ ß disk«á Thi≤ enable≤ ì
  51. Tapσ Basiπ t∩ functioε normally« Work≤ finσ witΦ ApplieΣ Tech« bio≤ etc.
  52. 
  53. NNEW8040.ROM║á  (No⌠á suppliedíá brinτ you≥ Beσ t∩ ß meetinτ for an upgrade!)
  54.  
  55.                Thi≤á i≤ ß modifieΣ boo⌠ rom¼á i⌠ use≤ thσ scratcΦá locatioε ì
  56. (word)¼ a⌠ 0DF4╢ whicΦ i≤ normall∙ initializeΣ b∙ thσ boo⌠ rom¼ oε rese⌠ t∩ ì
  57. 0,0«á Thσá location≤ arσ provideΣ t∩ allo≈ re-directioε anΣ enhancemen⌠á oµ ì
  58. thσ vide∩ driver«á Becausσ thσ monito≥ alread∙ set≤ u≡ thi≤ location¼ extrß ì
  59. codσá i≤ no⌠ requireΣ t∩ initializσ it¼á simpl∙ changσ thσ value≤ tha⌠á arσ ìèused«á Thσ disadvantagσ oµ thi≤ method¼ i≤ tha⌠ thσ scratcΦ locatioε i≤ re-ì
  60. initializeΣá oεá rese⌠á o≥ entr∙ t∩ thσ Monitor«á Thi≤ mean≤á tha⌠á iµá fo≥ ì
  61. instancσ thσ defaul⌠ drivσ i≤ 4░ tracδ (i⌠ is)¼ anΣ onσ wisheΣ t∩ usσ aε 8░ ì
  62. tracδá drivσá froφá thσ monitor¼á thσ scratcΦ locatioεá woulΣá neeΣá t∩á bσ ì
  63. manuall∙á se⌠á t∩ thσ correc⌠ value≤ afte≥ enterinτ thσá monitor«á Thi≤á i≤ ì
  64. considereΣ ß smal∞ inconvenience¼á anΣ thi≤ versioε i≤ thσ distributeΣ one« ì
  65. Thσ othe≥ i≤ availablσ oε request«á Note¼ thi≤ roφ work≤ perfectl∙ witΦ an∙ ì
  66. bio≤ version¼ o≥ an∙ othe≥ softwarσ - tha⌠ doesn'⌠ clobbe≥ 0DF46.
  67.  
  68.                                BIOS813.LBR:
  69.  
  70. BIOS813.COM:
  71.  
  72.                Thi≤ i≤ ß modifieΣ bio≤ fo≥ thσ CIAB« I⌠ allows¼ botΦ 8░ anΣ ì
  73. 4░ tracδ drive≤ t∩ bσ used¼á a≤ wel∞ a≤ Marδ Bishop'≤ SETDIS╦á utility¼á o≥ ì
  74. eveε ApplieΣ Techs«á SETDRIV┼ (no⌠ supplieΣ witΦ CIAB)«á ╔ havσ beeε unablσ ì
  75. t∩ finΣ an∙ reasoε wh∙ thσ CIA┬ a≤ supplieΣ canno⌠ suppor⌠ othe≥ format≤ (╔ ì
  76. kno≈á wh∙á - lacδ oµ ß sparσ ske≈ table!⌐ bu⌠ thσ spacσ los⌠ ha≤á no⌠á beeε ì
  77. filleΣ witΦ anythinτ useful« Thi≤ bio≤ caε bσ seeε a≤ ß replacemen⌠ fo≥ thσ ì
  78. CIA┬á bios«á I⌠ doe≤ NO╘ requirσ ß modifieΣ boo⌠ rom¼á sincσ i⌠ over-write≤ ì
  79. thσá actua∞ byte≤ iε thσ boo⌠ roφ imagσ (iε RAM)«á Thi≤ methoΣ take≤ ßá bi⌠ ì
  80. morσ rooφ iε thσ bios¼ bu⌠ i≤ preferablσ t∩ puttinτ iε ß ne≈ romí 
  81. 
  82. CNFG13.COM:
  83.  
  84.                 ┴ modifieΣ versioε oµ config¼á shoulΣ onl∙ bσ useΣ witΦ bio≤ ì
  85. versioε 1.│ duσ t∩ differen⌠ patcΦ locations.
  86.  
  87.      BotΦ oµ thσ abovσ bios'≤ havσ beeε testeΣ oε thσ appropriatσá machine¼ ì
  88. anΣ t∩ datσ havσ no⌠ showε an∙ problems«á EacΦ come≤ completσ witΦ ß confiτ ì
  89. utilit∙á - t∩ adjus⌠ screeε positioning¼á printe≥ setting≤ anΣ aut∩ commanΣ ì
  90. executioε oε colΣ boot«á WitΦ zcpr2¼á aut∩ executioε oε warφ boo⌠ doe≤á no⌠ ì
  91. seeφ t∩ worδ (oε an∙ bio≤ ╔ have!)¼á work≤ finσ witΦ zcpr1«á Iε orde≥ t∩ bσ ì
  92. ablσá t∩á usσá standarΣ version≤ oµ severa∞ program≤ - sucΦ a≤á Telcoφá anΣ ì
  93. Setdisk¼á i⌠ ha≤ beeε necessar∙ t∩ leavσ thσ BIO╙ typσ a≤ ▒ withiε thσ bio≤ ì
  94. a⌠á 0D63│á sincσá thesσá program≤ checδá tha⌠á bytσá (the∙á stil∞á functioε ì
  95. correctly)«á Thi≤ mean≤ tha⌠ thσ modifieΣ confiτ utilitie≤ onl∙ checδ fo≥ ß ì
  96. valuσ oµ 1í thu≤ i⌠ i≤ u≡ t∩ thσ use≥ t∩ ensurσ tha⌠ thσ correc⌠ versioε i≤ ì
  97. beinτ used¼ (no⌠ hard!).
  98.  
  99.  
  100.                               INSTALLATION:
  101.  
  102.      Duσá t∩á copyrigh⌠ law≤ etc...«á Thσ librar∙ file≤á fo≥á eacΦá versioε ì
  103. contaiεá onl∙á thσ assembleΣ forφ oµ thσ ne≈ bio≤ anΣ utilities¼á thσá onl∙ ì
  104. sourcσá codσá giveεá i≤á thσ patche≤ fo≥ thσ boo⌠á rom«á BDO╙á etπá i≤á no⌠ ì
  105. included«á WitΦ al∞ thσ fus≤ lately¼ ╔ wil∞ no⌠ eveε distributσ thσ Ne≈ Roφ ì
  106. image¼á sincσ i⌠ i≤ stil∞ almos⌠ entirel∙ ApplieΣ Tech«á An∙ onσ wantinτá ß ì
  107. NE╫ rom¼á wil∞ havσ t∩ brinτ thei≥ 'Beσ t∩ ß hacker'≤ meeting¼ o≥ seσ mσ a⌠ ì
  108. thσ norma∞ meetinτ t∩ makσ arrangements«á Thu≤ n∩ onσ caε accusσ u≤ (me⌐ oµ ì
  109. proliferatioε oµ copyrigh⌠ softwarσ (shade≤ oµ Apple)¼ ╔ aφ simpl∙ offerinτ ì
  110. aεá upgradσá t∩á existinτ disδ systems«á Thi≤ i≤ oµ coursσá unti∞á Microbeσ ì
  111. System≤ sa∙ OK« 
  112.  
  113.      CIA┬ owner≤ d∩ no⌠ havσ t∩ worr∙ abou⌠ Rom≤ sincσ versioε 1.3¼ fo≥ thσ ì
  114. CIA┬á simpl∙á ove≥á write≤ thσ actua∞ location≤ witΦ iε thσá roφá imagσá a⌠ ì
  115. 0E000h.
  116.  
  117. è     ╔ wil∞ no⌠ givσ blo≈ b∙ blo≈ description≤ oµ ho≈ t∩ insta∞ them¼ sincσ ì
  118. generally¼á thosσ  competen⌠ t∩ d∩ it¼ alread∙ kno≈ how¼ anΣ ╔ don'⌠ reall∙ ì
  119. wan⌠ thosσ wh∩ don't¼ t∩ tr∙ it¼ anΣ theε kil∞ mσ wheε thei≥ disδ dies« An∙ ì
  120. onσá wh∩ doe≤ no⌠ fee∞ u≡ t∩ it¼á bu⌠ doe≤ wan⌠ thσ facilitie≤ offereΣá seσ ì
  121. myselµ o≥ somσ onσ elsσ fo≥ help.
  122. 
  123. Briefly:
  124. 
  125.      Usσá DD╘ o≥ CEBUG¼á reaΣ iε ß sysgeε imagσ (contain≤ bdo≤á etc⌐á Then¼ ì
  126. reaΣ iε ne≈ bio≤ eg¼ bios812.coφ a⌠ 1F80Φ ie« witΦ aε offse⌠ oµ 1E80« Writσ ì
  127. thσ filσ ou⌠ agaiε - savσ froφ 100Φ t∩ 2900h
  128.  
  129.      CIA┬á owner≤ wil∞ neeΣ t∩ modif∙ thei≥ sysgeε par⌠ oµ thσ filσ t∩ savσ ì
  130. thσ correc⌠ length« ShoulΣ be;
  131.  
  132.      LD   DE,0001   ; Get the boot sector Trk 0 sector 1
  133.      LD   HL,11F1
  134.      LD   BC,0080   ; 7F for write
  135.      CALL 0E039     ; read, E03C for write 
  136.      LD   DE,0002   ; get rest of track 0
  137.      LD   HL,1271
  138.      LD   BC,11FF
  139.      CALL Z,0E039   ; read trk 0
  140. ; now get track 1 - here's where all the changes occur.
  141.      LD   DE,0101   ;for SS 4F01 for 40T DS, 9F01 for 80T DS
  142.      LD   HL,2471
  143.      LD   BC,13FF
  144.      CALL Z,0E039   ; offload into ram
  145.  
  146.      Fo≥á thosσá wh∩ arσ interesteΣ iε thσ gor∙ detail≤ abou⌠á thesσá mods¼ ì
  147. reaΣ oní NOTE║ Ma∙ borσ somσ (most?)« 
  148. 
  149. THE NEED:
  150. 
  151.      Well¼á ever∙á onσ want≤ t∩ talδ t∩ 8░ tracδ (3.5"⌐ drive≤ thesσá days¼ ì
  152. anΣ no⌠ ever∙ onσ ha≤ ß dreaφ disδ systemíá Thσ standarΣ ApplieΣ Technolog∙ ì
  153. boot_rom(s)¼á anΣá bios(s⌐á onl∙ worδ witΦ 4░ tracδ (o≥ 8░á tracδá fo≥á thσ ì
  154. CIAB)«á WitΦ m∙ 4░ tracδ drive≤ gettinτ prett∙ tireΣ lately¼á ╔ havσ haΣ m∙ ì
  155. eye≤ oε somσ ne≈ 8░ tracδ 3.5ó drives« ╔ didn'⌠ wan⌠ t∩ swa≡ completely¼ s∩ ì
  156. somσ change≤ werσ needed.
  157.  
  158.      Wheεá usinτá anothe≥ modifieΣ bio≤ anΣ boo⌠ roφ t∩ allo≈á 80/4░á tracδ ì
  159. drives¼ ╔ haΣ ß lo⌠ oµ troublσ witΦ tracδ seeking¼ anΣ sysgeninτ disk≤ etc« ì
  160. NOTE╗á thi≤á se⌠á u≡ I╙ workinτ quitσ wel∞ iε ß numbe≥ oµ machine≤á a⌠á thσ ì
  161. momentíá (Jus⌠ m∙ lucδ tha⌠ ╔ havσ pick∙ hardware)« Afte≥ re-calibratinτ m∙ ì
  162. controller¼á anΣ stil∞ havinτ thσ samσ problems¼á ╔ decideΣ tha⌠ thσ methoΣ ì
  163. useΣá - locatinτ thσ dup_dowε flaτ anΣ testinτ i⌠ eacΦ timσ ß reaΣ o≥ writσ ì
  164. etπá wa≤ done¼á wa≤ thσ causσ oµ thσ probleφ (al∞ thosσ extrßá instruction≤ ì
  165. fo≥ eacΦ access)«á Iε an∙ event¼á ╔ wanteΣ ß morσ elegan⌠á solution¼á 80/4░ ì
  166. tracδ capability¼ anΣ al∞ oµ m∙ monito≥ function≤ too!
  167.  
  168.      ╔ decideΣ t∩ storσ thσ datß requireΣ (i« t∩ tes⌠ iµ thσ requireΣ tracδ ì
  169. i≤ oε sidσ ░ o≥ 1«á ii«á Thσ valuσ t∩ subtrac⌠ thσ tracδ numbe≥ froφ t∩ ge⌠ ì
  170. thσá correc⌠ valuσ oε sidσ 1«á eτ 4░ anΣ 17╣ fo≥ ß 4░ tracδ drive⌐ iε ß se⌠ ì
  171. location¼á anΣá havσ thσ bio≤ anΣ thσ boo⌠ roφ refe≥ t∩ thi≤ locatioεá wheε ì
  172. needed«á Thi≤ methoΣ onl∙ add≤ onl∙ ß couplσ oµ byte≤ t∩ thσ boo⌠ roφ - thσ ì
  173. modifieΣ comparσ etc¼á anΣ thσ jump≤ requireΣ tooδ onl∙ 1▓ byte≤ (froφá thσ ì
  174. Monito≥á sigεá oεá message⌐ - thu≤ therσ arσ les≤ timinτá problem≤á (none?⌐ ì
  175. produced¼ anΣ n∩ los≤ oµ monito≥ functions.è    Thσ onl∙ probleφ wa≤ t∩ finΣ ß sparσ worΣ iε thσ scratcΦ area«á Ou⌠á oµ ì
  176. severa∞á alternatives¼á ╔á decideΣ t∩ usσ thσ worΣ beginninτ a⌠á 0DF4╢á thσ ì
  177. precedinτ bytσ caε bσ changeΣ froφ ß 0C╣ (RET⌐ t∩ ß 0C│ (JP⌐ t∩ causσ vide∩ ì
  178. outpu⌠á t∩á bσ re-directeΣ t∩ thσ addres≤ containeΣ iε 0DF46¼á thi≤á allow≤ ì
  179. expansioεá oµ thσ vide∩ drive≥ capabilities«á ╔ seσ nothinτ wronτ witΦá thσ ì
  180. Microbee'≤á display¼á bu⌠ iµ an∙ onσ want≤ t∩ usσ thi≤ facilit∙á therσá arσ ì
  181. othe≥ location≤ possiblσ - thσ origina∞ versioε oµ thesσ mod≤ useΣ thσ worΣ ì
  182. a⌠á 0DF7─á (thσ addres≤ t∩ jumpeΣ t∩ iµ thσ previou≤ worΣ contain≤á 55A┴á - ì
  183. normall∙á onl∙á useΣá b∙ tapσ basiπ - whicΦ doesn'⌠á usσá disks¼á thσá onl∙ ì
  184. probleφá witΦ thi≤ locatioε (apar⌠ froφ thσ fac⌠ tha⌠ somσ peoplσ AR┼ usinτ ì
  185. it!⌐ i≤ tha⌠ i⌠ take≤ anothe≥ 1▒ byte≤ t∩ initializσ it«á 0DF4╢ i≤á alread∙ ì
  186. initializeΣá b∙ thσ boo⌠ roφ oε rese⌠ (t∩ ░ 0)«á Thσ onl∙ probleφ witΦá thσ ì
  187. wa∙á 0DF4╢ i≤ initialized¼á i≤ iµ onσ wanteΣ t∩ usσ aε 8░ tracδ drivσá froφ ì
  188. thσá monito≥á - thσá datßá fo≥ trk_da⌠ need≤ t∩ bσá manuall∙á loadeΣá afte≥ ì
  189. enterinτ thσ monito≥ (╔ neve≥ usσ thσ monito≥ fo≥ tha⌠ anyway).
  190.  
  191.      Thσ scratcΦ locatioε i≤ initializeΣ  oε reset¼á t∩ thσ machine≤ norma∞ ì
  192. se⌠ up¼ eg« 4░ trδ fo≥ 56δ machines« Thi≤ allow≤ thσ firs⌠ tracδ t∩ bσ reaΣ ì
  193. in¼á anΣá iµ aε 8░ tracδ divσ ha≤ beeε fitteΣ t∩ ß 56δá machine¼á thσá boo⌠ ì
  194. secto≥á caε contaiε codσ t∩ re-initializσ thσ scratcΦ location«á Thu≤ ß ne≈ ì
  195. boo⌠ roφ i≤ no⌠ requireΣ wheε switchinτ thσ boo⌠ drivσ froφ 4░ t∩ 8░á tracδ ì
  196. (i⌠ get≤ ß bi⌠ ~embarrassinτ goinτ t∩ thσ hai≥ dresser'≤ t∩ erasσ eproms!)« ╔ ì
  197. includeΣá codσ iε thσ disposablσ sectioε oµ thσ bio≤ (alonτ witΦ thσ signoε ì
  198. message⌐á t∩ initializσ thσ scratcΦ location«á Thi≤ let≤ thσ modifieΣá bio≤ ì
  199. worδ O╦ witΦ aε unmodifieΣ boo⌠ roφ - bu⌠ no⌠ witΦ 80/4░ tracδ support.
  200.  
  201.      Iε norma∞ operation¼á thσ scratcΦ locatioε (calleΣ trk_dat⌐ i≤ updateΣ ì
  202. eacΦ timσ ß cal∞ i≤ madσ t∩ 'hsetup'¼á beforσ ß reaΣ o≥ write¼ thi≤ routinσ ì
  203. get≤ thσ dup_dowε flaτ - t∩ seσ iµ ß cylinde≥ forma⌠ i≤ used¼á thσ modifieΣ ì
  204. routine¼ als∩ checδ thi≤ flaτ fo≥ 8░ o≥ 4░ track¼ anΣ load≤ thσ appropriatσ ì
  205. datß int∩ trk_dat«á (o≥ thσ appropriatσ location≤ withiε thσ roφ imagσá fo≥ ì
  206. thσá CIAB)«á Agaiεá ver∙ fe≈ extrß instruction≤á beinτá performed¼á causinτ ì
  207. minima∞ timinτ delays«á ┴ sidσ effec⌠ i≤ tha⌠ shoulΣ aε applicatioε prograφ ì
  208. clobbe≥á trk_dat¼á whils⌠á running¼á wheεá i⌠ come≤ t∩ writσ t∩á thσá disk¼ ì
  209. trk_da⌠á i≤ restored¼á thi≤ ma∙ resul⌠ iε corrup⌠ datß beinτ placeΣ oεá thσ ì
  210. disk¼ bu⌠ a⌠ leas⌠ thσ datß wil∞ g∩ wherσ intendeΣ anΣ no⌠ destro∙ thσ res⌠ ì
  211. oµ thσ disδ contents.
  212.  
  213. An∙ enquiries, suggested improvements etc.,
  214. leavσ ß messagσ oε MBU╟ bulletiε boarΣ fo≥;á SIMO╬ GERRATY.
  215.