OPERAČNÍ SYSTÉM CP/M - Control program for microcomputer
0000H - 00FFH SPA system parametr area
0100H - D3FFH TPA transcient program area
D400H - DBFFH CCP consol command processor
DC06H - E9FFH BDOS basic disc operating system
EA00H - FFFFH BIOS basic input-output system
ROZLOŽENÍ CP/M V RAMĚTI RAM
MODUL SPA
0000H - 0002H WBOOT skok na EA03H
0003H IOBYTE přiřazení
logickému zařízení fyzické zařízení
0004H CDISK aktualni
uživatel a disk
0005H - 0007H BDOS skok na DC06
0008H RST1 zpracování
přerušení - není využito
0010H RST2 zpracování
přerušení - není využito
0018H RST3 zpracování
přerušení - není využito
0020H RST4 zpracování
přerušení - není využito
0028H RST5 zpracování
přerušení - není využito
0030H RST6 rezervováno
0038H RST7 zpracování
přerušení - DDT SID ZSID
003BH - 005BH rezervováno
005CH - 006BH FCBA zbytek řádku příkazu z CCP soubor 1
006CH - 007BH FCBB zbytek řádku příkazu z CCP soubor 2
007CH - 007FH FCBA cr, r0, r1, r2
0080H DMA zbytek řádku
příkazu z CCP počet
0081H - 00FFH zbytku řádku příkazu z CCP data
MODUL TPA
0100H - D37FH hranice programu pro načtení, 53 888 byte, 421 záznamů
MODUL CCP
DBB2H stack pointer (stav
před startem programu)
MODUL BIOS
EA00H - EA32H BIOS vstupní vektor služeb BIOSu
EA33H 0-255, doba v
jednotkách 20 ms do vypnutí pohonných
motorů disketových mechanik
EA34H 0-2, vstupní
parametr služby WRITE
EA35H 0-255, délka pípnutí
klávesnice v milisekundách
EA36H 0-3, číslo poslední
disketové jednotky v systému
EA37H 0-7, fyzické
parametry disketové mechaniky A: takto:
bit 2 - jeho nastavení signalizuje dvojitý krok
¨ disketové hlavy (jestliže simulujeme
čtyřicetistopou mechaniku na osmdesátistopé)
bit 1 - nula indikuje jednostrannou mechaniku,
jednička dvoustrannou
bit 0 - při nule má mechanika 40 stop, nastavený
bit informuje o osmdesátistopé mechanice
EA38H 0-7, fyzické
parametry jednotky B:. Význam stejný jako
v předešlém případě
EA39H 0-7, parametry
jednotky C:
EA3AH 0-7, parametry
jednotky D:
EA3BH - EA3CH 0-9999, doba rozběhu disketových mechanik v
milisekundách
EA3DH 0-99, doba ustálení
diskové hlavy na stopě (Settling
time)
EA3EH 0-99, doba kroku
diskové hlavy v milisekundách
EA3FH 0-32, velikost RAM
disku v jednotkách 16 KBEA40H - EA42H reálný systémový čas v sekundách
EA43H 0-1, příznak
přerušení (zakázáno/povoleno) při
diskových operacích
EA44H - řetězec, kterým se při WBOOT
inicializuje oblast
systémových parametrů
F28BH - F299H DPB A tabulka diskových parametrů disku A:
F29AH - F2A8H DPB B tabulka diskových parametrů disku A:
F2A9H - F2B7H DPB C tabulka diskových parametrů disku A:
F2B8H - F2C6H DPB D tabulka diskových parametrů disku A:
F2C7H - F2D5H DPB E tabulka diskových parametrů disku A:
F3C4H PIO-A interrupt
adress z PIO-A
FBD6H počet pro čtení z
klávesového buferu
FBD7H odkaď číst z
klávesového buferu
PARAMETRY VE VRAM
BE80H - BE8BH F1 klíč F1
BE8CH - BE97H F2 klíč F2
BE98H - BEA3H F3 klíč F3
BEA4H - BEAFH F4 klíč F4
BEB0H - BEBBH F5 klíč F5
BEBCH - BEC7H F6 klíč F6
BEC8H - BED3H F7 klíč F7
BED4H - BEDFH F8 klíč F8
BEE0H - BEEBH F9 klíč F9
BEECH - BEF7H F10 klíč F10
BEF8H - BEFFH volno
BF00H - BFFFH klávesový bufer
ROZDĚLENÍ CP/M NA DISKU
Stopa stana sektor
001 IBM PC boot sektor
002 - 005 IBM PC FAT (vynechané místo)
006 - 009 Začátek Sharp BIOSu
011 Sharp boot sektor (formát ROMky)
012 - 015 CP/M booter
016 - 0116 Zbytek Sharp boot stopy
101 - 107 Konec Sharp BIOSu
108 - 109 Sharp CCP a BDOS
111 - 119 Sharp CCP a BDOS
201 - 208 CP/M adresář
209 Začátek prostoru pro soubory
SLUŽBY CP/M
MOSUL SPA
0000H WBOOT skok na EA03H (služba BIOSu)
0003H IOBYTE přiřazení logickému zařízení fyzické zařízení
CON: logická konzola operátora
LST: logické zařízení pro tisk
PUN: logické zařízení pro
výstup na děrnou pásku
RDR: logické zařízeni pro vstup
z děrné psky
0004H CDISK aktualni uživatel a disk
0005H BDOS skok na DC06 (služby BDOS)
005CH FCBA zbytek řádku příkazu z CCP soubor 1
006CH FCBB zbytek řádku příkazu z CCP soubor 2
DI J1 J2 J3 J4 J5 J6 J7 J8
T1 T2 T3 EX S1 S2 RC
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
AA AB AC AD AE AF
CR R0 R1 R2
DI disk,
0 aktivní, 1-A, 2-B ...
Jx jméno
Tx přípona
EX pořadové
číslo položky adresáře
Sx rezerva
RC počet
záznamů v položce adresáře
Ax čísla
alokačních bloků
CR číslo
záznamu pro operace
Rx absolutní
číslo záznamu pro operace
0080H DMA zbytek řádku příkazu z CCP počet
0081H zbytku řádku příkazu z CCP data
MODUL CCP
A:
nastavení aktuálního disku
DIR A:*.* výpis adresáře
ERA A:*.* zrušení souborů
TYPE A:X.X výpis souboru
SAVE 255 A:X.X uložení obsahu paměti na disk
REN A:X.X=A:Y.X přejmenování souboru (nový=starý)
USER 15 nastaveni
aktuálního uživatele
COPY A:X.X=B:Y.X kopírování souboru (kam=odkaď)
CTRL/C 03H znovuzavedení operačního systému
CTRL/E 05H fyzické ukončení řádku
CTRL/P 10H logické zapnutí/vypnutí tiskárny
CTRL/S 13H přerušení výstupu na konzoli a vykonávání programu
až do vstupu jakéhokoli dalšího znaku
CTRL/R 12H výpis obsahu vstupujícího řádku
CTRL/U 15H zrušení vstupujícího řádku
CTRL/X 18H vymazání vstupujícího řádku z obrazovky i z
operační paměti
CTRL/Z 1AH označení konce souboru (u textových souborů)
MODUL BIOS
Klávesnice
GRAPH prefix pro
znaky >=128 (mód klávesnice "GRAP")
GRAPH/cokoli generuje znak odpovídající stisklé
klávese, avšak má nastaven 7. bit. Lze použít při
psaní češtiny, kdy GRAPH/písmeno dává odpovídající
český znak (norma KOI-8-Cs).ALPHA CAPS LOCK on/off (indikace jako mód "NORM"/"CAPS")
BREAK CTRL/C
BLANK návrat k
předcházejícím příkazům (z kláv. bufferu)
SHIFT/BLANK mazání znaků nahromaděných v klávesnicovém
bufferu
LIBRA přepíná rychlý/pomalý scroll
SHIFT/LIBRA přepíná zobrazenou sadu funkčních kláves (F1
- F5,
nebo F6 - F10)
INST BS (pozor, CCP např.
používá INST namísto DEL!)
SHIFT/INST CTRL/T
DEL DEL
SHIFT/DEL CTRL/G
KURZOR VLEVO CTRL/S
SHIFT/K. VLEVO CTRL/A
KURZOR VPRAVO CTRL/D
SHIFT/K.VPRAVO CTRL/F
KURZOR NAHORU CTRL/E
SHIFT/K.NAHORU CTRL/R
KURZOR DOLŮ CTRL/X
SHIFT/K. DOLŮ CTRL/C
ŠIPKA VLEVO CTRL/W
ŠIPKA VPRAVO CTRL/Z
PI
_(underline)
SHIFT/CR LF
Obrazovka
ESC ( 1BH 28H
LOWLIGHT (přepnutí na znaky z ROM)
ESC ) 1BH 29H
HIGHLIGHT (přepnutí na znaky BIOSu)
ESC 0 1BH 30H
INVERS VIDEO
ESC 1 1BH 31H
NORMAL VIDEO
ESC * 1BH 2AH
CLS+HOME
CTRL/Z 1AH
CLS+HOME
ESC T 1BH 54H
ERASE TO EOLN
ESC R 1BH 52H
DELETE LINE
ESC E 1BH 45H
INSERT LINE
ESC = y x 1BH 3DH xxH xxH CURSOR LEAD (souřadnice y a x mají ofset
20H)
CTRL/W 17H
prefix nastavující 7. bit u následujícího znaku
(využívá se v případě, že chceme psát česky z
programu, který neumí využívat 7. bit kódu)
ESC 1FH 1BH 1FH
zákaz zobrazení kursoru (v4.1)
ESC 1EH 1BH 1EH
povolení zobrazení kursoru (v4.1)
***** Poznámky k
operačnímu systemu CP/M *****
F3C4H PIO-A interrupt adress z PIO-A
F59B key tabulka key znaku
FBD6H počet pro čtení z klávesového buferu
FBD7H odkaď číst z klávesového buferu
(c)
by fy. SCAV for SHARP MZ-821
|
Tento soubor informací o SHARP MZ-800 není určen jako učební text, ale jako příručka programátora, proto se v něm nezmiňuji o podrobnějších detailech Hardware. Informace o mikroprocesorové technice byly čerpány z katalogů, technické dokumentace firem INTEL, ATES, SOKODI, SGS-THOMSON, časopisů AMATÉRSKÉ RADIO, ELEKTRONIKA, a zpracováním informačních souborů o SHARP MZ-800. Jako příloha je dodán plánek počítače zpracovaný ing. Martinem Váňou, plánek o maskovatelném přerušení otisknutý v časopise Elektronika 5/92, plánky řadičů FD, plánky ramdisků a znakové sady.
|
Zpracováno 4.10.1996
|