Vše o MZ-800 - Monitor

 

Zpět Nahoru Další

 

 

        Obsah této stránky:

bullet

MONITOR 1Z-013B

bullet

Podprogramy monitoru

bullet

Matice klávesnice

bullet

Obsazení pomocných buněk monitoru (pracovní oblast)

bullet

Monitor  E - oblasti

bullet

Obsazení pomocných buněk monitoru E-oblast

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.

 

Úvod | Sharp MZ-800 | 8 bit klub Brno | Download | Kniha návštěv | Vyhledání na těchto stránkách | Mapa stránek

 

Tyto stránky byly naposledy aktualizovány dne 08. 02. 2014      Copyright © 05/2006 - SCAV - Pavel Brázda webmaster(c)scav.cz

 

 

Google