MCPnavod - 1 - TASWORD TWO Machine Code Pet ****************** (C) LZR Soft, 12. zari 1989 Dostava se vam do rukou vyborny pomocnik pro praci se strojovym kodem mikroprocesoru Z80 a s ruznymi typy dat. 1. Uvod ======= MCP vznikl jako nastupce programu MONS 3 firmy HiSoft. Je urcen k praci s daty a programy ve strojovem kodu a s obrazovymi daty. MCP zpristupnuje uzivateli veskerou ROM a RAM CPU a VRAM VDP. ROM, RAM a VRAM jsou z hlediska pristupu uzivatele rovnocenne, plati jen dve hardwareova omezeni: do ROM nelze provadet zapis a ve VRAM nelze spoustet programy. Protoze MONS 3 je osvedceny a oblibeny program,je mu i MCP hod- ne podobny. 2. Moznosti programu MCP ======================== Ve srovnani s programem MONS 3, neumi MCP aritmeticke operace ( lze je velice snadno provadet ve kteremkoliv basiku ),relokaci a trasovani strojoveho programu ( k tomu slouzi specializovane programy jako je RELM, EMON, DEBUG a dalsi ). Na rozdil od pro- gramu MONS 3 umi MCP navic porovnavat dve libovolne oblasti dat, ma ascii, binarni a dekadicky dump, umi hledat textovy retezec, nastavit zaznamovou rychlost, provest prikaz TAPE, pracovat s posunem adres a pri disassemblaci s tabulkami DEFB. Prikaz SAVE umoznuje oproti MONSu plnou specifikaci hlavicky. 3. Zakladni filosofie MCP ========================= Pri tvorbe MCP byl kladen duraz na tyto vlastnosti: Snadna ovladatelnost - jednotlive funkce se volaji stiskem jedne klavesy ( bez ohledu na mod LETTER, CAPS ci GRAPH ), bez potreby odeslani. Jen u dvou relativne destruktivnich funkci je potreba pridrzet jeste nektery prerazovac.Klavesa <RETURN> vola posledni pouzity prikaz, pripadne, v pripade ze naposledy pouzita funkce premisti ukazatel, funkci 'adresa'. Vsechna cisla jsou tistena hexadecimalne ( pri DUMP i dekadicky ) a rovnez hexadecimalne se zadavaji. Vzdy je nabidnut default ( implicitni hodnota,ktera se dosadi pri stisku <RETURN> ).Stiskem 'necisla' ( tj. chybou ) se zadavani ukoncuje,cislo se neodesila stiskem <RETURN>,ten slouzi pouze pro prijeti defaultu. Pokud se zadava text, jsou prijmuty, az na dve vyjimky, vsechny znaky, vcetne <RETURN> ( CR ). Pravy <SHIFT> funguje podobne jako v Taswordu 2 a umoznuje psat texty vcetne diakritickych znamenek ( tj. hacky, carky,vokan a prehla- sovani ).Ceska a slovenska narodni abeceda je rozmistena ve zna- kovem generatoru podle standardu LZR, rozmisteni znaku na klave- sach je totozne s programem CESKY+GRF.Do textu lze vlozit vsech- ny ridici znaky vcetne kurzoru ( CTRL/[, tzv. ridici znak ESCAPE pro vetsinu tiskaren ). Nelze vlozit CHR$(0) a CHR$(1), protoze pro znak NUL neni CTRL/klavesa a CTRL/A slouzi pro ukonceni za- davani textu. Nekolik funkci ocekava stisk <SPACE>, pak teprve pokracuje provadeni dal,nebo stisk <RETURN>,pote je funkce ihned ukoncena.Je-li pozadovana specifikace oblasti ( ROM, RAM, VRM ), MCPnavod - 2 - TASWORD TWO pak <RETURN> schvaluje nabidnuty default,jinak staci stisk jedne ze tri klaves, kterymi se nastavuje pracovni oblast. Nelze poro- vnavat a presouvat dve totozne oblasti ( nema to vyznam ) a pri zadavani adres od a do musi byt pocatecni adresa vzdy mensi nebo alespon rovna koncove adrese. Ke snadne praci s programem MCP nemalou merou prispiva take to, ze veskera jeho hlaseni jsou napsana v cestine. Univerzalnost - MCP je schopen spravne spolupracovat se sestavou pocitace SORD m.5, ve ktere je zasunut jeden z nasledujicich mo- dulu: EM-5 32 KB RAM, EM-64, 64KBI, 64KBF a 64KRD. Pokud ma uzi- vatel k dispozici jiny modul pridavne pameti, pak ma moznost na- definovat si vlastni ovladani tohoto modulu, aby s nim MCP umel spolupracovat. MCP umoznuje pracovat s RAM od adresy 0000 a to i v pripade, ze je tato RAM prekryta pameti ROM. Timto je uzivatel odpoutan od nutnosti mit v RAM zkopirovany MONITOR ROM. Velikost pameti RAM a ROM zalezi na sestave pocitace a pokud ji lze hard- warove menit, MCP se zmene prizpusobi.Velikost VRM je dana veli- kosti VRAM, ktere je v m.5 16KB. Standardni velikost je nabizena 12KB, adresove 0000-2FFF a lze ji temer libovolne menit.Nejmensi velikost lze zvolit 1 byte a nejvetsi pak 16KB. Horni hranice je tedy omezena na adresu 3FFF. Pokud bude provaden zapis do VRM na adresy vetsi nez 2FFF, dojde ke kolizi s obrazovkou a znakovym generatorem, ktere MCP pouziva.Po skonceni prace MCP,nejsou data ve VRM nijak chranena a lze je zmenou zobrazovaciho rezimu pos- kodit, pripadne uplne znicit. Bezpecny provoz - MCP chrani sam sebe pred poskozenim a pokud je horni hranice VRM mensi nez 3000, tak i obrazovku a znakovy ge- nerator. Do oblasti, ktere jsou chraneny, nelze provadet zapis a pri jejich cteni ( zobrazovani a pod ) je vracen kod 0FFh. Totez plati i pro oblasti,kde dana pamet neni ( napriklad VRAM od 4000 vyse a podobne ). MCP pozna, ze byl nahran prikazem TAPE. To je dulezite, protoze obecne plati, ze se po TAPE neni kam vratit, tudiz by se mohlo stat, ze se pri zakonceni prace s MCP pocitac 'zakousne'. Proto, by-li MCP nahran prikazem TAPE, je po odchodu z neho nastartovan basic ( JP 00E4 ). MCP pozna, nachazi-li se v sestave s 64KB RAM a paklize ano, pozna,jestli byl odstartovan s pripojenou ROM, nebo jestli byl odstartovan ze systemu bezicim v RAM s odpojenou ROM. Vsechny rutiny pouzivane programem MCP se odkazuji na MONITOR ROM, proto si jej MCP pripojuje.Pri zakonce- ni prace pak MCP vi, ma-li pripojit RAM, nebo nechat pripojenou ROM. Pokud by to nevedel, mohlo by se stat napriklad toto: V mo- dulu 64KBI je nahran Basic-F a z neho je odstartovan MCP. MCP si pripoji ROM ( tzn. Basic-I ) a pri navratu ji neodpoji. Takze by jsme 'spadli' do Basicu-I, coz by bylo provazeno ruznymi, ruzne destruktivnimi efekty.Dale ma MCP svuj vlastni zasobnik navrato- vych adres a pri navratu kontroluje,jestli nebyl nahodou puvodni zasobnik poskozen.Pokud ano,stane se totez,jako kdyby se stiskla kombinace klaves <SHIFT>+<RESET>.Pokud je posledni navratova ad- resa vporadku, provede se normalni navrat. MCPnavod - 3 - TASWORD TWO 4. Jednotlive funkce programu MCP ================================= 4.1 Seznam funkci ----------------- A - nastaveni ukazatele na novou/starou adresu B - konec prace C - porovnani dvou oblasti D - disassemblace strojoveho kodu E - vkladani textu F - zaplneni oblasti bytem G - hledani bytoveho retezce H - hledani textoveho retezce I - inteligentni presun dat J - volani podprogramu K - pracovni/cilova oblast bude ROM L - pracovni/cilova oblast bude RAM M - pracovni/cilova oblast bude VRM N - hledej dalsi retezec O - nacteni souboru z pasky P - vkladani bytu Q - nastaveni konstanty pro posunuti adres R - nastaveni zaznamove rychlosti S - zaznamenani souboru na pasek T - stejne jako basicky prikaz TAPE U - hex, dec, ascii a bin dump V - napoveda W - zadavani tabulek DEFB pro disassembler X - disassemblace strojoveho kodu na tiskarnu Y - plny ascii dump Z - zaznamenani tabulek DEFB na pasek = - nastaveni adresy rutiny tisku na tiskarnu /@:; - sipky pro posun ukazatele o +1, -1, +16, -16 4.2 Funkce ADRESA ----------------- Nastavi ukazatel na zadanou adresu. Funkce nabizi jako default adresu, na ktere se naposledy nachazel ukazatel,takze se lze po- hodlne vratit na misto, kde se s nejakou funkci zacalo.Kazda ob- last ma svuj aktualni a stary ukazatel, takze se pri prepnuti na jinou oblast spravne nastavi i oba ukazatele. 4.3 Funkce BYE -------------- Provede navrat do basiku,pripadne do systemu,ktery MCP spustil. Pri stisku B musi byt stisknut jeste nektery z prerazovacu ( SHIFTy ), jinak je ohlasena chyba. 4.4 Funkce COMPARE ------------------ Porovnava dve oblasti a vypisuje rozdily. Zadava se pocatecni a koncova adresa prohledavani u pracovni oblasti, pocatecni ad- resa u porovnavane oblasti a cilova oblast.Lze porovnavat cokoli s cimkoli. Nejmensi mozna delka k porovnani je jeden byte, jako defaulty se nabizi naposledy pouzite adresy a pracovni oblast. Pri nalezeni rozdilu jsou zobrazeny obe adresy a hodnoty bajtu, ktere se na nich nachazeji ( hexadecimalne a dekadicky ). Po na- lezeni 16ti rozdilu ( plna obrazovka ), se ceka na stisk klavesy <SPACE> nebo <RETURN>. Pozor! Nelze COMPARE od 0000 do FFFF ! MCPnavod - 4 - TASWORD TWO 4.5 Funkce DISASS ----------------- Provadi disassemblaci programu ve strojovem kodu od pozice uka- zatele do stisku klavesy <RETURN>. Pri disassemblaci je akcepto- van posun adres, takze pokud neni posun nastaven na 0000,je pro- gram ve strojovem koud disassemblovan, jako kdyby se nachazel na jinem miste pameti. Velikost posunu je zobrazena vedle prikazu. Pri disassemblaci jsou brany v uvahu i oblasti dat, ktere jsou primo urceny tabulkami DEFB. Tabulky se zadavaji absolutne, tzn. vcetne posunu adresy.Jako posledni provadeny prikaz je nastavena funkce ADRESA, takze po ukonceni disassemblace staci dvakrat stisknout klavesu <RETURN> a ukazatel se nastavi na adresu, kde se s disassemblaci zacalo. 4.6 Funkce EDIT --------------- Uklada do pracovni oblasti text od pozice ukazatele.Ukladani se zakonci stiskem CTRL/A. Vkladat lze i znaky narodni abecedy pri stisku praveho SHIFTu. Jako posledni provadeny prikaz se nastavi funkce ADRESA,takze po ukonceni staci stisknout dvakrat <RETURN> a ukazatel se nastavi na adresu, kde se s editaci zacalo. 4.7 Funkce FILL --------------- Zaplni pracovni oblast zadanym bytem. Zadava se adresa zacatku a konce oblasti a byte,kterym se ma oblast zaplnit.Nejmensi moz- na delka k zaplneni je jeden byte.Po zaplneni je ukazatel nasta- ven na zacatek zaplnovane oblasti. Funkci lze predcasne zakoncit chybou. Jako defaulty jsou nabizeny naposledy pouzite adresy.Ja- ko posledni provadeny prikaz se nastavi funkce ADRESA, takze po ukonceni staci stisknout dvakrat <RETURN> a ukazatel se nastavi na adresu, kde se plneni zadalo. 4.8 Funkce GET -------------- Hleda v pracovni oblasti retezec bytu od pozice ukazatele do konce oblasti. Doporucena maximalni delka retezce je 33 byte.Lze ale hledat i delsi retezec ( az 255 byte ), pak je ovsem 'nadby- tecnymi' byty porepsana tabulka DEFB. Zadavani bytu se ukoncuje chybou. Pri nalezeni se ukazatel nastavi na zacatek nalezeneho retezce.Jako defaulty jsou nabizeny byty naposledy hledaneho re- tezce ( byl-li hledan text,tak byty tohoto textu ).Jako posledni provadeny prikaz se nastavi funkce ADRESA, takze po nalezeni re- tezce staci stisknout dvakrat <RETURN> a ukazatel se nastavi na adresu, kde se s hledanim zacalo. 4.9 Funkce HLEDEJ ----------------- Hleda v pracovni oblasti textovy retezec od pozice ukazatele do konce oblasti. Zadavani se ukoncuje stiskem CTRL/A. Plati totez co pro GET, default neni nabizen. 4.10 Funkce PRESUN ------------------ Presune data z jedne pozice v pracovni oblasti na jinou,pripad- ne z pracovni oblasti do jine oblasti.Pro adresy a defaulty pla- ti totez co u funkce COMPARE. Je-li presouvano pouze v pracovni oblasti, je ukazatel nastaven na zacatek presunute oblasti. Jako posledni provadeny prikaz je nastavena funkce ADRESA. MCPnavod - 5 - TASWORD TWO 4.11 Funkce GOSUB ----------------- Provede volani podprogramu s naplnenim registru v tomto poradi: AF,BC,DE,HL. Jako default je nabidnuta naposledy volana adresa a 0000 pro registry.Je-li pri volani pracovni oblast ROM,lze spus- tit cokoli v ROM a neprekryte RAM. Je-li pracovni oblast RAM,pak lze spustit podprogram v RAM s pripojenou ROM, je-li adresa vo- lani vesti nez konec ROM,nebo lze spustit podprogram v RAM s od- pojenou ROM, je-li adresa volani mensi nez konec ROM. Pri volani s odpojenou ROM musi byt bud v RAM zkopirovan MONITOR ROM, nebo se nesmi povolit preruseni ( instrukci EI ).Pri volani se pohled i kurzor nastavi na opacnou obrazovku ( coz je obrazovka 0 ) a po navratu se zase vrati zpet na druhou obrazovku. Pokud volany podprogram zasahuje do VRAM, inicializuje zobrazeni,nebo zobrazi kurzor,muze dojit k poskozeni dat ve VRM a k poskozeni obrazovky MCP ( ktera se po navratu neobnovuje ). Po navratu je zobrazen obsah registru AF, BC, DE a HL. 4.12 Funkce ROM --------------- Nastavi jako pracovni oblast ROM. Ukazatel je nastaven na stej- nou adresu, na jake se nachazel pri odchodu z teto oblasti. Jako posledni pouzity prikaz je nastavena funkce ADRESA. 4.13 Funkce RAM --------------- Nastavi jako pracovni oblast RAM. Plati totez co pro ROM. 4.14 Funkce VRM --------------- Nastavi jako pracovni oblast VRM. Plati totez co pro ROM. 4.15 Funkce NEXT ---------------- Hleda v pracovni oblasti dalsi vyskyt bytoveho ci textoveho re- tezce od pozice ukazatele+1. Plati totez co pro GET a HLEDEJ. 4.16 Funkce OLD --------------- Nacte z pasky soubor do pracovni oblasti. U RAM plati omezeni, ze nelze nahravat do oblasti prekryte pameti ROM. U VRM,ze nelze nahravat na adresy vetsi, nez 3FFF. Specifikuje se jmeno a poca- tecni adresa ulozeni souboru. Pokud je potreba nahrat soubor do pameti od adresy v hlavicce a neni-li tato adresa predem znama, stiskne se pri dotazu na adresu klavesa <SPACE>.Pokud je pracov- ni oblast ROM, je ohlasena chyba. Pri nacitani se nekontroluje umisteni a pokud soubor zasahne do chranene oblasti,dojde k pos- kozeni chranenych dat.Pri nalezeni hlavicky jsou vypsany zaklad- ni udaje o souboru a informace, je-li soubor prijat a nacitan ( F jako FIND ), nebo je-li preskocen ( S jako SKIP ).Nastane-li behem nahravani chyba, je za posledni udaj na radce se jmenem souboru vytisten vykricnik. Fukci lze prerusit stiskem klavesy <RESET>. 4.17 Funkce POKE ---------------- Uklada do pracovni oblasti byty od pozice ukazatele.Ukladani se zakoncuje chybou.Jako defaulty jsou nabizeny byty na pozici uka- zatele. Jako posledni provadeny prikaz nastavi funkci ADRESA, takze po ukonceni staci stisknout dvakrat RETURN a ukazatel se nastavi na adresu, kde se s poukovanim zacalo. MCPnavod - 6 - TASWORD TWO 4.18 Funkce QUASI ----------------- Slouzi pro funkci DUMP a DISASS. Zadava se konstanta posunuti adres. Data jsou zobrazena a disasemblovana jako kdyby se nacha- zela na adrese, ktera je vypoctena jako soucet absolutni adresy umisteni a konstanty posunuti. Kazda oblast ( ROM, RAM, VRM ) ma svou vlastni konstantu posunuti,ukazatel je vzdy nastaven na ab- solutni adrese.Jako default je nabidnut naposledy pouzity posun. 4.19 Funkce RYCHLOST -------------------- Umoznuje nastavit zaznamovou rychlost ( RATE FACTOR ). Jako de- fault nabizi aktualni zaznamovou rychlost. Meze rychlosti se ne- kontroluji, doporucene se pohybuji od 12 do 21. 4.20 Funkce SAVE ---------------- Zaznamena na pasek cast pracovni oblasti. Specifikuje se poca- tecni a koncova adresa dat v pracovni oblasti a attribut, jmeno, pocatecni a startovaci adresa pro hlavicku souboru. U RAM plati omezeni, ze nelze zaznamenat oblast prekrytou pameti ROM. Pokud soubor zasahuje do zakazane oblasti, tato se zaznamena. Jako de- faulty jsou nabizeny data z naposledy pouzite hlavicky ( pri OLD nebo SAVE ) a naposledy pouzite hodnoty. Pri SAVE jsou zobrazeny zakladni udaje o zaznamenavanem souboru, tak jak by byly zobra- zeny v hlavickari. SAVE lze prerusit stiskem klavesy <RESET>. 4.21 Funkce TAPE ---------------- Provede totez co basicky prikaz TAPE. Pri zadavani teto funkce musi byt stisknut jeste nektery s prerazovacu ( SHIFTy ). 4.22 Funkce DUMP ---------------- Zobrazuje od pozice ukazatele do stisku <RETURN> obsah pracovni oblasti. Jako prvni je na radku zobrazena hexadecimalne adresa, vedle ni pak byte na teto adrese jako hexadecimalni cislo, deka- dicke cislo, znak, binarni cislo a predloha. Pri dumpu je akcep- tovan posun adres, stejne jako u DISASS. Velikost posunu je zob- razena vedle prikazu. Jako posledni provadeny prikaz se nastavi funkce ADRESA,takze po ukonceni staci stisknout dvakrat <RETURN> a ukazatel se nastavi na adresu, kde se s dumpem zacalo. 4.23 Funkce NAPOVEDA -------------------- Vytiskne na posledni radek seznam pouzitelnych klaves.Tato fun- kce se nastavi jako posledni volany prikaz vzdy po chybnem zada- ni prikazu ( stisk neplatne klavesy ). 4.24 Funkce DEFINE BYTE AREAS ----------------------------- Slouzi pro funkci DISASS. Zadavaji se adresy oblasti dat, ktere se pri disassemblaci nemaji prekladat jako mnemonika.Tyto oblas- ti se pak prekladaji jako "DB data,...". Tyto tabulky jsou spo- lecne pro vsechny oblasti a doporuceny maximalni pocet je 55 ob- lasti. Lze jich zadat i vice, ale jiz pri 70ti hrozi prepsani interniho zasobniku. Zadavani se ukoncuje chybou. Jako defaulty jsou nabizeny naposledy pouzite adresy. Pokud se jako prvni zada adresa 0000, nebudou akceptovany zadne tabulky. Adresy musi byt serazeny podle velikosti.Tuto tabulku je mozne zaznamenat na pa- sek pro dalsi pouziti. MCPnavod - 7 - TASWORD TWO 4.25 Funkce DISASS na tiskarnu ------------------------------ Umoznuje vytisknout disassemblovany program na tiskarnu nebo jine zarizeni. Zadava se adresa zacatku a konce prekladu.Program je tisten na obrazovku a zaroven na tiskarnu.Funkci lze predcas- ne ukoncit stiskem <SHIFT>+<RESET>. 4.26 Funkce FULL ASCII DUMP --------------------------- Zobrazi 512 bytu od pozice ukazatele jako ascii znaky. Ocekava stisk <SPACE>,pote zobrazi dalsich 512 bytu,nebo stisk <RETURN>, pak se funkce ukonci. Ukazatel je nastaven za posledni zobrazeny byte. Jako posledni provadeny prikaz se nastavi funkce ADRESA, takze po ukonceni staci stisknout dvakrat <RETURN> a ukazatel se nastavi na adresu, kde se se zobrazovanim zacalo. 4.27 Funkce SAVE STRING AND DEFB -------------------------------- Zaznamena na pasek buffer,ve kterem je ulozen naposledy hledany retezec a tabulka DEFB. Zadava se jmeno, pod jakym se ma tento soubor zaznamenat.Implicitne je nabidnuto naposledy pouzite jme- no. Fukci lze prerusit stiskem klavesy <RESET>. Zpetne lze tato data nahrat do MCP prikazem OLD ( adresa=<SPACE> ) pri pracovni oblasti RAM. Pote nelze ihned pouzit funkci NEXT ani DISASS.Nej- prve se musi data 'ozivit' funkci GET a DEFINE BYTE AREAS. 4.28 Funkce NASTAV ADRESU TISKU ------------------------------- Slouzi k nastaveni adresy provadeci rutiny tisku. Normalne je nastavena na adresu 17C7h, kde je v MONITORU ROM rutina tisku retezce znaku od adresy v HL do nalezeni ukoncovace ( CR ).Pokud vlastnite nestandardni tiskarnu ( BT100, dalnopis a pod. ) a ma- te-li pro tyto periferie ovladaci programy, zmente si prislusne tuto adresu. 4.29 Funkce pro POSUN UKAZATELE ------------------------------- Dve klavesy slouzi pro posun ukazatele o jednu adresu nahoru a dolu, dve klavesy pro posun ukazatele o 16 adres nahoru a dolu ( tj. na obrazovce vlevo a vpravo ). 5. Provozovani MCP ================== 11. zari byla uzivatelum dana posledni demonstracni verze pro- gramu ( predtim ji predchazely dve DEMO verze,ktere nebyly zcela funkcni ), ktera je jiz plne funkci a slouzi k otestovani MCP. Pripadne zjistene nedostatky budou odstraneny a finalni verze je pak jiz obsahovat nebude. Tato DEMO verze sestava ze tri casti: MCPLv7300.CM MCPLvE300.CM zavadec VRAM-MCP.VM VRAM-MCP.VM obrazovka a znakovy generator MCPDv7300.CM MCPDvE300.CM vlastni program Existuji tedy dve verze, prvni v7300 je umistena od adresy 7300h a druha pak od E300h. Prvni verze je provozovatelna v minimalni sestave pocitace s 8KB RAM, tj. s modulem Basic-G nebo BASIC-F a je nutne ji nahravat prikazem TAPE. Zavadeci program a VRAM neni nutne nahravat, slouzi jen ke sdeleni zakladnich informaci. VRAM obsahuje uplny znakovy generator ve standardu LZR. Nahraje-li se samotny MCPD,je znakovy generator doplnen pouze o nezbytne nutne znaky ceske abecedy. MCPnavod - 8 - TASWORD TWO Samotny MCPD lze nahrat basickymi prikazy OLD a TAPE. V Basiku-I je nutne jej po nahrani prikazem OLD jeste odstartovat prikazem CALL startovaci adresa. MCP ma studeny a horky start. Plati, ze studeny start je zaroven pocatecni adresa MCP a horky start je o 3 byte dal. Skutecne adresy zavisi na verzi programu ( 7300,7303 ci E300 a E303 ). Jako autostart se provadi studeny start, pri kterem se iniciali- zuje zobrazeni. Horky start zobrazeni neinicializuje, vyzaduje tedy, aby byl ve VRAM od adresy 3000 znakovy generator dle stan- dardu LZR. Protoze pri BYE zustava znakovy generator beze zmen, lze po odchodu, nebyl-li mezi tim generator zmenen, bez potizi pouzit horky start. Inicializace zobrazeni poskodi data ve VRM od adresy 2000 do ad- resy 3FFF. Po odchodu z MCP zustanou data ve VRM od adresy 0000 do adresy 2FFF nedotcena, pokud se neprepne kurzor na obrazovku 0. Po odchodu je kurzor i pohled umisten na obrazovce 1. Na teto obrazovce lze provadet cokoli, krome ( pochopitelne ) zapisu do VRAM ve vyse uvedenem rozsahu adres, zmeny zobrazovaciho rezimu ( GII a MCOLOR bezpecne data znici ) a prepnuti kurzoru na obra- zovku 0 ( CTRL/U, CTRL/Z ). Pokud se vam podari dostat kurzor na nultou obrazovku, jsou znicena data ve VRM od adresy: PEEKW(7099)+8*27, tzn zpravidla 2908 v delce 8mi bytu.Pokud zme- nite rezim obrazovky ( ne na GII ci M ), zustanou zachovana data minimalne v rozsahu 0000-1FFF. Pokud data presahuji adresu 2000, je zmenen generator spritu obou obrazovek a pokud data presahuji 2800, je zmenen generator znaku obrazovky 0. To se projevi pri prepnuti na obrazovku 0 tim,ze tam neni standardni znakovy gene- rator. Po startu se provede test pameti a zobrazi se aktualni stav ROM, RAM a VRM. Dotaz slouzi ke zmene adres u VRM. Po stisku A se po- kracuje dal, po stisku cehokoli jineho lze zmenit VRM a pokud je u 64KBI prepinac omylem v poloze WRITE DISABLE, je mozne jej v teto chvili prepnout.MCP si znovu otestuje pamet a opetovne zob- razi jeji stav. Za behu MCP nedoporucuji menit stav prepinacu na modulech s 64KB RAM. Je-li nalehava potreba znenit velikosti ROM,RAM ci VRM pri praci s MCP a neni-li zadouci z neho odejit, lze pouzit funkci GOSUB a jako parametr zadat adresu horkeho startu. Pak jiz ovsem nelze pouzit funkci BYE, protoze se MCP stale vraci sam do sebe. Uzivatel s netypickym mudulem pro rozsireni pameti RAM ma moz- nost "pouknout" z basiku do MCP tri byte, ktere mu reknou,jak se modul pripojuje a odpojuje od systemu. Napriklad v 64KBI a EM-64 se ROM pripoji OUT &6C,0 a odpoji OUT &6C,1.Proto jsou v tabulce byty: DB 6C,00,01. Pokud se uzivateluv modul bude ovladat napri- klad OUT &A8,7 a OUT &A8,0 poukne se do tabulky na volnou pozici A8,07,00. Tabulka lezi nekde ke konci MCP.Konkretni adresa zale- zi na verzi MCP. Staci MONSem 3 MCP nahrat a hledat tyto byte: 7F,00,03,6C,01,00,30,01,00,00,00,00,00. Oznacene jsou pak volne byte pro uzivatele. ^^ ^^ ^^ 6. Zaver ======== Pokud se vam zda, ze MACHINE CODE PERFECT & EXCLUSIVE TOOL neco postrada, nebo naopak, pokud je neco zbytecne ( a zrusenim se u- setri dost mista ) ci mate-li pocit, ze je neco hloupe vyreseno, piste sve pripominky do konce roku 1989 na adresu naseho teamu. LZR Soft MCPnavod - 9 - TASWORD TWO Aplikacni poznamky: =================== Znakovy generator si MCP po COLD upravi do podoby, jakou potre- buje - tzn. vyrobi nekolik ceskych znaku dle std LZR. Ostatni znaky zustavaji beze zmeny. Na prvni radce pod prvni linkou je zobrazena jedna disassemblovana instrukce. Akceptovan je posun adres. Pri zadavani textu, nelze provadet DEL. RETURN slouzi pro ulozeni kodu 0Dh. Ukoncuje se CTRL/A. Kod NUL a CTRL/A lze zadat prikazem POKE jako kody 00 a 01. Pri zadavani jmena, nelze pro- vadet DEL. RETURN slouzi pro ukonceni zadavani. Je prijato bud naposledy pouzite jmeno ( nabidnuty default ), nebo nove zadane jmeno ukoncene stiskem RETURN, pripadne devatym znakem.Pokud pri OLD nevime nebo nechceme zadavat jmeno a soubor presto chceme nahrat, zadame "?". Pokud nahravame soubor prikazem OLD do RAM, nelze nahravat bez rizika do oblasti 7000-7300 a do oblasti, kde se MCP nachazi.Pokud nahravame do VRAM nelze principielne nahra- vat do oblasti nad 3FFF, oblast nad 2FFF je vyhrazena pro gene- rator a obrazovku MCP.Pokud chceme zmenit znakovy generator MCP, lze jej prehrat jinym znakovym generatorem ( ve std. LZR ) nor- malne prikazem OLD pri pracovni oblasti VRM. Adresa umisteni se zada 3000. Update ====== 4.2.1991 vznikly nove dve verze MCPvE400 a MCPv2000. Tyto sestavaji jiz z jedne casti, zcela modifikuji znakovy generator a jsou vhodne pro praci s barevnym monitorem ( bila na modre ). Urceny jsou pouze pro modul 64KRD a 64 KRX. Pro jine moduly je potreba je prepoukovat ( D3 7F na D3 kanal a s tim i hodnotu nasledujici za 3E [ LD A,x ]) na vice mistech. MCP netestuje velikost RAM a tim, ze je urcen jen pro jeden modul se jeho rychlost trochu zvysila. Datum poslední editace: 12. září 1989 ============== Napsal Roman Štec z teamu LZR Soft ==============