Obsah této stránky: |
MONITOR 1Z-013B
Monitor 1Z-013B je 4 KB dlouhý provozní systém, který je stále uložen v paměti
ROM. V tomto monitoru jsou uloženy všechny potřebné podprogramy, které jsou
nutné k programování MZ-800. Monitor je převzat od MZ-700, proto je s ním
kompatibilní. To znamená, že všechny programy z MZ-700 mohou být provozovány na
MZ-800. Monitor 1Z-013B je uložen v paměti EPROM od adresy 0000H až do 1000H.
Normálně jsou volány pouze podprogramy tohoto monitoru. Vlastní monitor se nikdy
sám neaktivuje. Abychom se dostali k tomuto monitoru musíme nejdříve provést
následující úkony:
1) Zapnout počítač, nebo stisknout klávesu RESET
2) Stlačit klávesu "M"
3) Po objevení Cursoru "*" můžete pracovat
Nyní jste v monitoru 1Z-013B. Tento monitor obsahuje téměř tytéž povely
(tj.příkazy a instrukce) jako monitor popsaný v příručce SHARP. Zmíníme se však
o dvou rozdílech:
1)
Povel GO (klávesa "G") je nyní klávesa "J" jako Jump
2) Pomocí povelu Bank Switching tj. stránkování paměti (klávesa "#") se dá ROM
monitor vypnout. Současně způsobí tento povel "teplý" start Basic-interpreteru.
Takže když jste nedopatřením skočili z Basic-interpreteru do ROM monitoru,
můžete se tímto způsobem znovu dostat do Basicu, aniž byste ztratili program.
(Jako stlačení klávesy "CTRL + RESET"současně.)
V monitoru 1Z-013B jsou definovány nejen základní povely,ale také jsou k
disposici všechny důležité podprogramy, jako například testování klávesnice,
tisk na obrazovku nebo řízení magnetofonu. Tyto standardní programy (rutiny) a
způsob jejich funkce budou popsány dále v textu.
Pro porozumění dalšího popisu je nutná základní znalost programování ve
strojovém jazyce, pro nováčky je vhodné si nejprve přečíst kurs programování ve
strojovém jazyce.
První díl monitoru tvoří tabulka skoků, která splňuje následující hlavní funkce:
a) Umožňuje co největší kompatibilitu s předchozími modely MZ-80K a MZ-80A.
b) Důležité programy monitoru se snáze pamatují. Na programy monitoru se skáče
pomocí příkazu ve strojovém jazyce CALL ****H Po provedení programu v monitoru
se automaticky skočí zpět k adrese, ze které byl program v monitoru zavolán
(jako příkaz GOSUB v Basicu).
Podprogramy monitoru
0000H Start provozního systému v oblasti E Tento program způsobí skok na adresu
E800H, to znamená na počáteční (startovací) adresu oblasti E monitoru.
0003H GET LINE umožňuje vkládání řádků, čili více znaků z klávesnice. Vložený
řetězec znaků je uložen do paměti na místo určené registrovým párem DE. Program
končí stisknutím klávesy "CR". Po skončení podprogramu se za řetězec znaků přidá
koncová značka (0DH). Tato značka je nutná k označení konce vloženého řetězce
znaků. Kromě vložení řetězce znaků se tento řetězec současně objeví na
obrazovce. Maximálně může být vloženo 80 znaků. Při současném stisku kláves
SHIFT a BREAK se na adresu, která je v registru DE, uloží BREAK-Code místo
řetězce znaků a kód návratu je uložen na následující adrese.
0006H NEW LINE kursor se nastaví na začátek další řádky.
0009H NEW LINE kursor se nastaví na začátek další řádky, pokud není na začátku
řádky.
000CH PRINT SPACE vytiskne prázdný znak na momentální pozici kursoru
000FH PRINT 10 SPACES vytiskne od momentální posice kursoru maximálně 10
prázdných znaků až po další TAB-Posici(0,10,20,30)
0012H PRINT CHARAKTER vytiskne ASII znak uložený v akumulátoru. Řídící znaky
11H - 16H nevytvoří žádný znak, ale jejich funkce se provedou. Takže např.
jestliže uložíme do akumulátoru 16H a zavoláme tento program, obrazovka se smaže
(CLEAR-HOME)
0015H PRINT MESSAGE vytiskne řetězec znaků počínaje posicí kursoru na
obrazovce. Počáteční adresa řetězce znaků, čili příslušná adresa v paměti musí
být předem zadaná v registru DE. Řetězec znaků musí být ukončen 0DH (tj.znak
klávesy "CR"}. Řídící znaky 11H-16H budou provedeny.
0018H PRINT MESSAGE vytiskne řetězec znaků počínaje posicí na obrazovce.
Počáteční adresa v paměti se předá v registru DE. Řetězec musí být ukončen
znakem 0DH. Řídící znaky 11H-16H se neprovádí, ale jsou obráceně vytištěny.
0018H GET KEY z klávesnice se přečte znak v ASCII kódu a tato hodnota je
uložena v akumulátoru. Jestliže není stisknuta žádná klávesa, je v akumulátoru
při návratu hodnota ODH. Zvláštní klávesy dávají odpovídající ASCII - hodnotu.
Tabulka zvláštních kláves:
klávesa Hex - code
------------------------------------
DEL 60H
INST 61H
ALPHA 62H
GRAPH 63H
SHIFT&BREAK 64H
CR (Return) 66H
Malá volná 90H
Malá volná klávesa (tj.neoznačená klávesa nad klávesou CR) se u japonských
modelů používá pro přepínání sad znaků mezi Hiragana a Katagana. Klávesy funkcí
nemohou být tímto programem testovány.
001EH SHIFT, BREAK, CTRL když je stisknuta klávesa BREAK, je příznak přenosu C
(CARRY-Flag) nastaven na "1". Když je stisknuta klávesa SHIFT, je 6. bit v
akumulátoru nastaven na "1". Při stisknutí klávesy CTRL je nastaven 5. bit v
akumulátoru na "1" a při současném stisknutí kláves SHIFT a CTR je nastaven 4.
bit v akumulátoru na "1".
0021H WRITE HEADER návěští začátku programu (header) je zapsáno na kazetu.
Návěští začátku programu obsahuje následující data, která specifikují program:
jméno programu, začátek programu, délka programu, kód souboru a startovací
adresu. Vyjmenovaná data jsou uložena na adresách 11F0H-1167H. Blíže viz
obsazení pomocných buněk monitoru.
0024H WRITE DATA program (blok dat) určený počáteční adresou a délkou se
nahraje na kazetu. Program nebo blok dat se pro jistotu nahrává dvakrát. Přenos
je 1200 bitů za vteřinu.
0027H
READ HEADER návěští začátku program je zavedeno do paměti. Návěští začátku
programu obsahuje jméno programu, začátek programu, délku programu, kód souboru
a startovací adresu.
002AH READ DATA nahrává do paměti program, určený počáteční
adresou a délkou
002DH VERIFY srovnává se program nahraný na kazetě s programem v paměti. Při
chybě ve srovnání, tzn. CHECK SUM ERROR, je vydáno chybové hlášení.
0030H MELODY hraje hudbu odpovídající řetězci znaků, jehož počáteční adresa je
v registru DE. Řetězec musí být ukončen znakem 0DH nebo C8H. Navíc je v tomto
standardním programu obsaženo testování stisknuté klávesy BREAK. Při stisknutí
této klávesy je nastaven příznak přenosu C.
0033H Nastavení a spuštění zabudovaných hodin. Do akumulátoru je vložena 0
nebo 1 (AM nebo PM) a registr DE je inicializován počtem vteřin (maximálně
43200, což odpovídá 12 hodinám).
0038H INTERRUPT při povelu RESTART provede procesor Z-80 v souvislosti s
hardwarem větvení skok na adresu 0038H, protože tato adresa je v oblasti
monitoru a nemůže být změněna, skáče se automaticky na adresu 1038H, na kterou
se může uložit libovolný INTERRUPT vektor.
003BH READ TIME přečte se momentální čas. V registru DE se po vyvolání toho
standardního programu nachází počet vteřin (maximálně 43200, což odpovídá 12
hodin) a v akumulátoru je uložena 0 nebo 1.
003EH BELL vytvoří krátký tón o frekvenci 880 Hz.
0041H TEMPO SET určuje rychlost přehrání hudby v závislosti na obsahu
akumulátoru. Jsou povoleny hodnoty od 01 do 07. Přitom 01H odpovídá pomalé
rychlosti, 04H střední a 07H je rychle.
0044H SOUND START vytvoří stálý tón udané frekvence. Frekvence se vypočte
následující rovnicí: F= 895 kHz/NM , přičemž NM odpovídá 2 bytovému číslu v
paměti na adrese 11A1H. Proto nutno dát pozor na to, že N musí být na adrese
11A2H a M na adrese 11A1H.
0047H SOUND STOP ukončí tón, vytvořený pomocí SOUD START
0041H Start Monitoru 1Z-013B, ale po něm ihned následuje skok do E-oblasti za
E800H.
00ADH Teplý start Monitoru 1Z-013B. Po skoku na tuto adresu se nacházíte v
monitoru 1Z-013B. V tomto monitoru jsou vám k disposici následující povely:
J Jump
L Load (z kazety)
F Flopy Boot
B Key BELL (tón při každém stisknutí klávesy)
# Teplý start Basicu (pro MZ-700 i MZ-800)
P Printer Test (Test tiskárny)
M Memory Correction (oprava paměti)
S Save (na kazetu)
D Hexdump
* *
00F3H JUMP (příkaz) na tento standardní program se skočí při stlačení klávesy
"J".
00F7H BEEP (příkaz on/of) na tento standardní program se skočí při stlačení
klávesy "B".Při každém stisknutí klávesy zapnut respektive vypnut.
00FFH QUICK DISK jestliže je připojena disková jednotka, skočí se na
F000H, tzn. že je inicializován Quid disk
0111H LOAD (příkaz) na tento standardní program se skočí při stlačení klávesy
"L".
0155H Ploter Printer Test Befehl povel testu kreslícího zařízení ev. tiskárny.
Na tuto standardní adresu se skočí při stlačení klávesy "P".
018FH PLOT/PRINT CHARACTER ASCII hodnota v akumulátoru se předá na plotter
event. tiskárnu a vytiskne se. Některé hodnoty jsou reservovány pro řízení
plotteru. Podrobný popis tohoto podprogramu je v kapitole řízení plotteru.
01A5H PLOT/PRINT MESSAGE ASCII hodnoty v řetězci se jedna po druhé předávají
na plotter ev. tiskárnu a vytisknou se. Posice řetězce znaků se předává v
registru DE. Řetězec musí být ukončen znakem 0DH. Podrobný popis tohoto
podprogramu je v kapitole řízení plotteru.
01C7H MELODY jako 0030H.
02A6H INCREMENT DE registr je čtyřikrát inkrementován (inkrementovat znamená
zvýšit obsah o +1).
02ABH SOUND START jako 0044H
02BEH SOUND STOP jako 0047H
02E5H SET TEMPO jako 0041H
O2F3H CRT MANAGMET tento základní program se používá pro interní řízení
obrazovky. Po naskočení programu jsou do registru HL vloženy souřadnice kursoru.
Souřadnice X je v L, souřadnice Y je v H. Současně je v registru DE uložena
značka, která udává, zda momentální řádka je dvojnásobná ( tj.delší než 40
znaků). Značka leží v oblasti od 1173H do 118BH. Kromě toho je do akumulátoru
vložena 0 nebo 1 podle toho, zda je nebo není použita dvojnásobná délka.
0308H SET TIME jako OO33H
0358H READ TIME jako 003BH
O38DH TIME INTERRUPT když byl nastaven indikátor příznaku AM, smaže se a
nastaví se indikátor PM, eventuelně obráceně. Současně se do časovače uloží
43200 vteřin.
03B1H DISPLAY SPACE & CHARACTER vytiskne prázdný znak a ASCII znak, který je
určen obsahem akumulátoru. Výtisk na obrazovku se provede na Video RAM adresu
určenou registrem HL.
03B1H ASCII PRINT FOR HL Obsah registru HL se vytiskne na obrazovku od
momentální posice kursoru
03C3H ASCII PRINT FOR ACC obsah akumulátoru se vytiskne na obrazovku od
momentální posice kursoru.
03D5H
Data k přepnutí plotteru na 80 znaků na tomto místě v paměti jsou uložena data
(01H, 09H, 09H, 09H, 0DH), která jsou nutná k přepnutí plotteru na 80 znaků.
03DAH HEX TO ASCII hexadecimální číslo ve 4 nižších bitech akumulátoru se
převede na odpovídající ASCII kód a uloží se v akumulátoru.
03E5H ASCII TO HEX převádí hexadecimální číslo, které je jako ASCII znak
uloženo v akumulátoru, na dvojkové číslo a ukládá výsledek do 4 nižších bitů
akumulátoru. Při chybě je nastaven příznak C (tj. CARRY -Flag).
03F9H ASCII TO HEX jako 03E5H.
0410H FOUR CHARACTER ASCII CONVERSION převádí řetězec, který představuje 4
místné hexadecimální číslo v ASCII formátu na hexadecimální číslo a ukládá ho do
registru HL. Registr DE musí obsahovat počáteční adresu řetězce znaků, který
obsahuje čtyřmístné hexadecimální číslo v ASCII formátu. Tento standardní
program tedy převádí čtyřmístný řetězec znaků např. "3410" na 16-ti bitové
hexadecimální číslo. Při chybě, která může být způsobena neplatným řetězcem
znaků, se nastaví indikátor přenosu C na "1". (Flag C je "1") .
041FH TWO CHARACTER ASCII CONVERSION převádí řetězec, který představuje
dvoumístné hexadecimální číslo v ASCII formátu, na hexdecimální číslo a ukládá
ho do akumulátoru. Registr DE musí obsahovat počáteční adresu řetězce znaků
který představuje dvoumístné hexadeciální číslo v ASCII formátu. Při chybě,
která musí být způsobena neplatným řetězcem znaků, je indikátor přenosu CARRY
nastaven na "1"
0436H WRITE HEADER jako 0021H
0470H Data k přepnutí plotteru na 40 znaků. Na tomto místě v paměti jsou
uložena data (01H, 09H, 09H, 0BH, 0DH), která jsou nutná k přepnutí plotteru na
40 znaků.
0475H WRITE DATA jako 0024H
04D8H READ HEADER jako 0027H
04F9H READ DATA jako 002AH
O577H BELL jako 003EH
057EH FLASHING AND KEYIN z klávesnice se přečte znak ve Video-códu a uloží se
do akumulátoru. Současně bliká kursor. Není-li stisknuta žádá klávesa, je do
akumulátoru uloženo F0H a je nastaven příznak Zero (bit Z v registru F je
nastaven na "1")
0588H VERIFY jako 002EH
05FAH NEW LINE AND ASCII PRINT FOR HL na obrazovku se vytiskne na začátek
nové řádky obsah registru HL.
069FH CASSETTE MOTOR ON zapíná motor magnetofonu
0700H CASSETTE MOTOR OFF zapíná motor magnetofonu
0759H 107 MICROSECOND DELAY časové zpoždění 107 mikrosekund
07A8H M-BEFEL povel opravy paměti
07E6H GET LINE jako 0003H
087CH Tento standardní program provádí návrat vozíku a nastavuje kursor na
začátek na další řádky.
0893H PRINT MESSAGE jako 0015H
08A1H PRINT MESSAGE jako 0018H
08BDH GET KEY jako 001BH
090EH NEW LINE jako 0006H
0918H NEW LINE jako 0009H
0920H PRINT SPACES jako 000CH
0924H PRINT 10 SPACES jako 000FH
0935H PRINT CHARACTER jako 0012H
0996 7 MILLISECOND DELAY časové zpoždění 7 milisekund.
09B3H INPUT
KEY tento standardní program čeká s blikajícím kursorem tak dlouho, dokud není
vložen znak z klávesnice. Ovšem nemusí být stisknuto "CR" (Return). Odpovídající
hodnota stisknuté klávesy ve Video-codu je uložena v akumulátoru.
0A32H SHIFT, BREAK, CONTROL jako 001EH
0A50H Testování sítě klávesnice. Pomocí tohoto standardního programu můžete
přímo testovat klávesnici. Můžete testovat i klávesy funkcí. Jestliže se skočí
do tohoto programu, zatím co je stisknuta nějaká klávesa budou registry B a C
obsahovat následující data:
B -registr:
7 bit je 0 ,jestliže nebyla stisknuta žádná klávesa
7 bit je 1 ,jestliže byla stisknuta nějaká klávesa
6 bit je 0 ,jestliže nebyla stisknuta klávesa SHIFT
6 bit je 1 ,jestliže byla stisknuta klávesa SHIFT
5 bit je 0 ,jestliže nebyla stisknuta klávesa CTRL
5 bit je 1 ,jestliže byla stisknuta klávesa CTRL
4 bit je 0 ,jestliže nebyly současně stisknuty klávesy SHIFT a CTRL
4 bit je 1 ,jestliže byly současně stisknuty klávesy SHIFT a CTRL
C -registr:
bity 0, 1, 2 ,dávají číslo řádku sítě klávesnice
bity 3, 4, 5 ,dávají číslo sloupce sítě klávesnice
MATICE KLÁVESNICE
Tastaturabtastung {$E000H} Tastendaten {$E001H}
F0 - F1 - F2 - F3 - F4 - F5 - F6 - F7 - F8
řada/sloup. 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10
--------------------------------------------------------------
D7/11 --- neoz - Y - Q - I - A - 1 - \ -INST - BREAK- F1
! ! ! ! ! ! ! ! ! !
D6/12 --- GRA - Z - R - J - B - 2 - ~ - DEL - CTRL- F2
! ! ! ! ! ! ! ! ! !
D5/13 --- libra - @ - S - K - C - 3 - - - nahor - F3
! ! ! ! ! ! ! ! ! !
D4/14 --- ALPH - [ - T - L - D - 4 - S - dolů - F4
! ! ! ! ! ! ! ! ! !
D3/15 --- - ] - U - M - E - 5 - 0 - vlevo - F5
! ! ! ! ! ! ! ! ! !
D2/16 --- : - - V - N - F - 6 - 9 - vprav -
! ! ! ! ! ! ! ! ! !
D3/17 --- ; - - W - O - G - 7 - , - ? - -
! ! ! ! ! ! ! ! ! !
D0/18 --- CR - - X - P - H - 8 - . - / - SHFT -
--------------------------------------------------------------
0A92H ASCII TO DISPLAY CODE TABLE od této adresy jsou data pro převádění z
ASCII kódu do Video-kódu.
0BB9H ASCII TO DISPLAY převádí ASCII znak v akumulátoru do Video-kódu (Display-code,
zobrazovací kód) a ukládá tento kód do akumulátoru.
0BCEH DISPLAY TO ASCII převádí Video-kód v akumulátoru na ASCII znak a ukládá
ho do akumulátoru.
0BEAH MATRIX TO DISPLAY CODE TABLE od této adresy v paměti jsou Video-bity,
odpovídající síti klávesnice. Když např. po vyvolání 0A50H, je v registru C
uloženo 07H, potřebujeme si v této tabulce najít pouze 7 byte (počínaje od 0 a
ne od 1 !) 7 byte je CDH a tím odpovídá klávese CR.
0BEAH KEY MATRIX TO DISPLAY CODE TABLE Normaler normální
0C2AH KEY MATRIX TO DISPLAY CODE TABLE při stisknutí SHIFT
OC6AH KEY MATRIX TO DISPLAY CODE TABLE při stisknutí GRAPH
OCAAH KEY
MATRIX TO DISPLAY CODE TABLE při stisknutí CTRL
0CE9H KEY MATRIX TO DISPLAY CODE TABLE při přepnutí na Katagana (tj. neoznačené
tlačítko). Tato tabulka není u evropských modelů použita.
OD29H D - povel k zobrazení zvolené části paměti.
ODA6H VERTICAL BLANKING CHECK zjišťuje zda probíhá období vertikálního nulování
(zatemnění). Řízení je vráceno vyvolávajícímu programu, je-li vstupováno během
tohoto období.
ODB5H DISPLAY CODE CHARACTER PRINT na momentální pozici kurzoru na obrazovce se
vytiskne znak, jehož Video-kode je uložen v akumulátoru.
ODDCH DISPLAY CONTROL pomocí tohoto standardního programu se dá měnit
zobrazení na obrazovce. Přitom akumulátor obsahuje odpovídající řídící znak.
Řídící znaky a jejich působení jsou následující:
akumulátor způsobí
-------------------------------------
COH přetočení obrazovky o řádku dolů
C1H kurzor se posune o řádku dolů
C2H kurzor se posune o řádku nahoru
C3H kurzor se posune o znak doprava
C4H kurzor se posune o znak doleva
C5H kurzor se nastaví na pozici HOME(D000H)
¨ C6H Video - RAM a barvy v RAM se vymažou, kurzor je nastaven na pozici HOME.
C7H písmeno za kurzorem se vymaže a kurzor se nastaví na tuto pozici.
Stejná funkce jako klávesa "DEL".
C8H Na momentální pozici kurzoru se vsune písmeno a všechna ostatní
písmena za tímto se posunou doprava. Stejná funkce jako klávesa "INST".
C9H přepíná klávesnici z grafického módu do alfa módu
CDH provede se návrat vozíku (CR) a kurzor se nastaví na začátek dalšího
řádku na obrazovce.
0F5EH S - povel SAVE uložení.
0FB1H momentální pozice kurzoru se převede na Video RAM adresu a uloží se do
registru HL.
0FCBH V - povel VERIFY ověřovací příkaz.
0FD8H vymaže paměť od adresy v registru HL. Délku mazané paměti udává registr B.
Vymazání znamená uložit do oblasti paměti data 00H.
Monitor 1Z-013B potřebuje oblast RAM od 1000H - 11FFH jako pracovní oblast,
tzn., že v této oblasti paměti se ukládají všechna potřebná data.
Obsazení pomocných buněk monitoru (pracovní oblast)
adresa význam
1000H - 1037H volný
1039H nižší byt vektoru přerušení
103AH vyšší byt vektoru přerušení. Při přerušení se
skočí na zde uvedený vektor přerušení (adresu).
103BH - 10EFH oblast zásobníku. Normálně se v této oblasti nachází u každého
programu zásobník.
10EFH TOP DE STACK konec zásobníku
10F0H - 1107H data návěští začátku programu
10F0H kód souboru FILECODE (druh programu) označují
program v Basicu, Assembleru atd.
01 = program ve strojovém jazyku
02 = program v MZ-80K Basiku
03 = data v MZ-80K Basicu
05 = programy v Basicu MZ-700 a MZ-800
10F1H - 1101H jméno programu Jméno programu může být dlouhé maximálně 16
znaků a musí být ukončeno znakem 0DH (CR). Jestliže na adrese 10F1H je 0DH, nemá
program žádné jméno.
1102H nižší byte délky programu
1103H vyšší byte délky programu. Zde uložená délka
programu je rozhodující pro počet bytů, které se při programu SAVE uloží na
kazetu
1104H nižší byte začátku programu
1105H vyšší byte začátku programu. Od zde uložené počáteční
adresy se začne program nahrávat na kazetu při skoku do standardního programu
SAVE (0024H)
1106H nižší byte startovací adresy
1107H vyšší byte startovací adresy. Na této adrese
závisí, zda bude nahraný program automaticky proveden. Jestliže má být program
automaticky odstartován, musí na těchto dvou adresách být startovací adresa
programu, který má být proveden. Startovací adresa musí být větší nebo rovna
1200H. Při 0000H se program neodstartuje.
1108H - 116FH vstupní buffer (vyrovnávací paměť). Tyto buňky paměti se
používají jako vstupní vyrovnávací paměť.
1170H značka pro malá nebo velká písmena. Obsah 0
odpovídá velkým písmenům. Obsah 1 odpovídá malým písmenům.
1171H Y - pozice kurzoru (0-18H). Označení řádky pozice
kurzoru.
1172H X - pozice kurzoru (0-27H). Označení sloupce pozice
kurzoru.
1173H - 118BH pro každou řádku obrazovky jeden byt, který udává, zda je řádka
druhá část dvojité řádky. V tom případě je obsah 1, jinak 0.
118EH značka pro uložení znaku, na kterém je momentálně kurzor
118FH značka pro pozici kurzoru - nižší byt
1190H značka pro pozici kurzoru - vyšší byt. Použito jen
u modelu předcházejícího MZ-8OK.
1191H značka, zda je zobrazen kurzor nebo znak. 0 =
znak, 1 = kurzor. Použito jen u modelu předcházejícího MZ-80K.
1192H zobrazovací kód znaku kurzoru
1193H STRING-flag. Použito jen u modelu předcházejícího MZ-80K.
1194H značka pro počet znaků ve vkládané řádce
1195H délka předpětí kazety nižší byt
1196H délka předpětí kazety vyšší byt. Označení délky
předpětí při nahrávání, resp. čtení kazety.
1197H kontrolní součet při nahrávání do počítače nižší byt
1198H kontrolní součet při nahrávání do počítače vyšší byt. V
těchto buňkách je uložena kontrolní suma při nahrávání z kazety. Kontrolní suma
je počet jednotkových bitů v nahraných bytech. Tento součet slouží ke zjištění
chyb nahrávání.
1199H kontrolní součet při nahrávání na kazetu nižší byt
119AH kontrolní součet při nahrávání na kazetu vyšší byt.
Označení kontrolní sumy při nahrávání na kazetu. Kontrolní suma jako u 1197H
1198H.
119BH označení pro AM/PM (hodiny). AM = 0, PM = 1
119CH označení běhu hodin. Při obsahu FOH běží zabudované
hodiny
119DH označení KEY-SOUND. Označení pro vytvoření tónu při stisku
klávesy. Tón = 0, bez tónu = 1.
119EH paměť pro tempo hudby
119FH paměť pro délku tónu
11A0H paměť pro číslo oktávy
11A1H paměť pro frekvenci nižší byt
11A2H paměť pro frekvenci vyšší byt
11A3H - 11F3H vstupní vyrovnávací paměť klávesnice
11F4H - 11FFH volné
Monitor E - oblasti
Monitor E - oblasti je druhý, přes 4 KB dlouhý provozní systém, který je též
stále uložen v oblasti ROM. Monitor E - oblasti leží, jak již jméno napovídá, v
horní oblasti paměti od E010H po F36CH.
V této oblasti leží všechny standardní programy pro Quick disk a další monitor
9Z-504M.
Při spuštění počítače a při každém stisknutí RESET se automaticky skočí na
adresu 0000H. Odtud se ale ihned skočí na E800H a objeví se ihned počáteční
obraz. Jestliže stisknete klávesu "M" jako Monitor, nalézáte se v Monitoru
9Z-504M.
Podrobnější popisy standardních programů pro Quick disk viz též v kapitole Quick-disk.
E010H QD-IOS hlavní inicializační program operačního systému Quick-disku. Podle
toho, jaký je obsah buňky paměti QDPA (1130H), vyvolají se následující
standardní programy:
1 = Quickdisk READY-Check Zkoumá, zda je Quickdisk připojen a připraven k
provozu
2 = FORMAT Formátuje Quick-disk
3 = READ Čte z Quick-disku
4 = WRITE Píše na Quick-disk
E08AH standardní program kontroly připravenosti Quick-disku (READY-Check)
E090H standardní program FORMAT
E0DAH standardní program READ
E14EH standardní program WRITE
E29BH QD MOTOR ON zapíná motor Quick-disku
E2E8H QD MOTOR OFF vypíná motor Quick-disku
E44AH program řízení floppy disku, řídí připojenou disketovou jednotku
E4DCH program kontroly připravenosti floppy disku. Kontroluje, zda je připojena
disketová jednotka a zda je připravena k provozu.
E517H FD MOTOR ON zapíná motor disketové jednotky
E530H FD MOTOR OFF vypíná motor disketové jednotky
E800H tabulka skoků. Na toto místo se skáče okamžitě po zapnutí nebo po resetu
E801H skok do monitoru MZ-800 (počáteční obraz)
E804H skok do monitoru 9Z-504M
E807H nahrání z kazety za 1200H
E80AH nahrání na kazetu od 1200H
E80DH verifikace kazety od 1200H
E810H skok na QD-IOS, tedy na E010H
E813H začátek monitoru MZ-800 (počáteční obraz). V této části programu se
inicializují všechny důležité součásti a adresy, jako např. část port 8255,
časovač 8253, Z-80 PIO, SIO
E876H inicializace barev obrazovky a tempa hudby
E8A9H do paměti programovatelného generátoru znaků se nahraje obsah generátoru
znaků ROM, tzn., že znaky pevně uložené v CG-ROM (CG = znakový generátor) se
přenese do PCG - RAM.
E8E1H inicializuje se paleta barev a barvy okraje
E945H IPL nahrávač z kazety. Nahrání programu z kazety a odstartování
EA5EH testování povelů monitoru 9Z-504M
Monitor 9Z-504M obsahuje následující povely:
J = JUMP
L = nahrání z kazety
F = inicializace floppy disku
B = BELL on/off (vypnutí nebo zapnutí tónu při stisku klávesy)
M = oprava paměti
S = nahrání na kazetu
V = verifikování kazety
D = HEXdump
Q = Quickdisk (s dalšími parametry, jako QL, QS, QD atd)
E = Exit Ramboard
G = Goto$
EAA9H J - povel
EAB5H Q - povel.
Jsou možné následující povely pro Quickdisk:
QL = nahrání z Quickdisku
QS = nahrání na Quickdisk
QC = kopírování Quickdisku
QF = formátování Quickdisku
QX = přenos z kazety na Quickdisk
QD = adresář Quickdisku
EB34H GETLINE s testováním BREAK. Tento standardní program umožňuje vložení
řádky, čili více znaků, z klávesnice. Vložený řetězec znaků se uloží do vstupní
vyrovnávací paměti, takže od místa v paměti 11A3H. Standardní program končí po
stisknutí klávesy CR. Po skončení tohoto podprogramu se na konec řetězce znaků
automaticky přidává 0DH.
EB4CH
L - povel
EBAEH S - povel
EC00H V - povel
EC1EH B - povel
EC29H M - povel
EEA7H QUICK DISK LOAD povel nahrání z quick disku. Od této adresy je uložen
kompletní povel (Quickpodprogram) s dotazem na parametry.
EF2EH QUICK DISK SAVE povel nahrání na quick disk. Od této adresy je uložen
kompletní povel nahrání na quick disk s dotazem na parametry.
EFEFH QUICK DISK DIRECTORY povel adresáře quick disku.
F0B5H QUICK DISK FORMAT povel formátování quick disku. Od této adresy je uložen
kompletní standardní program formátování quick disku s dotazem "OK (Y/N)".
F12CH QUICK DISK COPY povel kopírování quick disku. Od této adresy je uložen
kompletní program kopírování quick disku s dotzem na jméno programu.
F1A2H CASSETTE TO QUICKDISK COPY povel kopírování z kazety na quuick disk. Od
této adresy je kompletní program kopírování z kazety na quick disk s dotazem na
jméno programu.
F202H Error Tabelle tabulka chyb. Hodnotám chyb se zde přiřazují odpovídající
chybová hlášení.
Obsazení pomocných buněk monitoru E-oblast
(pracovní oblast)
Monitor E-oblasti potřebuje právě tak jako monitor 1Z-013B pracovní oblast.
Většina paměťových buněk, důležitých pro uživatele je používána pro řízení quick
disku. Právě tak, jako v monitoru 1Z-013B se pro ukládání na disk musí zřídit
návěští začátku programu, jak je již známo z povelů pro řízení magnetofonu. Toto
je ale podrobně probráno s komentovaným příkladem v Basicu v kapitole o quick
disku.