-- SORD m.5 ------------------------------------------------------------------
1. UVOD
*************
Pametova oblast od adresy &7000 do adresy &7300 je vyhrazena pro tzv. systemo-
ve promenne, tj. pro promenne, ktere informuji o cinnosti systemu a urcuji
podrobeji nektere cinnosti systemu. Promenne jsou urceny umistenim ( hexadeci-
malni adresa ) a jmenem, takovym jake je pouzito v MONITOR HANDLING. U promen-
nych je uvedena i jejich inicializacni hodnota pro jednotlive jazyky ( I, G, F
pripadne D ) a system ( S ). Jednotlive interpretry jazyku BASIC vyuzivaji
tuto oblast pameti stejne jako MONITOR ROM. Navic vyuzivaji jeste dalsi oblast
RAM pro sve potreby. Tato oblast na oblast systemovych promennych navazuje.
2. Systemove promenne pro MONITOR ROM
*******************************************
2.1. Systemova stranka
==========================
adresa hodnota nazev charakteristika
-------|-------|-------|------------------------------------------------------
7000 186C IVCTC0 Adresa pro preruseni od kanalu 0 obvodu Z80 CTC.
Vyuziva se pro obvod Z80 SIO, je-li pripojen modul
SI-5. Jinak je volny a lze jej pouzit
7002 1861 IVCTC1 Adresa pro preruseni od kanalu 1 obvodu Z80 CTC.Vyuzit
nejcasteji k obsluze zvukoveho generatoru ( SML inter-
preter a v BG pri PLAY ). Mene casto jako casovac
periferii
7004 186C IVCTC2 Adresa pro preruseni od kanalu 2 obvodu Z80 CTC.
Vyuziva se jako hodiny CLOCK pro obvod Z80 SIO, je-li
pripojen modul SI-5. Jinak je volny a lze jej pouzit
7006 01DF IVCTC3 Adresa pro preruseni od kanalu 3 obvodu Z80 CTC.Vyuzi-
van pro styk s videoprocesorem VDP, obsluhu uzivatel-
skeho preruseni,klavesnice,joypady,... Je vzdy pouzit
7008 C30000 IVCTC6 Instrukce ve strojovem kodu zajistujici provedeni
operace RST 6. Je definovana uzivatelem pro snazsi
spolupraci se systemem
700B C30000 IVCTC7 viz IVCTC6, ale pro RST 7
700E I:14CD SCCDTA Adresa tabulky pro odskoky pri stisku CTRL/klavesa.
G:4E2E V teto tabulce jsou postupne zarazeny dvoubytove
F:61D2 adresy odpovidajici klavesam CTRL/A,B,...,*, ,...
S:14CD
7010 7000 SMEMTA Adresa zacatku RAM pameti systemu. Tato adresa je
urcena po zapnuti pocitace testem pameti RAM, ktery
zjistuje jeji spravnost
7012 I:8000 SMEMEA Adresa konce pameti systemu. Hodnota je urcena
G:9000 po zapnuti testem pameti
F:9000
S:8000
7014 7300 SUMMTA Adresa pocatku uzivatelovy pameti
7016 I:8000 SUMMEA Adresa konce uzivatelovy pameti
G:9000
F:9000
S:8000
7018 00 SVSSW Promenna urcujici stav obrazovek v systemu. BIT:
7,6,5,4: ..... bez vyznamu
3 - LAYOUT ... usporadani pameti VRAM:
0: GI
1: GII
2 - DSPPGE ... cislo display stranky ( viditelne )
1 - DSPTBL ... obrazovka displaye:
0: procesni
1: skryta
0 - WRTPGE ... cislo psaci stranky ( procesni )
7019 21 STDLY Urceni prenosove rychlosti na kazetovy magnetofon. Pri
zpetnem prehravani do pocitace se pocitac automaticky
prizpusobi dane rychlosti. Rychlost lze spocitat:
B:=(1/(D1+N1)+2/(D2+2*N1))/3
kde N1 .... N*8.929 E-6
N je hodnota v STDLY
D1 .... 35.36 E-6
D2 .... 49.71 E-6
2.2 Informativni stranka klavesnice
========================================
701A I:90 KINFLG Urceni vlastnosti klavesnice pro vstup. BIT:
G:90 7 - zvuk pri stisku klavesy
F:90 6 - rolovani probehlo
S:94 5 - 1 = je stiskla klavesa RESET
4 - psani pri prubeznem ukladani do vyrovnavaci
pameti klavesnice ( umoznuje FUNC klavesy )
3 - nevyuzit
2 - mod jeste nebyl menen
1,0 - nastaveni modu vstupu:
00: LETTER
01: CAPS
10: GRAPHIC
11: nedefinovan
701B 09E7 KBCTET Adresa konverzni tabulky pro klavesnici.V teto tabulce
jsou postupne ulozeny znakove ekvivalenty ktere se
maji zobrazit po stisku klavesy
701D 00 ASWN01 Informace o stavu klavesy ATTACK na prvnim joypadu
701E 00 JOYDR1 Informace o stavu packy na prvnim joypadu
701F 00 ASWN02 Informace o stavu klavesy ATTACK na druhem joypadu
7020 00 JOYDR2 Informace o stavu packy na druhem joypadu
7021 002E JOYPRC Adresa preruseni pri stisku packy ovladace
7023 002E ASWPRC Adresa preruseni pri stisku tlacitka ATTACK
7025 I:3AA6 RSTPRC Adresa preruseni pri stisku SHIFT + RESET
G:2FE9
F:26A8
S:021B
7027 I:3AAF HLTPRC Adresa preruseni pri stisku CTRL + RESET
G:2FF2
F:26CA
S:021B
7029 00 PSHKAD Adresa posledniho stiskleho tlacitka. Kodove odpovida
INKEY(0)
702A 00 LSKYST Informace o poslednim stisklem SHIFT,FUNC a CTRL. BIT:
7 - specialni CTRL flag.Tyka se <FUNC> + <1>,<2> a <3>
6 - ?
5 - ?
4 - ?
3 - pravy SHIFT
2 - levy SHIFT
1 - FUNC
0 - CTRL
702B 00 LKYADR Adresa posledniho schvaleneho tlacitka. Tlacitko
je schvaleno teprve po urcite dobe drzeni
702C 05 CHATIT Citac pro zamezeni omylu stisku ( tj. zakmitu tlacitka )
702D 1E ARPSTI Inicializacni hodnota pro citac zacnuti autorepeatu
702E -- ARPSTW Citac pro autorepeat. Cita se od hodnoty v ARPSTI
k nule. Je-li v nule jeste stiskle tlacitko, dojde
k autorepeatu
702F 04 ARPITI Inicializacni hodnota pro citac cekani v autorepeatu
7030 -- ARPITW Citac ceka v autorepeatu. Timto citacem je urcena doba
cekani mezi vypisy znaku v autorepeatu
7031 70DF KBUFTA Adresa vyrovnavaci pameti klavesnice. Do tohoto
prostoru vyrovnavaci pameti se pri psani prubezne
ukladaji jednotlive kody stisklych klaves
7033 -- KDTPPT Citac pridavani ( vstupu ) do bafru klavesnice
7034 -- KDTGPT Citac cteni ( vystupu ) z bafru klavesnice
7035 3F KBFSIZ Delka vyrovnavaci pameti klavesnice
7036 0000 KINWTM Pocet period pro stav klavesnice WAIT. Tj. pro stav
zakazu cteni
7038 32 KINWTH Standardni delka periody pro WAIT
7039 -- TERMAL Kod ukoncovaciho znaku pro vstup dat. Souvisi
s rutinou ACELN v MONITOR ROM
703A 04 BELKF Frekvence zvuku stisku klavesy
703B 02 BELKLF Delka zvuku stisku klavesy
2.3. Stranka rizeni prerusovani
===================================
703C I:27 EVMGFG Urcuje stav prerusovaciho systemu. Pro jednoduchost je
G:67 prerusovaci system nazyvan EVENT system, jedno preruseni
F:67 je jeden EVENT. BIT:
S:23 7 - DWNDFG flag docitani sestupneho citace
6 - UESW proces EVENT uzivatele
5 - KEYSW proces KEY klavesnice
4 - JOYSW proces JOY ovladacu
3 - DWCTSW sestupny citac DWCNT bezi
2 - UPCTSW dopredny citac UPCNT bezi
1 - CLOCKSW proces CLOCK hodin
0 - SPRSW proces SPRITE pohybu
703D I:00 EVMXNO Maximalni pocet EVENTU ( preruseni lze uskutecnovat
G:02 naraz nekolik )
F:02
S:00
703E I:0000 EVIFTA Adresa tabulky informaci o jednotlivych EVENT ( je-li
G:72F2 rovna 0000, nejsou v danem systemu eventy vedeny ).
F:72D5 Tvar jedne polozky v tabulce, BYTE:
S:0000 +00 +01 - SUPDLY interval do preruseni
+02 - SUPITV inicializacni hodnota intervalu preruseni
+03 - citac intervalu
+04 +05 - EVPRC adresa rutiny pro obslouzeni EVENTU
+06 - ... dalsi polozka v tabulce
7040 00 UEVMGF Uzivatelsky EVENT flag operaci
( bit 0 : 0 = NE, 1 = ANO )
7041 32 UPCTBI Inicializacni cas pro urceni hodin v doprednem citaci
- UP COUNTER. Jde v podstate o urceni casu, kdy se ma
citac zvetsit o 1
7042 -- UPCTBW Citac pro urceni hodin v doprednem citaci
7043 -- UPCNT Dopredny citac. Zvysuje svoji hodnotu o 1 za jednotku
casu urcenou UPCTBI. Jsou z nej odvozovany hodnoty
dodavane funkci TIME v I,G,F
7045 32 DWCTBI Inicializacni cas pro urceni hodin v sestupnem citaci
( DOWN COUNTER )
7046 -- DWCTBW Citac pro urceni hodin v sestupnem citaci
7047 0000 DWCNT Sestupny citac. Zmensuje svoji hodnotu o 1 za cas
urceny DWCTBI
7049 -- CLKBTW Standardni interval systemovych hodin
704A 00 CLOCKS Systemove hodiny - sekundy
704B 00 CLOCKM Systemove hodiny - minuty
704C 00 CLOCKH Systemove hodiny - hodiny
704D FF ALMTM Cas pro alarm - minuty
704E FF ALMTH Cas pro alarm - hodiny
704F I:002E ALMPRC Adresa preruseni pro vykonani ALARMu
G:3031
F:002E
S:002E
7051 002E EVHPRC Adresa obslouzeni tzv. dnoveho procesu,
tj. prekroceni 23:59:59
7053 I:002E SPRPRC Adresa obsluzne rutiny pro obsluhu preruseni
G:5765 pro sprajty
F:002E
S:002E
7055 -- SPSTUS Kopie STATUS registru VDP tykajiciho se sprajtu. BIT:
7 - prerusovaci flag ( vzdy = 1 )
6 - flag peti sprajtu v rade ( 1 = jsou )
5 - flag srazky sprajtu ( 1 = srazka )
4,3,2,1,0 - cislo sprajtu, jez je paty v rade
7056 02 SPSTEP Urcuje krok sprajtu v ose X
7057 01 SPSTPC Urcuje krok sprajtu v ose Y
7058 00 BELKC Citac pro urceni delky zvuku klavesy
7059 00 BELC Citac pro urceni delky zvuku BEL
2.4. Stranka tiskarny
=========================
705A I:03 POUTFG Nastaveni vystupni charakteristiky. BIT:
G:03 2 - tabulace plati
F:03 1 - autonewline
S:07 0 - 0=CR 1=CR+LF
705B 50 PMXCLM urceni maximalniho poctu znaku na radek
705C __ PHDPOS Informativni pozice tiskove hlavy
2.5. Hudebni stranka
========================
705D 1854 SEXTA Adresa obsluzne rutiny pro zvukovy generator
705F 1A79 SEXPA Adresa tabulky dat pro urceni nastroju ve zvukovem
generatoru
7061 1F TMPOD Konstanta pro inicializaci citace rychlosti ( tempa )
hudby
7062 __ TMPOC Citac rychlosti ( tempa ) hudby
7063 00 MSCAL Data transpozicni pro zvukovy generator
7064 14 byte SGSYT1 Interpreter - tabulka pro 1. kanal
7072 14 byte SGSYT2 Interpreter - tabulka pro 2. kanal
7080 14 byte SGSYT3 Interpreter - tabulka pro 3. kanal
Tvar tabulek ( adresa ... obsah ) :
------------------------------------
+00 +01 ... adresa vyrovnavaci pameti pro prislusny kanal
( 1-715F; 2-717F; 3-719F )
+02 ... delka vyrovnavaci pameti 20
+03 ... vystupni citac 00
+04 ... vstupni citac 00
+05 ... hold cas - cas mezery 07
+06 ... hlasitost 00
+07 ... oktava 02
+08 ... implicitni delka tonu 10
+09 +0A ... adresa ulozeni dat 0000
+0B ... data vystupni citac 10
+0C ... citac delky tonu 00
+0D ... citac HOLD casu 00
2.6. Stranka magnetofonu ( ACMT stranka )
=============================================
708E 00 SYSFMT Nastaveni prenosovych parametru. BIT:
2 - OPNFMT 1=flag OPEN
1 - LDMONT 0=OLD 1=VERIFY
0 - BUFSMT kam nahravat: 0=RAM 1=VRAM
708F __ PUTPMT Ukazatel dat pro PUT a GET
GETPMT
7090 __ AVILMT Delka nacteneho bloku
7091 __ BSIZMT Delka vyrovnavaci pameti
7092 ____ RWBFMT Adresa vyrovnavaci pameti
2.7. Stranka procesni obrazovky
===================================
7094 00 DIFLGA Nastaveni parametru obrazovky. BIT:
7,6,5 - MODE ... mod obrazovky
000 ... GI
001 ... GII
010 ... M
100 ... T
4 - CUROUT ... kursor mimo VIEW
3 - CURON ... kursor je videt
2 - SRLOC ... obrazovka uzamknuta
1 - DMODE1 ... 0 kody CTRL se vykonaji
1 kody CTRL se zobrazi
0 - DMODE0 ... 0 mod klavesnice je psani
1 mod klavesnice je insert
7095 3800 CODTLA Adresa zacatku obrazovky
7097 3B80 CCOTLA Adresa tabulky barev znaku
7099 2800 CPATLA Adresa tabulky predloh ( usporadani I ) znaku
709B 3B00 SATTLA Adresa tabulky vlastnosti sprajtu
709D 2000 SPATLA Adresa tabulky predloh sprajtu
709F E1 BDCOLA Barva pozadi obrazovky
70A0 00 UPRMVA Horni rozmer VIEW
70A1 00 LFTMVA Levy rozmer VIEW
70A2 18 HEITVA Spodni rozmer VIEW
70A3 20 WIDTVA Pravy rozmer VIEW
70A4 18 HITDA Spodni rozmer obrazovky
70A5 20 WIDTDA Pravy rozmer obrazovky
70A6 00 CURSYA Souradnice kursoru - Y
70A7 00 CURSXA Souradnice kursoru - X
70A8 3800 CURADA Adresa kursoru v pameti VRAM
70AA 00 CCUCRA Znak na pozici kursoru
70AB 10 DISPCA Doba po kterou je kursor videt
70AC 10 ERSECA Doba po kterou neni kursor videt
70AD 08 BELFA Frekvence zvuku znaku BEL
70AE 0E BELFLA Delka zvuku znaku BEL
70AF I:09 GRFLA Informace o grafickych parametrech obrazovky. BIT:
G:08 7 - velikost sprajtu ( 0 = 8*8 ; 1 = 16*16 )
F:08 6 - zvetseni sprajtu ( 0 = 1krat ; 1 = 2krat )
S:09 5,4,3 - infomativni velikost sprajtu:
100 ... 32*32
010 ... 16*16
001 ... 8*8
2,1,0 - graficky mod:
100 ... XOR
010 ... AND
001 ... OR
000 ... vymena
70B0 0000 GCURYA Souradnice grafickeho kursoru - Y
70B2 0000 GCURXA Souradnice grafickeho kursoru - X
70B4 I:0000 GIMPRA Adresa pro obslouzeni procesu uzivatele v GII
G:4ED4
F:628C
S:0000
70B6 I:0000 MPLPRA Adresa pro obslouzeni procesu v MULTICOLORu
G:4ED4
F:628C
S:0000
2.8. Stranka skryte obrazovky
=================================
70B8 DIFLGP Vyznam je tyz jako u stranky procesni obrazovky.
Promenne maji pouze koncovku P misto A
70DA MPLPRP ......
2.9. Stranka FUNC
=====================
70DC I:1A FKMGFG Nastaveni parametru FCTN. BIT:
G:1A 7 - format s citacem nebo bez citace ( 0 nebo 1 )
F:1A 4 az 0 - pocet klaves nadefinovanych pres FUNC
S:00
70DD I:3FAE FKIFTA adresa tabulky pro vydekodovani textu pres FUNC.
G:4DD1 Format tabulky:
F:5D05 +00 +01 ... adresa pro FUNC + A
S:0000 +02 +03 ... adresa pro FUNC + B atd ...
Format ulozenych dat:
adresa s citacem adresa bez citace
citac: 04 'B'
'M' 'C'
'O' 'O'
'V' 'L'
'E' 00
2.10. Stranka vyrovnavacich pameti
=====================================
70DF 64 byte KEYBUF Vyrovnavaci pamet pro klavesnici
711F 64 byte ACMBTF Vyrovnavaci pamet pro magnetofon ( a "FX:" )
715F 32 byte SGPBF1 Vyrovnavaci pamet zvukovy generator kanal 1
717F 32 byte SGPBF2 Vyrovnavaci pamet zvukovy generator kanal 2
719F 32 byte SGPBF3 Vyrovnavaci pamet zvukovy generator kanal 3
2.11. Stranka sprajtu ( v BI vyuzita pro systemove promenne )
================================================================
71BF G:0C MXPSNO Maximalni pocet POSTu - tj. SPRITu jez se mohou
F:00 pohybovat. Pocet je omezen kapacitou tabulky informaci
S:00 o pohybu sprajtu
71C0 71E2 SPIFTA Adresa tabulky informaci o pohybu sprajtu
71C2 32 byte SPLINK Tabulka informaci o spojovani sprajtu. Pro kazdy
sprajt je vyhrazen 1 byte. Vyznam bitu:
7,6,5 - tvar spojeni:
000 - nespojeno
001 - na stejne pozici
010 - vpravo
100 - dolu
011 - vlevo
101 - nahoru
110 - nedefinovan
111 - nedefinovan
2.12. Stranka informaci o sprajtech
======================================
71E2 60 byte SPIFTB
721D ... konec tabulky
Zde jsou umisteny informace o pohybu sprajtu cislo 0 az 11. Pro kazdy sprajt
je zde 5 byte informace. Prvy byte udaje o sprajtu - SPIFLG. BIT:
7 - platnost udaju
6,5 - urcuji jaky typ pohybu ma sprajt a zaroven jak vypadaji dalsi 4 byte
4 az 0 - cislo sprajtu jehoz se informace tykaji
Jsou tri mozne formaty dat:
---------------------------
Typ A: byte 1 - R 0 0 cislo a typ sprajtu
byte 2 - rychlost pohybu
byte 3 - citac pro rychlost pohybu
byte 4 - vektor pohybu v ose X
byte 5 - vektor pohybu v ose Y
Typ B: byte 1 - R 0 1 cislo sprajtu a typ sprajtu
byte 2 - rychlost pohybu
byte 3 - citac pro rychlost pohybu
byte 4 - Kam dojet v ose X
byte 5 - Kam dojet v ose Y
Typ C: byte 1 - R 1 0 cislo sprajtu a typ sprajtu
byte 2 - objektivni pozice X zadana
byte 3 - citac pro X
byte 4 - objektivni pozice Y zadana
byte 5 - citac pro Y
Poznamka: V BG odpovida typ A ... MOVE STEP typ B ... MOVE TO
a typ C ... MOVE ON
2.13. Specialni stranka MONITOR ROM
======================================
7223 __ UEVCT Doplnkovy citac pro EVENT
7224 __ UEVPT Doplnkovy ukazatel pro EVENT
7226 40 byte LNBUF Radkova vyrovnavaci pamet
724E ---- SCRDFR Data rolovani - krok rolovani
7250 ---- SCRCOR Data rolovani
7252 ---- CURPSV Pozice kursoru X,Y - pouzito pri kompilaci
7254 -- SCRLCH Priznak rolovani
7255 3 byte AVRHL Delky dob pri cteni z magnetofonu
7258 32 byte ACHBTF Vyrovnavaci pamet magnetofonu pro nahrani
identifikacniho bloku
7278 72 byte NOTUSE Nepouzity prostor vyhrazeny pro potreby nektereho
systemu BASIC
72C0 64 byte SYSTKL Systemovy zasobnik. ( V I,G,F je tento prostor vyuzit
systemem BASIC. )
7300 SYSTAK Od teto adresy zacina uzivatelsky prostor pro programy
3. Systemove promenne jazyku BASIC
****************************************
3.1. Systemove promenne jazyka BASIC-I
==========================================
71BF 7383 adresa zacatku programu v jazyce BASIC
71C1 ____ adresa konce programu v jazyce BASIC a zaroven
adresa zacatku ulozeni promennych jazyka BASIC
71C3 ____ adresa konce ulozeni promennych jazyka BASIC
71C5 7FFF adresa konce RAM
71CB ____ adresa prostoru rezervovaneho uzivateli
71CD ____ cislo prave vykonavane radky
71CF ____ adresa prave vykonavaneho kodu
71D7 13 LEN X
71D8 20 kod znaku, jez se vytiskne za cislo
7203 32 byte prostor pro nahrani hlavicky z magnetofonu ( IDT )
3.2. Systemove promenne jazyka BASIC-G
==========================================
7259 ____ adresa zacatku sekce programu
726A 745A adresa zacatku programu
726C ____ adresa konce programu a zaroven adresa zacatku
ulozeni promennych jazyka BASIC
726E ____ adresa konce ulozeni promennych
7270 ____ konec pameti RAM vyuzitelne pro BASIC-G
7278 ____ cislo prave vykonavane radky
7282 13 LEN X
7288 ____ dno pro GOSUB
729A 8FFF posledni adresa RAM
72A9 souvislost s TRACE
730A 4 byte implicitni delka not pro 1. kanal SGC
730E 4 byte implicitni delka not pro 2. kanal SGC
7312 4 byte implicitni delka not pro 3. kanal SGC
731A 32 byte prostor pro nahrani hlavicky z magnetofonu ( IDT )
3.3. Systemove promenne jazyka BASIC-F
==========================================
711F __ NMBTRC cislo mechaniky "FX:" ( zacatek 32 byte )
7120 __ ATRCMT zacatek prostoru pro ID blok zaznamu - atribut
7121 9 byte NAMCMT jmeno zaznamu
712A ____ ADRCMT adresa ulozeni zaznamu
712C ____ LENCMT delka zaznamu
712E ____ STRCMT autostart zaznamu
7130 16 byte zbytek ID bloku ( 7131 IDENTC zde je "BF" pri SAVE )
721E 6357 MSKPOI adresa tabulky pro tvorbu bodu v grafice
7220 FF MSKPNT maska bodovych operaci, zpravidla 0FFH
7221 00 GMDPRM 2. parametr GMODE ( 0 nebo 1 )
7222 00 PMDEXC 2. parametr PMODE. BIT: 0 - poradi parametru
1 - poradi tisku bitu
7223 az 7225 viz 2.13
7226 ____ Meziuschova souradnice Y grafickeho kurzoru pri PAINT
7228 ____ Meziuschova souradnice X grafickeho kurzoru pri PAINT
722A az 7261 viz 2.13
7262 ____ REGAF zde je ulozen registr AF po RET ze strojoveho kodu
7264 ____ REGBC registr BC
7266 ____ REGDE registr DE
7268 ____ REGHL registr HL
726A F:77F2 ADRPRG programove meze - zacatek programu
D:945F
726C F:77F4 ADRVAR - konec programu, zacatek promennych
D:9461
726E F:77F4 ENDVAR - konec promennych
D:9461
7270 !!!! USRSPA adresa zacatku uzivatelskeho prostoru ( SUMMEA-256 ).
Od USRSPA jsou zasobnikove a operacni prostory. Poloha
se urcuje implicitne CLEAR n ( neuvedene n = 256 )
7272 ____ STRTOM adresa pocatku operacniho prostoru, komplet aritmetika
7274 ____ TOPTOM adresa konce operacniho prostoru, ztotozneni hodnot
STRTOM a TOPTOM nuluje operacni prostor
7276 !!!! TOPSYS posledni byte uzivatelskeho prostoru ukazuje SP,
inicializuje CLEAR
7278 ____ AKTNMB cislo prave vykonavane radky
727A ____ LASTLB adresa posledne pouziteho navesti
727C ____ AKTCHR adresa prave vykonavaneho kodu
727E ____ NXTADT adresa dalsiho prikazu ( radku )
7280 ____ ERRSP adresa havarijniho SP. Nastavuje se na CLEAR TOPSYS+1
7282 FFFE ERRGSP adresa havarijniho SP pro GOSUB / RETURN
7284 00 ERR kod posledni chyby
7285 00 nevyuzit
7286 0000 ERRL radka posledni chyby
7288 306A ERRL$ adresa navesti posledni chyby
728A 77F1 RSTORE adresa ukazatele pro cteni dat ( RSTORE-1 )
728C ____ LSTDTA adresa posledniho cteni DATA
728E 02 INTYPE implicitni typ vstupu ( 0 - INT, 2 - DBL, 4 - STR )
728F 02 OTTYPE implicitni typ vystupu ( 0 - INT, 2 - DBL, 4 - STR )
7290 12 LENTXT delka nove deklarovanych retezcu ( LEN X )
7291 __ FLAGA bajt priznaku kompilace. BIT:
4 - uplny radek,
5 - aktivni AUTO
7 - vyskyt vykonnych ciselne radkovych prikazu
7292 02 maximalni pocet interuptu basiku
7293 __ INTLVT EVENT jazyka BASIC, momentalni uroven povoleneho
preruseni, porovnava se s nove prichozim. BIT:
0 - COINC 3 - EVENT 5 - STEP 7 - STOP
1 - KEY 4 - ON ERROR 6 - TRACE
7294 __ FLAGE pomocny prerusovaci registr. BIT:
7 - je ON ERROR ... / nastala chyba
6 - je ON EVENT ...
7295 ____ ADRERR adresa odskoku pri ON ERROR ...
7297 ____ ADREVT adresa odskoku pri ON EVENT ...
7299 ____ adresa odskoku pri ON KEY ...
729B ____ adresa odskoku pri ON COINC ...
729D ____ adresa odskoku pri ON ALARM ... (?)
729F ____ ADRCNT adresa odskoku pri CONT ( navrat po CONT )
72A1 ____ pomocna promenna
72A3 __ INTRGC kopie prerusovaciho registru pri STOP pro CONT ( 7293 )
72A4 00 FLAGC navesti urovni pri IF, EXE, CALC ... BIT:
0 - je platne ELSE, jinak byl uz platny THEN
4 - je vykonne EXE ( CALC ), dalsi neni povoleno
72A5 __ FLGVAR urceni platnosti adres promennych v programu
( 00 - neplatne, FF - platne )
72A6 __ FLGADR urceni platnosti adres skoku a navesti v programu
72A7 00 CHNA cislo kanalu pro primy mod konzoly - tisk READY,AUTO ...
72A8 00 DEVA cislo zarizeni pro primy mod konzoly
72A9 00 CHNB cislo kanalu pro neprimy mod konzoly - funkce LIST,
FILES, PUT, GET, RECORD ...
72AA 00 DEVB cislo zarizeni pro neprimy mod konzoly
72AB __ OPENCH cislo otevreneho kanalu
72AC ____ LAUTO cislo radky pro AUTO
72AE ____ SAUTO krok cislovani pro AUTO
72B0 73F3 TXTHD adresa textu pro vytvoreni hlavicky. Text se pak
presouva na 7133
72B2 F:57 NMBCMD pocet prikazu v tabulce prikazu
D:6F
72B3 F:2786 CODCMD adresa konverzni tabulky prikazu - tabulka vykonnych
D:8D34 adres
72B5 F:5924 ASCCMD adresa konverzni tabulky prikazu - tabulka v ASCII
D:8820 tvaru
72B7 F:2A NMBFNC pocet funkci v tabulce funkci
D:3F
72B8 F:2DD2 CODFNC adresa konverzni tabulky funkci - tabulka vykonnych
D:8E14 adres
72BA F:5B24 ASCFNC adresa konverzni tabulky funkci - tabulka v ASCII
D:8ABB tvaru
72BC 02 MAXINT maximalni pocet preruseni v basiku
72BD F:21C3 KOMPVR uzivatelska rutina pro kompilaci promennych. ( FN )
D:7923 Vzdy 3 byte: JP xxxx
72C0 24CF LISTVR uzivatelska rutina pro vypis promennych
72C3 F:24CC STORVR uzivatelska rutina pro vlozeni promennych ( vypocet FN )
D:7961
72C6 F:21C3 RUNNVR uzivatelska rutina pro zalozeni promennych
D:7961
72C9 F:21C3 CLRVAR uzivatelska rutina pro nulovani promennych
D:79C2
72CC F:21C3 ERSVAR uzivatelska rutina po skonceni nulovani adres promennych
D:79D5
72CF F:24CC ENDCHR uzivatelska rutina dalsich ukoncovacich znaku ( jeste 4 )
D:79B5
72D2 F:21C3 LREADY uzivatelska rutina k vykonani vypisu textu "Ready"
D:7B80
Nasleduji dve tabulky preruseni dle systemoveho EVENTu :
--------------------------------------------------------
72D5 8000 SUPDLY polozka tabulky obsluhy procedury EVENT v basiku
72D7 ____ SUPITV delka cekani do do dalsiho preruseni + citac
72D9 F:26D9 ADREVP adresa procesu EVENT
D:7881
72DB 8000 SUPDLY polozka tabulky EVENTu - obsluha SLEEP
72DD ____ SUPITV delka cekani do do dalsiho preruseni + citac
72DF 3072 ADRSLP adresa procesu SLEEP
72E1 6 byte volny prostor pro dalsi tabulku obsluhy
72E7 4000 PSLEEP pocet period pro SLEEP
72E9 __ FSLEEP flag vedeni SLEEP ( aktivni / neaktivni )
72EA 6739 RPAINT adresa rutiny PAINT pro hranicni znak
72EC 00 parametr GCOPY, meritko zobrazeni
72ED 68C3 PRICLM adresa rutiny pro tisk znaku po bodech ( tisk sloupce
jemne grafiky na "PRI:" )
72EF 6879 INIPRI adresa rutiny pro inicializaci "PRI:". Dle systemu
tiskne retezec dle INIPR a posle obsah BC jako pocet
bodu na "PRI:"
72F1 6944 tiskarna ( 0,1 - rutina )
72F3 67C1 INCH6 adresa textu, ktery nastavuje tiskarnu na 6 INCH
72F5 5 byte TINCH6 prostor pro text definice radkovani 6/i. Standardne
je definovan retezec: DB 03,1B,'A',0C,0. V BD se meni
prikazem PMODE ,,,,< string >
72FA 67C8 INCH9 adresa textu, ktery nastavuje tiskarnu na 9 INCH
72FC 5 byte TINCH9 text DB 03,1B,'A',08,0
7301 67CF INIPR adresa textu pro inicializaci "PRI:"
7303 3 byte TINIPR prostor pro inicializacni text "PRI:", standardne
je definovan retezec: DB 02,1B,'K'
7306 ____ ABUF buffer pro meziuschovy: ukazatel zasobniku GOSUB;
adresa ulozeni promennych pri CHAIN ALL; adresa ukla-
dani promennych pri DIM; uschova znaku pri LIST
7307 __ ADLIST (20) - LIST, (00) - CLIST
7308 ____ CHADDB ukazatel pri prubehu COMPILE a ukazatel pri preruseni
odkazu v programu
730A __ LNLEN v COMPILE celkova delka prekladaneho radku
730B 8 byte BUF hlavni buffer aritmetiky
7313 8 byte BUFPOM pomocny buffer
731B 8 byte BUF2 pomocny buffer aritmetiky
7323 15 byte NUMBUF buffer
7332 __ NUMEXP uschova exponentu pri tisku cisla
7333 __ NUMFP pocet desetinnych mist pri NUM$
7334 8 byte MBUF1 vedlejsi buffer aritmetiky
733C 8 byte MBUF2
7344 8 byte MBUF3
734C 7 byte MBUF4 cele cislo v binarnim tvaru
7353 8 byte BUF1 mezipamet aritmetiky
735B 741A ADRDBL adresa buffru pro tisk DBL cisla
735D __ FLAGT flag pro tisk cisel. BIT:
7 - tisk DBL v EXP tvaru
6 - zaokrouhlovani povoleno
5 - pouze tisk mantisy
735E __ FLAGB flag operaci DBL. BIT: 0 - v buffru jsou platna cisla
735F __ THETA typ uhlove miry ( jako v basiku )
7360 7 byte DBLRND mantisa nahodneho cisla
7367 ____ INTRND zdrojove cislo pro RND
7369 96 byte TBLCHN tabulka kanalu 0 az 15 po 6ti bytech. BYTE:
0 - typ zarizeni
1 - cislo driveru ( jednotky A-H FD-5 )
2 - cislo kanalu ( uvnitr jednotky FD-5 )
3,4 - adresa tabulky vlastnosti zarizeni
5 - pozice v zarizeni ( poloha hlavy v "PRT:" )
Typy zarizeni jsou: 00 - CNS, 01 - GRP, 02 - PRT,
03 - PRI, 04 - CMT, 05 - FX, 06 - SIO, FF - CLOSE.
( 7369 - CHN00, 73C3 - CHN15 )
73C9 04 IMOPEN implicitni atribut OPEN ( 04 => data )
73CA 84 IMLIST implicitni atribut LIST ( 84 => LIST )
73CB 04 IMPDEV implicitni cislo systemoveho zarizeni
73CC 00 IMPDRV implicitni cislo driveru ( jednotky A-H FD-5 )
73CD 00 IMPTRK implicitni cislo mechaniky ( 0-7 v jedne FD-5 )
73CE 80 USRDEV pokracovani tabulky zarizeni. Hodnota s nastavenym
7 bitem - tabulka je neplatna
73CF 0000 USRDVA adresa uzivatelova zarizeni
73D1 00 FNDATA kod hledane nahravky
73D2 00 status zarizeni "FX:". BIT:
6 - vysila se break na jednotku FD-5 zarizeni "FX:"
3 - akcni text na "FX:"
2,1,0 - cislo driveru ( zarizeni "FX:" )
73D3 00 akcni smer komunikace 1. Postupne se provadeji nasta-
vene rutiny ( od 0 do 3 ). BIT:
3 - registry vratit z "FX:"
2 - data z "FX:"
1 - data do "FX:"
0 - je vysilan akcni text
73D4 __ akcni smer komunikace 2. Viz 73D3
73D5 0B delka ridiciho textu pro "FX:"
73D6 73E1 adresa ridiciho textu pro "FX:"
73D8 40 delka vystupniho bufferu pro "FX:"
73D9 711F adresa vystupniho bufferu pro "FX:"
73DB 40 delka vstupniho bufferu pro "FX:"
73DC 715F adresa vstupniho bufferu pro "FX:"
73DE 08 delka bufferu registru z "FX:" ( zpetne hlaseni )
73DF 7262 adresa bufferu pro zpetne hlaseni z "FX:"
73E1 3 byty prostor pro ridici text pro "FX:"
73E4 ____ prostor pro registry pri operacich s "FX:"
73E6 ____ delka nacitaneho zaznamu z "FX:" ( record )
73E8 ____ druh operace s "FX:". 0 = jen hlavicka
73EA ____ adresa zacatku bloku prenosu dat
73EC __ kopie SYSFMT - rizeni magnetofonu
73ED __ typ pameti pri operacich s "FX:"
73EE ____ casove konstanty urcujici dobu cekani na odpoved od "FX:"
73F0 ____ meziuschova SP pri komunikaci s "FX:"
73F2 0A citac stisku RESET
73F3 26 byte HEADTX text pro tvorbu hlavicky viz 72B0
740D 256 byte LINBUF pro radkovou vyrovnavaci pamet
a zaroven:
740D ____ RENMST cislo radky pro RENUM a NOLIST a souradnice X bodu
konce PAINT platneho pixelu
740F ____ RENMSS krok radky pro RENUM a NOLIST a souradnice X noveho
testovaneho bodu pri PAINT
7411 ____ RENMIS adresa puvodni radky pro RENUM a NOLIST a meziuschova
souradnice X bodu konce PAINT platneho pixelu
7413 __ prerusenych PAINTu
7414 __ smer pohybu barveni v ose Y. 00 dolu, FF nahoru
7415 ____ Meziuschova sour. X noveho testovaneho bodu pri PAINT
7317 ____ Meziuschova SP pri PAINT
7419 ____ spodni hodnota VIEW vyjadrena v grafickych souradnicich
741E __ NMBCLR pocet hranicnich barev pro PAINT
741F 16 byte PAICLR kody hranicnich barev pro PAINT
744D __ flag "PRI:". BIT:
0 - priznak, zda je znak na jednu nebo dve radky
( nastaveno rutinou tisku )
6 - prvni znak tisku
7 - posledni radek k tisku
744E ____ pocet bodu ( sloupcu znaku ) na radek + 2 body
( sloupce ) na ramecek pro "PRI:"
750E 256 byte BUFKOM buffer pro kompilaci radku z ASCII do vnitrni repre-
zentace
7630 256 byte BUFDAT buffer pro kompilaci radku pri OLD z LIST; CALC, EXE
7751 159 byte buffer pro zapis bloku pri operacich s "CMT:"
77F2 ( D:945F ) od teto adresy zacina prostor pro uzivatelske programy
4. Seznam systemovych promennych serazeny podle abecedy
*************************************************************
4.1. Systemove promenne MONITOR ROM
=======================================
ACHBTF 7258 DWCTBI 7045 MSCAL 7063 UPCTBW 7042
ACMBTF 711F DWCTBW 7046 MXPSNO 71BF UPRMVA 70A0
ALMPRC 704F ERSECA 70AC NOTUSE 7278 UPRMVP 70C4
ALMTH 704E ERSECP 70D0 PHDPOS 705C WIDTDA 70A5
ALMTM 704D EVHPRC 7051 PMXCLM 705B WIDTDP 70C9
ARPITI 702F EVIFTA 703E POUTFG 705A WIDTVA 70A3
ARPITW 7030 EVMGFG 703C PSHKAD 7029 WIDTVP 70C7
ARPSTI 702D EVMXNO 703D PUTPMT 708F
ARPSTW 702E FKIFTA 70DD RSTPRC 7025
ASWN01 701D FKMGFG 70DC RWBFMT 7092
ASWN02 701F GCURXA 70B1 SATTLA 709B
ASWPRC 7023 GCURXP 70D5 SATTLP 70BF
AVILMT 7090 GCURYA 70B0 SCCDTA 700E
AVRHL 7255 GCURYP 70D4 SCRCOR 7250
BDCOLA 709F GIMPRA 70B4 SCRDFR 724E
BDCOLP 70C3 GIMPRP 70D8 SCRLCH 7254
BELC 7059 GPLPRA 70B2 SEXPA 705F
BELFA 70AD GPLPRP 70D6 SEXTA 705D
BELFLA 70AE GRFLA 70AF SGPBF1 715F
BELFLP 70D2 GRFLP 70D3 SGPBF2 717F
BELFP 70D1 HEITVA 70A2 SGPBF3 719F
BELKC 7058 HEITVP 70C6 SGSYT1 7064
BELKF 703A HITDA 70A4 SGSYT2 7072
BELKLF 703B HITDP 70C8 SGSYT3 7080
BSIZMT 7091 HLTPRC 7027 SMEMEA 7012
CCOTLA 7097 IVCTC0 7000 SMEMTA 7010
CCOTLP 70BB IVCTC1 7002 SPATLA 709D
CCUCRA 70AA IVCTC2 7004 SPATLP 70C1
CCUCRP 70CE IVCTC3 7006 SPIFTA 71C0
CHATIT 702C IVCTC6 7008 SPIFTB 71E2
CLKBTW 7049 IVCTC7 700B SPLINK 71C2
CLOCKS 704A JOYDR1 701E SPRPRC 7053
CLOCKH 704C JOYDR2 7020 SPSTEP 7056
CLOCKM 704B JOYPRC 7021 SPSTPC 7057
CODTLA 7095 KBCTET 701B SPSTUS 7055
CODTLP 70B9 KBFSIZ 7035 STDLY 7019
CPATLA 7099 KBUFTA 7031 SUMMEA 7016
CPATLP 70BD KDTGPT 7034 SUMMTA 7014
CURADA 70A8 KDTPPT 7033 SVSSW 7018
CURADP 70CC KEYBUF 70DF SYSFMT 708E
CURPSV 7252 KINFLG 701A SYSTAK 7300
CURSXA 70A7 KINWTH 7038 SYSTKL 72C0
CURSXP 70CB KINWTM 7036 TERMAL 7039
CURSYA 70A6 LFTMVA 70A1 TMPOC 7062
CURSYP 70CA LFTMVP 70C5 TMPOD 7061
DIFLGA 7094 LKYADR 702B UEVCT 7223
DIFLGP 70B8 LNBUF 7226 UEVMGF 7040
DISPCA 70AB LSKYST 702A UEVPT 7224
DISPCP 70CF MPLPRA 70B6 UPCNT 7043
DWCNT 7047 MPLPRP 70DA UPCTBI 7041
------------------------------------------------------------------------------
Podle ruznych materialu a
na zaklade vlastnich zku-
senosti sestavil a napsal
LZR Soft. V Kladne 1988.
Vydani devate, pocet vy-
tisku dle potreby. Vytis-
teno na tiskarne LA120.
-------------------------------------------------------- pro WWW upravil K5 --