home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug133.arc / CCPFIX.LBR / CCPFIX.DZC / CCPFIX.DOC
Text File  |  1979-12-31  |  7KB  |  120 lines

  1.                         128k/256k CCP Fix
  2.                         by Richard Browne
  3.  
  4. Havσá yo⌡ eve≥ wondereΣ wh∙ yo⌡ canno⌠ usσ program≤ likσá DESPOO╠ ì
  5. oεá you≥ 128δ B-Shel∞ system┐á  O≥ wh∙ COP┘ mysteriousl∙á crashe≤ ì
  6. afte≥á copyinτá ß fe≈ files┐á  Beforσ presentinτ m∙á solutioεá t∩ ì
  7. this¼ somσ backgrounΣ oε wh∙ thi≤ probleφ occur≤ i≤ iε order« 
  8.  
  9. DESPOO╠á anΣá QUIKKE┘á arσá botΦ example≤á oµá programme≤á termeΣ ì
  10. 'memor∙ resident'«á  Thi≤ mean≤ tha⌠ wheε run¼á thσ prograφá wil∞ ì
  11. reservσá itselµá somσá memor∙ anΣ theε pas≤ contro∞ bacδá t∩á thσ ì
  12. operatinτá systeφ (iε ou≥ casσ CP/═ 2.2)«á Thσ prograφ wil∞á theε ì
  13. sta∙á iεá memory¼á monitorinτá thσá system¼á anΣá performinτá it≤ ì
  14. specifiπá functioεá (bσá i⌠á keyboarΣá redefinitioεá o≥áá printe≥ ì
  15. (de)spoolinτá o≥ whatever)«á Thσ maiε poin⌠ t∩ understanΣ i≤ tha⌠ ì
  16. sucΦá ßá programmσ wi∞ hidσ itselµ somewherσ ou⌠ oµ thσá wa∙á anΣ ì
  17. operatσá ALON╟á SID┼ othe≥ programs¼á anΣ tha⌠ botΦá thesσá othe≥ ì
  18. program≤ anΣ thσ operatinτ systeφ arσ obliviou≤ t∩ it≤á presence« ì
  19. Thi≤á i≤á actuall∙ ß primitivσ forφá oµá multitasking¼á sometime≤ ì
  20. calleΣá 'serialº multitaskinτ - becausσ onl∙ onσ thinτ caε happeε ì
  21. a⌠ ß time.
  22.  
  23. Thσá programmσá mode∞á outlineΣ abovσ perform≤ wha⌠ i≤á knowεá a≤ ì
  24. 'backgrounΣá processing'«á Tha⌠ is¼á i⌠ doe≤ it≤ joΓ 'behinΣá thσ ì
  25. scenes'¼á s∩ t∩ speak¼á whils⌠ ß maiε prograφ run≤ a≤ norma∞ - iε ì
  26. thσ 'foreground'«á Usinτ CP/═ │ nomenclature¼á sucΦ program≤á arσ ì
  27. knowε a≤ 'RSX's¼ whicΦ stand≤ fo≥ Residen⌠ Systeφ Extensions« DO╙ ì
  28. user≤á wil∞ bσ morσ familia≥ witΦ thσ terφ TSR¼á whicΦ stand≤ fo≥ ì
  29. Terminatσ anΣ Sta∙ Resident« BotΦ RS╪ anΣ TS╥ arσ differen⌠ name≤ ì
  30. fo≥ thσ samσ thing.
  31.  
  32. Well¼ s∩ fa≥ s∩ good╗ bu⌠ no≈ fo≥ thσ harΣ part« Thi≤ i≤ al∞ ver∙ ì
  33. nicσ iε theory¼á bu⌠ iε practicσ thing≤ arσ no⌠ s∩ good« Thσ maiε ì
  34. probleφá i≤ tha⌠ CP/═ (anΣ DO╙ fo≥ tha⌠ matter⌐ arσ singlσá user¼ ì
  35. singlσ taskinτ operatinτ systems«á Thσ upsho⌠ oµ whicΦ i≤ tha⌠ i⌠ ì
  36. i≤ difficul⌠ t∩ havσ tw∩ program≤ runninτ a⌠ thσ samσá time«á Thσ ì
  37. wa∙ i⌠ i≤ donσ iε CP/═ (prio≥ t∩ releasσ 3⌐ i≤ b∙ loadinτ thσ RS╪ ì
  38. int∩á thσá to≡ oµ thσ TPA¼á anΣ theε resettinτ thσ to≡ oµá memor∙ ì
  39. pointe≥ s∩ a≤ t∩ makσ thσ RS╪ 'invisible'«
  40.  
  41. 'AnΣ ho≈ doe≤ onσ determinσ thσ to≡ oµ memory?'¼á ╔ hea≥ yo⌡ ask« ì
  42. Well¼ al∞ tha⌠ need≤ t∩ bσ donσ i≤ t∩ finΣ ou⌠ thσ addres≤ oµ thσ ì
  43. BDO╙ cal∞ vecto≥ froφ location≤ 06╚ anΣ 07H«á Now¼á remembe≥ tha⌠ ì
  44. thesσá programme≤á mus⌠á ruε iε conjunctioεá witΦá thσá operatinτ ì
  45. system¼ s∩ iµ thσ basσ oµ thσ BDO╙ wa≤ useΣ a≤ thσ to≡ oµ memory¼ ì
  46. thσ RS╪ woulΣ tr∙ t∩ occup∙ thσ samσ memor∙ a≤ thσ CCP╗á needles≤ ì
  47. t∩ say¼á thi≤ i≤ impossible¼á anΣ thσ systeφ woulΣ crash«  S∩ thσ ì
  48. RS╪á ha≤ n∩ choicσ bu⌠ t∩ assumσ tha⌠ thσ CC╨ i≤ ß standard¼á anΣ ì
  49. tha⌠á i⌠ begin≤ 800╚ byte≤ belo≈ thσ BDOS«á Thu≤ thσ standarΣ ha≤ ì
  50. beeεá se⌠á tha⌠á thσ CP/═ ▓ CC╨ (anΣ it≤á derivatives⌐á mus⌠á no⌠ ì
  51. exceeΣ 800╚ byte≤ iε length.
  52.  
  53.  
  54. Wheεá implementinτ hi≤ versioε oµ ZCP╥ (ß publiπ domaiε CP/═á CC╨ ì
  55. replacement⌐ fo≥ thσ MicroBee¼á thσ persoε wh∩ wrotσ thσ MicroBeσ ì
  56. BIO╙á decideΣá t∩ breaδ al∞ thσ rule≤ anΣ makσ thσ CC╨ ove≥á 800╚ ì
  57. byte≤á long«á Thσ reasoε fo≥ thi≤ i≤ portabilit∙ acros≤ differen⌠ ì
  58. BIO╙ versions¼á bu⌠ tha⌠ i≤ to∩ complicateΣ t∩ g∩ int∩ here«á Thσ ì
  59. upsho⌠á oµ thi≤ largσ CC╨ i≤ tha⌠ ....yo⌡ gueseΣ it...«á nonσá oµ ì
  60. thosσ RS╪ programme≤ wil∞ run«
  61.  
  62. Therσá i≤á anothe≥á probleφá whicΦá caεá arrise║á tha⌠á whicΦá i≤ ì
  63. encountereΣá witΦ COPY.COM«á Thi≤ prograφ wil∞ attemp⌠ t∩ reaΣ a≤ ì
  64. mucΦ oµ thσ file≤ int∩ memor∙ a≤ i⌠ caε wheε copying¼ fo≥ obviou≤ ì
  65. reason≤á oµ speed«á However¼á COP┘ trie≤ t∩ leavσ thσ CC╨á intac⌠ ì
  66. durinτá it≤á operation¼á anΣ i⌠ use≤ thσ samσ tricδ a≤á RSX≤á fo≥ ìèdetermininτ thσ to≡ oµ memory/CC╨ base« Thi≤ i≤ s∩ tha⌠ i⌠ caε d∩ ì
  67. ß quicδ RE╘ t∩ thσ CC╨ a⌠ thσ enΣ oµ COPYing¼á a≤ opposeΣ t∩ WAR═ ì
  68. BOOTinτá thσá systeφ witΦ ß "J╨ 0"«á WitΦ thσá non-standarΣá CCP¼ ì
  69. however¼á thσ CC╨ wil∞ havσ beeε partl∙ overwritten¼á anΣ tha⌠ i≤ ì
  70. why the program will crash after copying more than about 50k.
  71.  
  72. No≈ fo≥ m∙ solutioε t∩ thσ problem« ╔ havσ obtaineΣ ß cop∙ oµ thσ ì
  73. ZCP╥á versioε ▓ source¼á anΣ adapteΣ i⌠ t∩ assemblσ t∩ ßá CCP.SY╙ ì
  74. filσá a≤á requireΣ b∙ thσ 'Bee'≤ BIOS«á Thi≤ ZCP╥ i≤á withiεá thσ ì
  75. lega∞á limits¼á anΣá wil∞ allo≈ yo⌡ t∩ ruε AL╠ standarΣ RS╪á typσ ì
  76. programmes«á Actually¼á it≤ lengtΦ i≤ exactl∙ 800╚á bytes¼á whicΦ ì
  77. give≤ yo⌡ somσ ideß oµ ho≈ tigh⌠ thing≤ are« Becausσ thσ CC╨ mus⌠ ì
  78. ruεá 800╚á byte≤ belo≈ thσ BDO╙ t∩ bσ system¼á yo⌡ mus⌠á usσá thσ ì
  79. versioεá whicΦ ha≤ beeε assembleΣ fo≥ you≥ BIOS«á Mos⌠ 128δ BIOS≤ ì
  80. begiεá a⌠ E700H¼á bu⌠ thσ newe≥ BIO╙ supplieΣ witΦ thσ mousσá anΣ ì
  81. thσá 256T├ i≤ ORGeΣ a⌠ E400H«á Thus¼á tw∩ file≤ arσá provideΣá t∩ ì
  82. accomodatσá this«á Thσá firs⌠ i≤ CCPE700.SYS¼á anΣ thσá othe≥á i≤ ì
  83. CCPE400.SYS«á Simpl∙á renamσ thσ onσ whicΦ i≤ applicablσ t∩á you≥ ì
  84. system to CCP.SYS and away you go!
  85.  
  86. Tw∩á smal∞á points║á Iµ yo⌡ tr∙ t∩ ruε ß CCP.SY╙ whicΦá ha≤á beeε ì
  87. assembleΣ fo≥ thσ wronτ origin¼ yo⌡ wil∞ ge⌠ ß tersσ messagσ likσ ì
  88. 'BIOS!ºá o≥ something¼á anΣ probabl∙ ß beep¼á anΣ theε thσ systeφ ì
  89. wil∞ locδ up«á Sorr∙ fo≥ this¼á bu⌠ therσ was jus⌠ no⌠ rooφ t∩ d∩ ì
  90. anythinτá les≤á drastic«á Als∩á thσ ER┴á commanΣá work≤á slightl∙ ì
  91. differently¼á thσá interactivσ ER┴ commanΣ implementeΣ iε thσá M╙ ì
  92. CCP.SY╙á seem≤ t∩ bσ ß custoφ patch¼á bu⌠ therσ jus⌠ ain'⌠á spacσ ì
  93. for it in mine I'm afraid.
  94.  
  95. Herσá i≤á ßá lis⌠á oµ programme≤ whicΦ don'⌠ worδá witΦá thσá CC╨ ì
  96. supplieΣáá b∙á MS¼áá bu⌠á shoulΣá worδá witΦá thσá ne≈áá CCP.SYS║ ì
  97. DESPOOL¼á QWIKKEY¼á COP┘ anΣ man∙ othe≥ simila≥ programmes¼á VLU¼ ì
  98. somσá program≤ compileΣ witΦ BD╙ C¼á anΣ al∞ oµ Julaiε Loke'≤ RS╪ ì
  99. programmes«á Therσá arσ man∙ morσ program≤ (mostl∙ iε thσá publiπ ì
  100. domain⌐ whicΦ fal∞ int∩ thi≤ catergory¼á bu⌠ ╔ can'⌠ thinδ oµ an∙ ì
  101. morσ righ⌠ now.
  102.  
  103. B∙á thσ way¼á thi≤ probleφ wa≤ addresseΣ b∙ MS╗á oε m∙á origiona∞ ì
  104. maste≥á disδ wa≤ ß filσ calleΣ DRICCP.SYS«á Thi≤ wa≤ ß versioε oµ ì
  105. thσá 'stocδ standardº CC╨ a≤ supplieΣ b∙á Digita∞á Research«á Al∞ ì
  106. tha⌠á needeΣ t∩ bσ donσ wa≤ t∩ renamσ thi≤ filσ t∩ CCP.SY╙ anΣ i⌠ ì
  107. coulΣ bσ useΣ insteaΣ oµ thσ norma∞ ZCP╥ CCP.SYS«á However¼á thi≤ ì
  108. DRICC╨ i≤ s∩ primitivσ compareΣ t∩ ZCP╥ tha⌠ i⌠ wa≤ neve≥á reall∙ ì
  109. iε thσ running«á ╔ diΣ no⌠ receivσ thi≤ filσ oε m∙ Premiuφ wheε ╔ ì
  110. upgraded¼á anΣá i⌠á definatel∙ doe≤ no⌠ comσ witΦ thσá 256TC«á Iε ì
  111. fact¼á thσá 256T├á doe≤ no⌠ seeφ t∩ comσ witΦ an∙á standarΣá CP/═ ì
  112. utilitiesíá I'φá surσá tha⌠ thi≤ mus⌠ bσ ßá breacΦá oµá licensinτ ì
  113. agreemen⌠ oε thσ par⌠ oµ MicroBeσ (o≥ whoweve≥ own≤ i⌠á now)¼á a≤ ì
  114. ever∙ CP/═ systeφ i≤ supposeΣ t∩ comσ witΦ DDT¼ ASM¼ E─ etc.
  115.  
  116. ╔ havσ placeΣ thσ ▓ objec⌠ file≤ mentioned¼á thi≤ articlσ anΣ thσ ì
  117. sourcσ file≤ iε ß librar∙ calleΣ CCPFIX.LBR«á Unfortunatel∙ ╔á d∩ ì
  118. no⌠ havσ ß modem¼ bu⌠ ╔ wil∞ asδ thσ edito≥ t∩ uploaΣ thσ librar∙ ì
  119. ont∩ thσ MBUG RBBS.
  120.