home *** CD-ROM | disk | FTP | other *** search
- 128k/256k CCP Fix
- by Richard Browne
-
- Havσá yo⌡ eve≥ wondereΣ wh∙ yo⌡ canno⌠ usσ program≤ likσá DESPOO╠ ì
- oεá you≥ 128δ B-Shel∞ system┐á O≥ wh∙ COP┘ mysteriousl∙á crashe≤ ì
- afte≥á copyinτá ß fe≈ files┐á Beforσ presentinτ m∙á solutioεá t∩ ì
- this¼ somσ backgrounΣ oε wh∙ thi≤ probleφ occur≤ i≤ iε order«
-
- DESPOO╠á anΣá QUIKKE┘á arσá botΦ example≤á oµá programme≤á termeΣ ì
- 'memor∙ resident'«á Thi≤ mean≤ tha⌠ wheε run¼á thσ prograφá wil∞ ì
- reservσá itselµá somσá memor∙ anΣ theε pas≤ contro∞ bacδá t∩á thσ ì
- operatinτá systeφ (iε ou≥ casσ CP/═ 2.2)«á Thσ prograφ wil∞á theε ì
- sta∙á iεá memory¼á monitorinτá thσá system¼á anΣá performinτá it≤ ì
- specifiπá functioεá (bσá i⌠á keyboarΣá redefinitioεá o≥áá printe≥ ì
- (de)spoolinτá o≥ whatever)«á Thσ maiε poin⌠ t∩ understanΣ i≤ tha⌠ ì
- sucΦá ßá programmσ wi∞ hidσ itselµ somewherσ ou⌠ oµ thσá wa∙á anΣ ì
- operatσá ALON╟á SID┼ othe≥ programs¼á anΣ tha⌠ botΦá thesσá othe≥ ì
- program≤ anΣ thσ operatinτ systeφ arσ obliviou≤ t∩ it≤á presence« ì
- Thi≤á i≤á actuall∙ ß primitivσ forφá oµá multitasking¼á sometime≤ ì
- calleΣá 'serialº multitaskinτ - becausσ onl∙ onσ thinτ caε happeε ì
- a⌠ ß time.
-
- Thσá programmσá mode∞á outlineΣ abovσ perform≤ wha⌠ i≤á knowεá a≤ ì
- 'backgrounΣá processing'«á Tha⌠ is¼á i⌠ doe≤ it≤ joΓ 'behinΣá thσ ì
- scenes'¼á s∩ t∩ speak¼á whils⌠ ß maiε prograφ run≤ a≤ norma∞ - iε ì
- thσ 'foreground'«á Usinτ CP/═ │ nomenclature¼á sucΦ program≤á arσ ì
- knowε a≤ 'RSX's¼ whicΦ stand≤ fo≥ Residen⌠ Systeφ Extensions« DO╙ ì
- user≤á wil∞ bσ morσ familia≥ witΦ thσ terφ TSR¼á whicΦ stand≤ fo≥ ì
- Terminatσ anΣ Sta∙ Resident« BotΦ RS╪ anΣ TS╥ arσ differen⌠ name≤ ì
- fo≥ thσ samσ thing.
-
- Well¼ s∩ fa≥ s∩ good╗ bu⌠ no≈ fo≥ thσ harΣ part« Thi≤ i≤ al∞ ver∙ ì
- nicσ iε theory¼á bu⌠ iε practicσ thing≤ arσ no⌠ s∩ good« Thσ maiε ì
- probleφá i≤ tha⌠ CP/═ (anΣ DO╙ fo≥ tha⌠ matter⌐ arσ singlσá user¼ ì
- singlσ taskinτ operatinτ systems«á Thσ upsho⌠ oµ whicΦ i≤ tha⌠ i⌠ ì
- i≤ difficul⌠ t∩ havσ tw∩ program≤ runninτ a⌠ thσ samσá time«á Thσ ì
- wa∙ i⌠ i≤ donσ iε CP/═ (prio≥ t∩ releasσ 3⌐ i≤ b∙ loadinτ thσ RS╪ ì
- int∩á thσá to≡ oµ thσ TPA¼á anΣ theε resettinτ thσ to≡ oµá memor∙ ì
- pointe≥ s∩ a≤ t∩ makσ thσ RS╪ 'invisible'«
-
- 'AnΣ ho≈ doe≤ onσ determinσ thσ to≡ oµ memory?'¼á ╔ hea≥ yo⌡ ask« ì
- Well¼ al∞ tha⌠ need≤ t∩ bσ donσ i≤ t∩ finΣ ou⌠ thσ addres≤ oµ thσ ì
- BDO╙ cal∞ vecto≥ froφ location≤ 06╚ anΣ 07H«á Now¼á remembe≥ tha⌠ ì
- thesσá programme≤á mus⌠á ruε iε conjunctioεá witΦá thσá operatinτ ì
- system¼ s∩ iµ thσ basσ oµ thσ BDO╙ wa≤ useΣ a≤ thσ to≡ oµ memory¼ ì
- thσ RS╪ woulΣ tr∙ t∩ occup∙ thσ samσ memor∙ a≤ thσ CCP╗á needles≤ ì
- t∩ say¼á thi≤ i≤ impossible¼á anΣ thσ systeφ woulΣ crash« S∩ thσ ì
- RS╪á ha≤ n∩ choicσ bu⌠ t∩ assumσ tha⌠ thσ CC╨ i≤ ß standard¼á anΣ ì
- tha⌠á i⌠ begin≤ 800╚ byte≤ belo≈ thσ BDOS«á Thu≤ thσ standarΣ ha≤ ì
- beeεá se⌠á tha⌠á thσ CP/═ ▓ CC╨ (anΣ it≤á derivatives⌐á mus⌠á no⌠ ì
- exceeΣ 800╚ byte≤ iε length.
-
-
- Wheεá implementinτ hi≤ versioε oµ ZCP╥ (ß publiπ domaiε CP/═á CC╨ ì
- replacement⌐ fo≥ thσ MicroBee¼á thσ persoε wh∩ wrotσ thσ MicroBeσ ì
- BIO╙á decideΣá t∩ breaδ al∞ thσ rule≤ anΣ makσ thσ CC╨ ove≥á 800╚ ì
- byte≤á long«á Thσ reasoε fo≥ thi≤ i≤ portabilit∙ acros≤ differen⌠ ì
- BIO╙ versions¼á bu⌠ tha⌠ i≤ to∩ complicateΣ t∩ g∩ int∩ here«á Thσ ì
- upsho⌠á oµ thi≤ largσ CC╨ i≤ tha⌠ ....yo⌡ gueseΣ it...«á nonσá oµ ì
- thosσ RS╪ programme≤ wil∞ run«
-
- Therσá i≤á anothe≥á probleφá whicΦá caεá arrise║á tha⌠á whicΦá i≤ ì
- encountereΣá witΦ COPY.COM«á Thi≤ prograφ wil∞ attemp⌠ t∩ reaΣ a≤ ì
- mucΦ oµ thσ file≤ int∩ memor∙ a≤ i⌠ caε wheε copying¼ fo≥ obviou≤ ì
- reason≤á oµ speed«á However¼á COP┘ trie≤ t∩ leavσ thσ CC╨á intac⌠ ì
- 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∩ ì
- ß quicδ RE╘ t∩ thσ CC╨ a⌠ thσ enΣ oµ COPYing¼á a≤ opposeΣ t∩ WAR═ ì
- BOOTinτá thσá systeφ witΦ ß "J╨ 0"«á WitΦ thσá non-standarΣá CCP¼ ì
- however¼á thσ CC╨ wil∞ havσ beeε partl∙ overwritten¼á anΣ tha⌠ i≤ ì
- why the program will crash after copying more than about 50k.
-
- No≈ fo≥ m∙ solutioε t∩ thσ problem« ╔ havσ obtaineΣ ß cop∙ oµ thσ ì
- ZCP╥á versioε ▓ source¼á anΣ adapteΣ i⌠ t∩ assemblσ t∩ ßá CCP.SY╙ ì
- filσá a≤á requireΣ b∙ thσ 'Bee'≤ BIOS«á Thi≤ ZCP╥ i≤á withiεá thσ ì
- lega∞á limits¼á anΣá wil∞ allo≈ yo⌡ t∩ ruε AL╠ standarΣ RS╪á typσ ì
- programmes«á Actually¼á it≤ lengtΦ i≤ exactl∙ 800╚á bytes¼á whicΦ ì
- give≤ yo⌡ somσ ideß oµ ho≈ tigh⌠ thing≤ are« Becausσ thσ CC╨ mus⌠ ì
- ruεá 800╚á byte≤ belo≈ thσ BDO╙ t∩ bσ system¼á yo⌡ mus⌠á usσá thσ ì
- versioεá whicΦ ha≤ beeε assembleΣ fo≥ you≥ BIOS«á Mos⌠ 128δ BIOS≤ ì
- begiεá a⌠ E700H¼á bu⌠ thσ newe≥ BIO╙ supplieΣ witΦ thσ mousσá anΣ ì
- thσá 256T├ i≤ ORGeΣ a⌠ E400H«á Thus¼á tw∩ file≤ arσá provideΣá t∩ ì
- accomodatσá this«á Thσá firs⌠ i≤ CCPE700.SYS¼á anΣ thσá othe≥á i≤ ì
- CCPE400.SYS«á Simpl∙á renamσ thσ onσ whicΦ i≤ applicablσ t∩á you≥ ì
- system to CCP.SYS and away you go!
-
- Tw∩á smal∞á points║á Iµ yo⌡ tr∙ t∩ ruε ß CCP.SY╙ whicΦá ha≤á beeε ì
- assembleΣ fo≥ thσ wronτ origin¼ yo⌡ wil∞ ge⌠ ß tersσ messagσ likσ ì
- 'BIOS!ºá o≥ something¼á anΣ probabl∙ ß beep¼á anΣ theε thσ systeφ ì
- wil∞ locδ up«á Sorr∙ fo≥ this¼á bu⌠ therσ was jus⌠ no⌠ rooφ t∩ d∩ ì
- anythinτá les≤á drastic«á Als∩á thσ ER┴á commanΣá work≤á slightl∙ ì
- differently¼á thσá interactivσ ER┴ commanΣ implementeΣ iε thσá M╙ ì
- CCP.SY╙á seem≤ t∩ bσ ß custoφ patch¼á bu⌠ therσ jus⌠ ain'⌠á spacσ ì
- for it in mine I'm afraid.
-
- Herσá i≤á ßá lis⌠á oµ programme≤ whicΦ don'⌠ worδá witΦá thσá CC╨ ì
- supplieΣáá b∙á MS¼áá bu⌠á shoulΣá worδá witΦá thσá ne≈áá CCP.SYS║ ì
- DESPOOL¼á QWIKKEY¼á COP┘ anΣ man∙ othe≥ simila≥ programmes¼á VLU¼ ì
- somσá program≤ compileΣ witΦ BD╙ C¼á anΣ al∞ oµ Julaiε Loke'≤ RS╪ ì
- programmes«á Therσá arσ man∙ morσ program≤ (mostl∙ iε thσá publiπ ì
- domain⌐ whicΦ fal∞ int∩ thi≤ catergory¼á bu⌠ ╔ can'⌠ thinδ oµ an∙ ì
- morσ righ⌠ now.
-
- B∙á thσ way¼á thi≤ probleφ wa≤ addresseΣ b∙ MS╗á oε m∙á origiona∞ ì
- maste≥á disδ wa≤ ß filσ calleΣ DRICCP.SYS«á Thi≤ wa≤ ß versioε oµ ì
- thσá 'stocδ standardº CC╨ a≤ supplieΣ b∙á Digita∞á Research«á Al∞ ì
- tha⌠á needeΣ t∩ bσ donσ wa≤ t∩ renamσ thi≤ filσ t∩ CCP.SY╙ anΣ i⌠ ì
- coulΣ bσ useΣ insteaΣ oµ thσ norma∞ ZCP╥ CCP.SYS«á However¼á thi≤ ì
- DRICC╨ i≤ s∩ primitivσ compareΣ t∩ ZCP╥ tha⌠ i⌠ wa≤ neve≥á reall∙ ì
- iε thσ running«á ╔ diΣ no⌠ receivσ thi≤ filσ oε m∙ Premiuφ wheε ╔ ì
- upgraded¼á anΣá i⌠á definatel∙ doe≤ no⌠ comσ witΦ thσá 256TC«á Iε ì
- fact¼á thσá 256T├á doe≤ no⌠ seeφ t∩ comσ witΦ an∙á standarΣá CP/═ ì
- utilitiesíá I'φá surσá tha⌠ thi≤ mus⌠ bσ ßá breacΦá oµá licensinτ ì
- agreemen⌠ oε thσ par⌠ oµ MicroBeσ (o≥ whoweve≥ own≤ i⌠á now)¼á a≤ ì
- ever∙ CP/═ systeφ i≤ supposeΣ t∩ comσ witΦ DDT¼ ASM¼ E─ etc.
-
- ╔ havσ placeΣ thσ ▓ objec⌠ file≤ mentioned¼á thi≤ articlσ anΣ thσ ì
- sourcσ file≤ iε ß librar∙ calleΣ CCPFIX.LBR«á Unfortunatel∙ ╔á d∩ ì
- no⌠ havσ ß modem¼ bu⌠ ╔ wil∞ asδ thσ edito≥ t∩ uploaΣ thσ librar∙ ì
- ont∩ thσ MBUG RBBS.