TOSy - aneb od TOSu4.1 po RSTos3.7¢R.③t%rba, RASTER¢¢¢V dob*ch, kdy disketov[ jednotky pro mal[ At*rko byly jen v`sadou t%ch majetn%j&)ch, a u ostatn)ch vl*dl coby ]lo(n[ za@)zen) dataset s ]pravou TURBO 2000, se m)sto DOS+ pou()valy TOSy - turbo opera'n) syst[my. Nejzn*m%j&) legendou je TOS4.1 od Milana ②)hy. ¢Na rozd)l od DOS+ se pod p)smenem "D:" neskr`v* p@)stup na disketu, ale form*t TURBO 2000 - kilov[ bloky. I kdy( leckdo z pa@an+ tento form*t odsuzoval, pro v`voj*@e byla jeho existence p@)mo kl)'ov*, nebo④ otev)rala do t[ doby netu&en[ mo(nosti pr*ce se spoustou program+ a hlavn%, ukl*d*n) v`stup+ z nich na kazetu v T2000 kilov[ bloky. Krom toho um%l TOS pracovat s klasick`m T2000 "souvisl`m" form*tem, co( bylo dobr[ pro ukl*d*n) dat um)st%n`ch v pam%ti a posl[ze jejich op%tovn[ na')t*n).¢¢Pro v`voj*@skou 'innost jsem m%l n%kolik kazet se syst[mov`mi programy, uspo@*dan`mi v posloupnostech jak se postupn% nahr*vali. Nejpou()van%j&) po@ad) bylo toto: TURBO2000 zavad%', TOS4.1, MACMON65. Tato sada v&ak m%la jeden probl[m - nenahr*la se automaticky. Bylo nutn[ vy'kat, a( se na'etl turbo zavad%', ten odklepnout, odklepnout hlavi'ku TOSu4.1, po nahr*n) TOSu zadat Load, D:, a a( se na'etl MACMON, spustit ho povelem RUN? Yes. ②eknete si banalita, ale zapom)n*te, (e p@i v`voji n%jak[ho assemblerov[ho programu to vypad* tak ╱aspo u m% to tak vypadalo$, (e p)&ete zdroj*k, po n%jak[ dob% si ho ulo()te na kazetu, zkompilujete, p@ejdete do MONitoru a spust)te ho. Pak teprve zjist)te, (e n%co nefunguje - respektive, (e to co nefunguje p@epsalo v pam%ti r+zn* m)sta a po RESETu n*sleduje bu⇦to p@)mo zatuhnut) po')ta'e, nebo se sice do MACMONu dostanete, ale ten je n%jak naru&en` a je stejn% nutn[ v&ecko vypnout a na')st znovu. No a proto(e tato situace se v b%(n[m dni program*tora opakovala mnohokr*te ╱@*dov% v des)tk*ch "cykl+"$, bylo nutn[ si n%jak pomoci.¢¢Tak(e ok, pustil jsem se do vlastn)ch ]prav TOSu4.1. ╱Snad mi Milan ②)ha promine. ;-$$¢¢V prvn) f*zi jsem cht%l p@idat do TOSu n%kter[ dal&) funkce, kter[ mi sch*zely, a naopak "osekat" zbytek co jsem nepou()val. ¢V`sledkem byl prvn) RSTos3.1, jen( oproti origin*lu opl`val n*sleduj)c)mi vlastnostmi:¢¢Load¢Vyru&en) dotazu "Spec:", nebo④ jsem n*zev nikdy nezad*val - co se na'te je p@ece d*no t)m, kam se p@eto') p*ska. Dotaz na spu&t%n) programu se neobjevoval a( po na'ten), ale u( u hlavi'ky. N%kter[ programy toti( zasahovaly a( do obrazov[ pam%ti a zobrazen) dotazu "RUN? ╱Y/N$" je naru&ilo.¢¢Turbosave Basic¢Tak tohle je unikum! Pamatujete si na progr*mky, kter[ um%ly na')st Basicov` program v klasice ╱ulo(en` p@es CSAVE$ a vyprodukovaly samospustiteln` T2000 v`stup? Tak tohle um) RSTos3.1 taky, ov&em nen) nutn[ nic v klasice ukl*dat. Pokud jste toti( pod t)mto TOSem p@e&li do BASICu a napsali progr*mek, sta'ilo pak sko'it do TOSu ╱povelem DOS$ a p@es tuto volbu ulo(it do samospustiteln[ho T2000. Nav)c bylo mo(n[ stanovit d[lku z*znamu, a t)m spolu s BASIC programem ulo(it t@eba strojov[ podprogramy uchovan[ v pam%ti ╱pokud mo(no um)st%n[ kousek za koncem Basicu$, znakov[ sady a podobn%.¢¢Verify¢Verifikace z*znamu T2000. Tohle mi u p+vodn)ho TOSu moc chyb%lo. Kdy( jsem si toti( ukl*dal n%jakou pam%④ovou oblast na kazetu do T2000, ne&lo ov%@it, zda je z*znam v po@*dku. Pokud se to testovalo funkc) Load, hrozilo, (e nastane chyba a data v pam%ti si naru&)te - nav)c zde st*le byla jist* ╱sice mal*, ale p@ece jen$ pravd%podobnost, (e z*znam na')st p+jde, ale bude v n%m n%jak* z*m%na bit+ ╱kterou jedin` z*v%re'n` kontroln) sou'et neodhal)$.¢¢Move¢P@en*&en) blok+ pam%ti. Implementov*no v'etn% p@enosu "pod ROM", tak(e &lo vyu()vat cel` rozsah pam%ti.¢¢Erase¢Maz*n) bloku pam%ti.¢¢Odstran%n) funkce Duplicate T2000 program¢Na kop)rov*n) T2000 soubor+ se pou()valy specializovan[ kop)r*ky.¢¢Odstran%n) Ramdisku D8:¢V programech jsem vyu()val pam%④ "pod ROM", tak(e ramdisk nemohl b`t pou(it.¢¢Aby se mi TOS p@)li& nenafouknul, provedl jsem nakonec v`razn[ zkr*cen) v&ech vypisovan`ch text+. D)ky tomu se nakonec poda@ilo dos*hnout stejn[ velikosti jako m%l p+vodn) TOS4.1, tj. LOMEM je op%t ◆1771¢╱6001$.¢¢Pak p@i&la na @adu druh* variace RSTos3.7, ve kter[ ji( &lo o optimalizaci verze 3.1 s c)lem pln% automatizovat zav*d%n) programu MACMON a vy@adit funkce, kter[ p@i pr*ci s MACMONem neb`vaj) pot@ebn[.¢¢Nov[ vlastnosti v RSTos3.7:¢¢Load ╱Auto/From$¢Po nahr*n) tohoto TOSu se automaticky vyvol* funkce T2000 autoload, kter* bez jak`chkoliv dal&)ch dotaz+ na'te T2000 program. Pokud toto nen) (*douc), sta') kl*vesou Break na')t*n) stopnout a kl*vesou Return vyvolat nab)dku. Re(im funkce Load se d* p@ep)nat - bu⇦ je A ╱automatick[ zav*d%n)$, nebo F ╱from$ - v tomto p@)pad% lze po na'ten) hlavi'ky stanovit, na jakou adresu se program bude na')tat ╱]daje v hlavi'ce jsou pak ignorov*ny$. ¢¢Vyhozen) Turbosave Basic funkce¢P@i pr*ci s MACMONem nen) tato funkce pot@ebn*.¢¢Goto a Jsr¢Skok ╱Goto$ na zadanou adresu tu byl ji( d@)ve, ale n%kdy v`voj*@ m+(e pot@ebovat skok do rutiny kon')c) RTS, pak se hod) JSR varianta.¢¢Zbytek z+stal. RSTos3.7 m* d)ky minimaliza'n)m ]prav*m LOMEM ◆16DD ╱5853$.¢¢A je&t% n%co:¢Pokud nahrad)te zavad%' TURBO2000 lep&)m zavad%'em UniTurbo, kter` sta'ilo odklepnout p@edem ╱kliknut) 'ekalo v kl*vesnicov[m bufferu a po na'ten) zavad%'e se teprve provedlo$, pak RSTos3.7 po spu&t%n) za'al t[( hned s*m na')tat MACMON65. Cel[ to tedy nakonec fungovalo tak, (e jsem p@i "vytuhnut)" po')ta'e p@eto'il p*sku na za'*tek, po zapnut) po')ta'e za'al na')tat UniTurbo zavad%', jednou ④uknul na mezern)k a &el pry' ╱tj. do ledni'ky na sv*'u, nap)t se, na z*chod, prost% kamkoliv$. Kdy( jsem se tak po 3 minut*ch vr*til, 'ekal na m% p@ipraven` MACMON65 s funk'n)m za@)zen)m D: ╱T2000 kilov[ bloky$ a mohl jsem za')t programovat. Hm, tedy nejd@)v jsem musel je&t% na')st posledn) verzi zdroj*ku - tohle u( se mi automatizovat nepoda@ilo. ;-$¢¢Ob% tyto verze RSTosu d*v*m k voln[mu &)@en) - t@eba se je&t% najde n%jak` "kazet*@", kter[mu se budou hodit. Jen pro jistotu znovu opakuji, ka(d* verze m* sv[ speci*ln) funkce a v`hody a je ur'ena pro jin` ]'el:¢RSTos3.1 pro samostatn[ pou(it), p@)padn% pro vytv*@en) samospustiteln`ch program+ v BASICu.¢RSTos3.7 pro vyu(it) s n%jak`m dal&)m programem, kter` se automaticky na'te.