Mem scanner V1.0 ================ Program Mem scanner umožňuje vyhledávání grafických motivů v programech, jakož i mapování paměti po bitech (bitová mapa). Byl vytvořen jako doplňěk programu MON V4.T, na kterém však není závislý. Tomu odpovídá i jeho umístění v paměti od adresy 0A500H. Od této adresy se též spoušťí. Program umožňuje zobrazení motivů o šířce 1 až 40 byte s délkou 8 až 176 byte v submodu "Map" a 1 až 5 byte s délkou 1 až 22 byte v submodu "Magn". Program umožňuje práci celkově ve třech volbách, které jsou identifikovány vypsaným menu ve spodním řádku obrazovky. Opuštění jedné volby a přechod do další se provádí stlačením klávesy E (escape). Veškeré příkazy se zadávají jednoznakově dle zvýrazněného znaku v helpu. Během práce je v horním dialogovém řádku průběžně vypisována adresa byte zobrazeného v levém horním rohu pracovní oblasti obrazovky (8. až 184. řádek). 1. Zobrazení bitové mapy a práce s ní -------------------------------------- Tato volba nabízí ve svém menu následující příkazy: Map resp. Magn - umožňuje přechod z mapování normální velikostí na zvětšené mapování a zpět. Rolování zobrazené části paměti je možno prováďet stlačením kurzorových kláves "nahoru" či "dolů". Address - Po výzvě "Address: #" v dialogovém řádku je třeba zadat čtyřciferné hexadecimální číslo nové aktuální adresy. Opravu chybně vloženého znaku je možno provést po jeho vymazání kurzorovou klávesou "vlevo". Po zadání posledního znaku se automaticky provede přenastavení adresy. Long - tímto příkazem je možno zvolit délku pracovní oblasti obrazovky, resp. počet zobrazovaných byte po výšce. V submodu Map je možno po vypsání výzvy "Long: " v dialogovém řádku zadat dekadické číslo v rozsahu 1 až 176, které je automaticky korigováno na nejblíže vyšší násobek osmi. Hranice těchto čísel jsou kontrolovány a zadání mimo rozsah má za následek novou výzvu ke vložení čísla v daných mezích. V submodu Magn je možno zadat číslo v rozsahu 1 až 22. Tato hodnota se musí zadávat trojciferně a v případě menších čísel musí být tyto doplňěny zleva nulami. Korekci chybně zapsané číslice je možno provést po jejím výmazu kurzorovou klávesou "vlevo". Po zadání poslední číslice se automaticky provede korekce pracovní oblasti. Width - po vypsání výzvy "Width: " je třeba zadat dvojciferné dekadické číslo, které odpovídá požadavku na šířku zobrazované části paměti. V submodu Map musí být toto číslo v rozsahu 1 až 40, v submodu Magn v rozsahu 1 až 5. Pro zadávání platí obdobné požadavky jako u příkazu Long. Fast - tento přikaz má za následek zrychlení rolování zvoleného úseku paměti. Tato změna je indikována zvýrazněním celého příkazu. - - 2 - Slow - příkaz má za následek zpomalení rolování zvoleného úseku paměti. Tato změna je indikována zvýrazněním celého příkazu. Dva posledně uvedené příkazy platí společně pro oba submody. Escape - umožní opušťění této volby a přechod na volbu následující. 2. Zmeny barev na obrazovce ---------------------------- Border - po vypsání výzvy "Border: #" je třeba zadat hexa číslo, kterému odpovídá kód zvolené barvy borderu. Pal0 - umožňuje měnit paletu podkladu. Za text "Pal0: #" se uvede číslo barvy, ve které má byt podklad zobrazen. Pal1 - v této paletě se vykresluje zobrazovaná část paměti. Změna barvy se provede výše uvedeným způsobem. Pal2 - touto paletou jsou vypsány znaky, které nemají význam pro vstup příkazu. Změna barvy se provede výše uvedeným způsobem. Pal3 - v paletě 3 se vypisují znaky, které je nutno stlačit na klávesnici pro dosažení vstupu příkazu do počítače. Jsou v ní také vypisovány výzvy k zadávání numerických hodnot z klávesnice a zvýraznění aktuální rychlosti scrollingu (Fast nebo Slow). Escape - viz. výše. 3. Mapování paměti a opuštění programu --------------------------------------- Out - po výzvě "Out: #" je nutno zadat 2 znaky mající význam hexadecimální adresy portu, na který se pošle nedefinovaný obsah registru "A". Tato instrukce má význam pro mapování paměti v režimu MZ-800. In - obdoba instrukce Out. Slouží k namapování VRAM nebo RAM do oblasti paměti 01000H-01FFFH a 08000H-09FFFH. Při volbě portu "In: #E0" je vypsána další výzva "Mask: #", za kterou se uvede jednoznakově hodnota (v hexa) masky čtené roviny VRAM na adresách od 08000H-09FFFH. Budou čteny roviny, ve kterých je hodnota bitu rovna jedné. Turn - provede "převrácení" byte okolo osy (mezi 3. a 4. bitem). Tato funkce je výhodná při mapování progamů vytvořených pro jiné počítače, které mají odlišný zápis byte do VRAM, tzn. že nejvyšší bit je v byte umístěn vlevo (ZX-Spectrum,...). - - 3 - Return - provede vymazání obrazovky a návrat do volacího programu, ze kterého byl Mem scanner spuštěn. Quit - skočí do Monitoru. Escape - viz. výše. Případné připomínky k programu zasílejte na adresu: ZEMAN Petr M. Majerové 1648 708 00 Ostrava - Poruba