-- SORD m.5 ------------------------------------------------------------------ PODPROGRAMY MONITOR ROM ************************* Monitor ROM se nachazi v pametove oblasti &0000-&1FFF. 1. Rutiny pro ovladani zobrazovani ======================================== 1.1. Uvod do problematiky ----------------------------- Tento rozsahly soubor podprogramu obsahuje vse potrebne pro: a) snadne definovani predloh znaku b) prepinani modu obrazovek a realizaci vsech funkci editoru BASIC c) definovani, lokalizaci a presun sprajtu d) textovou komunikaci s uzivatelem a realizaci editoru e) presuny dat mezi VRAM a RAM S malymi odchylkami predpokladaji vsecny tyto podprogramy,ze obsah systemovych promennych ( Screen table system ) odpovida skutecnemu stavu VDP uzivatele. Pokud tomu tak neni, nejsou zpravidla schopny provadet spravne svou funkci. Vsechny tyto podprogramy take automaticky meni obsah systemovych promennych tak, aby byl stale spravny. Rutiny pro presun bloku dat mezi RAM a VRAM ( resp. VRAM-RAM ) nejsou chraneny proti prekroceni maximalni adresy VRAM. Pokud k tomuto prekroceni dojde,system se zpravidla zhrouti. Jak je i dale zdurazneno, vyjma presunu bloku, dat ovlivnuji vsechny zde uvedene podprogramy tu obrazovku, kde je kursor. Je-li uvedeno, ze rutina CTRL kody tiskne, znamena to,ze do obrazovky vytiskne odpovidajici inverzni pismeno. Pokud naopak rutina CTRL kody vykona, znamena to, ze vubec nedojde k tisku daneho inverzniho znaku, ale namisto nej se provede ta funkce, ktera danemu CTRL kodu odpovida. Neni-li uvedeno jinak, vsechny nasledujici operace se provadeji s aktivni strankou. Jsou-li odkazy na stranky ocislovany, potom cisla znamenaji: 0 - stranka 0, 1 - stranka 1, 2 - opacna stranka. Obecne plati, ze pokud je po navratu z rutiny CY=1, neslo operaci provest, nebo doslo k chybe. 1.2. Rutiny pro ovladani VDP -------------------------------- 0E0B VDPINT Inicializace VDP.Obe obrazovky na rezim GI,kursor zustava 0CA3 VREGI Inicializace registru VDP.Provede nastaveni registru VDP podle obsahu systemovych promennych v SCRNA 0471 VREGRI Podle SVSSW provede VREGI 0DD8 CMODE Nastavi na obrazovce mod GI - CTRL/S 0B1F GMODE Nastavi na obrazovce mod GII - CTRL/R 0D04 TMODE Nastavi na obrazovce mod TEXT - CTRL/T 0C44 MMODE Nastavi na obrazovce mod MULTICOLOR - CTRL/Q 0C5C NRMSC Umisti pohled i kursor do stranky 0 - CTRL/U 0C62 RVDSPP Prepne pohled na opacnou obrazovku - CTRL/Y 0E31 RVWRTP Prepne kursor na opacnou obrazovku - CTRL/Z 0E2E REVSC Kursor i pohled na opacnou obrazovku - CTRL/V 0E33 WRTSC Umisti kursor do zvolene stranky. Vstup: A - stranka (0,1,2) 0C64 DSPCS Umisti pohled do zvolene stranky. Vstup: A - stranka (0,1,2) 0C77 FRMSC Umisti pohled do zvolene stranky. Vstup: A - stranka ( 0 / 1 - stranka ve ktere je / neni kursor ) 1.3. Rutiny pro definovani predloh -------------------------------------- 0E59 STCHR Definuje do zvoleneho generatoru predlohy znaku podle vzoru v pameti. Vstup: A = cislo znakoveho generatoru ( 0 - 6 ), B = pocet definovanych znaku, HL = adresa vzoru v RAM 0E55 STCCHR Definuje predlohy znaku podle vzoru do 1. generatoru. Vstup: B = pocet definovanych znaku, C = kod prvniho znaku, HL = adresa vzoru v RAM 0D2F IVDPCH Definuje predlohy znaku dle systemoveho standardu 0D89 LCPAT Definuje predlohy znaku do generatoru 0 a 1 podle systemoveho standardu 0E75 RDCHR Cte ze zvoleneho generatoru predlohy znaku do pameti RAM Vstup: A = cislo znakoveho generatoru (0-6), B = pocet znaku, C = kod prvniho znaku, HL = adresa bufferu v RAM ( buffer - - misto v pameti, kam budou ulozeny prectene predlohy ) 1.4. Rutiny pro definovani barev ------------------------------------ 0ED3 STICOL Nastavi v modu GI barvu zadane skupiny znaku. Vstup: B = cislo skupiny znaku ( 0-31 ) bit 7 - je jen cteni barvy, C = barva. Horni 4 bity = barva znaku, dolni 4 bity = barva pozadi znaku 0DF8 STCTBL Nastavi barvy vsech znaku v GI na standardni 0DFB ITG2M Nastavi generator barev modu GII na standardni obarveni Vstup: BC = pocet byte generatoru ( standard = &1800 ) 0C83 STFCOL Nastavi zvolenou barvu ( FCOL ) pro mod TEXT.Vstup: B = barva 0C97 STBCOL Nastavi barvu pozadi ( BCOL ),tj. barvu ramecku a transparent Vstup: B = barva. Pouze dolni 4 bity. ( barva ramecku a barva transparent ) 1.5. Rutiny pro tisk do obrazovky ------------------------------------- 135C VIEWP Nastavi VIEW(H,D,L,E) 1353 VIEWRS Zrusi nastavene VIEW a nastavi jej na celou obrazovku 1083 DSPCHA Tiskne znak do obrazovky. CTRL kody provadi. Znak je vytisknut na pozici kursoru a kursor je posunut vpravo.V pripade popsani radku automaticky prechazi na dalsi, resp. roluje obrazovku Rutina bud prepisuje nebo vsouva znaky mezi znaky na obrazovce v zavislosti na obsahu systemove promenne DIFLGA Vstup: A = kod znaku 1082 DSPCHB Tiskne znak do obrazovky. CTRL kody tiskne. Znak je vytisknut na pozici kursoru a kursor je posunut vpravo.V pripade popsani radku automaticky prechazi na dalsi, resp. roluje obrazovku Rutina bud prepisuje nebo vsouva znaky mezi znaky na obrazovce v zavislosti na obsahu systemove promenne DIFLGA Vstup: A = kod znaku 1088 DSPCH Tiskne znak do obrazovky. CTRL kody tiskne nebo provede v zavislosti na obsahu systemove promenne DIFLGA. Znak je vy- tisknut na pozici kursoru a kursor je posunut vpravo.V pripade popsani radku automaticky prechazi na dalsi, resp. roluje obrazovku. Rutina bud prepisuje nebo vsouva znaky mezi znaky na obrazovce v zavislosti na obsahu systemove promenne DIFLGA Vstup: A = kod znaku 105C DSPLTA Tiskne na obrazovku text z pameti. Text musi byt ukoncen kodem 0 nebo 13. CTRL kody vykona. Znak je vytisknut na pozici kur- soru a kursor je posunut vpravo. V pripade popsani radku auto- maticky prechazi na dalsi, resp. roluje obrazovku. Rutina bud prepisuje nebo vsouva text mezi znaky na obrazovce v zavislosti na obsahu systemove promenne DIFLGA. Vstup: HL = adresa prvniho znaku textu v RAM. Vystup: HL = adresa posledniho znaku +1 105B DSPLTB Shodny s DSPLTA. Pouze CTRL nevykona, ale tiskne 1063 DSPLN Tiskne text na obrazovku z pameti RAM. Tisk je ukoncen po vy- tisknuti zadaneho poctu znaku,nebo drive, tim ze text obsahuje kod 0 nebo 13. Znak je vytisknut na pozici kursoru a kursor je posunut vpravo. V pripade popsani radku automaticky prechazi na dalsi,resp. roluje obrazovku.Rutina bud prepisuje nebo vsou- va text mezi znaky na obrazovce v zavislosti na obsahu systemove promenne DIFLGA. Pokud text neobsahoval kod 00, pak byl vy- tisknut plny pocet znaku zadany puvodnim obsahem B, a proto bude po navratu B=0. O tisknuti resp. vykonani CTRL kodu roz- hoduje obsah promenne systemove DIFLGA. Vstup: B = maximalni pocet tistenych znaku,HL = adresa prvniho znaku textu Vystup: B = puvodni obsah zmenseny o pocet znaku, ktere byly vytisteny, HL = adresa posledniho tisteneho znaku +1 11ED DSPMX Tiskne text na obrazovku maticove, obdoba prikazu MPRINT CTRL kody tiskne. Levy horni okraj matice je urcen pozici kursoru v okamziku volani. Po ukonceni rutiny zustava kursor v levem hornim rohu matice. Pocet vytisknutych znaku je omezen rozmerem matice,tj. pocet znaku=B*C. Vstup: B = pocet sloupcu, C = pocet radku, HL = adresa prvniho znaku textu Vystup: HL = adresa posledniho znaku +1 1.6. Rutiny pro cteni z obrazovky ------------------------------------- 0F00 ACSCH Precte znak z obrazovky a posune kursor Vstup: D,E souradnice X,Y. Vystup: A - znak z pozice Poznamka: vsechny nasledujici operace se provadeji s aktivni strankou. Zadna z operaci nemeni obsah obrazovky nebo pozici kursoru 14B1 RDSCH Cte znak z pozice obrazovky urcene souradnicemi Vstup: D,E = souradnice X,Y. Vystup: A = kod znaku 14AC RDSCHA Cte znak z pozice obrazovky urcene kursorem Vystup: A = kod znaku, HL = adresa kursoru ve VRAM 0EEC RDSTM Cte text z obrazovky po radcich do RAM. Prvni znak textu je urcen souradnicemi. Cteni je ukonceno vyskytem kodu 00, nebo po precteni maximalniho zvoleneho poctu znaku. Vstup: B = ma- ximalni pocet znaku ke cteni, D = souradnice X (0-31),E - sou- radnice Y (0-23), HL = adresa bufferu. Vystup: A = kod posled- niho precteneho znaku, B = puvodni obsah zmenseny o pocet prectenych znaku, HL = adresa posledniho znaku v RAM + 1 120E RDSMX Cte znaky z obrazovky maticove, opak programu DSPMX. Vstup: B = pocet sloupcu, C = pocet radek, HL = adresa bufferu Vystup: HL = adresa posledniho znaku v RAM+1 1.7. Rutiny pro editaci v obrazovce --------------------------------------- Poznamka: vsechny tyto operace se provadeji s aktivni strankou 0FAB DELTC Odpovida DELETE - CTRL/H 1158 TABLT Tabulace, kursor vpravo o 8 mezer - CTRL/I 115A TABLAT Tabulace, posun kursoru vpravo o 8 zvolenych znaku Vstup: A = kod znaku 10F0 LFEED LF - posun kursoru o 1 radek dolu - CTRL/J Na konci obrazovky zpusobi odrolovani 13CD CRET CR - navrat kursoru na zacatek radku - CTRL/B 10ED CRETL CR+LF - odradkovani - CTRL/M 13B6 HOMEP Umisti kursor na souradnice 0,0 - CTRL/K 13DD MVACS Nastavi kursor na zvolenou pozici.Vstup: D,E = souradnice X,Y Vystup: HL = adresa kursoru ve VRAM 1100 STPCU Posune kursor o jeden znak zvolenym smerem. Vstup: A = smer: 0 - vlevo 1 - vpravo 2 - nahoru 3 - dolu Pokud je po navratu CY=0 doslo k chybe 10FF LFTAW Posune kursor vlevo - CTRL/+ 10FC RGTAW Posune kursor vpravo - CTRL/* 10F9 UPRAW Posune kursor nahoru - CTRL/@ 10F6 LWRAW Posune kursor dolu - CTRL/? Nasledujici 4 podprogramy provadi vypocet nove pozice kursoru ze stare,pro po- sun ve zvolenem smeru.Vsechny maji spolecne: Vstup: D = soucasna souradnice X, E = soucasna souradnice Y.Vystup: D = nova souradnice X,E = nova souradnice Y. 1134 STPCUL Posun vlevo 1116 STPCUR Posun vpravo 1147 STPCUU Posun nahoru 1126 STPCUD Posun dolu 103C SIFTD Posune vsechny radky, pocinaje zvolenym o jeden dolu. Uvolneny radek je naplnen znakem CHR(0). Vstup: E - cislo radku (0-22) 130A SCRLF Roluje obrazovku vlevo - CTRL/D 12F9 SCRRG Roluje obrazovku vpravo - CTRL/F 12B3 SCRUP Roluje obrazovku nahoru - CTRL/E 12BF SCRDW Roluje obrazovku dolu - CTRL/C 0F19 STOVRM Nastavi na obrazovce mod "psani" - CTRL/O 0F1E STINSM Nastavi na obrazovce mod "insert" - CTRL/P 13D5 SCTOSD Nastavi kursor na zacatek radku - CTRL/B 13DA SNTOSD Umisti kursor na zacatek dalsiho radku - CTRL/N 1.8. Rutiny pro realizaci editoru ------------------------------------- 0668 EDTLN Tato rutina zobrazi kursor a umoznuje vstup textu z klavesnice s veskerou editaci na obrazovce. Po stisku <RETURN> presune posledne editovany ( t.j. je v nem i kursor ) textovy radek do bufferu. Vstup: B - maximalni delka textoveho radku, HL - adresa bufferu v RAM. Vystup: A - kod posledniho znaku, B - puvodni delka zmensena o pocet vstupnich znaku,HL - adresa posledniho znaku + 1 0689 EDTST Tato rutina zobrazi kursor na zadane pozici a umoznuje vstup textu z klavesnice s veskerou editaci na obrazovce. Po stisku <RETURN> se ukonci. Vstup: D - souradnice X prvniho znaku vstupniho textu na obrazovce, E - souradnice Y prvniho znaku vstupniho textu na obrazovce 066F ACEST Precte od zadane pozice z obrazovky vstupni text a presune jej do bufferu. Vstup: B - maximalni delka textoveho radku, D - souradnice X prvniho znaku vstupniho textu na obrazovce, E - souradnice Y prvniho znaku vstupniho textu na obrazovce, HL - adresa bufferu v RAM. Vystup: A - kod posledniho znaku, B - puvodni delka zmensena o pocet vstupnich znaku,HL - adresa posledniho znaku + 1 1.9. Rutiny pro mazani obrazovky ------------------------------------ 13BB CANCL Smaze znaky vpravo od kursoru k CHR(0) - CTRL/X 1393 CLRSC Odpovida prikazu CLS bez parametru - CTRL/L 1394 CLRSCX Odpovida prikazu CLS nn,kde nn je kod znaku,s nimz se ma obra- zovka zaplnit. Vstup: A - kod znaku 137E CLRSS Nastavi normalni VIEW, smaze obrazovku a odstrani z ni sprity. Funguje jen pro prechod z nebo do TEXT rezimu 1381 CLRSS2 Nastavi normalni VIEW, smaze obrazovku a odstrani z ni sprity 2. Rutiny pro praci se sprity =================================== 2.1. Uvod do problematiky ----------------------------- Vsechny tyto operace se provadeji s aktivni strankou. Souradnice, tak jak je zadavame v basiku, odpovidaji "logickym" souradnicim. "Fyzicke" souradnice od- povidaji skutecnemu zapisu v tabulce definici VDP. 2.2. Definice vlastnosti spritu a jejich kontrola ----------------------------------------------------- 0E58 STSCHR Definuje predlohy spritu do generatoru 0 podle vzoru v pameti Vstup: B - pocet definovanych znaku ( predloh spritu ),C - kod prvniho znaku, HL - adresa bufferu v RAM 04C5 MAGFY Stejne jako v basiku MAG. Nastavi zvelikost spritu Vstup: A - zvetseni spritu [ 0 - 3 ] 0454 STSCOD Stejne jako v basiku SCOD. Definuje sprite na zvolenou predlohu. Vstup: A - cislo spritu, C - cislo predlohy 0445 STSCOL Stejne jako v basiku SCOL. Nastavi barvu spritu Vstup: A - cislo spritu, B - kod barvy [ dolni 4 bity ] 042B GTSPOS Cte z VRAM informace o spritu. Vstup: A - cislo spritu Vystup: B - kod barvy [ dolni 4 bity ], C - kod predlohy, DE - logicka souradnice X, HL - logicka souradnice Y 2.3. Lokalizace spritu a jejich mazani ------------------------------------------ 03CE MVSPA Lokalizuje sprite na zvolenou pozici. Vstup: A - cislo sprite, DE - logicka souradnice Y, HL - logicka souradnice X. Vystup: E - fyzicka souradnice Y, D - fyzicka souradnice X, B - ECB [ 7 bit ] = urcuje, ke kteremu rohu se vztahuje fyzicka pozice 040B MVSPR Posune sprite z jeho soucasne pozice na novou,urcenou prirust- kem v osach. Vstup: A - cislo spritu, B - prirustek v ose X [ - 127 az + 127 ], C - prirustek v ose Y [ - 127 az + 127 ] Vystup: DE - logicka pozice Y, HL - logicka pozice X 03CC ERSSPR Vymaze urceny sprite. Vstup: A - cislo spritu 03C5 DELSPR Umisti urceny sprite tak, aby nebyl videt. Vstup: A - cislo spritu 1387 ERSPRA Vymaze vsechny sprity 2.4. Vypocty pro praci se sprity ------------------------------------ 03EE GTSPLC Prepocita fyzickou pozici spritu na logickou souradnici Vstup: B - ECB [ 7 bit ],C - fyzicka souradnice X, E - fyzicka souradnice Y. Vystup: DE - logicka souradnice Y, HL - logicka souradnice X 0377 GTSPRC Prepocte zadane logicke souradnice na fyzickou pozici spritu Vstup: DE - logicka souradnice Y, HL - logicka souradnice X Vystup: D - logicka souradnice X, E - fyzicka souradnice Y, B - ECB [ 7 bit ] 041B ADDVCT Vypocita nove logicke souradnice z puvodnich a zvoleneho pri- rustku v osach. Vstup: DE - puvodni logicka souradnice Y, HL - puvodni logicka souradnice X. B - prirustek v ose X, C - prirustek v ose Y. Vystup: HL - nova logicka souradnice X, DE - nova logicka souradnice Y 049F GTSTEP Vypocita prirustky v osach X a Y [ v rozsahu +_ 2 ] ze zvolene pozice spritu a zadane pozice spritu. Opakovane pouziti GTSTEP a MVSPR umoznuje presun spritu plynule z jedne pozice na dru- hou. Vstup: B - cilova pozice X [ 0 - 255 ], C - cilova pozice Y [ 0 - 255 ], HL - soucasna pozice X, DE - soucasna pozice Y Vystup: B - prirustek v ose X, C - prirustek v ose Y 0369 GTSATA Urci adresu VRAM, kde je ulozena v tabulce vlastnosti spritu informace o vlastnostech zadaneho spritu. Vstup: A - cislo spritu. Vystup: HL - adresa ve VRAM 3. Rutiny pro obecnou praci s VRAM a RAM ============================================== 0010 PBVRID Zapise 1 byte do VRAM na urcenou adresu. Vstup: A - zapisovany byte, HL - adresa ve VRAM. Bezi v DI ( zakaz preruseni ) 0018 GBVRID Cte 1 byte z urcene adresy ve VRAM. Vstup: HL - adresa cteni Vystup: A - precteny byte. Bezi v DI ( zakaz preruseni ) 0010 RST2 Viz PBVRID 0018 RST3 Viz GBVRID 14BD PBVRAM Zapise 1 byte do VRAM na urcenou adresu. Vstup: A - zapisovany byte, HL - adresa ve VRAM 14C5 GBVRAM Cte 1 byte z urcene adresy ve VRAM. Vstup: HL - adresa cteni Vystup: A - precteny byte 1460 WDVPM Presune blok dat z RAM do VRAM o maximalni delce 256 bytu Vstup: HL - pocatecni adresa v RAM, DE - pocatecni adresa ve VRAM, B - pocet prenasenych bytu (B>0) 0E61 CVTIR Presune blok z RAM do VRAM o maximalni delce 16 kB Vstup: HL - pocatecni adresa v RAM, DE - pocatecni adresa ve VRAM, BC - pocet prenasenych bytu (B>0) 144B RDVPM Presune blok dat z VRAM do RAM o maximalni delce 256 bytu Vstup: HL - pocatecni adresa ve VRAM, DE - pocatecni adresa v RAM, B - pocet prenasenych bytu (B>0) 0E7D VCTIR Presune blok z VRAM do RAM o maximalni delce 16 kB Vstup: HL - pocatecni adresa ve VRAM, DE - pocatecni adresa v RAM, BC - pocet prenasenych bytu (B>0) 0B75 BLKMV Presune blok dat z jedne pozice ve VRAM na jinou. Vstup: HL - adresa odkud, DE - adresa kam, BC - pocet prenasenych bytu (B>0) 0B81 BLKMV2 Presune 2 kB dat ve VRAM. Vstup: HL - adresa odkud, DE - adresa kam 0DCB BLKMVC Presun z VRAM do VRAM inverzne. Prenaseny byte se zneguje a tim vznikne jeho inverzni obraz. Takto se vytvari inverzni znaky. Vstup: HL - adresa odkud, DE - adresa kam, BC - pocet prenasenych bytu (BC>0) 0E01 PADVRM Zaplni urcenou oblast VRAM zadanym kodem. Vstup: A - kod kterym se ma oblast zaplnit, HL - pocatecni adresa zaplnovane oblasti, BC - pocet byte k zaplneni (BC>0) 0861 PAD Zaplni urcenou oblast RAM zadanym kodem. Vstup: A - kod kterym se ma oblast zaplnit, HL - pocatecni adresa zaplnovane oblasti, BC - pocet byte k zaplneni 0860 NULPAD Zaplni urcenou oblast RAM kodem 00. Vstup: HL - pocatecni adresa zaplnovane oblasti, BC - pocet byte k zaplneni 0E49 EXCLOP Zameni obsah dvou oblasti RAM. Vstup: HL - zacatek bloku 1, DE - zacatek bloku 2, BC - delka bloku 4. Rutiny pro styk s klavesnici ===================================== 4.1. Uvod do problematiky ----------------------------- Rutiny jsou rozdelene na 2 skupiny. Prvni skupina slouzi pro primy vstup z klavesnice. Tyto rutiny jsou vhodne pro realizaci jednoduchych programu, kde nejde o textovou komunikaci s uzivatelem. Pro zjisteni kodu klavesy plati nasledujici vztah: ADRESA TLACITKA = (( ADRESA PORTU ) AND &0F ) * 8 + 1 + ( KTERE TLACITKO ) AKI = primy test portu &30 [ informace o CTRL, atd ... ] Druha skupina rutin predstavuje rutiny, ktere operuji s bufferem klavesnice Buffer ( vyrovnavaci pamet ) je plnen a obsluhovan tzv. driverem ( ridici program KEYSP pro obslouzeni klavesnice, ktery je vazany na beh systemu preruseni ), ktery zajistuje stale pravidelne testovani klavesnice a ukladani ziskanych kodu do bufferu, respektuje pri tom AUTOREPEAT i FCTN kody, takze do bufferu zapisuje uz rozepsane texty. 4.2. Rutiny pro primy vstup dat z klavesnice ------------------------------------------------ 0966 SCNKB Provede test klavesnice. Vystup: A - kod tlacitka, B - AKI 0827 ACECH Nacte z buffru klavesnice 1 znak. O jeho vytisteni rozhoduje registr A. Vstup: A = 0 bez tisknuti po stisku, A <> 0 s tisknutim po stisku Vystup: A - ASCII kod znaku, B - AKI 0845 ACECHI Nacte z buffru klavesnice 1 znak. Vystup: A - ASCII kod znaku, B - AKI 097B CALKAD Prepocet adresy portu a vstupnich dat z klavesnice na adresu tlacitka. Vstup: A - vstupni data, C - adresa portu Vystup: A - adresa tlacitka 090B DECTR Dekoduje adresu tlacitka pri stisku CTRL. Vstup: A - adresa tlacitka, B - AKI. Vystup: A - CTRL kod, B - AKI 0933 DECFN Dekoduje adresu pri FCTN. Vstup: A - adresa klavesy, B - AKI Vystup: B - AKI, HL - pocatecni adresa odpovidajiciho retezce 08DA DECAD Dekoduje adresu klavesy obecne. Vstup: A - adresa tlacitka, B - AKI. Vystup: A - ASCII kod, HL - pri FCTN pocatecni adresa odpovidajiciho retezce 4.3. Rutiny pro vstup dat pres vyrovnavaci pamet klavesnice --------------------------------------------------------------- 0756 WTKDTC Zobrazi kursor a presune znaky z buffru na vstup. Pokud je buffer prazdny, ceka dokud se nenaplni alespon jednim znakem Vystup: A - ASCII kod, B - AKI 073F CHKYM Nastavi vstupni mod klavesnice stejne jako v basiku stisk <FUNC> + <1>, <2> nebo <3>. Vstup: A - mod ( 1, 2, 3 ), B - AKI. Vystup: B- AKI 04FF STDM1 Nastavi podle AKI mod displeje ( DISPLAY MODE 1 ). Nastavi, ze se maji CTRL znaky tisknout, pokud je stiskly nejaky <SHIFT>. Vstup: B - AKI 077B CLKBF Smaze obsah vyrovnavaci pameti klavesnice 07A9 ACELN Nacita z klavesnice posloupnost znaku stejne jako INPUT v ba- siku. Rutina provadi CTRL/G, CTRL/H, CTRL/M, CTRL/X, CTRL/Y Ukoncuje se pretecenim zadaneho poctu znaku, nebo nactenim jednoho z ukoncovacu CTRL/J, CTRL/K, CTRL/M, CTRL/W, CTRL/[, CTRL/sipka a <RETURN>. Vstup: B - delka bufferu ( maximalni pocet nacitanych znaku ), HL - adresa bufferu. Vystup: A - kod posledniho nacteneho znaku, B - zbyvajici pocet znaku k nacteni, C - skutecny pocet nactenych znaku, HL - posledni znak +1 5. Rutiny pro ovladani casovaciho systemu =============================================== 01C2 CTCINT Inicializace obvodu Z80 CTC 02CF STSCLK Nastaveni hodin realneho casu. Vstup: A - hodiny, H - minuty, L - sekundy 02DB GTSCLK Precte udaje z hodin realneho casu. Vystup: A - hodiny, H - minuty, L - sekundy 02FB STRTUC Inicializace a odstartovani dopredneho citace ( UPCONTER ) ( Odpovida promenne TIME ). Vstup: A - casova konstanta, je-li A = 0, znamena to, ze je nastavena nejvetsi casova konstanta 0313 STOPUC Zastaveni dopredneho citace 030D RSTRUC Znovuspusteni dopredneho citace ( RESTART ) 0319 STRTDC Inicializace a odstartovani zpetneho citace ( DOWNCOUNTER ) Vstup: A - casova konstanta, je-li A = 0, znamena to, ze je nastavena nejvetsi casova konstanta 0340 STOPDC Zastaveni zpetneho citace 0336 RSTRDC Znovuspusteni zpetneho citace ( RESTART ) 0242 CLOCKSP Obsluha zvetseni casu 6. Rutiny pro praci s magnetofonem ======================================== 6.1. Rutiny pro cteni z magnetofonu --------------------------------------- Pokud je po navratu z rutiny CY=1, tak doslo k chybe pri cteni, nebo byla stisknuta klavesa <RESET> 1598 RDFID Nahraje do RAM hlavicku ( IDT ) souboru. Vstup: HL - adresa ulozeni IDT 1587 RFIDC Precte IDT a zkontroluje jmeno. Vstup: DE - adresa kde je ulozene jmeno hledaneho souboru, HL - adresa kam ulozit IDT 153B BLOAD Cte souvisla data z magnetofonu a uklada je podle informace v IDT. Vstup: A - 0 - cteni dat ( OLD ), 1 - kontrola dat ( VERIFY ), HL - adresa ulozeni IDT v RAM 1579 BLODD Cte z magnetofonu data do RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere se budou nactena data ukladat, BC - delka ctenych dat 164D RATBLF Cte jeden blok dat typu "F" z magnetofonu do RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere se budou nactena data ukladat 1650 RATBL Cte jeden blok dat typu "D" z magnetofonu do RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere se budou nactena data ukladat 1652 LOADC Cte jeden blok dat libovolneho typu podle A, do RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere se budou nactena data ukladat 6.2. Rutiny pro zapis na magnetofon --------------------------------------- 15C3 WTFID Nahraje na magnetofon hlavicku programu. Vstup: HL - adresa ulozeni IDT v RAM 1529 BSAVE Nahraje na magnetofon hlavicku programu a potom data urcene jejim obsahem. Vstup: HL - adresa ulozeni IDT v RAM 1563 BSAVD Nahraje na magnetofon data z RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere jsou data ulozena, BC - delka dat v bytech 15EB WATBL Nahraje na magnetofon jeden blok dat typu "D" z RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere je blok dat ulozen, B - delka bloku v bytech, C - delka IBG pisku 15E8 WATBLF Nahraje na magnetofon jeden blok dat typu "F" z RAM nebo VRAM podle obsahu systemove promenne SYSFMT. Vstup: HL - adresa, od ktere je blok dat ulozen, B - delka bloku v bytech, C - delka IBG pisku 15ED STROC Nahraje na magnetofon jeden blok dat libovolneho typu z RAM nebo VRAM podle obsahu systemove promenne SYSFMT Vstup: HL - adresa, od ktere je blok dat ulozen, B - delka bloku v bytech, C - delka IBG pisku, A - "F" pro FILE nebo "D" pro DATA 6.3. Dalsi rutiny pro obsluhu magnetofonu --------------------------------------------- 1626 STBYT Zapise 1 byte na magnetofon. Vstup: D - zapisovany byte 163A OUTPS Vysle pozadovany puls ma magnetofon. Vstup: CY - bit 0 nebo 1 16B3 LDBYT Precte jeden byte z magnetofonu. Vystup: A - precteny byte 16D1 SRLAD Urci rychlost nahravani na zaklade uvodniho piskani Vystup: nastavi AVRHL 1717 WAITST Ceka po IBG pisku na prvni startbit a doladuje rychlost 1739 RDCNT Cte z magnetofonu jeden impuls a zmeri jeho delku. Vystup: A - delka pulsu, D - delka prvni casti pulsu, E - delka druhe casti pulsu 1765 CPFNM Slouzi k porovnani dvou jmen v pameti. Porovnava oba dva texty v delce 9 znaku, nebo kratsi ( pri znaku 00 ). Uznava se i otaznikova konvence ( tzn. je-li v prvnim jmenu otaznik, po- rovnavaji se jmena jen k otazniku ). Vstup: DE - adresa prvni- ho jmena ( hledane ), HL - adresa druheho jmena ( nalezene ) Vystup: CY - je-li po navratu nastaven, jsou jmena ruzna 1776 MTRON Spusteni motoru ( sepnuti relatka ) 177E MTROF Zastaveni motoru ( rozepnuti relatka ) 1556 LFTBC Cte z hlavicky v RAM udaje o delce a pocatecni adrese dat do registru, tak, jak to vyzaduji rutiny BLODD a BSAVD Vstup: HL - adresa ulozeni IDT ( pocatecni adresa od ktere je ulozena hlavicka ). Vystup: HL - pocatecni adresa dat, BC - delka dat v bytech 010D BTCMT Odpovida TAPE 7. Dalsi obecne rutiny ---------------------------- 0000 RST0 Uplny restart systemu 0008 RST1 Vybere flag aktivni obrazovky ze systemove promenne DIFLGA Vystup: A - obsah DIFLGA, HL - adresa DIFLGA 000D ADJSTD Uprava pro smer dolu. Pricte k Y souradnici 1. Vstup: E - sou- radnice Y. Vystup: E - souradnice Y zvetsena o 1 0016 ADJSTL Uprava pro smer vlevo. Odecte od X souradnice 1. Vstup: D - souradnice X. Vystup: D - souradnice X zmensena o 1 001E ADJSTU Uprava pro smer nahoru. Odecte od Y souradnice 1. Vstup: E - souradnice Y. Vystup: E - souradnice Y zmensena o 1 0023 ADJSTR Uprava pro smer vpravo. Pricte k X souradnici 1. Vstup: D - souradnice X. Vystup: D - souradnice X zvetsena o 1 0020 RST4 Uzivatelsky restart na adresu 2005H. ( Odpovida CALL 2005H ) 0028 RST5 Uzivatelsky restart na adresu 2008H. ( Odpovida CALL 2008H ) 002B RETERR Provede SCF:POP HL:EI:RET 002E EXRET Provede RET 0030 RST6 Uzivatelsky restart na adresu osazenou v systemove promenne IVCTC6. Nutno zajistit vektor. ( Odpovida CALL 7008H ) 0033 RBTCMT Boot M5 z magnetofonu - nekonecna smycka. Nahraje a pripadne spusti. Po RET JM na RBTCMT 0038 RST7 Uzivatelsky restart na adresu osazenou v systemove promenne IVCTC7. Nutno zajistit vektor. ( Odpovida CALL 700BH ) 004D ERRRET Vyhodnoceni cisla chyby z tabulky ERRTBL, do ktere MUSI byt vstoupeno jen prikazem CALL 0058 M5BOT Inicializace systemu, krome zasobniku prerusovaciho modu 0085 GTCAPC Konverze na velka pismena. Pokud vstupni kod odpovida velkemu pismenu zustava nezmenen, pokud odpovida malemu pismenu, je preveden na velke. Vstup: A - kod znaku, vystup: A - kod znaku 008E CHKRAM Vyhleda zacatek a konec pameti RAM. Vystup: provede nastaveni systemovych promennych SUMMEA a SUMMTA. Pokud nejsou hranice RAM na celych kilobytech, je vykonana instrukce HALT 00BC TSBYT Testuje byt. Vstup: HL - adresa bytu. Vystup: Z=0 - O.K 00C7 RCCSMM Test MONITORu ROM na soucet 0. Vystup: RET nebo do CHHALT 00DB CHHALT Havarijni stav. Cervena obrazovka a HALT 00E4 CHKROM Hleda modul ROM a pokud jej nalezne, tak do nej skoci 0151 DIVIDS Deleni HL:=HL/A 0152 DIVIS5 Deleni HL:=HL/C 01DF CTC3SP Zajistuje beh systemu pomoci SYSVAR 023C CTC3EX Pro zakonceni rutin preruseni. Obnovi registry a vrati se 0511 KEYSP Zajistuje obsluhu klavesnice 05A5 JOYSP Zajistuje obsluhu ovladacu 05FE JMPHL Provede skok na HL, tj. realizuje prikaz CALL (HL) 05FF RSTSP Zajistuje obsluhu <SHIFT> + <RESET> a <CTRL> + <RESET> 0707 CHGCP Definice kursoru dodle DIFLGA 0869 PTKDT Ulozeni dat do KBUF. Vstup: A - ASCII kod znaku, B - AKI 08AC GTKDT Vyber dat z KBUF. Vystup: A - ASCII kod znaku, B - AKI 0992 STRTKT Spusteni citace klavesnice 0B86 LCPATB Definice znaku podle komprimovaneho tvaru v ROM. Vstup: B - pocet znaku, C - od ktereho kodu, D - pozadavky: bit 6 - rotace ke stredu, bit 7 - inverzne, E - pocet sloupcu znaku, HL - adresa predloh v ROM 1076 EXTBL Provede skok na adresu ziskanou z tabulky a offsetu Vstup: A - offset, HL - adresa tabulky. Vystup: provede skok Tvar tabulky: HL - adresa tabulky L H - prvni adresa L H - druha adresa . . . 116A BELK Pipne stejne jako pri stisku nejake klavesy 1176 BEL Pipne stejne jako CTRL/G 142C MULTHD Provede vypocet HL:=HL*DE. Vstup: HL,DE - cisla k vynasobeni Vystup: HL - soucin vstupnich cisel 1441 MLTAL Provede vypocet HL:=L*A. Vstup: L,A - cisla k vynasobeni Vystup: HL - soucin vstupnich cisel 149F STVWAD Pripravi adresu VDP pro zapis dat 14A1 STVRAD Pripravi adresu VDP pro cteni dat 8. Rutiny pro ovladani SML =============================== 1811 SGINT Uplna inicializace SML 1861 MPLAY Obslouzeni procesu SML ( napojeno na kanal #3 CTC ) 186F PLAY Samotna obsluha SML 191A NOTA Prikaz SML: zahraj notu 1A31 V0FAC Vypnuti vsech tri kanalu SGC 9. Seznam rutin MONITOR ROM ================================= 9.1. Seznam rutin MONITOR ROM razeny podle adres ---------------------------------------------------- V prvnim sloupci je adresa rutiny, ve druhem sloupci je jmeno rutiny a ve tretim sloupci je odkaz na kapitolu, ve ktere je rutina popsana. 0000 RST0 7 010D BTCMT 6.3 0629 BLNKC 0008 RST1 7 0151 DIVIDS 7 0638 ERSCU 000D ADJSTD 7 0152 DIVIS5 7 064E DSPCU 0010 RST2 3 0165 SYTIDT 0668 EDTLN 1.8 0010 PBVRID 3 01C2 CTCINT 5 066F ACEST 1.8 0016 ADJSTL 7 01D7 TCTCINT 0672 MVSNXL 0018 RST3 3 01DF CTC3SP 7 0689 EDTST 1.8 0018 GBVRID 3 021B IGNORB 06FF TMOVCS 001E ADJSTU 7 023C CTC3EX 7 0707 CHGCP 7 0020 RST4 7 0242 CLOCKSP 5 073F CHKYM 4.3 0023 ADJSTR 7 0265 UPCTSP 0756 WTKDTC 4.3 0028 RST5 7 0275 DWCTSP 077B CLKBF 4.3 002B RETERR 7 028F UEVSP 0784 CMPCUR 002E EXTRET 7 02CF STSCLK 5 078A ACEDEL 0030 RST6 7 02DB GTSCLK 5 07A9 ACELN 4.3 0033 RBTCMT 7 02E4 UPCLOCK 081F TUKONC 0038 RST7 7 02FB STRTUC 5 0827 ACECH 4.2 003B ERR124 030D RSTRUC 5 0845 ACECHI 4.2 003B ERRTBL 0313 STOPUC 5 0860 NULPAD 3 003C .OVIEW 0319 STRTDC 5 0861 PAD 3 003D .CATRG 0336 RSTRDC 5 0869 PTKDT 7 003E .SPRDA 0340 STOPDC 5 08AC GTKDT 7 003F .ACMIU 0348 STEVMF 08DA DECAD 4.2 0040 .CHKSM 0351 GTEVMF 090B DECTR 4.2 0041 .BREAK 0356 ETREIT 0933 DECFN 4.2 0042 .FINUM 0369 GTSATA 2.4 0966 SCNKB 4.2 0043 .BUFFL 0377 GTSPPG 2.4 097B CALKAD 4.2 0044 .DADOT 03C5 DELSPR 2.3 0992 STRTKT 7 0045 .ILGDM 03CC ERSSPR 2.3 09A7 JOYDTB 0046 .TIMOT 03CE MVSPA 2.3 09B7 CURPTB 0047 .SPRPOS 03EE GTSPLC 2.4 09E7 KTKBD 0048 .ILGCM 040B MVSPR 2.3 09F3 KAALPH 0049 .SPNFD 041B ADDVCT 2.4 + dalsi tabulky 004A .EVNRD 042B GTSPOS 2.2 0B1F GMODE 1.2 004B .ILGEL 0445 STSCOL 2.2 0B5E FNTRST 004C bez nazvu 0454 STSCOD 2.2 0B64 LCPATG 004D ERRRET 7 0471 VREGRI 1.2 0B75 BLKMV 3 0058 M5BOT 7 049B FNDMV - "?" 0B81 BLKMV2 3 0085 GTCAPC 7 049F GTSTEP 2.4 0B86 LCPATB 7 008E CHKRAM 7 04C5 MAGFY 2.2 0C14 PTINTD 00BC TSBYT 7 04FB SPRSIS 0C44 MMODE 1.2 00C7 RCCSMM 7 04FF STDM1 4.3 0C5C NRMSC 1.2 00CA RCCSM 0511 KEYSP 7 0C62 RVDSPP 1.2 00CC CHSM 05A5 JOYSP 7 0C64 DSPSC 1.2 00DB CHHALT 7 05FE JMPHL 7 0C77 FRMSC 1.2 00E4 CHKROM 7 05FF RSTSP 7 0C83 STFCOL 1.4 0C97 STBCOL 1.4 116A BELK 7 15EB WATBL 6.2 0CA3 VREGI 1.2 1176 BEL 7 15ED STROC 6.2 0D04 TMODE 1.2 1181 BEEP 1626 STBYT 6.3 0D2F IVDPCH 1.2 1188 CVLOF 163A OUTPS 6.3 0D5E CHNGLC 118B SCTOS 164D RATBLF 6.1 0D89 LCPAT 1.3 11CA SNTOS 1650 RATBL 6.1 0DCB BLKMVC 3 11ED DSPMX 1.5 1652 LOADC 6.1 0DD8 CMODE 1.2 120E RDSMX 1.6 16B3 LDBYT 6.3 0DF8 STCTBL 1.4 1260 GFACMX 16B6 LDBYT1 0DFB ITG2M 1.4 12B3 SCRUP 1.7 16D1 SRLAD 6.3 0E01 PADVRM 3 12BF SCRDW 1.7 1717 WAITST 6.3 0E0B VDPINT 1.2 12F9 SCRRG 1.7 1739 RDCNT 6.3 0E2E REVSC 1.2 130A SCRLF 1.7 1765 CPFNM 6.3 0E31 RVWRTP 1.2 1353 VIEWRS 1.5 1776 MRTON 6.3 0E33 WRTSC 1.2 135C VIEWP 1.5 177E MTROF 6.3 0E49 EXCLOP 3 137E CLRSS 1.9 1784 PCLMX 0E55 STCCHR 1.3 1381 CLRSS2 1.9 178D POTNL 0E58 STSCHR 2.2 1387 ERSPRA 2.3 1794 POTLF 0E59 STCHR 1.3 1393 CLRSC 1.9 1799 POTCH 0E61 CVTIR 3 1394 CLRSCX 1.9 17C7 POTLN 0E75 RDCHR 1.3 13B6 HOMEP 1.7 1805 POTBL 0E7D VCTIR 3 13BB CANCL 1.9 1811 SGINT 8 0E90 GFCCP 13CD CRET 1.7 1855 INISYT 0ED3 STICOL 1.4 13D5 SCTOSD 1.7 1861 MPLAY 8 0EEC RDSTM 1.6 13DA SNTOSD 1.7 186C IGNORI 0F00 ACSCH 1.6 13DD MVACS 1.7 186D IGNORJ 0F19 STOVRM 1.7 13F7 GCURSA 186F PLAY 8 0F1E STINSM 1.7 142C MULTHD 7 190A CMDTBL 0F27 FILSP 1441 MLTAL 7 191A NOTA 8 0F3A SIFTR 144B RDVPM 3 1932 NOTAP 0FAB DELTC 1.7 1454 BLKTRS 1989 TABNOT 0FD3 SIFTL 145C WDVLB 19A1 OKTAVA 103C SIFTD 1.7 1460 WDVPM 3 19B4 VOLUME 105B DSPLTB 1.5 1469 CCURMM 19C0 NASTR 105C DSPLTA 1.5 1481 CCUROT 19DB SHOLD 105E DSPLTK 1485 CURODX 19E3 IMLEN 1063 DSPLN 1.5 1486 CCUROX 19EB TEMPO 1073 CNTLC 148C CCURML 1A01 STFRQ 1076 EXTBL 7 1492 CUROEY 1A31 V0FAC 8 1082 DSPCHB 1.5 149F STVWAD 7 1A38 STDVOL 1083 DSPCHA 1.5 14A1 STVRAD 7 1A3C STVFC 1085 DSPCHK 14AC RDSCHA 1.6 1A4A GTAST 1088 DSPCH 1.5 14B1 RDSCH 1.6 1A59 OPKOD 10ED CRETL 1.7 14BD PBVRAM 3 1FFF KONEC MONITORU ROM 10F0 LFEED 1.7 14C5 GBVRAM 3 10F6 LWRAW 1.7 14CD SCCDT 10F9 UPRAW 1.7 150D INISCT 10FC RGTAW 1.7 1529 BSAVE 6.2 10FF LFTAW 1.7 153B BLOAD 6.1 1100 STPCU 1.7 1556 LFTBC 6.3 1116 STPCUR 1.7 1563 BSAVD 6.2 1126 STPCUD 1.7 1579 BLODD 6.1 1134 STPCUL 1.7 1587 RFIDC 6.1 1147 STPCUU 1.7 1598 RDFID 6.1 1158 TABLT 1.7 15C3 WTFID 6.2 115A TABLAT 1.7 15E8 WATBLF 6.2 9.2. Seznam rutin MONITOR ROM razeny podle abecedy ------------------------------------------------------ .ACMIU 003F CLKBF 077B 4.3 FNDMV 049B .BREAK 0041 CLOCKSP 0242 5 FNTRST 0B5E .BUFFL 0043 CLRSS 137E 1.9 FRMSC 0C77 1.2 .CATRG 003D CLRSS2 1381 1.9 GBVRAM 14C5 3 .CHKSM 0040 CLRSC 1393 1.9 GBVRID 0018 3 .DADOT 0044 CLRSCX 1394 1.9 GCURSA 13F7 .EVNRD 004A CMDTBL 190A GFCCP 0E90 .FINUM 0042 CMODE 0DD8 1.2 GFACMX 1260 .ILGCM 0048 CMPCUR 0784 GMODE 0B1F 1.2 .ILGDM 0045 CNTLC 1073 GTAST 1A4A .ILGEL 004B CPFNM 1765 6.3 GTCAPC 0085 7 .OVIEW 003C CRET 13CD 1.7 GTEVMF 0351 .SPNFD 0049 CRETL 10ED 1.7 GTKDT 08AC 7 .SPRDA 003E CTC3EX 023C 7 GTSATA 0369 2.4 .SPRPOS 0047 CTC3SP 01DF 7 GTSCLK 02DB 5 .TIMOT 0046 CTCINT 01C2 5 GTSPLC 03EE 2.4 ACECH 0827 4.2 CURODX 1485 GTSPOS 042B 2.2 ACECHI 0845 4.2 CUROEY 1492 GTSPPG 0377 2.4 ACEDEL 078A CURPTB 09B7 GTSTEP 049F 2.4 ACELN 07A9 4.3 CVLOF 1188 HOMEP 13B6 1.7 ACEST 066F 1.8 CVTIR 0E61 3 IGNORB 021B ACSCH 0F00 1.6 DECAD 08DA 4.2 IGNORI 186C ADDVCT 041B 2.4 DECFN 0933 4.2 IGNORJ 186D ADJSTD 000D 7 DECTR 090B 4.2 IMLEN 19E3 ADJSTL 0016 7 DELSPR 03C5 2.3 INISCT 150D ADJSTR 0023 7 DELTC 0FAB 1.7 INISYT 1855 ADJSTU 001E 7 DIVIDS 0151 7 ITG2M 0DFB 1.4 BEEP 1181 DIVIS5 0152 7 IVDPCH 0D2F 1.2 BEL 1176 7 DSPCH 1088 1.5 JMPHL 05FE 7 BELK 116A 7 DSPCHA 1083 1.5 JOYDTB 09A7 BLNKC 0629 DSPCHB 1082 1.5 JOYSP 05A5 7 BLKMV 0B75 3 DSPCHK 1085 KAALPH 09F3 BLKMVC 0DCB 3 DSPCU 064E KEYSP 0511 7 BLKMV2 0B81 3 DSPLN 1063 1.5 KTKBD 09E7 BLKTRS 1454 DSPLTA 105C 1.5 LCPAT 0D89 1.3 BSAVE 1529 6.2 DSPLTB 105B 1.5 LCPATB 0B86 7 BLOAD 153B 6.1 DSPLTK 105E LCPATG 0B64 BSAVD 1563 6.2 DSPMX 11ED 1.5 LDBYT 16B3 6.3 BLODD 1579 6.1 DSPSC 0C64 1.2 LDBYT1 16B6 BTCMT 010D 6.3 DWCTSP 0275 LFEED 10F0 1.7 CALKAD 097B 4.2 EDTLN 0668 1.8 LFTAW 10FF 1.7 CANCL 13BB 1.9 EDTST 0689 1.8 LFTBC 1556 6.3 CCURML 148C ERR124 003B LOADC 1652 6.1 CCURMM 1469 ERRRET 004D 7 LWRAW 10F6 1.7 CCUROT 1481 ERRTBL 003B M5BOT 0058 7 CCUROX 1486 ERSCU 0638 MAGFY 04C5 2.2 CHKRAM 008E 7 ERSPRA 1387 2.3 MLTAL 1441 7 CHSM 00CC ERSSPR 03CC 2.3 MMODE 0C44 1.2 CHHALT 00DB 7 ETREIT 0356 MPLAY 1861 8 CHKROM 00E4 7 EXCLOP 0E49 3 MRTON 1776 6.3 CHGCP 0707 7 EXTBL 1076 7 MTROF 177E 6.3 CHKYM 073F 4.3 EXTRET 002E 7 MULTHD 142C 7 CHNGLC 0D5E FILSP 0F27 MVACS 13DD 1.7 MVSNXL 0672 SCRDW 12BF 1.7 UEVSP 028F MVSPA 03CE 2.3 SCRLF 130A 1.7 UPCLOCK 02E4 MVSPR 040B 2.3 SCRRG 12F9 1.7 UPCTSP 0265 NASTR 19C0 SCRUP 12B3 1.7 UPRAW 10F9 1.7 NOTA 191A 8 SCTOS 118B V0FAC 1A31 8 NOTAP 1932 SCTOSD 13D5 1.7 VCTIR 0E7D 3 NRMSC 0C5C 1.2 SGINT 1811 8 VDPINT 0E0B 1.2 NULPAD 0860 3 SHOLD 19DB VIEWP 135C 1.5 OKTAVA 19A1 SIFTD 103C 1.7 VIEWRS 1353 1.5 OPKOD 1A59 SIFTL 0FD3 VOLUME 19B4 OUTPS 163A 6.3 SIFTR 0F3A VREGI 0CA3 1.2 PAD 0861 3 SNTOS 11CA VREGRI 0471 1.2 PADVRM 0E01 3 SNTOSD 13DA 1.7 WAITST 1717 6.3 PBVRAM 14BD 3 SPRSIS 04FB WATBL 15EB 6.2 PBVRID 0010 3 SRLAD 16D1 6.3 WATBLF 15E8 6.2 PCLMX 1784 STBCOL 0C97 1.4 WDVLB 145C PLAY 186F 8 STBYT 1626 6.3 WDVPM 1460 3 POTBL 1805 STCCHR 0E55 1.3 WRTSC 0E33 1.2 POTCH 1799 STCHR 0E59 1.3 WTFID 15C3 6.2 POTLF 1794 STCTBL 0DF8 1.4 WTKDTC 0756 4.3 POTLN 17C7 STDM1 04FF 4.3 POTNL 178D STDVOL 1A38 PTINTD 0C14 STFCOL 0C83 1.4 PTKDT 0869 7 STEVMF 0348 RATBL 1650 6.1 STFRQ 1A01 RATBLF 164D 6.1 STICOL 0ED3 1.4 RBTCMT 0033 7 STINSM 0F1E 1.7 RCCSM 00CA STOPDC 0340 5 RCCSMM 00C7 7 STOPUC 0313 5 RDCHR 0E75 1.3 STOVRM 0F19 1.7 RDCNT 1739 6.3 STPCU 1100 1.7 RDFID 1598 6.1 STPCUD 1126 1.7 RDSCH 14B1 1.6 STPCUL 1134 1.7 RDSCHA 14AC 1.6 STPCUR 1116 1.7 RDSMX 120E 1.6 STPCUU 1147 1.7 RDSTM 0EEC 1.6 STROC 15ED 6.2 RDVPM 144B 3 STRTDC 0319 5 RETERR 002B 7 STRTKT 0992 7 REVSC 0E2E 1.2 STRTUC 02FB 5 RFIDC 1587 6.1 STSCHR 0E58 2.2 RGTAW 10FC 1.7 STSCLK 02CF 5 RST0 0000 7 STSCOD 0454 2.2 RST1 0008 7 STSCOL 0445 2.2 RST2 0010 3 STVFC 1A3C RST3 0018 3 STVRAD 14A1 7 RST4 0020 7 STVWAD 149F 7 RST5 0028 7 SYTIDT 0165 RST6 0030 7 TABLAT 115A 1.7 RST7 0038 7 TABLT 1158 1.7 RSTRDC 0336 5 TABNOT 1989 RSTRUC 030D 5 TCTCINT 01D7 RSTSP 05FF 7 TEMPO 19EB RVDSPP 0C62 1.2 TMODE 0D04 1.2 RVWRTP 0E31 1.2 TMOVCS 06FF SCCDT 14CD TSBYT 00BC 7 SCNKB 0966 4.2 TUKONC 081F ------------------------------------------------------------------------------ Podle ruznych materialu a na zaklade vlastnich zku- senosti sestavil a napsal LZR Soft. V Kladne 1988. Vydani osme, pocet vytisku dle potreby. Vytisteno na tiskarne LA120 firmy DEC. -------------------------------------------------------- pro WWW upravil K5 --