ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
-------------------------------------------------------------
PPPPPP L AA N N 8888 0000 AA
P P L A A NN N 8 8 0 0 A A
P P L A A N N N 8888 0 0 A A
PPPPPP L AAAAAA N N N 8 8 0 0 AAAAAA
P L A A N NN 8 8 0 0 A A
P LLLLLL A A N N 8888 0000 A A
POPIS SYSTEMU
26.09.1988
(VERZE PRO TISK VE V.D. DRUKOV)
-------------------------------------------------------------
-------------------------------------------------------------
OBSAH
=====
1. UVOD ......................................... 1-1
2. ZAKLADNI PARAMETRY SYSTEMU ................... 2-1
2.1. OBVODOVE RESENI .............................. 2-1
2.2. PROGRAMOVE VYBAVENI .......................... 2-16
3. POPIS CINNOSTI A ZAPOJENI SYSTEMU ............ 3-1
3.1. PRINCIP FUNKCE ZOBRAZOVANI ................... 3-1
3.2. BLOKOVE SCHEMA SYSTEMU ....................... 3-6
3.3. OBVODY CPU A JEJIHO OKOLI .................... 3-8
3.4. RADIC ZOBRAZOVANI ............................ 3-11
3.5. OBVODY PAMETI RAM ............................ 3-14
3.6. OBVODY PAMETI EPROM .......................... 3-16
3.7. VSTUPNE/VYSTUPNI OBVODY ...................... 3-18
3.8. VIDEO A VF MODULATORY ........................ 3-21
4. OSAZOVANI A OZIVOVANI ZAKLADNI DESKY ......... 4-1
4.1. PREDBEZNE AKONY .............................. 4-1
4.2. ZOBRAZOVACI CAST ............................. 4-4
4.3. CAST EPROM ................................... 4-6
4.4. CAST RAM ..................................... 4-7
4.5. CAST CPU ..................................... 4-10
4.6. CAST VSTUPNE/VYSTUPNICH OBVODU ............... 4-12
4.7. TESTOVANI FUNKCE ZAKLADNI DESKY .............. 4-12
4.8. SEZNAM PROPOJEK ZAKLADNI DESKY ............... 4-13
5. MATICOVA KLAVESNICE A GENERATOR ZNAKU ........ 5-1
6. PROGRAMOVE VYBAVENI SYSTEMU PLAN80A .......... 6-1
6.1. JEDNOTLIVE VERZE MONITORU .................... 6-1
6.2. PROGRAM MODEMU MAGNETOFONU ................... 6-2
6.3. TINY BASIC ................................... 6-2
7. ZAPOJENI KONEKTORU ZAKLADNI DESKY ............ 7-1
7.1. KONEKTOR VSTUPU/VYSTUPU ...................... 7-1
7.2. KONEKTOR KLAVESNICE .......................... 7-2
7.3. KONEKTOR PRERUSENI ........................... 7-2
7.4. KONEKTOR NAPAJECICH NAPETI ................... 7-2
7.5. KONEKTOR ROZSIRENI ........................... 7-3
7.6. KONEKTOR DYNAMICKE RAM 64 KBYTE .............. 7-4
7.7. KONEKTOR PROGRAMATORU EPROM .................. 7-5
7.8 KONEKTOR HODINOVYCH SIGNALU .................. 7-5
8. LITERATURA ................................... 15-1
---------------------------- I - 2 ------------------------
-------------------------------------------------------------
MANUALY
=======
M-1. UZIVATELSKY MANUAL HONITORU (24 STRAN)
M-2. UZIVATELSKY HANUAL OVLADACIHO PROGRAMU MODEMU MAG-
NETICKE KAZETOVE JEDNOTKY (22 STRAN)
M-3. UZIVATELSKY MANUAL "TINY BASICU" (22 STRAN)
VYPISY SYSTEMOVYCH PROGRAMU
===========================
V-1. VYPIS MONITORU PRO SEMIGRAFIKU V.2.X
V-2. VYPIS OVLADACIHO PROGRAMU MODEMU MAGNETOFONU
V-3. VYPIS "TINY-BASICU"
V-4. VYPIS OBSAHU EPROM GENERATORU ZNAKU (SEMIGRAFIKA)
V-5. VYPIS OBSAHU EPROM GENERATORU ZNAKU (MALA PISMENA)
PRILOHY
=======
P-1. SOUPISKA SOUCASTEK PROCESOROVE DESKY
P-2. SOUPISKA SOUCASTEK MODEMU MAGNETOFONU
SCHEMATA
========
S-1. BLOKOVE SCHEMA SYSTEMU
S-2. CASOVE PRUBEHY RIDICICH SIGNALU
S-3. SCHEMA CENTRALNI JEDNOTKY
S-4. SCHEMA ZOBRAZOVACICH OBVODU
S-5. SCHEMA PAMETI RAM
S-6. SCHEMA PAMETI EPROM
5-7. SCHEMA VSTUPNE/VYSTUPNICH OBVODU
S-8. ROZMISTENI SOUCASTEK NA DESCE MODEMU MAGNETOFONU
S-9. ROZMISTENI SOUCASTEK PROCESOROVE DESKY
S-10. OBVODY PRIPOJENI MATICOVE KLAVESNICE TS5220004
S-11. SCHEMA ZAPOJENI MODEMU MAGNETOFONU
---------------------------- I - 3 ------------------------
-------------------------------------------------------------
1. U V O D
==================
PLAN 8OA JE STAVEBNICE AMATERSKEHO MIKROPOCITACE A LZE
JI TEDY PRIROVNAT K JAKESI "MIKROPROCESOROVE KRYSTALCE". JE
URCENA PRO ZACATECMIKY VE VYPOCETNI TECHNICE, KTERI BY BYLI
SCHOPNI (NAPR. POD ODBORNYM VEDENIM VE SVAZARMU) SESTAVIT
MIKROPOCITAC A OSVOJIT SI TAK ZAKLADY OBVODOVE TECHNIKY. V
TOM JE HLAVNI PEDAGOGICKY PRINOS STAVEBNICE OPROTI KOUPENYM
HOTOVYM SYSTEMUM.
PROBLEM KOUPI HOTOVEHO MIKROPOCITACE MA I JINE
DUSLEDKY. AMATER TIM VLASTNE PRESKOCI ETAPU OBVODOVE VYSTAVBY
A OZIVENI MIKROPOCITACE, KTERA BY HO NUTILA PODROBNE SE
SEZNAMIT S CINNOSTI JEDNOTLIVYCH PRVKU A SOUCASTEK SYSTEMU.
TIM AMATERSKA CINNOST ZTRACI CAST TAK PRO CELOU SPOLECNOST
DULEZITE PEDAGOGICKE PODSTATY ZAJMOVE PRACE. ZAJEM O
MIKROPOCITACE SE PAK V MNOHA PRIPADECH ZVRHNE V TRAVENI
VOLNEHO CASU U "HRACIHO AUTOMATU".
CELA KONCEPCE NAVRHU BYLA PRIZPUSOBENA EKONOMICKYM I
SOUCASTKOVYM MOZNOSTEM CESKOSLOVENSKE AMATERSKE VEREJNOSTI. Z
CENOVEHO HLEDISKA JE HLAVNI VYHODOU MOZNOST FUNKCE V
MINIMALNI VERZI (1 KBYTE RAM) BEZ NUTNOSTI POUZITI VELKE
A DRAHE DYNAMICKE PAMETI. Z HLEDISKA VOLBY SOUCASTEK JSME
SE ZAMERNE OMEZILI MA TY, KTERE JSOU NA NASEM TRHU "NEJMENE
NEDOSTATKOVE".
VSECHNY POUZITE SOUCASTKY JSOU BUD VYROBY TESLA NEBO
VYROBY ZEMI RVHP DOSTUPNE V NASI OBCHODNI SITI. NAVIC JE
PATRNA ORIENTACE NA MIKROPROCESOR MHB 8080A VYRABENY. TESLOU
PIESTANY. Z DUVODU DOSTUPNOSTI NEBYLO POUZITO MIKROPROCESORU
Z80, I KDYZ JE V NEKOLIKA PARAMETRECH POKROKOVEJSI. I8080 BYL
SVETOVYM PRUMYSLOVYM STANDARTEM PRO OSMIBITOVE MIKROPROCESORY
A PREVAZNA CAST (ASI 90%) PROGRAMU NAPSANYCH PRO OPERACNI
SYSTEM CP/M JE V INSTRUKCICH I8080A. DALSIM DUVODEM K POUZITI
TOHOTO MIKROPROCESORU JE SNAHA O KOMPATIBILITU ZOBRAZOVANI
V GRAFICKEM REZIMU S MIKROPOCITACEM PMD-85, NA KTERY SE
V DOBE NAVRHU SYSTEMU PLAM 80A ORIENTOVALY SVAZARMOVSKE
ORGANIZACE.
MIKROPROCESOR JE MIKROELEKTRONICKA SOUCASTKAV TAKZE
VYSTAVBA MIKROPOCITACE JE JEN UPLATNENIM TETO SOUCASTKY. O
TOM SVEDCI I POCET RUZNYCH VZAJEMNE NEKOMPATIBILNICH TYPU
MIKROPOCITACU NA ZAHRANICNICH TRZICH. STANDARTEM SE STAVA
TEN, KDO VYROBI A HLAVNE PRODA NEJVICE KUSU, KDO ZAJISTI
NEJLEPSI A NEJR0ZSAHLEJSI PROGRAMOVE VYBAVENI, KDO ZARUCI
NEJRYCHLEJSI A PRITOM LEVNY SERVIS A POD. JE ZAJIMAVE, ZE
TECHNICKA POKROKOVOST VLASTNIHO MIKROPOCITACE NENI
NEJDULEZITEJSIM HLEDISKEM. MNOHO SYSTEMU, KTERE PREDBEHLY
SVOU DOBU, UPLNE ZANIKLO, I KDYZ BYLY KONCEPCNE NA VYSOKE
AROVNI (NAPR. 16-BITOVE MIKROPOCITACE FIRMY TEXAS
INSTRUMENTS). NA DRUHE STRANE OSOBNI MIKROPOCITAC IBM-PC-XT
SE STAL SVETOVYM STANDARTEM, I KDYZ URCITE NENI "POSLEDNIM
---------------------------- 1 - 1 ------------------------
-------------------------------------------------------------
VYKRIKEM" TECHNIKY.
PRI NAVRHU STAVEBNICE JSME SE NESNAZILI VYTVORIT DALSI
TYP MIKROPOCITACE, JICHZ JE U NAS STEJNE PREBYTEK. NAOPAK NAM
SLO O NAVRH UNIVERZILNIHO STAVEBNICOVEHO SYSTEMU, KTERY BY
UMOZNOVAL PRI MINIMALNICH MODIFIKACICH SIMULACI CINNOSTI
NEKTERYCH Z U NAS VYRABENYCH MIKROPOCITACU. TO SE PODARILO
PRO PMD-85, JPR-1 A JPR-80. JE NA UZIVATELI, O KTERY Z TECHTO
SYSTEMU MA ZAJEM A KTEROU MODIFIKACI STAVEBNICE PLAN 80A
REALIZUJE. PRITOM PRECHOD OD JEDNOHO SYSTEMU KE DRUHEMU
SPOCIVA V PATRICNEM USPORADANI PROPOJEK NA PROCESOROVE DESCE,
VE VOLBE VHODNEHO MONITORU A V DOPLNENI STAVEBNICE O
PRISLUSNE STYKOVE OBVODY (NAPR. U PMD-85 O DESKU RIZENI
MAGNETOFONU).
SYSTEM PLAN 80A NEHODLA KONKUROVAT HOTOVYM,
PROFESIONALNE VYROBENYM A OSAZENYM MIKROPOCITACUM (VETSINOU
ZAHRANICNIM), KTERE SE V POSLEDNI DOBE OBJEVILY NA NASEM
TRHU. OPROTI NIM VSAK NABIZI ZCELA U NAS NOVY PRISTUP,
KTERY LZE SHRNOUT DO NASLEDUJICICH BODU:
- LEVNA ROZSIRITELNA STAVEBNICE
- SOBESTACNA PROCESOROVA DESKA (V MIN. VERZI BEZ SBERNICE)
- KOMPATIBILITA S DOMACIMI SYSTEMY PMD-85, JPR-1, JPR-80
- SEMIGRAFIKA I PLNA GRAFIKA VCETNE GRAFICKEHO BASICU
- MOZNOST AMATERSKEHO I PROFESIONALNIHO POUZITI
- MAXIMALNI VERZE SCHOPNA PROVOZU SE SYSTEMEM CP/M NEBO MP/M
- MOZNOST POUZITI REALNEHO CASU PRO RIZENI A REGULACI
MIKROPROCESOROVY SYSTEM PLAN 80A BYL NAVRZEN S
PRIHLEDNUTIM KE TREM ZAKLADNIM POZADAVKUM: CO NEJNIZSI CENA,
CO NEJJEDNODUSSI OSAZOVANI A OZIVOVANI A DOSTUPNOST
SOUCASTEK. BYL VYVIJEN JAKO MODULARNI JEDNODESKOVY
MIKROPOCITAC S MOZNOSTI DALSIHO ROZSIRENI. PRO USNADNENI
OZIVOVANI SYSTEMU JE VYPRACOVANA METODIKA OSAZOVANI A
OZIVOVANI, KTERA UMOZNUJE OZIVIT SYSTEM S LOGICKOU
SONDOU A VOLTMETREM. TO ROZSIRUJE OBLAST POUZITI
STAVEBNICE I NA AMATERY S OMEZENOU MERICI TECHNIKOU.
PRINCIP FUNKCE ZOBRAZOVANI BYL MOTIVOVAN MIKROPOCITACEM
PMD-85. JDE O PRIMOU SPOLUPRACI PROCESORU S RADICEM
ZOBRAZOVANI A VYUZIVANI SYSTEMOVYCH SBERNIC ZOBRAZOVACIMI
OBVODY.
V ZAKLADNIM PROGRAMOVEM VYBAVENI JE SYSTEM KOMPATIBILNI
S VYVOJOVYMI SYSTEMY RADY INTELLEC MDS 800, POPR. S JEJICH
EKVIVALENTY JAKO JPR-80 (TESLA STRASNICE), SM 50/40 (ZVT
BANSKA BYSTRICA) A POD. TATO PROGRAMOVA NAVAZNOST JE
ZAJISTENA POUZITIM MONITORU "INTELOVSKEHO" TYPU UMISTENEHO OD
ADRESY 0F800H SE STABILNI TABULKOU SKOKU DO PODPROGRAMU NA
ZACATKU. TO UMOZNUJE BUD BEZE ZMEN NEBO JEN S FORMALNIMI
UPRAVAMI POUZIT PROGRAMOVE VYBAVENI, KTERE JE PRO TYTO
SYSTEMY U NAS K DISPOZICI, A TO I V DERNOPASKOVE
(POPR. MAGNETOPASKOVE) VERZI SYSTEMU. PRI POUZITI PLNE
GRAFIKY JE MOZNA PROGRAMOVA KOMPATIBILITA S DOMACIM
---------------------------- 1 - 2 ------------------------
-------------------------------------------------------------
MIKROPOCITACEM PMD-85 NA UROVNI JAZYKA GBASIC I NA UROVNI
POGRAMU VYUZIVAJICICH MONITOR PMD-85 V/1. TIM BY BYLO
ZAJISTENO PROGRAMOVE VYBAVENI PRO SYSTEM PLAN80A.
PO SPUSTENI OPERACNIHO SYSTEMU CP/M (MIKROS) V
ROZSIRENE VERZI SYSTEMU SE NAVIC PRIPOJUJE PRAKTICKY
NEPREBERNE MNOZSTVI PROGRAMOVEHO VYBAVENI Z NEHOZ NAMATKOU
VYBERME RUZNE TYPY PROGRAMOVACICH JAZYKU (PASCAL MT+, FEL
PASCAL, ADA, FORTRAN, C, FORTH, BASIC, ASSEMBLER A TO ASM,
MAC NEBO M80), EDICNI PROGRAMY A TO I S PRIMYM DOSTUPEM DO
TEXTU (EDIT, CREDIT, WORD MASTER, WORD STAR) A MNOZSTVI
RUZNE ORIENTOVANYCH SPECIALNICH PROGRAMU (NAPR. DBASEII,
POWER A JINE). NAVIC PRES OPERACNI SYSTEM CP/M LZE DOSAHNOUT
KOMPATIBILITY S OSTATNIMI MIKROPROCESOROVYMI SYSTEMY
VYROBENYMI V CSSR (NAPR. TNS JZD SLUSOVICE S OMEZENIM NA
PROGRAMY POUZIVAJICI KOD 8080A, JPR-1A TESLA LIBEREC A
POD.). SYSTEM PLAN 80A UMOZNUJE SPUSTENI MULTIPROGRAMOVEHO
VICEUZIVATELSKEHO OPERACNIHO SYSTEMU MP/M (MIKROM). TIM SE
OTEVIRA PRISTUP K SYSTEMU SE SEMIPARALELNIM PROGRAMOVANIM A S
REALNYM CASEM.
PRI JEDNANICH VE VYROBNIM DRUZSTVU DRUKOV V BRNE SE
OBJEVIL NAVRH NA VYTVORENI TZV. "ZAKLADNI STAVEBNICE", KTERA
BY OBSAHOVALA POUZE PODROBNY MANUAL, SCHEMATA ZAPOJENI,
PREDPIS PRO ROZMISTENI SOUCASTEK, ZAKLADNI PROCESOROVOU
DESKU S PLOSNYMI SPOJI (S PROKOVENYMI OTVORY) A
NAPROGRAMOVANE PAMETI OBSAHUJICI GENERATOR ZNAKU A MONITOR.
VYCHAZI SE PRITOM Z TOHO, ZE PRO AMATERA JE NEJHURE DOSTUPNY
PLOSNY SPOJ. SOUCASTKY LZE PRAKTICKY VZDY SEHNAT, AT UZ V
OBCHODECH, NA BURZACH (ZDE DOKONCE LEVNEJI) NEBO POMOCI
INZERATU RADIOAMATERSKYCH CASOPISU, UVAZUJE SE O PRODEJI V
BRNENSKE PRODEJNE DRUZSTVA. K ZAKLADNI STAVEBNICI VYRABI
DRUZSTVO DRUKOV JAKO PRLSLUSENSTVI VF MODULATOR A MODEM
MAGNETOFONU. PRO ZAKLADNI VERZI SYSTEMU SE PREDPOKLADA
POUZITI JDNODUCHE MATICOVE KLAVESNICE TS5220004. STAVEBNICE
PLAN80A SE DODAVA VCETNE SOUCASTEK PRO ZAKLADNI VERZI,
KLAVESNICE A SKRINKY. PRODEJ ZAJISTUJE SIT OBCHODU TESLY
ELTOS, KDE JE MOZNE KOUPIT DALSI DOPLNKY (NAPR. NAPAJECI
ZDROJ ATP.).
SYSTEM PLAN80A BYL VYVIJEN PO DOBU ASI 6 LET. NIZE JE
UVEDEN CASOVY PREHLED HLAVNICH ETAP VYVOJE SYSTEMU.
KVETEN-1982: VZNIK PROJEKTU VYTVORENI AMATERSKEHO
JEDNODESKOVEHO MIKROPOCITACE
ZARI-1982: SESTAVENI PRVNIHO FUNKCNIHO VZORKU MIKROPOCITACE S
PRACOVNIM NAZVEM "BROWNIE" NA UNIVERZALNIM PLOSNEM
SPOJI POMOCI SAMOPAJECICH VODICU.
CERVEN-1983: UZAVRENI PROJEKTU "BROWNIE". PREPRACOVANI
ZOBRAZOVACIHO SYSTEMU NA KOMPATIBILNI S MIKROPOCITACEM
PMD85. NAVRH NOVEHO MIKROPOCITACE S NAZVEM PLAN80A.
PROSINEC-1983: SESTROJENI PRVNIHO FUNKCNIHO VZORKU
---------------------------- 1 - 3 ------------------------
-------------------------------------------------------------
MIKROPOCITACE PLAN80A VERZE V.1 NA UNIVERZALNIM PLOSNEM SPOJI
POMOCI SAMOPAJECICH VODICU.
BREZEN-1984: NAVRH OBVODU PRO UPRAVU PREDAVANI RIZENI MEZI
MIKROPOCITACEM A RADICEM ZOBRAZOVANI. PODANI PV-5068-84 PRO
TOTO ZAPOJENI.
CERVENEC-1984: DOKONCENI VYVOJE MONITORU V.3 PRO SEMIGRAFIKU
V ZAKLADNI (1KB) I ROZSIRENE (2KB) VERZI.
SRPEN-1984: NAVRH PLOSNEHO SPOJE VERZE SYSTEMU PLAN80A VERZE
V.2, SPOJ NEMA PROKOVENE OTVORY A MA HREBINKOVY ROZVOD
NAPAJENI.
RIJEN-1984: OSAZENI SYSTEMU PLAN80A V.2 NA PLOSNEM SPOJI,
DLOUHODOBE TESTY SPOLEHLIVOSTI SYSTEMU.
LISTOPAD-1984: NAVRZENI MODEMU PRO PRIPOJENI KAZETOVEHO
MAGNETOFONU. PODANI PV-7752-85 PRO TOTO ZAPOJENI.
UNOR-1985: NAVRH PLOSNEHO SPOJE S PROKOVENYMI OTVORY PRO
PROFESIONALNI DIGITIZACNI ZARIZENI. VZNIK VERZE V.3.1 SYSTEMU
PLAN80A.
KVETEN-1985: NAVRH PLOSNEHO SPOJE BEZ PROKOVENYCH OTVORU PRO
MODUL DYNAMICKE RAM 16/64 KBYTE, VYROBA PLOSNEHO SPOJE.
CERVEN-1985: OSAZENI DYNAMICKE RAM A JEJI DLOUHODOBE TESTY.
ZARI-1985: VYTVORENI OPERACNIHO SYSTEMU OPRENEHO O KAZETOVY
MAGNETOFON, SPUSTENI NASLEDUJICICH PROGRAMU ZE SYSTEMU
INTELLEC MDS-800: EDITOR, ASSEMBLER, DESASSEMBLER A BASIC.
LISTOPAD-1985: OSAZENI PLOSNEHO SPOJE V.3.1
PROSINEC-1985: ZAPUJCENI SYSTEMU PLAN80A V.2 DO K.P. CHIRANA
S PROGRAMEM ZHOTOVENYM V RAMCI TU 17/85 PRO RIZENI
DIALYZACNIHO MONITORU CHIRASKAL.
UNOR-1986: VYTVORENI RADICE DISKETOVE JEDNOTKY S OBVODEM
I8271 (V.3C) A PRIPOJENI DISKETOVE JEDNOTKY MOMFLEX MF-6400.
BREZEN-1986: SPUSTENI OPERACNIHO SYSTEMU CP/M V.2.2
DUBEN-1986: SPUSTENI PROGRAMU: WORDSTAR, WORDMASTER, DBASEII,
PASCAL MT+, LIBMT, M80, L80, MAC, ASM A POWER.
KVETEN-1986: NAVRH PLOSNEHO SPOJE PRO VERZI V.3.2 S
POSILENYMI ZEMNICIMI ROZVODY.
CERVENEC-1986: OSAZENI A OZIVENI DRUHEHO KUSU MIKROPOCITACE
PLAN80A V.3.1.
SRPEN-1986: OSAZENI A OZIVENI DRUHEHO KUSU DYNAMICKE PAMETI
64 KBYTE NA DESCE S PROKOVENYMI OTVORY V.3.2.
---------------------------- 1 - 4 ------------------------
-------------------------------------------------------------
ZAR1-1986: OZIVENI DESKY 8 BITOVEHO A/D PREVODNIKU A 8
BITOVEHO D/A PREVODNIKU (MHB1502, MDAC08, MAC01, MAC111,
MAC08). OZIVENI MENICE +5V --> +/- 15V.
RIJEN-1986: ODLADENI UPRAV PRO MONITOR PMD-85 TAKOVYCH, ABY
HO BYLO MOZNO POUZIT PRO SYSTEM PLAN 80A (VERZE MONITORU PLAN
V.7)
LISTOPAD-1986: OZIVENI DESKY PRO CTENI A ZAPIS SOUBORU VE
FORMATU PMD-85, SPUSTENI GRAFICKEHO "BASICU G".
PROSINEC-1986: NAVRZENI A OVERENI RADICE DISKETOVE JEDNOTKY S
I8271 A S MOZNOSTI PREPINANI DVOU DISKETOVYCH JEDNOTEK S
RUZNYMI RYCHLOSTMI PRENOSU DAT (8" MOMFLEX MF 6400, 5"
ROBOTRON K5600), PODANI PV-1888-87 PRO TOTO ZAPOJENI,
SPUSTENI CP/M S OBEMA UVEDENYMI JEDNOTKAMI.
UNOR-1987: NAPSANI PROGRAMU PRO VYTVARENI OBSAHU GENERATORU
ZNAKU V JAZYCE PASCAL MT+.
BREZEN-1987: PREDANI JEDNOHO KUSU MIKROPOCITACE V.2.
STUDUJICIMU VUT BRNO K OVERENI FUNKCE V PRAKTICKEM PROVOZU
SYSTEMU.
DUBEN-1987: SPUSTENI OPERACNIHO SYSTEMU MP/M VI.1 NA 64 KBYTE
RAM.
CERVEN-1987: JEDNANI O VYROBE SYSTEMU PLAN80A VE VYROBNIM
DRUZSTVU DRUKOV BRNO
CERVENEC-1987: PRVNI PREDSTAVENI SYSTEMU PLAN80A VEREJNOSTI
NA SEMINARI O MIKROPOCITACOVE TECHNICE PORADANE SVAZARMEM V
OBLASTI BRNENSKE PREHRADY
ZARI-1987: PODANI ZN-27/87 NA STAVEBNICI MIKROPOCITACE
PLAN80A VE V.D. DRUKOV BRNO
RIJEN-1987: PREDVEDENI SYSTEMU PLAN80A PREDSTAVENSTVU V. D.
DRUKOV BRNO
PROSINEC-1987: PREDVEDENI SYSTEMU PLAN 80A S KAPACITNI
KLAVESNICI NA VYSTAVE ERA-87, JEDNANI S REDAKTOREM AR ING.
MYSLIKEM A VEDOUCIM OBCHODNI POLITIKY DOSS ING. MILOSLAVEM
STUDENKOU
LEDEN-1988: VYTVORENI PROGRAMU STREAM PRO ARCHIVACI DISKET NA
MEGNETOFONOVE KAZETY S POMOCI MODEMU
UNOR-1988: CLANEK POPISUJICI ZAKLADNI PARAMETRY SYSTEMU
PLAN80A V AR/A-2. SOUCASNE BYLA VYTISTENA ANKETA PRO ZJISTENI
ZAJMU O TENTO SYSTEM.
UNOR-1988: OVERENI PLOSNEHO SPOJE V.3.2, BYLO PROVEDENO JEHO
OSAZENI A TESTOVANI.
---------------------------- 1 - 5 ------------------------
-------------------------------------------------------------
BREZEN-1988: PRIPRAVA UKAZKOVEHO PROGRAMU PRO ZAKLADNI VERZI
MIKROPOCITACE PLAN80A URCENOU PRO VYSTAVU POLYTECHNICKYCH
POMUCEK V PRAZE,
DUBEN-CERVEN-1988: PREZENTACE SYSTEMU PLAN 80A NA VYSTAVE
POLYTECHNICKYCH POMUCEK V PRAZE, NA VELETERHU SPOTREBNIHO
ZBOZI V BRNE.
KVETEN-1988: PRIPOJENI K SYSTEMU PLAN 80A DISKETOVE JEDNOTKY
TEAC FDC-55-GFR ZA POMOCI RADICE S OBVODEM I8271, KAPACITA
JEDINE 5" DISKETY JE 504 KB (POUZITI 4 MHZ HODIN).
CERVEN-1988: NAVRH VYSLEDNEHO PLOSNEHO SPOJE PROCESOROVE
DESKY V.3.3., PREDANI PODKLADU V.D. DRUKOV.
CERVENEC-1988: NAVRH PLOSNEHO SPOJE PRO MODEM MAGNETOFONU,
PREDANI PODKLADU V.D, DRUKOV.
CERVENEC-1988: OSAZENI A OZIVENI DALSIHO MIKROPOCITACE
PLAN 80A V.3.2 ING. PREROVSKYM VE VERZI S 64 KB PAMETI,
RADICEM DISKETOVE JEDNOTKY S OBVODEM I8271 A OPERACNIM
SYSTEMEM CP/M.
SRPEN-1988: OVERENI PLOSNEHO SPOJE MODEMU MAGNETOFONU,
PREDANI OPRAVENYCH PODKLADU PRO JEHO VYROBU V.D. DRUKOV.
ZARI-1988: OVERENI PLOSNEHO SPOJE PROCESOROVE DESKY V.3.3,
OSAZENI A OZIVENI MINIMALNI VERZE MIKROPOCITACE PLAN 80A.
ZARI-1988: PRIPRAVA SERIOVE VYROBY MIKROPOCITACE PLAN80A VE
V.D. DRUKOV.
NA ZAVER BYCH CHTEL PODEKOVAT VSEM, KTERI SE
JAKOUKOLIV MIROU PODILELI NA VZNIKU SYSTEMU PLAN80A.
ZVLASTE PAK BYCH CHTEL PODEKOVAT SVE ZENE ANNE, BEZ
JEJIHOZ POCHOPENI BY PROJEKT PLAN80A VUBEC NEMOHL
VZNIKNOUT. DEKUJI SVYM RODICUM ZA MORALNI I MATERIALNI
PODPORU. DEKUJI PAVLU SIMIKOVI ZA POMOC PO CELOU DOBU
VYVOJE I REALIZACE. DEKUJI ING. FRANTISKU MICHALKOVI A
JIRIMU HROZKOVI ZA SPOLUPRACI PRI VYVOJI PLOSNYCH SPOJU A
REALIZACI OVEROVACICH KUSU SYSTEMU. V NEPOSLEDNI RADE
DEKUJI VLADIMIRU KOUKOLOVI A OSTATNIM PRACOVNIKUM
DRUZSTVA DRUKOV, JEJICHZ ZASLUHOU BYL SYSTEM PLAN80A PREDAN
DO SERIOVE VYROBY A TAK PRONIKA K SIROKEMU OKRUHU ZAJEMCU.
PRODEJ KOMPLETNI STAVEBNICE BYL UMOZNEN DIKY INICIATIVE
PRACOVNIKU BRNENSKE TESLY ELTOS VEDENYCH ING. VYMAZALEM,
KTERI ZAJISTILI SOUCASTKY A DALSI KOMPONENTY STAVEBNICE.
PETR PELIKAN
---------------------------- 1 - 6 ------------------------
-------------------------------------------------------------
2. ZAKLADNI PARAMETRY SYSTEMU
=============================
OBVODOVE RESENI (HARDWARE):
- ROZMERY PROCESOROVE DESKY VERZE V.3.2: 220 X 320 MM
- NAPAJENI PROCESOROVE DESKY: 5V/3A, 12V/1A, -5V/1A
- MIKROPROCESOR MHB8080A
- VSECHNY SOUCASTKY VYRQBY CSSR NEBO ZEMI RVHP
- ZAKLADNI FREKVENCE HODINOVYCH IMPULSU F2(TTL) = 2,048 MHZ
- PAMET RAM NA ZAKLADNI DESCE 4 KBYTE, TJ. 8 POUZDER MHB2114
- PAMET EPROM NA ZAKLADNI DESCE: 6 KBYTE PRI POUZITI OBVODU
MHB8708, LZE ROZSIRIT NA 8 KBYTE POUZITIM OBVODU MHB8716
NEBO NA MAX 16 KBYTE POUZITIM OBVODU I2732.
- SAMOSTATNY VSTUPNI 8 BITOVY PORT PRO ASCII KLAVESNICI
(MH3212)
- POSILENY PROGRAMOVATELNY STYKOVY OBVOD (MHB8255A,3XMHB8286)
- CTYRBITOVY STAVOVY PORT (MH3216)
- PRERUSOVACI SYSTEM BUD JEDNOUROVNOVY (INT7) NEBO
PRIORIZOVANY CTYRUROVNOVY (MH3214,INT0,INT1,INT5,INT6)
- NEZAVISLE ZOBRAZOVACI OBVODY NA ZAKLADNI DESCE, PRACUJICI
NA PRINCIPU "KRADENI CYKLU" PROCESORU S MOZNOSTI VOLBY
REZIMU SEMIGRAFIKY (GENERATOR ZNAKU) NEBO PLNE GRAFIKY.
TYTO OBVODY PROVADEJI AUTOMATICKE OBNOVENI INFORMACE U
DYNAMICKYCH PAMETI (REFRESH).
- MOZNOST PROGRAMOVE INVERZE JEDNOTLIVYCH ZNAKU POMOCI
HODNOTY NEJVYSSIHO BITU ZNAKU (D7)
- V REZIMU SEMIGRAFIKY JE ZNAK V RASTRU 6X8 PIXLU, A JE
ZOBRAZOVANO 32 RADKU PO 48 ZNACICH (LZE OMEZIT NA 40)
- V REZIMU SEMIGRAFIKY LZE JAKO GENERATOR ZNAKU POUZIT EPROM
BUD MHB8708 NEBO 2716 (MOZNOST VYTVORENI UZIVATELSKYCH
ZNAKU VCETNE CESKE ABECEDY)
- V REZIMU SEMIGRAFIKY LZE VYTVARET OBRAZCE V RASTRU 64X144
BODU (KAZDY ZNAK MA 3X2 BODY)
- V REZIMU PLNE GRAFIKY JE ZOBRAZOVANO 255X288 PIXLU
(KOMPATIBILNI S GRAFIKOU PMD-85), MOZNOST NEZAVISLE INVERZE
KAZDE 6-TICE BODU
- PRI SEMIGRAFICE ZABIRA OBRAZOVA OBLAST 2 KBYTE RAM, PRI
PLNE GRAFICE 16 KBYTE RAM
- LZE POUZIVAT 4 RUZNE BARVY (RESP. ODSTINY SEDI) NEZAVISLE
PRO KAZDYCH 6 SOUSEDNICH PIXLU (RESP. PRO KAZDY ZNAK)
- V REZIMU PLNE GRAFIKY LZE VYTVORIT UZIVATELSKY SOUBOR
ZOBRAZOVANYCH ZNAKU ULOZENY V PAMETI RAM, SE KTERYM PRACUJE
MONITOR V.4.X
- ADRESU ZOBRAZOVANE OBLASTI PAMETI RAM LZE MENIT ZAPISEM
BAZOVE ADRESY DO POMOCNEHO REGISTRU (AZ 32 NEZAVISLYCH
OBRAZOVYCH STRAN PRO SEMIGRAFIKU, 4 NEZAVISLE OBRAZOVE
STRANY PRO PLNOU GRAFIKU PRI OSAZENE PAMETI RAM 64 KBYTE)
- PRO PRIPADNE ROZSIRENI JSOU VYVEDENY SYSTEMOVE SBERNICE
- SYSTEM UMOZNUJE OBECNY STAV HOLD (VCETNE OSETRENI PRIJETI
TOHOTO STAVU PRI ZAPISOVE OPERACI)
- ZOBRAZOVANI POMOCI VF MODULATORU NA LIBOVOLNEM TV PRIJIMACI
NEBO POMOCI VIDEO MODULATORU NA UPRAVENEM TV PRIJIMACI NEBO
---------------------------- 2 - 1 -------------------------
-------------------------------------------------------------
NA ZOBRAZOVACI JEDNOTCE AZJ 462
- MOZNOST UMISTENI "BOOTOVACI" EPROM NA LIBOVOLNEM
MISTE PAMETOVEHG PROSTORU (PO 1 KBYTU)
- MOZNOST PREMISTOVANI MISTNI RAM PO 8 KBYTECH
- POMOCNY KONEKTOR PRO DYNAMICKOU RAM 16-32-48-64 KBYTE
- MOZNOST POUZITI BUD MATICOVE KLAVESNICE, ASCII KLAVESNICE
NEBO NEKTERE Z ASCII KLAVESNIC TOVARNE VYRABENYCH (NAPR.
EC0101)
- POUZITI KOMERCNIHO KAZETOVEHO MAGNETOFONU JAKO VNEJSIHO
PAMETOVEHO MEDIA (POMOCI MODEMU)
- DYNAMICKA RAM NA POMOCNE DESCE (16 AZ 64 KBYTE, MHB4116)
- LEVNA A JEDNODUCHA MATICOVA KLAVESNICE TS5220004.
OVERENO V PODOBE FUNKCNIHO VZORKU:
- RADIC JEDNOTKY PRUZNYCH DISKU S OBVODEM I8271 (JEDNODUCHA
HUSTOTA ZAZNAMU, FM, DVE JEDNOTKY, 5" I 8")
- PREVODNIK A/D S ROZLISENIM 8 BITU A 16 VSTUPNIMI KANALY
- PREVODNIK D/A S ROZLISENIM 8 BITU A VYSTUPNIM NAPETIM 0-10V
- CASOVACI OBVOD KR580VI53 (I8253) POUZITELNY JAKO MERIC
KMITOCTU, CITAC IMPULSU NEBO ZVUKOVY GENERATOR
- OBVODY UMOZNUJICI CTENI/ZAPIS PROGRAMU Z/NA MAGNETOFONOVE
PASKY PRO PMD-85
- OBVODY ZAJISTUJICI STYK V NORME V-24 (RS232C) S OBVODEM
MHB8251
- JOYSTICK (KNIPL,OVLADAC) S PRIPOJENIM NA MHB8255A
PROGRAMOVE VYBAVENI (SOFTWARE)
- MONITOR V.3 PRO ASCII KLAVESNICI A SEMIGRAFIKU ROZDELEN DO
DVOU CASTI PO 1 KBYTU, PRVNI Z NICH JE SCHOPNA SAMOSTATNE
CINNOSTI
- MONITOR V.4 PRO PLNOU GRAFIKU
- MONITOR V.5 PRO CP/M, DISKETOVOU JEDNOTKU A SEMIGRAFIKU
- MONITOR V.7 ODVOZENY OD MONITORU SYSTEHU PMD-85 UMOZNUJICI
EMULACI TOHOTO SYSTEMU NA MIKROPOCITACI PLAN 80A
- MONITOR V.3 AZ V.5 KOMPATIBILNI SE SYSTEMY JVS-80 (INTELLEC
MBS-800) A JPR-1
- MOZNOST PROGRAMOVE VOLBY FORMATU ZOBRAZOVANI (1 AZ 32
RADKU, 1 AZ 48 ZNAKU) S MOZNOSTI ROLOVANI NA VYMEZENE PLOSE
- VSECHNY PROMENNE MONITORU SKRYTE V NEZOBRAZOVANE CASTI
OBRAZOVE PAMETI RAM
- BIOS PRO CP/M UMOZNUJICI JEHO SPUSTENI PRO MONITOR V.5 A
V.8
- OPERACNI SYSTEM PRO KAZETOVY MAGNETOFON (2 KBYTE),
UMOZNUJICI SPUSTENI DERNOPASKOVYCH PROGRAMU BASIC-MIT,
ASSEMBLER, DESASSEMBLER A EDITOR Z INTELLEC MDS-800
- "MIKRO" BASIC (4 KBYTE) SE SEMIGRAFIKOU, EDICI A FUNKCEMI
ZAZNAMU A CTENI DAT NA/Z MAGNETOFONU
- GRAFICKY EDITOR PRO VYTVARENI TECHNOLOGICKYCH SCHEMAT V
SEMIGRAFICE (GRAFICKE OBRAZCE REGULACNICH A RIDICICH
PROGRAMU)
- POD OPERACNIM SYSTEMEM CP/M BYLA OVERENA SPRAVNA CINNOST
---------------------------- 2 - 2 ------------------------
-------------------------------------------------------------
PROGRAMU: PASCAL MT+, FORTRAN, MBASIC, BASCOM, ED, WORD
MASTER, WORD STAR, DBASEII, SDT, DDT, ASM, MAC, M80, L80,
POWER
- TESTOVACI PROGRAM "DISKTEST" PRO OZIVOVANI A TESTOVANI
DISKETOVYCH JEDNOTEK (OBSAHUJE FORMATOVANI DISKET)
- "BASIC G" PRO MONITOR V.7 UMOZNUJICI SPUSTENI VSECH CISTE
BASICOVSKYCH PROGRAMU NAPSANYCH PRO SYSTEM PMD-85 (VCETNE
GRAFICKYCH PRIKAZU PLOT ATP.)
- PROGRAM "MGFPMD" UMOZNUJICI PRENOS SOUBORU MEZI
MAGNETOFONOVYM ZAZNAMEM PMD-85 A DISKETOVYM ZAZNAMEM CP/M
- PROGRAM "MGPLAN" PRO PRENOS SOUBORU MEZI MAGNETOFONOVYM
ZAZNAMEM PLAN 80A A DISKETOVYM ZAZNAMEM CP/M
- PROGRAM SLOUZICI PRO VYTVARENI PROGRAMOVACICH PREDLOH
GENERATORU ZNAKU
- XIOS PRO MULTIPROGRAMOVY A VICEUZIVATELSKY SYSTEM MP/M
(MONITOR V.8)
- MONITOR V.2 PRO MATICOVOU KLAVESNICI TS5220004 A
SEMIGRAFIKU V DELCE 2 KBYTE PRO ZAKLADNI VERZI SYSTEMU
---------------------------- 2 - 3 ------------------------
-------------------------------------------------------------
3. POPIS CINNOSTI A ZAPOJENI SYSTEMU
=======================================
NASLEDUJICI ODSTAVCE PRINASEJI ZAKLADNI INFORMACE O
FUNKCI A ZAPOJENI SYSTEMU PLAN 80A. POPIS JE ROZDELEN DO
BLOKU OBDOBNE JAKO JE TOMU V OSAZOVACIM A OZIVOVACIM NAVODU.
3.1. PRINCIP FUNKCE ZOBRAZOVANI
-------------------------------
PRO DUKLADNE POCHOPENI TETO KAPITOLY JE NUTNE
PROSTUDOVAT NEKTEROU Z NASLEDUJICICH POZIC ZE SEZNAMU LITERA-
TURY: [5], [6], [7], [9], [17], [22], [30], [34], [35].
PRINCIP ZOBRAZOVANI BYL MOTIVOVAN ZAPOJENIM OSOBNIHO
MIKROPOCITACE PMD-85. OBDOBNY PRINCIP ZOBRAZOVANI BYL POPSAN
TEZ V LITERATURE [43]. VTIP JE V TOM, ZE MIKROPROCESOR
MHB8080A POUZIVA SYSTEMOVE SBERNICE PO DOBU MNOHEM KRATSI,
NEZ JE CELKOVA DOBA PROVADENI INSTRUKCE. PO ZBYTEK CASU JSOU
SBERNICE NEVYUZITE (TOTO ZJEDNODUSENI PLATI PRO SOUCASTKY S
DOBOU DOSTUPU POD 450 NS), CIMZ JSOU VOLNE PRO PRENOSY
ZOBRAZOVANE INFORMACE. TENTO PRINCIP ZNACNE ZJEDNODUSUJE CELE
ZAPOJENI, NEBOT PRO RADIC ZOBRAZOVANI LZE POUZIT CASTI
SYSTEMU. NAVIC LZE PRAVIDELNYM ZOBRAZOVANIM ZASTOUPIT
OBNOVOVANI INFORMACE V DYNAMICKYCH PAMETECH (REFRESH), A
JEJICH ZAPOJENI TIMTO TEZ ZJEDNODUSIT.
CASOVY DIAGRAM RIDICICH SIGNALU MIKROPOCITACE PLAN 80A
ZMERENY LOGICKYM ANALYZATOREM TEKTRONIX TYPU 7D02 MA CISLO S-
2. VZHLEDEM K ROZLISOVACI SCHOPNOSTI ANALYZATORU 20 NS, JSOU
V NAKRESU NAZNACENY PASMA, VE KTERYCH MUZE NASTAT ZMENA Z
JEDNE LOGICKE HODNOTY NA DRUHOU.
V NAKRESU JSOU POUZITY NASLEDUJICI ZKRATKY PRO OZNACENI
SIGNALU:
OSC SIGNAL ZE STEJNOJMENNEHO VYSTUPU GENERATORU HODIN
TYPU MH8224 O KMITOCTU 18,432 MHZ (PERIODA SIGNALU
CCA 54,25 NS)
F1 HODINOVY SIGNAL MIKROPROCESORU GENEROVANY OBVODEM
MH8224 S VYSOKONAPETOVOU AROVNI
F2(TTL) HODINOVY SIGNAL MIKROPROCESORU GENEROVANY OBVODEM
MH8224 S AROVNEMI TTL
STSTB/ SIGNAL PRO STROBOVANI PLATNE STAVOVE INFORMACE Z
DATOVE SBERNICE MIKROPROCESORU, JE GENEROVANY
OBVODEM MH8224 NA ZAKLADE SIGNALU "SYNC" Z
MIKROPROCESOCESORU
WR/ RIDICI SIGNAL OPERACE ZAPISU GENEROVANY
MIKROPROCESOREM
---------------------------- 3 - 1 ------------------------
-------------------------------------------------------------
DBIN SIGNAL URCUJICI SMER PRENOSU NA DATOVE SBERNICI
MIKROPROCESORU, GENERUJE MIKROPROCESOR, (PRI LOG1
JE SMER DO MIKROPROCESORU)
MEMR/ SYSTEMOVE RIDICI SIGNALY PRO CTENI Z PAMETI NEBO
IOR/ V/V ZARIZENI, GENERUJE OBVOD MH8228
INTA/ SYSTEMOVY RIDICI SIGNAL POTVRZENI PRIJETI ZADOSTI
O PRERUSENI CINNOSTI, GENERUJE OBVOD MH8228
MEMW/ SYSTEMOVY RIDICI SIGNAL PRO ZAPIS DO PAMETI NEBO
IOW/ DO V/V ZARIZENI, GENERUJE OBVOD MH8228
DBRD/ CASOVY USEK, PO KTERY MUSI BYT NA DATOVE SBERNICI
STABLE PLATNA A STABILNI INFORMACE PRI OPERACICH CTENI
READY CASOVY USEK, V NEMZ SE SLEDUJE SIGNAL READY A MUSI
STABLE TUDIZ BYT STABILNI
INT CASOVY USEK, V NEMZ SE SLEDUJE SIGNAL INT (ZADOST
STABLE O PRERUSENI FUNKCE) A MUSI BYT STABILNI
HOLD CASOVY USEK, V NEMZ SE SLEDUJE SIGNAL HOLD (ZADOST
STABLE O PRIMY PRISTUP K SYSTEMOVYM SBERNICIM) A MUSI
TEDY BYT STABILNI
DBWR/ CASOVY USEK, PO KTERY JE NA DATOVE SBERNICI PLATNA
STABLE INFORMACE PRI OPERACI ZAPISU
SYNC SYNCHRONIZACNI SIGNAL GENEROVANY MIKROPROCESOREM
V PRVNIM STROJOVEM CYKLU, OZNACUJE PLATNOST
STAVOVE INFORMACE NA DATOVE SBERNICI
Q1...Q8 NEPREKRYVAJICI SE HODINOVE SIGNALY SLOUZICI PRO
GENERACI RIDICICH SIGNALU V SYSTEMU (Q0=F2TTL)
STB1 SIGNAL ZAPISUJICI ZOBRAZOVANY KOD DO POMOCNEHO
REGISTRU
STB2 ZAPISOVY SIGNAL VEDENY NA POSUVNY REGISTR
UMOZNUJICI PARALELNE/SERIOVY PREVOD REZU ZNAKU
MODE SIGNAL AKTIVITY RADICE ZOBRAZOVANI S VYZNACENYMI
OKAMZIKY ZMENY UROVNE
MWS/ SIGNALY ZAPISU DO PAMETI, RESP. V/V ZARIZENI PO
IOWS/ UPRAVE POPISOVANE V KAPITOLE 3.3
IORS/ SIGNAL CTENI ZE V/V ZARIZENI PO UPRAVE POPISOVANE
V KAPITOLE 3.3
RAS/ RIDICI SIGNAL DYNAMICKE PAMETI RAM PRO STROBOVANI
ADRESY RADKU
MUX RIDICI SIGNAL DYNAMICKE PAMETI RAM PRO PREPINANI
---------------------------- 3 - 2 ------------------------
-------------------------------------------------------------
ADRESY RADKU A SLOUPCE
CAS-RD/ RIDICI SIGNAL DYNAMICKE PAMETI RAM PRO STROBOVANI
ADRESY SLOUPCE V REZIMU CTENI
CAS-WR/ RIDICI SIGNAL DYNAMICKE PAMETI RAM PRO STROBOVANI
ADRESY SLOUPCE V REZIMU ZAPISU
CAS/ RIDICI SIGNAL DYNAMICKE PAMETI RAM PRO STROBOVANI
ADRESY SLOUPCE, OBECNY PRUBEH
CLK HODINOVY SIGNAL SLOUZICI PRO POSUV ZOBRAZOVANYCH
DAT V POSUVNEM REGISTRU
V NASLEDUJICIM TEXTU BUDE POUZITO TECHTO POJMU:
FUNKCNI DOBA (T) JE KONSTANTNI CASOVY USEK DANY PERIODOU
HODINOVEHO SIGNALU F2(TTL) V DELCE 488,28 NS
STROJOVY CYKLUS (MC) SE SKLADA ZE TRI AZ PETI DOB
(NEPOCITAME-LI PRIPADNE DOBY CEKANI TW) A TVORI
UCELENOU CAST S JEDINOU KOMUNIKACI S PAMETI CL V/V
ZARIZENIM. POKUD SE PRI KOMUNIKACI S PAMETI CTE
KOD INSTRUKCE, JEDNA SE O TZV. CYKLUS FETCH (M1)
INSTRUKCNI CYKLUS (IC) SE SKLADA Z JEDNOHO AZ PETI STROJOVYCH
CYKLU A ZAHRNUJE PROVADENI JEDINE INSTRUKCE.
PRO SPOLUPRACI SE ZARIZENIMI S DOBOU DOSTUPU DELSI NEZ
JE DOBA T (ASI 488 NS) JE PROCESOR VYBAVEN MOZNOSTI
PRODLOUZIT STROJOVY CYKLUS TAK, ZE MEZI DOBY T2 A T3 VKLADA
CELISTVI NASOBEK CEKACICH DOB TW (TAKTEZ V DELCE 488 NS).
SYSTEMOVA DATOVA SBERNICE JE PRI OPERACI CTENI OBSAZENA
OD DRUHE TRETINY DOBY T2 PRES PRIPADNE DOBY TW AZ PO PRVNI
TRETINU DOBY T3 (VCETNE). PRI ZAPISU JE SYSTEMOVA DATOVA
SBERNICE OBSAZENA OD DRUHE TRETINY T2 PRES PRIPADNE DOBY TW,
PRES DOBU T3 AZ PO JEDNU TRETINU DOBY T4 (POKUD JE V DANEM
STROJOVEM CYKLU PRITOMNA) NEBO DOBY TI NASLEDUJICIHO STROJO-
VEHO CYKLU. JELIKOZ VSECHNY POUZITE OBVODY PRIJIMAJI
ZAPISOVANA DATA AZ V DOBE AKTIVNI UROVNE ZAPISOVEHO SIGNALU
WR/ (DULEZITA JE JEHO KONCOVA VZESTUPNA HRANA), LZE PROVEST
OMEZENI PLATNOSTI ZAPISOVANYCH DAT NA DOBU ASI 450 NS DANOU
PLATNYM ZAPISOVYM SIGNALEM.
JE ZREJME, ZE V LIBOVOLNEM STROJOVEM CYKLU SE DATOVA
SBERNICE FUNKCNE VYUZIVA PRIBLIZNE JEN PO DOBU 450 NS, VE
ZBYLEM CASE JI LZE VYUZIT PRO UCELY ZOBRAZOVANI. OBDOBNA
SITUACE JE VE VYUZITI ADRESOVE A RIDICI SBERNICE, KTERE LZE
TAKTEZ VYUZIT PRO ZOBRAZOVANI.
NEJPRISTUPNEJSIM ZOBRAZOVACIM PROSTREDKEM JE TELEVIZNI
---------------------------- 3 - 3 ------------------------
-------------------------------------------------------------
PRIJIMAC. ZOBRAZOVANE UDAJE MUZEME DO OBVODU TV PRIJIMACE
PRIVEST DVEMA ZPUSOBY: BUD POMOCI VF MODULATORU DO ANTENNIHO
VSTUPU NEBO PRIMO DO JASOVYCH OBVODU POMOCI VIDEO MODULATORU.
OBA ZPUSOBY MAJI SVE VYHODY I NEVYHODY. PREVOD OBRAZOVE
INFORMACE PRES VF MODULATOR NEVYZADUJE ZADNE UPRAVY V TV
PRIJIMACI, VF MODULATOR JE VSAK POMERNE SLOZITEJSI NEZ VIDEO
MODULATOR A NAVIC VETSI ZKRESLENI KTERE VZNIKNE TEZ VE VF I
MF OBVODECH TELEVIZORU. VIDEO MODULATOR JE JEDNODUCHY OBVOD S
RELATIVNE VELMI OSTROU KRESBOU I NA MENE KVALITNEJSIM
PRIJIMACI, LZE JEJ POUZIT JEN U TV PRIJIMACU S ODDELENOU
KOSTROU OD SITE (POZOR NA URAZ EL. PROUDEM!) A VYZADUJE
APRAVY V ZAPOJENI PRIJIMACE.
VZHLEDEM K TOMU, ZE SIRKA PASMA OBRAZOVYCH ZESILOVACU
BEZNYCH TELEVIZNICH PRIJIMACU NEPRESAHUJE 6 MHZ, LZE PRI
POUZITI VF MODULATORU POCITAC S ASI 280 BODY NA VIDITELNE
CASTI RADKU (ASI 47 US). PRI POUZITI VIDEO MODULATORU BYLO
PRAKTICKYMI ZKOUSKAMI S TELEVIZOREM JUNOST 401D OVERENO, ZE
LZE NA VIDITELNE CASTI RADKU ZOBRAZIT AZ 430 BODU (SIRKA
PASMA ASI 7,4 MHZ). I KDYZ JEDNOTLIVY BOD BYL CASTECNE
ROZMAZAN, ZNAK SLOZENY Z VETSIHO POCTU BYT ZKRESLENYCH BODU
BYL OPTICKY SUBJEKTIVNE PRIJATELNEJSI, NEZ ZNAK SLOZENY Z
MENSIHO POCTU OSTRYCH BODU.
PRO ZAKLADNI VERZI MIKROPOCITACE PREDPOKLADAME POUZITI
GENERATORU ZNAKU. TO UMOZNI PRACI MIKROPOCITACE JIZ S JEDINYM
KILOBYTEM PAMETI RAM. ABY BYLO MOZNO VYTVORIT VLASTNI SOUBOR
ZNAKU (VCETNE SPECIALNICH ZNAKU NAPR. PRO CESKOU ABECEDU),
POUZIJEME PROGRAMOVATELNOU PAMET EPROM TYPU 2708 NEBO 2716.
JELIKOZ PREDPOKLADAME UMISTENI ZOBRAZOVANE INFORMACE V
CASTI PAMETI RAM, DOSTANEME CELKOVE ZPOZDENI MEZI PRIVEDENIM
ADRESY KODU ZNAKU NA ADRESOVOU SBERNICI A JEHO PRIVEDENIM DO
MOUDULATORU V DELCE ASI 900 NS (VYBAVOVACI DOBA RAM + VYBAVO-
VACI DOBA EPROM S GENERATOREM ZNAKU). KDYZ SROVNAME TUTO DOBU
S DELKOU TRVANI PRACOVNI DOBY T MIKROPROCESORU ZJISTIME, ZE
LZE CIST JEDEN KOD ZNAKU ZA DVE DOBY T CINNOSTI PROCESORU.
VZHLEDEM K DELCE TRVANI VIDITELNE CASTI RADKU NA OBRAZOVCE
DOSTANEME MAXIMALNI POCET 48 ZNAKU, KTERE LZE TAKTO ZOBARZIT.
JELIKOZ PRI ZOBRAZOVANI MUSI MIT PRENOS OBRAZOVE
INFORMACE PREDNOST PRED CINNOSTI MIKROPOCITACE, JE NUTNE
PRIPADNE KOLIZE POZADAVKU NA SYSTEMOVE SBERNICE RESIT
POZDRZENIM FUNKCE MIKROPROCESORU VLOZENIM CEKACICH STAVU TU.
PRO UCHOVANI PRECTENE INFORMACE POUZIJEME POMOCNY REGISTR,
KTERY PRODLOUZI PLATNOST KODU ZNAKU NA VSTUPECH GENERATORU
ZNAKU POZADOVANOU DOBU. NASLEDUJICI OBRAZEK UKAZUJE RESENI
KOLIZE POZADAVKU NA SYSTEMOVE SBERNICE PRI OPERACI CTENI A
ZAPISU.
---------------------------- 3 - 4 ------------------------
-------------------------------------------------------------
T2 TW T3
___ ___ ___ ___
F1 I I__________I I__________I I__________I I____
_______ _______ _______ ____
F2 ____I I______I I______I I______I
_______________ ______________
HODE _______I AKT. ZOBR. I______________I I
________________________ _______________
MR/ I_____________I
T2 T3 T4/T1
___ ___ ___ ___
F1 I I__________I I__________I I__________I I____
_______ _______ _______ ____
F2 ____I I______I I______I I______I
________ ______________
HODE I______________I AKT. ZOBR. I______________I
_________ ______________________________
MR/ I_____________I
IOR/
T2 T3 T4/T1
___ ___ ___ ___
F1 I I__________I I__________I I__________I I____
_______ _______ _______ ____
F2 ____I I______I I______I I______I
_______________ ______________
HODE _______I AKT. ZOBR. I______________I I
________________________ _______________
MW/ I_____________I
IOW/
T2 TW T3
___ ___ ___ ___
F1 I I__________I I__________I I__________I I____
_______ _______ _______ ____
F2 ____I I______I I______I I______I
_______ ______________
MODE I_______________I AKT. ZOBR. I______________I
_______________________________________
MW/ I_____________I
IOW/
OBR.1 RESENI KOLIZI POZADAVKU NA SBERNICE VKLADANIM CEKACICH
STAVU TW.
---------------------------- 3 - 5 ------------------------
-------------------------------------------------------------
Z CASOVE ANALYZY VYPLYVA, ZE POKUD JE RADIC ZOBRAZOVANI
V DRUHE POLOVINE DOBY T2 AKTIVNI A JDE O OPERACI CTENI, JE
TREBA POZASTAVIT PROCESOR VSUNUTIM JEDNE DOBY TW. POKUD VE
STEJNE SITUACI JDE O OPERACI ZAPISU? POZDRZENI PROCESORU NENI
NUTNE, NEBOT SE OPERACE UKONCI NA ZACATKU DOBY T4 (RESP. TI),
KDY JE RADIC ZOBRAZOVANI PASIVNI.
POKUD JE V DRUHE POLOVINE DOBY T2 RADIC ZOBRAZOVANI
PASIVNI A JDE O OPERACI CTENI, NENI TREBA PROCESOR
POZASTAVOVAT, NEBOT SE TATO OPERACE DOKONCI V ZACATKU DOBY T3
JESTE PRED AKTIVACI RADICE ZOBRAZOVANI. POKUD JDE VE STEJNE
SITUACI O OPERACI ZAPISU, KTERA SE PROVADI V DOBE T3 A
ZACATKU T4 (RESP. T1), JE NUTNE PROCESOR POZASTAVIT JEDNIM
STAVEM TW.
ZAPOJENI REALIZUJICI UVEDENE ROZHODOVANI JE POPSANO V
KAPITOLE 3.3 A JE INSPIROVANO ZAPOJENIM Z MIKROPOCITACE PMD-
85. NAVIC BYLO PROVEDENO OSETRENI HAZARDNICH STAVU, KTERE
VZNIKAJI NA RIDICI SBERNICI PRI AKTIVACI RADICE ZOBRAZOVANI,
A KTERE JSOU RESENY V PMD-85 PRIPOJENIM KONDENZATORU NA
RIDICI SIGNALY.
3.2. BLOKOVE SCHEMA SYSTEMU
----------------------------
BLOKOVE SCHEMA SYSTEMU PLAN 80A JE V PRILOZE S-1, KDE
JE POUZITO PRO OZNACENI BLOKU NASLEDUJICICH ZKRATEK:
CPU CENTRALNI JEDNOTKA (MIKROPROCESOR)
G GENERATOR HODINOVYCH SIGNALU
SCBD RADIC SYSTEMU A BUDIC DATOVE SBERNICE
TW OBVOD RESENI KOLIZI POZADAVKU NA POUZIVANI
SYSTEMOVYCH SBERNIC MIKROPROCESOREM A RADICEM
ZOBRAZOVANI
MX MULTIPLEXER PREPINAJICI NA SYSTEMOVOU SBERNICI
ADRESU BUD Z MIKROPROCESORU NEBO Z CITACE
ZOBRAZOVANI
CT CITAC ZOBRAZOVANI GENERUJICI PRISLUSNQU ADRESU PRO
PAMET RAM PRI AKTIVNIM RADICI ZOBRAZOVANI
SYNC GENERATOR SYNCHRONIZACNI SMESI A ZATEMNUJICICH
IMPULSU ODVOZENYCH Z ADRESY ZOBRAZOVANI
LATCH POMOCNY REGISTR PRO UCHOVANI ZOBRAZOVANYCH DAT
GZ GENERATOR ZNAKU (V REZIMU PLNE GRAFIKY SE VYNECHA
A PREMOSTI JAK JE CARKOVANE NAZNACENO)
PR POSUVNY REGISTR PROVADEJICI PARALELNE/SERIOVY
---------------------------- 3 - 6 ------------------------
-------------------------------------------------------------
PREVOD REZU ZOBRAZOVANYM ZNAKEM
VIDEO VIDEO MODULATOR
VF VF MODULATOR
TV TELEVIZNI PRIJIMAC, ZOBRAZOVACI JEDNOTKA
RAM OBVODY MISTNI PAMETI RAM
EPROM OBVODY MISTNI PAMETI EPROM
V/V VSTUPNE/VYSTUPNI OBVODY S NAZNACENYMI PORTY
INT PRERUSOVACI OBVODY
DRAM OBVODY DYNAMICKE PAMETI RAM (ZVLASTNI KONEKTOR)
DRCTR OBVODY GENERACE RIDICICH SIGNALU PRO DYNAMICKOU
PAMET RAM
CTRL BUS SYSTEMOVA RIDICI SBERNICE
DATA BUS SYSTEMOVA DATGVA SBERNICE
ADR BUS SYSTEMOVA ADRESOUA SBERNICE
CINNOST A SPOLUPRACE BLOKU CPU, G, SCBD, RAM, EPROM,
V/V A INT ODPOVIDA BEZNEMU MIKROPROCESOROVEMU SYSTEMU S 8080A
POPSANEMU V LITERATURE [5,9,15 ATD]. POPISEME PROTO JEN
ODLISNOSTI VNASENE ZOBRAZOVACIMI OBVODY.
BLOK TW ZAJISTUJE RESENI KOLIZI POZADAVKU NA SYSTEMOVE
SBERNICE OD MIKROPROCESORU A RADICE ZOBRAZOVANI. TENTO BLOK V
PODSTATE ROZHODUJE O TOM, ZDA DOBA NASLEDUJICI PO DOBE T2
BUDE DOBOU TW NEBO DOBOU T3.
BLOK MX PREPINA NA ADRESOVOU SYSTEMOVOU SBERNICI BUD
ADRESU GENEROVANOU MIKROPROCESOREM NEBO ADRESU GENEROVANOU
CITACEM ZOBRAZOVANI (A TO PRI AKTIVNIM RADICI ZOBRAZOVANI).
BLOK SYNC ODVOZUJE OD ADRESY GENEROVANE CITACEM
ZOBRAZOVANI SIGNALY PRO VERTIKALNI A HORIZONTALNI
SYNCHRONIZACI TV PRIJIMACE A SIGNALY ZATEMNOVANI PAPRSKU PRI
ZPETNYCH BEZICH.
BLOK LATCH UCHOVAVA KOD ZOBRAZOVANEHO ZNAKU PO DOBU
POTREBNOU GENERATORU ZNAKU GZ K VYTVORENI PRISUJSNEHO REZU
TIMTO ZNAKEM. BLOK PR PAK PROVADI PARALELNE/SERIOVY PREVOD
TOHOTO REZU NA PO SOBE JDOUCI BITY, ODPOVIDAJICI JASOVE
INFORMACI JEDNOHO ZOBRAZOVANEHO BODU. TATO INFORMACE SE VEDE
BUD DO VIDEO NEBO VF MODULATORU, KDE SE SPGLECNE SE SYNCHRO-
NIZACNIMI A ZETEMNOVACIMI SIGNALY ACASTNI NA GENERACI VIDEO,
RESP. VF SIGNALU PRO IV PRIJIMAC.
---------------------------- 3 - 7 ------------------------
-------------------------------------------------------------
BLOK DRCTR JE UMISTEN NA ZAKLABNI DESCE A VYTVARI
SOUBOR RIDICICH SIGNALU PRO DYNAMICKOU PAMET DRAM. TA SE
NACHAZI NA ZVLASTNIM PLOSNEM SPOJI A PRIPOJUJE SE PRES
SPECIALNE PRO NI VYHRAZENY KONEKTOR.
3.3. OBVODY CPU A JEJIHO OKOLI
-------------------------------
SCHEMA OBVODU CPU A JEJIHO OKOLI MA CISLO S-3.
PRINCIPIALNI ZAPOJENI ZAKLADNI JEDNOTKY SE NELISI OD
DOPORUCENI UVEDENYCH V KATALOGU VYROBCE. JADRO SYSTEMU TVORI
TROJICE OBVODU IO-49, IO-50 A IO-48 (MIKROPROCESOR MHB 8080A,
GENERATOR HODINOVYCH SIGNALU MH 8224 A RADIC SYSTEMU A BUDIC
DATOVE SBERNICE MH 8228).
POLOVINA OBVODU IO-59 (MH7474 / 09) A HRADLO EXL-OR IO-
52 (UCY7486 / 08) TVORI OBVOD RESENI KOLIZI POZADAVKU O
SYSTEMOVE SBERNICE OD MIKROPROCESORU A RADICE ZOBRAZOVANI.
FUNKCE OBVODU JE NASLEDUJICI: ZE STAVOVEHO SLOVA SE VYBIRA
BIT D1 = WO/, KTERY SE SESTUPNOU HRANOU SIGNALU STSTB/
(INVERZE SIGNALU SE PROVADI V INVERTORU I0-55/MH7404/08)
ZAPISE DO KLOPNEHO OBVODU. UVEDENY BIT NESE INFORMACI, ZDA V
DANEM STROJOVEM CYKLU PUJDE O ZAPIS (D1 = LOG 0) NEBO O CTENI
(D1 = LOG 1). SIGNAL MODE SE VEDE Z RADICE ZOBRAZOVANI A SVOU
VYSOKOU AROVNI URCUJE AKTIVNI STAV ZOBRAZOVANI. PODLE OBR. 1
JE NUTNO VYGENEROVAT SIGNAL READY PRO MIKROPROCESOR TAK, ABY
KOLIZE POZADAVKU NA SBERNICE BYLY RESENY VLOZENIM STAVU WAIT.
TATO FUNKCE MA TVAR:
MODE D1=WO/ READY
-------------------------
1 1 0
1 0 1
0 1 1
0 0 0
ODPORY R6, R40 A R41 (1K2) ZAJISTUJI ZVYSENOU UROVEN
LOG 1 PRO OBVODY MOS MIKRO-PROCESORU.
DRUHA POLOVINA OBVODU IO-59 (MH7474 / 05) ZAJISTUJE
SPRAVNE ZAHAJENI STAVU HOLD V ODPOVEDI NA SIGNAL HOLD/. PO
PRIJETI TOHOTO STAVU MIKROPROCESOREM, OZNAMI SE PRIJETI
ZADOSTI O ODPOJENI SE OD ZBERNIC POTVRZUJICIM SIGNALEM HLDA.
JEHO STAV JE STROBOVAN VZESTUPNOU HRANOU HODINOVEHO SIGNALU
F2(TTL). PRITOM JE ZAJISTENO, ABY V PRIPADE ZAPISOVE OPERACE
BYLO POZDRZENO ODPOJOVANI OD ZBERNIC SYSTEMU O JEDNU FUNKCNI
DOBU T, ABY SE OPERACE ZAPISU MOHLA DOKONCIT. SIGNALEM VEDE-
NYM Z VYSTUPU 05 OBVODU IO-59 (MH7474) SE UVEDOU DO VYSOKO-
IMPEDANCNIHO STAVU BUDICE RIDICICH I DATOVYCH SIGNALU V OBVO-
DU IO-48 (MH8228). HRADLO NAND IO-56 (MH7400 / 11) A INVERTOR
IO-55 (MH7404 / 04) ZAJISTUJI ZABLOKOVANI SIGNALU HLDA/ VEDE-
---------------------------- 3 - 8 ------------------------
-------------------------------------------------------------
NEHO NA MULTIPLEXERY ADRESY IO-43 AZ IO-46 (SN74LS257) PO
DOBU AKTIVNIHO SIGNALU HODE. TIM SE UMOZNI ZOBRAZOVANI I
BEHEM STAVU HOLD S TIM, ZE VYUZITI SYSTEMOVYCH SBERNIC
VNEJSIM OBVODEM (NAPR. RADICEM DMA) JE OMEZENO NA KAZDOU
DRUHOU FUNKCNI DOBU, KDY JE SIGNAL MODE = LOG 0.
MULTIPLEXERY IO-43 AZ IO-46 (SN74LS257) SLOUZI K PREPI-
NANI SYSTEMOVE ADRESOVE SBERNICE BUD NA ADRESOVE VYSTUPY
MIKROPROCESORU NEBO NA VYSTUPY CITACU RADICE ZOBRAZOVANI.
POKUD BUDE VYUZIVAN STAV HOLD, JE NUTNE POZIT TYPY S TRISTA-
VOVYMI VYSTUPY. POKUD NEBUDE STAV HOLD VYUZIVAN , LZE P0UZIT
TYPY UCY74157. PROPOJKY 149 - 172 SLOUZI K NASTAVENI ADRESY
ZOBRAZOVANI PRO REZIM SEMIGRAFIKY (S GENERATOREM ZNAKU) NEBO
PRO REZIM PLNE GRAFIKY. PRI REZIMU SEMIGRAFIKY JSOU BITY C6
AZ C8 CITACE ZOBRAZOVACI ADRESY VYUZITY PRO VOLBU REZU ZNAKEM
A VEDOU SE NA GENERATOR ZNAKU. PROTO SE V TOMTO REZIMU PRIPO-
JUJI BITY A6 A VYSSI ADRESOVE SBERNICE NA BITY C9 A VYSSI
CITACE ZOBRAZOVANI. PRI REZIMU PLNE GRAFIKY SE PROPOJUJI
STEJNOLEHLE BITY ADRESOVE SBERNICE A CITACE ZOBRAZOVANI (C6-
A6, C7-A7, ... , C13-A13).
U OBVODU TVORENEHO IO-51 (MH7474), IO-52 (UCY7486 /
03,11) A IO-56 (MH7400 / 08) BYLO POZADANO O OCHRANU AUTOR-
SKYM OSVEDENIM [40]. JDE 0 ZAPOJENI, KTERE ZAMEZUJE VZNIKU
HAZARDNICH STAVU NA RIDICICH SBERNICICH V SOUVISLOSTI S CIN-
NOSTI RADICE ZOBRAZOVANI. SVOU FUNKCI ZAMEZUJE VZNIKU DVOJNA-
SOBNYCH ZAPISOVYCH PULSU MEMW/, IOW/ A CTECICH PULSU IOR/ PRI
VKLADANI CEKACICH STAVU WAIT (A "ODPLAVANI" RIDICI SBERNICE).
POSUVNY REGISTR IO-47 (MH7496) JE ZDE VYUZIT JAKO PETI-
BITOVY REGISTR UMOZNUJICI PREPINANI ADRESY ZOBRAZOVANE STRAN-
KY PAMETI. PRI ZAPISOVANI DO NEJ JE TREBA NEJDRIVE VYNULOVAT
JEHO OBSAH SIGNALEM ADRES/ A TEPRVE PAK SIGNALEM ADRSET/
ZAPSAT POZADOVANOU INFORMACI Z DATOVE SBERNICE. PRITOM VZA-
JEMNY VZTAH MEZI DATOVYMI A ADRESOVYMI BITY JE NASLEDUJICI:
DATA ADRESA PROPOJKA
--------------------------
D0 A11 165-166
D1 A12 168-169
D2 A13 171-172
D3 A14 -
D4 A15 -
V REZIMU SEMIGRAFIKY SE PREPINANI ADRESY ZOBRAZOVANE RAM
DOSAHNE ZAPISEM NASLEDUJICICH BYTU DO REGISTRU NA ADRESE 1FH
(PRED KAZDYM ZAPISEM JE NUTNE REGISTR VYNULOVAT VYSLANIM
LIBOVOLNEHO OBSAHU NA ADRESU 18H).
----------------------------- 3 - 9 -----------------------
-------------------------------------------------------------
ADRESY D4 D3 D2 D1 DO HEX DEC
------------------------------------------------------------
0000-07FF 0 0 0 0 0 00 0
0800-0FFF 0 0 0 0 1 01 1
1000-17FF 0 0 0 1 0 02 2
1800-1FFF 0 0 0 1 1 03 3
2000-27FF 0 0 1 0 0 04 4
2800-2FFF 0 0 1 0 1 05 5
3000-37FF 0 0 1 1 0 06 6
3800-3FFF 0 0 1 1 1 07 7
4000-47FF 0 1 0 0 0 08 8
4800-4FFF 0 1 0 0 1 09 9
5000-57FF 0 1 0 1 0 0A 10
5800-5FFF 0 1 0 1 1 0B 11
6000-67FF 0 1 1 0 0 0C 12
6800-6FFF 0 1 1 0 1 0D 13
7000-77FF 0 1 1 1 0 0E 14
7800-7FFF 0 1 1 1 1 0F 15
8000-87FF 1 0 0 0 0 10 16
8800-8FFF 1 0 0 0 1 11 17
9000-97FF 1 0 0 1 0 12 18
9800-9FFF 1 0 0 1 1 13 19
A000-A7FF 1 0 1 0 0 14 20
A800-AFFF 1 0 1 0 1 15 21
B000-B7FF 1 0 1 1 0 16 22
B800-BFFF 1 0 1 1 1 17 23
C000-C7FF 1 1 0 0 0 18 24
C800-CFFF 1 1 0 0 1 19 25
D000-D7FF 1 1 0 1 0 1A 26
D800-DFFF 1 1 0 1 1 1B 27
E000-E7FF 1 1 1 0 0 1C 28
E800-EFFF 1 1 1 0 1 1D 29
F000-F7FF 1 1 1 1 0 1E 30
F800-FFFF 1 1 1 1 1 1F 31
POZN. ZOBRAZOVAT LZE POUZE PAMET TYPU RAM, NEBOT POUZE JEJI
DEKODERY JSOU PO DOBU AKTIVNIHO SIGNALU "MODE" ODBLOKOVANY.
V REZIMU PLNE GRAFIKY LZE TEDY ZOBRAZOVAT LIBOVOLNY ZE CTYR
KVADRU ZAPISEM NASLEDUJICICH BYTU NA PORT 1FH:
ADRESY BYTE(HEX)
----------------------
0000-3FFF 00H
4000-7FFF 08H
8000-BFFF 10H
C000-FFFF 18H
POZN. PRVNI A CTVRTY KVADR NELZE OBECNE VYUZIVAT V CELEM
ROZSAHU, POKUD JE V MIKROPOCITACI POUZIT ZAKLADNI MONITOR.
DATOVA SBERNICE JE OSETRENA ODPORY R14 - R22 (U
ZAKLADNI VERZE 12K, U ROZSIRENE VERZE S BUDICI DATOVE
SBERNICE 1K5) PRIPOJENYMI NA NAPAJECI NAPETI +5V. JEDNOTLIVE
RIDICI SIGNALY JSOU TAKTEZ OSETRENY ODPORY R34 - R37 A R49.
----------------------------- 3 - 10 ----------------------
-------------------------------------------------------------
3.4. RADIC ZOBRAZOVANI
-----------------------
SCHEMA ZAPOJENI RADICE ZOBRAZOVANI MA CISLO S-4.
ZAKLADNI CASOVANI CELEHO SYS1EMU ZOBRAZOVANI ZAJISTUJE
POSUVNY REGISTR IO-9 (MH74164). NA JEHO DATOVE VSTUPY JE
PRIVEDEN SIGNAL F2(TTL), KTERY JE HODINOVYMI IMPULSY OSC
ZAPISOVAN DO OBVODU A POSTUPNE POSOUVAN. NA VYSTUPECH Q1 AZ
Q8 (Q0...F2TTL) SE OBJEVUJE SOUSTAVA NEPREKRYVAJICICH SE
VZAJEMNE FAZOVE POSUNUTYCH IMPULSU (OBDOBA JOHNSONOVA CITACE)
UMOZNUJICI GENERACI RIDICICH SIGNALU BEZ NEBEZPECI VZNIKU
HAZARDNICH STAVU.
SIGNALY MUX, RAS/, CAS/ SLOUZI K RIZENI FUNKCE
DYNAMICKYCH PAMETI TYPU MHB4116. MUX PREPINA MULTIPLEXERY
ADRESY RADKU A SLOUPCE. SIGNAL RAS/ URCUJE OKAMZIK PLATNOSTI
ADRESY RADKU, CAS/ OKAMZIK PLATNOSTI ADRESY SLOUPCE.
OBVODY IO-14 (74S10) A IO-5 (MH74S00/11) ZAJISTUJI
GENERACI HODINOVYCH SIGNALU URGUJICICH JEDNGTLIVE BODY OBRAZU
(PIXLY). KAZDY REZ ZNAKEM V SEHIGRAFICE A ZOBRAZOVANY OBSAH
BYTU V PLNE GRAFICE SE SKLADA ZE SESTI (6) ZAKLADNICH BODU
(PIXLU) V OBRAZE. V REZIMU SEMIGRAFIKY JSOU JEDNOTLIVE REZY
CTENY Z PAMETI GENERATORU ZNAKU. V REZIMU PLNE GRAFIKY JE
ZAKLADNI SOUBOR ZNAKU ULOZEN V MONITORU V4.X, UZIVATELSKY
SOUBOR ZNAKU LZE UMISTIT DO RAM A PRES SPOJOVACI ADRESY
PODRIDIT MONITORU.
SIGNALY MODE A MODE/ UDAVAJI USEKY AKTIVNIHO
ZOBRAZOVANI (MODE = LOG1). SIGNAL PGM/ UMOZNUJE ZABLOKOVAT
ZOBRAZOVANI A UVEST SYSTEM DO REZIMU PRACE BEZ ZPOMALOVANI
VKLADANIM STAVU WAIT. ZPOMALENI SYSTEMU ZOBRAZOVANIM JE ASI
16%.
CITACE IO-16 AZ IO-19 (MH7493A) TVORI GENERATOR ADRESY
ZOBRAZOVANI C0-C14. DELIC DVEMI OBVODU IO-16 NAVIC ZAJISTUJE
PRODLOUZENI CYKLU ZOBRAZOVANI JEDNOHO ZNAKU NA DVE FUNKCNI
DOBY T.
SOUSTAVA OBVODU IO-3 (MH74S04), IO-4 (MH74S04/12), IO-5
(MH7405/02,12) A IO-2 (MH74S00/08,11) ZAJISTUJE GENERACI
SYNCHRONIZACNICH IMPULSU HORIZONTALNIHO ROZKLADU HSYN/ A
VERTIKALNIHO ROZKLADU VSYN/. JEJICH GENERACE JE DANA VZTAHYS:
HSYN = TMA * C2 * C3/
VSYN = C14 * C11/ * C10
KDE TMA JE SIGNAL Z VYSTUPU R/S KLOPNEHO OBVODU NASTAVOVA-
NEHO PRO 40 ZNAKU NA RADKU SOUCINEM C5 * C3 * CL A PRO
48 ZNAKU NA RADKU SOUCINEM C5 * C4 * CL, NULOVANEHO V
OBOU PRIPADECH SOUCINEM CL * C5/
Cn JSOU SIGNALY Z GENERATORU ADRESY ZOBRAZOVANI.
----------------------------- 3 - 11 -----------------------
-------------------------------------------------------------
SIGNALY SPOJENE SE ZOBRAZOVANIM MAJI TYTO PARAMETRY:
DELKA AKTIVITY SIGNALU VSYN ............... 1 MS
DELKA AKTIVITY SIGNALU HSYN................ 3,9 US
DOBA JEDNOHO SNIMKU ....................... 20,0 MS
CELKOVA DOBA JEDNOHO RADKU ................ 62,5 US
DOBA VIDITELNE CASTI RADKU SE 40 ZNAKY .... 39,1 US
DOBA VIDITELNE CASTI RADKU SE 48 ZNAKY .... 46,9 US
SIGNAL "BLOK", VYVEDENY NA PROPOJKU C. 40 UMOZNUJE
ZATEMNOVANI ZPETNYCH BEHU PAPRSKU PO OBRAZOVCE. POUZITIM
TOHOTO SIGNALU LZE DOSAHNOUT ZOBRAZOVACIHO REZIMU "CERNE
PISMO NA BILEM PAPIRU NA CERNE PODLOZCE".
3.9 62.5 [US]
!<---->!<------------------------------>!
_______ __________ ... __________ ______
VSYN/ |______| |______|
____________ ____________
BLOK ____| |_______ ... _______| |___
-->|--|<---->|--|<----------------->|<---------->|
2 3.9 9.7 46.6 15.6 [US]
____ __________ ... ___________ ____
HSYN/ |________| |________|
|<------>|<--------------------------------->|
1 20 [MS]
DIODY D3 A D4 SLOUZI K ZATEMNENI CASTI OBRAZOVKY (D4
JEJI HORNI POLOVINY, D3 JEJI PRVNI A TRETI CTVRTINY ZHORA)
PRI POUZITI MENSI PAMETI RAM NEZ 4 KBYTE, KDY SE ZOBRAZUJE
POUZE 16 NEBO JEN 8 RADKU MISTO PLNYCH 32 RADKU.
REGISTR IO-13 <MH8282> SLOUZI K UCHOVANI ZOBRAZOVANE
INFORMACE PO DVE FUNKCNI DOBY T. TYTO DATA SE VEDOU NA
ADRESOVE VSTUPY GENERATORU ZNAKU IO-12 (VOLITELNE MHB
8708/8608 NEBO MHB2716/C POMOCI PROPJEK 34 AZ 38). VZHLEDEM K
TOMU, ZE GENERATOR ZNAKU TVORI PROGRAMOVATELNA PEVNA PAMET A
ZE LZE POUZIT PAMET O KAPACITE 2 KBYTE NA AZ 256 ZNAKU, LZE
VYTVORIT GENERATOR PRO SPECIALNI ZNAKY CESKE ABECEDY S VELKY-
MI I MALYMI PISMENY. TIM SE ROZSIRUJE MOZNOST POUZITI MIKRO-
POCITACE I NA OBLAST ZPRACOVAVANI CESKYCH TEXTU.
----------------------------- 3 - 12 ---------------------
------------------------------------------------------------
V REZIMU PLNE GRAFIKY SE GENERATOR ZNAKU VYNECHAVA A JE
NAHRAZEN PROGRAMOVOU KRESBOU ZNAKU. PRITOM JE UMOZNENO
PROGRAMOVE VYTVORIT UZIVATELSKY SOUBOR ZNAKU UMISTENY V RAM A
VCLENIT JEJ DO MONITORU V4.X. V REZIMU PLNE GRAFIKY SE PROPO-
JI V SOKLU OBVODU IO-12 NASLEDUJICI VYVODY (LZE POUZIT I
TRANSPARENTNE NAPROGRAMOVANE EPROM):
15 - 05 (D0)
14 - 04 (D1)
13 - 03 (D2)
11 - 02 (D3)
10 - 01 (D4)
09 - 23 (D5)
DVA NEJVYSSI BITY D6 A D7 LZE V REZIMU PLNE GRAFIKY
VYUZIT BUD K INVERZI CELEHO BYTU (D7) A K MODULACI JASU
CELEHO BYTU (D6) NEBO OBA BITY POUZIT K PRENOSU INFORMACE O
BARVE ZOBRAZOVANEHO BYTU (D6...VID1, D7...VID2).
KLOPNY OBVOD IO-15 (MH7474/09) UMOZNUJE V OBOU REZIMECH
UCHOVANI BITU D7 A V SOUCINNOSTI S HRADLEM IO-01 (UCY7486/11)
PROGRAMOVE INVERTOVAT ZOBRAZOVANY BYTE V REZIMU PLNE GRAFIKY,
POPR. CELY ZNAK V REZIMU SEMIGRAFIKY.
POSUVNE REGISTRY IO-10,11 (MH7496) ZAJISTUJI PARALELNE
SERIOVY PREVOD ZOBRAZOVANEHO BYTU, JAKO PRVNI SE ZOBRAZUJE
BIT DO, JAKO POSLEDNI BIT D5.
INVERTORY IO-06 (08,06,04) SPOLU S ODPOREM R5 A DIODAMI
D1,D2 TVORI VIDEO MODULACNI CAST. AMPLITUDOVE MODULOVANY
SIGNAL SE VEDE PRES ODPOR R4 (RIZENI HLOUBKY VF MODULACE) NA
PRIPADNY VF MODULATOR.
PROPOJKY 22 AZ 23 UMOZNUJI VOLBU ZOBRAZOVANI MEZI 40 A
48 ZNAKY NA JEDNOM RADKU.
ROZBELENI ADRES ZOBRAZOVANE PAMETI V REZIMU SEMIGRAFIKY
JE UKAZANO NA PRIKLADU PAMETI 4 KBYTES
0800 0801 0802 ... 082E 082F 0830 ... 083F
0840 0841 0842 ... 086E 086F 0870 ... 087F
. . . ... . . . ... .
. . . ... . . . ... .
0FC0 0FC1 0FC2 ... 0FEE 0FEF 0FF0 ... 0FFF
\_______________ _______________/ \______ _____/
\/ \/
VIDITELNA NEVIDITELNA
CAST CAST
----------------------------- 3-16 ------------------------
-------------------------------------------------------------
ROZDELENI ADRES PRI ZOBRAZOVANI V REZIMU PLNE GRAFIKY
JE UKAZANO NA PRIKLADU 48 KBYTOVE PAMETI:
8000 8001 8002 ... 802E 802F 8030 ... 803F
8040 8041 8042 ... 806E 806F 8070 ... 807F
8080 8081 8082 ... 80AE 80AF 80B0 ... 80BF
. . . ... . . . ... .
. . . ... . . . ... .
BF80 BF81 BF82 ... BFAE BFAF BFBO ... BFBF
BFCO BFC1 BFC2 ... BFEE BFEF BFFO ... BFFF
\_______________ ______________/ \______ ______/
\/ \/
VIDITELNA NEVIDITELNA
CAST CAST
ADRESY NACHAZEJICI SE V TZV. NEVIDITELNE CASTI
OBRAZOVKY JSOU VYUZIVANY ZCASTI MONITOREM A JINYMI
SYSTEMOVYMI PROGRAMY (PRVNICH 8 RADKU). ZBYLE MOHOU BYT
POUZITY LIBOVOLNYM ZPUSOBEM V UZIVATELSKYCH PROGRAMECH.
V REZIMU PLNE GRAFIKY SE ZOBRAZUJE BIT PO BITU, PRITOM
JAKO PRVNI SE ZOBRAZUJE BIT DO, JAKO DRUHY BIT D1, ... , JAKO
POSLEDNI BIT B5:
... D0 D1 D2 D3 D4 D5 D0 D1 ...
\___________ _________/
\/
JEDEN BYTE
PRO PRIPOJENI ZOBRAZOVACICH JEDNOTEK (TELEVIZNICH
MONITORU) SE VYVADI NA KONEKTOR "HODINOVYCH SIGNALU" IMPULSY
SNIMKOVEHO ROZKLADU (HSYNC/), RADKOVEHO ROZKLADU (VSYNC/),
MODULACE JASU (VIDEO/) A CELKOVEHO SMISENEHO VIDEOSIGNALU
SPOLECNE SE SYNCHRONIZACI (SMES).
PRO SPECIALNI UCELY SLOUZI VYVODY C14(VID1) A
C11(VID2). NA NE LZE POMOCI PROPOJEK PRIPOJIT SEDMY A OSMY
NEZOBRAZOVANY BIT (PROPOJKY 27-29, 25-30) NEBO SIGNALY Z
CASOVE ZAKLADNY C11 A C14 (PROPOJKY 25-26, 28-29). NA
NEKTEROU Z TECHTO PROPOJEK LZE VYVEST TAKE SIGNAL C5
(PROPOJKA 44) NEBO SIGNAL BLOKOVANI PRI ZPETNYCH BEZICH
(PROPOJKA 40).
3.5. OBVODY PAMETI RAM
-----------------------
SCHEMA ZAPOJENI PAMETI RAM MA CISLO S-5. DEKODER
PAMETOVEHO PROSTORU IO-28 (MH3205) ZAJISTUJE ADRESOVANI 4
KBYTE RAM ZAKLADNI DESKY, TVORENE IO-34 AZ IO-41 (MHB2114).
----------------------------- 3 - 14 ----------------------
-------------------------------------------------------------
POUZDRA TECHTO PAMETI JSOU NA DESCE PLOSNEHO SPOJE FYZICKY
ROZMISTENY PODLE NASLEDUJICI TABULKY:
POUZDRO ADRESY BITY
IO-34 0000-03FF D4-D7
IO-35 0400-07FF D4-D7
IO-36 0800-0BFF D4-D7
IO-37 0C00-0FFF D4-D7
IO-38 0000-03FF D0-D3
IO-39 0400-07FF D0-D3
IO-40 0800-0BFF D0-D3
IO-41 0C00-0FFF D0-D3
POZN. ROZMISTENI JE STEJNE PRO VSECHNY OSMICE KILOBYTU, NA
KTERE JE NASTAVEN DEKODER ADRESY PAMETI RAM.
DEKODER JE AKTIVOVAN SOUCTEM SIGNALU MODE/ (ZOBRAZOVA-
NI), MWS/ (ZAPIS) A MEMR/ (CTENI) V SOUCINNOSTI S ADRESOVYMI
BITY A13 AZ A15. UMISTEMI ADRESOVANE OBLASTI V PAMETOVEM
PROSTORU SE PROVADI PRISLUSNYM PROPOJENIM PROPOJEK:
ADRESY A15 A14 A13 P R O P O J I T
0000-1FFF 0 0 0 12-14, 07-09, 10-16
2000-3FFF 0 0 1 12-14, 07-09, 15-16
4000-5FFF 0 1 0 12-14, 07-08, 10-16
6000-7FFF 0 1 1 12-14, 07-08, 15-16
8000-9FFF 1 0 0 12-13, 07-09, 10-16
A000-BFFF 1 0 1 12-13, 07-09, 15-16
C000-DFFF 1 1 0 12-13, 07-08, 10-16
E000-FFFF 1 1 1 12-13, 07-08, 15-16
POZN. ODPOJENI CELE PAMETI RAM NA ZAKLADNI DESCE LZE DOCILIT
ROZPOJENIM PROPOJKY C. 16.
OBVODY IO-29 (UCY7407) UMOZNUJI POUZITI I JINYCH OBVODU
RAM NEZ 2114 (NAPR. 6116) UMISTENYCH V KONEKTORU NEKTERE Z
EPROM. PROPOJKY 139 AZ 144 UMOZNUJI SPOJOVAT VYBEROVE SIGNALY
POUZDER PRO VICEKILOBYTOVE OBVODY RAM.
SOUSTAVA OBVODU IO-31 (MH74S20/06), IO-3 0 (MH74S04),
IO-05 (MH74S00) A IO-32 (MH74S00) ZAJISTUJI GENERACI SIGNALU
RIDICICH ODBLOKOVANI A SMER PRENOSU DAT BUDICEM DATOVE
SBERNICE IO-42 (MH8286).
SIGNALY DRAMEN/ A DRAMINH/ SLOUZI K RIZENI DYNAMICKE
PAMETI RAM 64 KBYTE. DRAMEN/ VZNIKA SLOUCENIM SIGNALU MEMR/,
MUS/ A MODE/ A URCUJE VSECHNY MOZNE OKAMZIKY AKTIVACE DYNAMI-
CKE PAMETI RAM. SIGNAL DRAMINH/ JE ODVOZEN OD VYBEROVYCH
SIGNALU POUZDER PAMETI RAM NEBO EPROM NA ZAKLADNI DESCE A
UMOZNUJE ZABLOKOVANI OBLASTI DYNAMICKE RAM SE STEJNYMI ADRE-
SAMI JAKO PAMETI NA ZAKLADNI DESCE.
PREKRYVANI DYNAMICKE A STATICKE PAMETI MUZE VEST KE
----------------------------- 3 - 15 ----------------------
-------------------------------------------------------------
SNIZENI SPOLEHLIVOSTI SYSTEMU U TECH TYPU STATICKYCH PAMETI
RAM, KTERYCH DOSTUPGVA DOBA NEMA ZADNE RESERVY VUCI HODNOTE
450 NS (NEKTERE SERIE PAMETI TESLA MHB2114 A POD). PROTO SE
TAKOVE PREKRYVANI NEDOPORUCUJE, BYT BY BYLO SIGNALEM DRAMINH/
UMOZNENO. V PRIPADE POUZITI STATICKEHO I. DYNAMICKEHO TYPU
PAMETI V JEDNOM SYSTEMU SE DOPORUCUJE BUD UMISTIT STATICKOU
PAMET NAD DYNAMICKOU (MOZNE PRO 16-32-48 KBYTE DYNAMICKE
PAMETI), NEBO STATICKOU PAMET UPLNE ODPOJIT (ODPOJENI
PROPOJKY C. 16).
POMOCI PROPOJEK 139 AZ 144, POPR. VOLNYCH PROPOJEK Z
VYSTUPU DEKODERU PAMETI EPROM IO-26, LZE GENEROVAT SIGNALY
CS1/ A CS2/. JDE O VYBEROVE SIGNALY POUZDER, KTERE UMOZNUJI
ROZSIRENI PAMETI RAM, RESP. EPROM O POUZDRA NACHAZEJICI SE
MIMO ZAKLADNI DESKU (JSOU VEDENY NA KONEKTOR DYNAMICKE RAM).
3.6. OBVODY PAMETI EPROM
-------------------------
SCHEMA ZAPOJENI PAME1I EPROM MA CISLO S-6. DEKODER JE
TVOREN IO-26 (MH8205), KTERY MUZE ADRESOVAT LOBGVOLNY KILO-
BYTE NEBO JEJICH DVOJICI V PAMETOVEM PROSTORU PODLE PREPNUTI
PROPOJEK. V PRIPADE, ZE JE ZADANO ADRESOVANI PO JEDNOTLIVYCH
KILOBYTECH (PRO TYP 2708), PROPOJIME PROPOJKY 41-42 A PRO
UMISTENI DEKODERU ADRESY V RAMCI PAMETOVEHO PROSTORU PLATI:
ADRESY A15 A14 A13 P R O P O J I T
0000-1FFF 0 0 0 04-06, 01-03, 11-15
2000-3FFF 0 0 1 04-06, 01-03, 10-11
4000-5FFF 0 1 0 04-06, 01-02, 11-15
6000-7FFF 0 1 1 04-06, 01-02, 10-11
8000-9FFF 1 0 0 04-05, 01-03, 11-15
A000-BFFF 1 0 1 04-05, 01-03, 10-11
C000-DFFF 1 1 0 04-05, 01-02, 11-15
E000-FFFF 1 1 1 04-05, 01-02, 10-11
NA VYSTUPECH DEKODERU JSOU NAPOJENY NEINVERTUJICI SLE-
DOVACE S OTEVRENYM KOLEKTOROVYM VYSTUPEM IO-27 A IO-29
(UCY7407), KTERE UMOZNUJI SLUCOVAT VYBEROVE SIGNALY POUZDER
DO JEDINEHO PRO VICEKILOBYTOVE OBVODY EPROM. VOLBA SE PROVADI
SPOJENIM PROPOJEK 123 AZ 138. SPOJENI JEDNOTLIVYCH PROPOJEK S
ADRESAMI A POUZDRY PAMETI UKAZUJE NASLEDUJICI TABULKA:
A12 A11 A10 PROP. ! PROP. POUZDRO
-------------------------------+------------------------
0 0 0 123 ! 124 IO-22
0 0 1 125 ! 126 IO-23
0 1 0 127 ! 128 IO-24
0 1 1 129 ! 130 IO-25
1 0 0 131 ! 132 CS-2/
1 0 1 133 ! 134 CS-1/
1 1 0 135 ! 136 IO-20
----------------------------- 3 - 16 ----------------------
-------------------------------------------------------------
1 1 1 137 ! 136 IO-21
V PRIPADE ADRESACE PO DVOJICICH KILOBYTU (PRO POUZDRA
2716 A 2732), PROPOJIME 42-43 A PRO UMISTENI ADRESOVEHO
DEKODERU V PAMETOVEM PROSTORU PLATI:
ADRESY A15 A14 PROPOJIT
0000-3FFF 0 0 4-6, 1-3
4000-7FFF 0 1 4-6, 1-2
8000-BFFF 1 0 4-5, 1-3
C000-FFFF 1 1 4-5, 1-2
VZHLEDEM K TOMU, ZE JE PORADI ADRESOVYCH VODICU
PRIPOJENYCH NA VSTUPY DEKODERU JINE, ODPOVIDAJI ROZSAHUM
ADRES NASLEDUJICI PROPOJKY:
ADRESY A12 A11 A13 PROPOJKA
0000-07FF 0 0 0 123
0800-0FFF 0 1 0 127
1000-17FF 1 0 0 131
1800-1FFF 1 1 0 135
2000-27FF 0 0 1 125
2800-2FFF 0 1 1 129
3000-37FF 1 0 1 133
3800-3FFF 1 1 1 137
POZN. OBDOBNE PRIRAZENI PLATI S PRISLUSNYM OFFSETEM PRO
OSTATNI KVADRY PAMETI.
OBVOD IO-32 (MH74S00) A IO-01 (UCY7486) ZAJISTUJE
INICIACI (TZV. BOOT) SYSTEMU PO ZAPOJENI DO SITE. TENTO OBVOD
JE SIGNALEM RST/ UVEDEN DO STAVU BOOT, VE KTEREM VYBIRA EPROM
NA POZICI IO-21 (NEZAVISLE NA JEJI FYZICKE ADRESE PODLE
DEKODERU). V TETO EPROM PAK MUSI BYT NA PRVNI POZICI NAHRAN
SKOK DO SKUTECNE STARTOVACI ADRESY PROGRAMU (TAKTEZ UMISTENE
V TETO EPROM). VZNIKLY VYBEROVY SIGNAL PROVEDE NASTAVENI
BOOTOVACIHO OBVODU DO PRACOVNIHO STAVU.
PAMETOVE OBVODY IO-20 AZ IO-25 MOHOU BYT TYPU MHB8708
(1 KILOBYTOVE), MHB2716/C (2 KYLOBYTOVE) NEBO 12732 (4 KILO-
BYTOVE). VOLBA SE PROVADI PROPOJENIM PRISLUSNYCH PROPOJEK.
NAVOD PROPOJOVANI JE V KAPITOLE 4.3. U SOV. EKVIVALENTU
(K573RF5) JE TREBA PROVEST VYBER, NEBOT NEKTERE SERIE TECHTO
OBVODU NEZAJISTOVALY SPOLEHLIVY CHOD SYSTEMU. OSVEDCILA SE
SERIE S KODEM DATA VYROBY 8703. PRO ORIENTACI JSOU UVEDENY
OZNACENI JEDNOTLIVYCH VYVODU PRO VSECHNY TRI TYPY PAMETI
EPROM:
----------------------------- 3 - 17 ----------------------
-------------------------------------------------------------
VYVOD TYPY:
CISLO MHB8708 MHB2716/C I2732
1 A7 A7 A7
2 A6 A6 A6
3 A5 A5 A5
4 A4 A4 A4
5 A3 A3 A3
6 A2 A2 A2
7 A1 A1 A1
8 A0 A0 A0
9 D0 D0 D0
10 D1 D1 D1
11 D2 D2 D2
12 GND GND GND
13 D3 D3 D3
14 D4 D4 D4
15 D5 D5 D5
16 D6 D6 D6
17 D7 D7 D7
18 PGM CE/ CE/
19 VDD A10 A10
20 CS/,WE/ OE/ OE/,VPP
21 VBB VPP A11
22 A9 A9 A9
23 A8 A8 A8
24 VCC VCC VCC
POZN. VBB ... -5V, VDD ... +12V, VCC ... +5V, GND ... 0V
3.7. VSTUPNE / VYSTUPNI OBVODY
-------------------------------
SCHEMA ZAPOJENI OBVODU VSTUPU / VYSTUPU MA CISLO S-7.
DEKODER JE TVOREN OBVODEM IO-54 (MH3205). JEDNOTLIVYM ADRESAM
PAK PRISLUSI NASLEDUJICI OBVODY:
A7......A0
XX0000XX STAVOVY PORT (3216)
XX0001XX VSTUPNI PORT KLAVESNICE (3212)
XX0010XX KOMUNIKACNI OBVOD (8255)
XX0011XX TEST PROGRAMOVE KLAVESNICE
XX0100XX BUZENI ZVUKOVE SIGNALIZACE
XX0101XX REDIC PRERUSENI (8214)
XX0110XX NULOVANI REGISTRU ADRESY ZOBRAZOVANI
XX0111XX NASTAVENI REGISTRU ADRESY ZOBRAZOVANI
----------------------------- 3 - 18 ----------------------
-------------------------------------------------------------
PRO PRIPADNE ROZSIRENI JE TREBA DODRZET ZASADU, ZE
VSECHNY ADRESY V/V OBVODU UMISTENYCH NA ZAKLADNI DESCE MAJI
ADRESU S A5=0. PRO VSECHNY PRIDAVNE OBVODY PAK MUSI PLATITR
ZE MAJI ADRESU S A5=1, ABY NEDOSLO KE KOLIZIM NA DATOVE
SBERNICI. JE PREDEPSANO NASLEDUJICI ROZDELENI V/V ADRES:
A7......A0
101000XX RADIC DISKET - VYBER POUZDRA I8271
101001XX RADIC DISKET - RESERVOVANO
10I010XX RADIC DISKET - VYBER POUZDRA I8272
101011XX RADIC DISKET - REZERVOVANO
101100XX RADIC DISKET - AKTIVACE RESET
101101XX RADIC DISKET - PASIVACE RESETU
101110XX RADIC DISKET - NASTAVENI HODIN 2 MHZ
101111XX RADIC DISKET - NASTAVENI HODIN 4 MHZ
011000XX REZERVOVANO
011001XX REZERVOVANO
011010XX '8255 PREVODNIKU A/D
011011XX '8253 PREVODNIKU D/A
011100XX '8251 PRO MAGNETOFON PMD-85
011101XX REZERVOVANO
011110XX REZERVOVANO
011111XX VOTRAX SC-01 (SYNTEZA RECI)
111000XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111001XX UZIVATELSKE - NEPOUZITO V SYSTEMU
1I1010XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111011XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111100XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111101XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111110XX UZIVATELSKE - NEPOUZITO V SYSTEMU
111111XX UZIVATELSKE - NEPOUZITO V SYSTEMU
HRADLA IO-58 (MH7430) A IO-56 (MH7400/06) ZAJISTUJI
AKTIVACI BUDICE DATOVE SBERNICE IO-62 (MH8286) PRI VYBERU
NEKTEREHO Z V/V OBVODU NA ZAKLADNI DESCE. SMER UVEDENEHO
BUDICE JE ODVOZEN ZE SIGNALU IOWS/.
PRERUSOVACI SYSTEM JE TVOREN V ZAKLADNI SESTAVE POUZE
KLOPNYM OBVODEM IO-57 (MH7474/08). JDE O JEDNOUROVNOVE
PRERUSENI RST 7, KTERE LZE VYVOLAT TLACITKEM INT. (PRI JEDNO-
DUCHYCH REGULACNICH APLIKACICH LZE PRIVEST CASOVE EKVIDIS-
TANTNI IMPULSY DRATOVOU PROPOJKOU NA VSTUP TOHOTO OBVODU A
ZISKAT TAK ZAKLADNI SYSTEM REALNEHO CASU). V TOMTO PRIPADE
PROPOJUJEME 181-179 A OBVOD IO-60 NEOSAZUJEME (!). PRI
POZADAVKU NA VICEAROVNOVY PRIORIZOVANY PRERUSOVACI SYSTEM
POUZIJEME OBVODU IO-60 (MH3214) JAKO RADICE A PROPOJUJEME
179-180. I V TOMTO REZIMU JE ZAJISTENA FUNKCE TLACITKA INI
VYVOLAVAJICIHO PRERUSENI RST 7. K DISPOZICI JSOU DALE CTYRI
UROVNE PRERUSENI RST0, RST1, RST5 A RST6 (NEJNIZSI PRIORITA
----------------------------- 3 - 19 ----------------------
-------------------------------------------------------------
RST6, NEJVYSSI RST0).
PRI OVLADANI OBVODU HH3214 JE NUTNE DODRZET PREDEPSANY
POSTUP PRI SPOUSTENI PRERUSOVACIHO REZIMU. V PRVNI RADE JE
NUTNE ZAPSAT TZV. PRIORITNI MASKU PRERUSENI, UDAVAJICI UROVEN
PRERUSENI, OD KTERE SE BUDOU ZADOSTI BRAT V UVAHU. PRAKTICKY
SE ZAPIS MASKY PROVADI JAKO ZAPIS BYTU NA VYSTUPNI PORT #14H.
JEDNOTLIVE MASKY MAJI VYZNAM:
MASKA POVOLENE UROVNE PRERUSENI
08H 0,1,2,3,4,5,6,7
07H 0,1,2,3,4,5,6
06H 0,1,2,3,4,5
05H 0,1,2,3,4
04H 0,1,2,3
03H 0,1,2
02H 0,1
01H 0
00H - - - (VSECHNY ZAKAZANE)
PRO AKTIVACI PRERUSOVACIHO SYSTEMU MUSI BYT SIGNAL
ZADOSTI O PRERUSENI INTX/ PODRZEN V AKTIVNI UROVNI TAK
DLOUHO, DOKUD OD SYSTEMU NEPRIJDE POTVRZENI O JEHO PRIJETI
SIGNALEM INTA/. TIMTO SIGNALEM MUSI BYT ZADOST O PRERUSENI
PASIVOVANA.
______ _________________
INTX/ !____________ ... _____________!
___________________ ... ________ __________
INTA/ !___________!
VZHLEDEM K TOMU, ZE HODINOVY SIGNAL ZAPISU ZADOSTI O
PRERUSENI DO RADICE MA FREKVENCI 50 KHZ, NESMI BYT CETNOST
ZADOSTI O PRERUSENI VYSSI. VETSINOU VSAK BYVA NEJKRATSI MOZNA
PERIODA MEZI PRICHODY ZADOSTI O PRERUSENI DANA DELKOU
OBSLUZNEHO PROGRAMU.
V SYSTEMU PLAN 80A JE Z PROSTOROVYCH DUV0DU ZAPOJEN
RADIC PRERUSOVACIHO SYSTEMU 8214 BEZ POMOCNEHO REGISTRU 8212.
JE TO UMOZNENO LOGICKYM ZISKEM VYSTUPU RADICE 8214 (10 ZATEZI
TTL) A JEJICH TYPEM - OTEVRENY KOLEKTOROVY VYSTUP. VYUZIVA SE
DALE OSETRUJICICH ODPORU U DATOVE SBERNICE, KTERE VNUTI NA
NENULOVE BITY HODNOTU LOG 1.
TOTO USPORADANI MA VSAK NEVYHODU V CASOVEM OMEZENI
PLATNOSTI SIGNALU ZADOSTI O PRERUSENI NA PERIODU HODINOVEHO
SIGNALU, TJ. 20 US. POKUD NENI POZADAVEK BEHEM TETO DOBY
OBSLOUZEN, JE IGNOROVAN I KDYZ NA VSTUPECH INT0-7 JE AKTIVNI
SIGNAL ZADOSTI O PRERUSENI. NEBEZPECI ZTRATY SYNCHRONIZACE
LZE OBEJIT TAK, ZE V KAZDE KRITICKE SEKCI ZACINAJICI ZAKAZEM
PRERUSENI (INSTRUKCI DI) PROVEDEME PRED JEHO OPETONYM
----------------------------- 3 - 20 ----------------------
-------------------------------------------------------------
POVOLENIM (INSTRUKCI EL) ZNOVUNASTAVENI MASKY PRERUSENI. TIM
SE ZAJISTI, ZE ZADOST O PRERUSENI PRONIKNE VZDY AZ K
MIKROPROCESORU.
PRO VSTUP DAT Z KLAVESNICE JE URCEN SAMOSTATNY STYKOVY
OBVOD IO-67 (MH3212). DATA Z KLAVESNICE JSOU PRIVADENA PO
SBERNICI PK0-PK7. SIGNAL RDY/ S AKTIVNI NIZKOU AROVNI SLOUZI
K ZAPISU INFORMACE DO MIKROPOCITACE A JE GENEROVAN KLAVESNICI
PO USTALENI KODU ZNAKU. SIGNAL ACK/ S AKTIVNI NIZKOU AROVNI
POTVRZUJE PREVZETI TECHTO DAT MIKROPOCITACEM. CASOVY PRUBEH
SIGNALU PRI KOMUNIKACI S KLAVESNICI JE:
_______ ___________________________________ __________
DATA _______X___________________________________X__________
| |
__________________________________ |
ACK/ ____I | I___________________
| |
____________ _____________________
RDY/ | I___________________I |
| | | |
|<-->|<----------------->|<-------->|
MIN 20 NS MIN 40 NS > 0
BIT PK7 LZE VYUZIT NEJEN K PRENOSU DATOVE INFORMACE,
ALE I K PRENOSU STAVOVE INFORMACE (NAPR. PRI PROGRAMOVEM
OPAKOVANI DELE PODRZENE KLAVESY). TENTO BIT JE TOTIZ VEDEN
TEZ NA STAVOVY PORT IO-61 (MH3216). NA JEHO VSTUPY JSOU DALE
NAPOJENY NASLEDUJICI STAVOVE SIGNALY:
BIT STAVOVY SIGNAL
D3 STATUS KLAVESNICE (0...READY)
D2 PRIZNAK OPAKOVANI (PK7)
D1 ZADOST O PRERUSENI INT/
D0 VNEJSI STAVOVY SIGNAL PV0
KLOPNY OBVOD IO-57 (MH7474/06) A HRADLO IO-68 (MH7430)
UMOZNUJI POUZITI MATICOVE KONTAKTNI KLAVESNICE S PROGRAMOVYM
DEKODOVANIM A POCTEM KLAVES OMEZENYM NA 32. GENERACE
POTREBNYCH BUDICICH SIGNALU PRO TUTO KLAVESNICI JE TAKTEZ
ZAJISTENA PROGRAMOVE PRES VYSTUPNI PORT PV1-PV4 (IO-61).
PROGRAMOVATELNY STYKOVY OBVOD IO-64 (MHB8255A) MA
POSILENE VYSTUPY (RESP. ODDELENE VSTUPY) BUDICI IO-63, IO-65,
IO-66 (MH8286). JEJICH SMER JE NASTAVITELNY PROPOJKAMI,
PRICEMZ UROVEN LOG 1 NA VSTUPU T NASMERUJE BUDIC JAKO
VYSTUPNI A LOG 0 JAKO VSTUPNI. OBVOD MHB8255A MUSI MIT
PROGRAMOVE NASMEROVANE PORTY STEJNYMI SMERY JAKO JSOU
PRISLUSNE BUDICE, JINAK BY MOHLO DOJIT K JEHO POSKOZENI.
(POZN. PO INICIACI JSOU VSECHNY PORTY VE TRETIM, VYSOKG-
OHMOVEM STAVU). PRO TY, KTERI BUDOU DOVAZET SOUCASTKY ZE
ZAHRANICI SE DOPORUCUJE POUZITI RYCHLEJSICH VERZI STYKOVEHO
OBVODU, NAPR. I8255A-5 S DOBOU PRISTUPU 300 NS.
----------------------------- 3 - 21 ----------------------
-------------------------------------------------------------
3.8. VIDEO A VF MODULATORY
---------------------------
PRIKLAD ZAPOJENI VF MODULATORU JE VE SCHEMATU C. S-4
(RADIC ZOBRAZENI). LZE POUZIT I JINE OBDOBNE ZAPOJENI.
MODULATOR JE UMISTEN DO KOVOVE KRABICKY O ROZMERECH 30 X 35 X
15 MM. PRO VYVOD SIGNALU JE POUZIT SOUOSY KONEKTOR (BNC). JE
TREBA UPOZORNIT NA NUTNOST POUZITI PRUCHODKOVEHO KONDENZATORU
V PRIVODU NAPAJECIHO NAPETI. ZAMEZI SE TIM PRUNIKU RUSENI Z
ROZVODU NAPAJENI DO MODULATORU. PREDPOKLADA SE VYROBA A
PRODEJ OZIVENEHO VF MODULATORU VE V.D. DRUKOV.
----------------------------- 3 - 22 ----------------------
-------------------------------------------------------------
4. PREDPIS PRO OSAZOVANI A OZIVOVANI ZAKLADNI DESKY
======================================================
OSAZOVACI A OZIVOVACI PREDPIS JE ROZDELEN DO NEKOLIKA
CASTI TAK, ABY JIZ OZIVENE CASTI SYSTEMU MOHLY SLOUZIT JAKO
OZIVOVACI POMUCKA PRO PRAVE OZIVOVANE CASTI. JEDNOTLIVE UKONY
JSOU OCISLOVANY TAK, JAK BY SE MELY POSTUPNE PROVADET.
DODRZENI TOHOTO POSTUPU JE NUTNE PROTO, ZE NEKTERE UKONY JSOU
ZARAZENY POUZE Z DUVODU TESTOVANI PRAVE OZIVOVANE CASTI,
TAKZE NASLEDUJICI UKONY JE ZASE ZRUSI (NAPR. URCITE PROPOJENI
PROPOJEK). PRED CISLEM UKONU JE PISMENO "U". UKONY ODLISNE
PRO JEDNOTLIVE VERZE SOUCASTEK (NAPR. EPROM 1,2 A 4 KBYTE)
JSOU ODLISENY PISMENEM ABECEDY ZA CISLEM UKONU (NAPR. U31A,
U32B A POD.). HVEZDICKOU JSOU OZNACENY UKONY PLATNE PRO
ZAKLADNI VERZI.
PRO PAJENI DURAZNE DOPORUCUJEME NIZKOVOLTOVOU PAJECKU,
PRI PAJENI PISTOLOVOU PAJECKOU NELZE ZARUCIT SPOLEHLIVOU
FUNKCI SYTEMU (I TTL OBVODY LZE TOUTO PAJECKOU NAPETOVYM
PRURAZEM POSKODIT). OBECNE LZE DOPORUCIT POUZIVANI OBVODU
RADY 74LS NEBO 74ALS, NEBOT MAJI NIZSI ODBERY ZE ZDROJU, COZ
MA KLADNY VLIV NA CELKOVOU SPOLEHLIVOST SYSTEMU. TAM, KDE JE
PREDEPSANO POUZITI OBVODU RADY 74S LZE POUZIT I JINE RADY
(TJ. NORMALNI 74, 74LS NEBO 74ALS) BEZ NEBEZPECI OHROZENI
CINNOSTI SYSTEMU. RYCHLE OBVODY, KTERE JSOU POUZITY V
ZOBRAZOVACI CASTI, MAJI ZAJISTOVAT OSTROU A PRESNOU KRESBU
ZNAKU A TUDIZ NEMAJI NA VLASTNI CINNOST SYSTEMU VLIV. OSTATNI
RYCHLE OBVODY POUZIVANE V ADRESOVYCH A STAVOVYCH DEKODERECH
VYTVAREJI SPOLEHLIVOSTN1 RESERVU A NEJSOU NEZBYTNE NUTNE.
PRO VLASTNI OZIVOVANI JSOU PREDEPSANY: LOGICKA SONDA
(INDIKUJICI LOG 1, LOG 0 A IMPULSY), VOLTMETR S ROZSAHY 5-
10V, 12-20V, A NAPAJECI ZDROJ +5V/3A, +12V/1A, -5V/1A.
CISLOVANI JEDNOTLIVYCH SOUCASTEK JE PROVEDENO VE SHODE
S OZNACENIM NA PRISLUSNYCH SCHEMATECH I NA PREDPISU PRO
ROZMISTENI SOUCASTEK NA PROCESOROVE DESCE, KTERY JE V PRILOZE
A MA CISLO S-9.
4.1. PREDBEZNE UKONY
---------------------
JEDNIM Z NEJDULEZITEJSICH UKONU PRI OSAZOVANI DESKY S
PLOSNYMI SPOJI JE JEJI OPTICKA KONTROLA. PRI TETO KONTROLE
LZE ODHALIT PREVAZNOU VETSINU CHYB VE SPOJICH, JEJICHZ
ODHALENI NA OSAZENE DESCE BY MOHLO BYT ZNACNE ZTIZENO (NAPR.
PRASKLINA POD ZALETQVANYM INTEGROVANYM OBVODEM A POD.). LZE
DOPORUCIT ROZDELENI CELE DESKY PLOSNEHO SPOJE NA SIT CTVERCU
O STRANE ASI 5 CM, KTERE BUDEME ZA POMOCI LUPY PROHLEDAVAT.
ZRAKOVA KONTROLNI CINNOST TRVA PRACOVNIKU OBEZNAMENEMU S
PLOSNYM SPOJEM A JEHO "ZALUDNOSTMI" AZ 1 HODINU, PROTO CASEM
NESETRME.
----------------------------- 4 - 1 -----------------------
-------------------------------------------------------------
PRI JAKEMKOLI PODEZRENI O PRASKLINU PROVEDEME PROPAJENI
SPOJE, VLASOVE ZKRATY ODSTRANUJEME SKALPELEM. PO OSAZENI
VSECH SOUCASTEK DOPORUCUJEME NAPAJET NA RAMCOVY ROZVOD
ZEMNICIHO POTENCIALU KOLEM DESKY ALESPON 1 MM VYSOKOU VRSTVU
CINU (POZOR NA PROHNUTI DESKY).
MEZI DALSI PRIPRAVNE PRACE PATRI PROMERENI VSECH
PAJENYCH SOUCASTEK. INTEGROVANE OBVODY KONTROLUJEME V
PODSTATE JEN NA ZAKLADNI FUNKCI, OSVEDCILA SE KONTROLA POMOCI
JINEHO OVERENEHO ZARIZENI SE SOKLY. TAK LZE KONTROLOVAT
VSECHNY OBVODY ZAKLADNI RADY TTL. KDO TUTO MOZNOST NEMA, MUSI
RISKOVAT, ZE POUZITE OBVODY JSOU V PORADKU. I TAK JE MENSI
PRAVDEPODOBNOST, ZE POUZIJEME VADNY OBVOD NEZ PRAVDEPODOBNOST
PORUCHY V DUSLEDKU POUZITI SOKLU PRO VSECHNY INTEGROVANE
OBVODY. SOKLY NASI VYROBY NEPATRI MEZI NEJKVALITNEJSI, TAKZE
SE OMEZIME V JEJICH POUZITI JEN NA NEJNUTNEJSI PRIPADY.
V PRIPADE, ZE ZJISTIME PORUCHU NEKTEREHO INTEGROVANEHO
OBVODU, NESMIME SE BAT JEJ VYSTIPAT. TEPRVE PAK SAMOSTATNE
VYPAJUJEME JEDNOTLIVE JEHO PRIVODY. JEN TAK OMEZIME POSKOZENI
PLOSNEHO SPOJE NA PRIJATELNOU MIRU.
JAKO POSLEDNI PROVEDEME PROMERENI ROZVODU NAPAJENI A
ZEMI U VSECH POZIC PRO INTEGROVANE OBVODY. PRO MERENI LZE
POUZIT BUD OHMMETRU, NEBO RUZNYCH PRIPRAVKU, Z NICHZ
NEJJEDNODUSSI SE SKLADA S BATERIE 4,5V, ZAROVKY A DVOU
VODICU.
PRI PRAKTICKYCH ZKOUSKACH OSAZENYCH DESEK S PLOSNYMI
SPOJI SE UKAZALO, ZE NEJVETSI PROBLEMY BYLY S PROKOVENYMI
OTVORY. V DESKACH V3.1 BYL VETSI POCET PROKOVENYCH OTVORU BUD
PRIMO VADNYCH NEBO S NESPOLEHLIVYM KONTAKTEM. MNOHEM
KVALITNEJSI BYLY VZORKY DESEK V3.2. PRESTO SE DOPORUCUJE
VSECHNY PROKOVENE OTVORY NEOBSAZENE VYVODY SOUCASTEK
PROLETOVAT. MNOHEM MENSI POTIZE BYLY S PRASKLINAMI V PLOSNYCH
SPOJICH. U NEKTERYCH SERII DESEK S PLOSNYMI SPOJI SE PROJEVIL
DALSI PORUCHOVY CINITEL - PRILISNE PODLEPTANI SPOJU. NA PRVNI
POHLED NENI TOTO PODLEPTANI PATRNE, PROJEVI SE VSAK PRI
PAJENI, KDY SE GALVANICKY NANESENY CIN OMEZI POUZE NA
SKUTECNY MEDENY PODKLAD. V NEJVICE POSTIZENYCH DESKACH BYLO
TOTO PODLEPTANI AZ 6O% SPOJE. POKUD SE TAKOVA ZAVADA ZJISTI,
JE NUTNO VSECHNY ROZVODY ZEMNICI ROVINY I NAPAJECICH SIGNALU
POSILIT PRILETOVANIM TENKYCH MEDENYCH VODICU O PRUMERU 0,2 -
0,3 MM.
PRED PAJENIM INTEGROVANYCH OBVODU LZE DOPORUCIT
OSKRABANI (VELMI JEMNE) Z VYVODU INTEGROVANYCH OBVODU VRSTVY
NECISTOT (NAPR. SKALPELEM).
----------------------------- 4 - 2 -----------------------
-------------------------------------------------------------
4.2. ZOBRAZOVACI CAST
----------------------
PRED OZIVENIM VLASTNI ZOBRAZOVACI CASTI MUSIME VYTVORIT
STYKOVY OBVOD PRO ZOBRAZENI INFORMACE NA OBRAZOVCE. JDE O VF
NEBO VIDEO MODULATOR. JEJICH POPIS JE V KAPITOLE 3.8., TYP JE
DAN DRUHEM ZOBRAZOVACI JEDNOTKY (TV PRIJIMAC, AZJ A POD.).
JEDNODUSSI JE VIDEO MODULATOR, DAVA TAKE LEPSI KRESBU NA
OBRAZOVCE. MA VSAK TU NEVYHODU, ZE U TV PRIJIMACE VYZADUJE
ZASAH DO JEHO VNITRNIHO ZAPOJENI A NAVIC HO LZE POUZIT JEN U
TELEVIZORU S ODDELENOU KOSTROU OD SITE. NAPROTI TOMU VF
MODULATOR JE SICE SLOZITEJSI, AVSAK VYHOVI PRO LIBOVOLNY TV
PRIJIMAC SE SYMETRICKYM ANTENNIM VSTUPEM 75 OHMU BEZ NUTNOSTI
JAKEKOLIV ZMENY V JEHO ZAPOJENI. PREDPOKLADA SE, ZE VF
MODULATOR BUDE VYRABEN A PRODAVAN JAKO HOTOVY BLOK.
NYNI PRISTOUPIME K OSAZOVANI A OZIVOVANI VLASTNI
ZOBRAZOVACI CASTI MIKROPOCITACE.
U1* ODPOR R12 270R
U2* DIODA D9 LQ1101
U3* ODPOR R11 270R
U4* DIODA D10 LQ1401
U5* ODPOR R13 680R
U6* DIODA D11 LQ1701
U7* KONEKTOR NAPAJECICH NAPETI
U8* PROVERIME, ZDA MEZI JEDNOTLIVYMI NAPAJECIMI ROZVODY
(+5V, +12V, -5V A ZEM) NEJSOU ZKRATY
U9* PROVERIME ROZVOD JEDNOTLIVYCH NAPAJECICH NAPETI CL ZEMI
NA OSTATNI KONEKTORY
U10* PRIPOJIME NAPAJECI NAPETI +5V, +12V A -5V. MUSI SE
ROZSVITIT DIODY D9, D10 A D11.
U11* ODPOR R14 1K5
U12* ODPOR R15 1K5
U13* ODPOR R16 1K5
U14* ODPOR R18 1K5
U15* ODPOR R19 1K5
U16* ODPOR R20 1K5
U17* ODPOR R21 1K5
U18* ODPOR R22 1K5
PRO ZAKLADNI VERZI BEZ BUDICU PAMETOVE A V/V CASTI JE
NUTNO POUZIT ODPORY MIN. 3K3, ABY NEDOSLO K PRETIZENI
BUDICU PAMETI EPROM (I0L = 1,6 MA)
U19* PROVERIME, ZDA NEJSOU NA DATOVE SBERNICI ZKRATY MEZI
JEDNOTLIVYMI BITY NEBO PROTI ZEMI
U20* PRIPOJIME NAPAJECI NAPETI +5V A ZKONTROLUJEME, ZDA JSOU
VSECHNY BITY DATOVE SBERNICE D0-D7 VE STAVU LOG 1
U21* OBVOD IO-1 UCY 7486
U22* OBVOD IO-2 MH 74S00
U23* OBVOD IO-3 MH 74S00
U24* OBVOD IO-4 MH 74S04
U25* OBVOD IO-5 MH 74S00
U26* OBVOD IO-6 MH 7405
U27* OBVOD IO-7 MH 7410
U28* OBVOD IO-8 MH 7410
----------------------------- 4 - 3 -----------------------
-------------------------------------------------------------
U29* OBVOD IO-9 MH 74164
U30* OBVOD IO-10 HH 7496
U31* OBVOD IO-11 HH 7496
PROPOJENI PROPOJEK PRO GENERATOR ZNAKU, POUZIJEHE-LI
EPROH TYPU:
A) 2708
U32A* PROPOJIT: 34 - 36 VOLNE: 35
U33A* PROPOJIT: 38 - 39 VOLNE: 37
U34A* PROPOJIT: 32 - 33 VOLNE: 31
B) 2716
U32B PROPOJIT: 35 - 36 VOLNE: 34
U33B PROPOJIT: 37 - 39 VOLNE: 38
U34B PROPOJIT: 32 - 33 VOLNE: 31
U35* SOKL 2 X 12 VYVODU PRO EPROH GENERATORU ZNAKU
U36* OBVOD IO-13 MH 8282
U37* OBVOD IO-14 MH 74S10
U38* OBVOD IO-15 MH 7474
U39* OBVOD IO-16 MH 7493A
U40* OBVOD IO-17 MH 7493A
U41* OBVOD IO-18 MH 7493A
U42* OBVOD IO-19 MH 7493A
U43* OBVOD IO-50 MH 8224
U44* ODPOR R4 2K2 TRIMR
U45* ODPOR R5 560R
U46* ODPOR R8 1K2
U47* ODPOR R9 1K2
U48* ODPOR R10 1K2
U49* ODPOR R17 1K2
U50* DIODA D1 KA 207
U51* DIODA D2 KA 207
U52* DIODA D7 KA 207
U53* KONDENZATOR C31 10P
U54* KRYSTAL PK1 18,432 HHZ
ODPOR R56 470R
DIODA D13 KA207
PODLE POUZITE KAPACITY PAHETI RAH (V ZAKLADNI VERZI 1
KBYTE) JE TREBA PRIPOJIT DIODY D3 A D4 (KY 207)
NASLEDOVNE:
RAM 1K: ZOBRAZUJE SE 8 RADKU (RADEK 8-15)
U55A* D3 ZAPOJENA HEZI 193(KATODA) A 194(ANODA)
U56A* D4 ZAPOJENA HEZI 196(ANODA) A 40(KATODA)
RAM 2K: ZOBRAZUJE SE 16 RADKU (RADEK 16-31)
U55B D3 SE NEZAPOJUJE
U56B D4 ZAPOJENA MEZI 196(KATODA) A 195(ANODA)
RAM 3K: ZOBRAZUJE SE 16 RADKU (RADEK 0-15)
U55C D3 SE NEZAPOJUJE
U56C D4 ZAPOJENA MEZI 196(ANODA) A 40(KATODA)
----------------------------- 4 - 4 -----------------------
-------------------------------------------------------------
RAM 4K A VICE: ZOBRAZUJE SE 32 RADKU (0-31)
U55D D3 SE NEOSAZUJE
U56D D4 SE NEOSAZUJE
U57* PROPOJIT: 45 - 46 VOLNA: 47
U58* PROPOJIT: 22 - 23 VOLNA: 24
U59* PROPOJIT: 25 - 26 VOLNA: 27
U60* PROPOJIT: 28 - 29 VOLNA: 30
U61* KONEKTOR FRQ PRO PRIPOJENI VIDEO MODULATORU (V NOSNEM
TELESE KONEKTORU JE NUTNE PROVEST VYREZ PRO ODPOR R8),
U ZAKLADNI VERZE POUZE V PRIPADE, KDY NEPOUZIJEME VF
MODULATORU
U62* PO PRIPOJENI NAPAJECIHO NAPETI POMOCI LOGICKE SONDY
ZJISTIME, ZDA KMITA OSCILATOR (MHB8224) A ZDA VSECHNY
STUPNE DELICKY (MH7493/I0-16 AZ IO-19) PRACUJI. DALE SE
PRESVEDCIME, ZDA NA VYVODECH PRO VIDEO MODULATOR JSOU
IMPULSY VERTIKALNIHO A HORIZONTALNIHO ROZKLADU A VIDEA
(JDE O VYVODY 3,4,8,9,10 A 11).
U63* PRIPOJIME VF NEBO VIDEO MODULATOR (ZHOTOVENY PODLE
NAVODU V KAPITOLE 3.8.), ZASUNEME PRISLUSNE OBVODY DO
SOKLU A PRIPOJIME NAPAJENI. NA OBRAZOVCE BY SE MEL
OBJEVIT STABILNI OBRAZEC TVORENY SAMYMI ZNAKY S KODEM
FFH. POMOCI VODICE SPOJENEHO SE ZEMI VNUCUJEME NA
JEDNOTLIVE DATOVE BITY D0 - D7 LOG.0 V MISTE PRIPOJENI
ODPORU R14-R22. TIM VNUCUJEME KODY 7F,BF,...,FE NA
DATOVOU SBERNICI, COZ BY SE MELO PROJEVIT ZMENOU
ZOBRAZOVANEHO ZNAKU NA OBRAZOVCE. TIM OVERIME SPRAVNOST
JAK ZOBRAZOVACIHO SYSTEMU TAK I DATOVE SBERNICE.
4.3. CAST EPROM
----------------
U64* OBVOD IO-43 UCY 74157
U65* OBVOD IO-44 UCY 74157
U66* OBVOD IO-45 UCY 74157
U67* OBVOD IO-46 UCY 74157
V PRIPADE, ZE BUDEME POUZIVAT REZIM PRIMEHO PRISTUPU DO
PAMETI (DMA), JE NUTNO POUZIT JAKO OBVODY IO-43 AZ IO-
46 TYP SN74LS257 (K555KP11).
U68* OBVOD IO-53 UCY 7408
U69* OBVOD IO-26 MH 3205
U70* OBVOD IO-29 UCY 7407
U ZAKLADNI VERZE SE OBVOD IO-29 NEOSAZUJE, NYBRZ SE
PROPOJI OTVORY PRO JEHO VYVODY 08-09, 05-06.
PODLE TYPU POUZITYCH EPROM PRO IO-20 PROVEDEME:
A) PRO TYP 2708
U71A PROPOJIT: 56 - 57 VOLNE: 91
U72A PROPOJIT: 54 - 55 VOLNE: 89
U73A PROPOJIT: 92 - 88 VOLNE: 53
U74A PROPOJIT: 50 - 51 VOLNE: 86
(DALE ZUSTANOU VOLNE: 49, 87, 90, 52, 85)
----------------------------- 4 - 5 -----------------------
-------------------------------------------------------------
B) PRO TYP 2716
U71B* PROPOJIT: 88 - 92 VOLNE: 53 (CS)
U72B* PROPOJII: 89 - 90 VOLNE: 55 (A10)
U73B* PROPOJIT: 56 - 57 VOLNE: 91 (OE)
U74B* PROPOJIT: 85 - 86 VOLNE: 51 (PGM)
(DALE ZUSTANOU VOLNE: 49, 50, 52, 54, 87)
C) PRO TYP 2732
U71C PROPOJIT: 56 - 57 VOLNE: 91
U72C PROPOJIT: 89 - 90 VOLNE: 55
U73C PROPOJIT: 88 - 92 VOLNE: 53
U74C PROPOJIT: 86 - 87 VOLNE: 51
(BALE ZUSTANOU VOLNE: 49, 50, 52, 54, 85)
U75* SOKL 2 X 12 PRO EPROM IO-20 (U SOKLU CS VYROBY JE TREBA
ZBROUSIT CELNI STRANU, ABY BYL ZAJISTEN PRISTUP K
PROPOJKAM). PAJENI PAMETI EPROM LZE DOPORUCIT JEN V
PRIPADE, ZE URCITE NEBUDEME MENIT VERZE SYSTEMU (NAPR.
PEVNY REGULATOR TOPENI A POD.).
U76* OBVOD IO-42, U ZAKLADNI VERZE OBVOD IO-42 NEOSAZUJEME,
NYBRZ PROPOJIME NASLEDUJICI OTVORY PRO JEHO VYVODY:
01-19 02-18 03-17 04-16
05-15 06-14 07-13 08-12
U OSTATNICH VERZI PRO OZIVENI TENKYM VODICEM (PRUMER DO
0,2 MM) PROPOJIME PRISLUSNE DATOVE VYVODY NA SOKLU IO-
42 TAK, ABY DATOVA SBERNICE SYSTEMU BYLA SPOJENA S
DATOVOU SBERNICI EPROM
ADRESOVE PROPOJKY EPROM NASTAVIT NASLEDOVNE:
U77* PROPOJIT: 01 - 02 VOLNE: 3
U78* PROPOJIT: 04 - 05 VOLNE: 6
PODLE TOHO, ZDA MA ADRESOVY DEKODER NIT ZAKLADNI KROK
PO 1 KB NEBO PO 2 KB (PODLE POUZITYCH EPROM) PROVEDEME:
A) PRO KROK 1 KB:
U79A PROPOJIT: 41 - 42 VOLNE: 43
PROPOJIT: IO-11
B) PRO KROK 2 KB:
U79B* PROPOJIT: 42 - 43 VOLNE: 41
U80* ODPOR R57 1K2
U81* PRO OZIVOVANI JE NUTNE PROVEST PRO KROK ADRESOVEHO
DEKODERU MENSI NEZ KAPACITA POUZITE EPROM UKON U136 A
OSADIT OBVOD I0-27/UCY7407. PRO ZAKLADNI VERZI TENTO
OBVOD NEOSAZUJEME, NYBRZ PROPOJIME OTVORY PRO JEHO
VYVODY 01-02.
U82* ODPOR R01 1K2
U83* ODPOR R03 10K
U84* ODPOR R38 10K
U85* ODPOR R31 1K2
U86* PROPOJIT: 147 - 148
----------------------------- 4 - 6 -----------------------
-------------------------------------------------------------
PRO KROK ADRESOVEHO DEKODERU 1 KB:
U87A PROPOJIT: 135 - 136
PRO KROK ADRESOVEHO DEKODERU 2 KB:
U88B* PROPOJIT: 136 - 137
U89* PRIPOJIT 178 NA ZEM
U90* PROPOJIT: 150 - 151 VOLNE: 149
U91* PROPOJIT: 153 - 154 VOLNE: 152
U92* PROPOJIT: 156 - 157 VOLNE: 155
U93* PROPOJIT: 159 - 160 VOLNE: 158
U94* PROPOJIT: 162 - 163 VOLNE: 161
U95* OBVOD IO-55 MH 7404
U96* ZASUNEME NAPROGRAMOVANY OBVOD IO-20 (EPROM S MONITOREM)
DO SOKLU
U97* PO PRIPOJENI NAPAJECIHO NAPETI DOCILIME ZOBRAZENI OBSA-
HU EPROM NA OBRAZOVCE. OBRAZ MUSI BYT STABILNI, PRO-
BLIKAVANI ZNAKU SVEDCI 0 PORUCHACH VE SBERNICICH. PO-
STUPNYM ZKRATOVANIM JEDNOTLIVYCH BITU ZJISTUJEME, VE
KTEREM BITU PORUCHA NASTAVA A ODSTRANIME JI.
U98* ODPOJIME 178 OD ZEME
U99* ROZPOJIME 147-148, 01-02, 04-05, 10-11
4.4. CAST RAM
--------------
U100* OBVOD IO-28 MH 3205
POKUD NEPREDPOKLADAME ROZSIRENI SYSTEMU O PLNOU DYNA-
MICKOU RAM, PROVEDEME ZAPAJENI OBVODU IO-34 A IO-38.
POKUD BUDEME SYSTEM ROZSIRIVAT O DYNAMICKOU RAM, LZE
POUZIT PRO TYTO OBVODY SOKLY 2 X 9.
U101* OBVOD IO-38 MH 2114
U102* OBVOD IO-34 MH 2114
PROPOJI SE ADRESOVE PROPOJKY RAM:
U103* PROPOJIT: 12 - 14 VOLNA: 13
U104* PROPOJIT: 07 - 09 VOLNA: 08
U105* PROPOJIT: 10 - 16
U106* PRIPOJI SE 166 A 169 NA ZEM
U107* ODPOR R33 4K7
U108* PO PRIPOJENI NAPAJENI BY SE NA OBRAZOVCE MEL OBJEVIT
NAHODNY OBSAH RAM. MEL BY TO BYT VSAK STABILNI OBRAZ.
ZA POMOCI VODICE PRIPOJENEHO NA ZEM VNUTIME NA RIDICI
ZAPISOVACI VSTUP OBVODU IO-38 AKTIVNI UROVEN, CIMZ DO
NEJ ZAPISEME KOD OFFH (SAME JEDNICKY). TOMU BY MELA
ODPOVIDAT ZMENA V OBRAZE.
U109* ODPOJI SE 166 A 169 OD ZEME, ROZPOJI SE 12-14, 07-09,
10-16
NASLEDUJICI UKONY U110 AZ U132 SE TYKAJI ROZSIRENE
VERZE A UMOZNUJI OSADIT CELY PROSTOR EPROM.
----------------------------- 4 - 7 -----------------------
-------------------------------------------------------------
PODLE TYPU POUZITYCH EPROM IO-21 PROVEDEME:
A) PRO TYP 2708
U110A PROPOJIT: 65 - 66 VOLNY: 100 (PGM)
U111A PROPOJIT: 63 - 64 VOLNY: 98 (VDD)
U112A PROPOJIT: 96 - 97 VOLNY: 62 (CS)
U113A PROPOJIT: 59 - 60 VOLNY: 94 (VBB)
(DALE ZUSTANOU VOLNE: 58, 61, 93, 95, 99, 101)
B) PRO TYP 2716
U110B PROPOJIT: 65 - 66 VOLNY: 100 (CE)
U111B PROPOJIT: 98 - 99 VOLNY: 64 (A10)
U112B PROPOJIT: 96 - 97 VOLNY: 62 (OE)
U113B PROPOJIT: 93 - 94 VOLNY: 60 (VPP)
(DALE ZUSTANOU VOLNE: 58, 59, 61, 63, 95, 101)
C) PRO TYP 2732
U110C PROPOJIT: 100-101 VOLNY: 66 (CE)
U111C PROPOJIT: 98 - 99 VOLNY: 64 (A10)
U112C PROPOJIT: 61 - 62 VOLNY: 96 (OE)
U113C PROPOJIT: 94 - 95 VOLNY: 60 (ALL)
(DALE ZUSTANOU VOLNE: 93, 97, 58, 59, 63, 65)
PODLE POUZITE EPROM IO-22 PROVEDEME:
A) PRO TYP 2708
U114A PROPOJIT: 74 - 75 VOLNY: 110 (PGM)
U115A PROPOJIT: 72 - 73 VOLNY: 108 (VDD)
U116A PROPOJIT: 106-107 VOLNY: 71 (CS)
U117A PROPOJIT: 68 - 69 VOLNY: 104 (VBB)
(DALE ZUSTANOU VOLNE: 67, 70, 103, 105, 109, 111)
B) PRO TYP 2716 PROVEDEME
U114B PROPOJIT: 74 - 75 VOLNE: 110 (CE)
U115B PROPOJIT: 108-109 VOLNE: 73 (A10)
U116B PROPOJIT: 106-107 VOLNE: 71 (OE)
U117B PROPOJIT: 103-104 VOLNE: 69 (VPP)
(DALE ZUSTANOU VOLNE: 67, 68, 72, 73, 105, 111)
C) PRO TYP 2732 PROVEDEME
U114C PROPOJIT: 110-111 VOLNE: 75 (CE)
U115C PROPOJIT: 108-109 VOLNE: 73 (A10)
U116C PROPOJIT: 70 - 71 VOLNE: 106 (OE)
U117C PROPOJIT: 104-105 VOLNE: 69 (A11)
(DALE ZUSTANOU VOLNE: 67, 68, 72, 74, 103, 107)
PRO OBVOD IO-25 PODLE POUZITEHO TYPU EPROM PEOVEDEME:
A) PRO TYP 2708
U118A PROPOJIT: 83 - 84 VOLNE: 119 (PGM)
U119A PROPOJIT: 81 - 82 VOLNE: 117 (VDD)
U120A PROPOJIT: 115-116 VOLNE: 80 (CS)
U121A PROPOJIT: 77 - 78 VOLNE: 113 (VBB)
(DALE ZUSTANOU VOLNE: 76, 79, 112, 114, 118, 120)
B) PRO TYP 2716
U118B PROPOJIT: 83 - 84 VOLNE: 119 (CE)
U119B PROPOJIT: 117-118 VOLNE: 82 (A10)
U120B PROPOJIT: 115-116 VOLNE: 80 (OE)
U121B PROPOJIT: 113-112 VOLNE: 78 (VPP)
(DALE ZUSTANOU VOLNE: 76, 77, 79, 81, 114, 120)
C) PRO TYP 2732
----------------------------- 4 - 8 -----------------------
-------------------------------------------------------------
U118C PROPOJIT: 119-120 VOLNE: 84 (CE)
U119C PROPOJIT: 117-118 VOLNE: 82 (A10)
U120C PROPOJIT: 79 - 80 VOLNE: 115 (OE)
U121C PROPOJIT: 113-114 VOLNE: 78 (A11)
(BALE ZUSTANOU VOLNE: 76, 77, 81, 83, 112, 116)
U122 SOKL 2 X 12 PRO OBVOD IO-21
U123 SOKL 2 X 12 PRO OBVOD IO-22
U124 SOKL 2 X 12 PRO OBVOD IO-23
U125 SOKL 2 X 12 PRO OBVOD IO-24
U126 SOKL 2 X 12 PRO OBVOD IO-25
PODLE ADRES JEDNOTLIVYCH PAMETI JE NUTNO PRISLUSNE
PROPOJIT PROPOJKY 123 AZ 138 (VIZ TEXT V POPISU
CINNOSTI)
U127 ODPOR R25 1K2
U128 ODPOR R26 1K2
U129 ODPOR R27 1K2
U130 ODPOR R28 1K2
U131 ODPOR R29 1K2
U132 ODPOR R32 1K2
U133* ODPOR R2 1K2
U134* OBVOD IO-32 MH 74S00
U135 OBVOD IO-33 MH 74ALS30
U136 OBVOD IO-27 MH 7407 (VIZ UKON U81)
U137* OBVOD IO-31 MH 74S20
U138* OBVOD IO-30 MH 74S04
U139* ODPOR R-23 1K2
U140* ODPOR R-24 1K2
POKUD PREDPOKLADAME ROZSIRENI SYSTEMU O PLNOU DYNAMIC-
KOU RAM 64 KBYTE, POUZIJEME PRO NASLEDUJICI OBVODY
SOKLY 2 X 9. POKUD NE, PRIMO OBVODY ZAPAJIME.
U141 OBVOD IO-35 MHB 2114
U142 OBVOD IO-36 MHB 2114
U143 OBVOD IO-37 MHB 2114
U144 OBVOD IO-39 MHB 2114
U145 OBVOD IO-40 MHB 2114
U146 OBVOD IO-41 MHB 2114
4.5. CAST CPU
--------------
U147* ODPOR R6 1K2
U148* ODPOR R7 1K2
U149* ODPOR R41 1K2
U150* ODPOR R40 1K2
U151* OBVOD IO-59 MH 7474
U152* OBVOD IO-51 MH 74S74
U153* OBVOD IO-52 UCY 7486
U154* OBVOD IO-56 MH 74S00
----------------------------- 4 - 9 -----------------------
-------------------------------------------------------------
U155* OBVOD IO-47 MH 7496
U156* OBVOD IO-48 MH 8228
U157* SOKL 2 X 20 PRO OBVOD MHB 8080A
U158* DIODA D12 KA206
U159* KONDENZATOR C40 6M8
U160* ODPOR R44 56K
UI61* ODPOR R43 47R
U162* MIKROSPINAC WK 55900 PRO RESET
U163* ODPOR R30 1K2
U164* ODPOR R45 1K2
U165* ODPOR R39 1K2
U166* ODPOR R36 1K5
U167* ODPOR R49 1K5
U168* ODPOR R37 1K5
U169* ODPOR R35 2K2
U170* ODPOR R34 1K5
U171* PROPOJIT: 165-166 VOLNA: 164
U172* PROPOJIT: 168-169 VOLNA: 167
U173* PROPOJIT: 171-172 VOLNA: 170
U174* PROPOJIT: 173-174 VOLNA: 175, 176
PROPOJKY ADRESY EPROM NASTAVIME TAK, ABY DEKODER UKA-
ZOVAL NA POSLEDNICH 8 KBYTU PAMETOVEHO PROSTORU, TJ.
ABY A13=A14=A15=LOG1:
U175A PROPOJIT: 10 - 11 VOLNE: 15
U175B* PRI KROKU 2 KB ZUSTANE PROPOJKA 11 VOLNA.
U176* PROPOJIT: 01 - 02 VOLNE: 03
U177* PROPOJIT: 04 - 05 VOLNE: 06
PROPOJKY ADRESY RAM NASTAVIME TAK, ABY DEKODER UKAZOVAL
NA PRVNICH 8 KBYTU PAMETOVEHO PROSIORU, TJ. AI3=A14=
=A15=LOGO:
U178* PROPOJIT: 12 - 14 VOLNE: 13
U179* PROPOJIT: 07 - 09 VOLNE: 08
U180* PROPOJIT: 10 - 16 VOLNE: 15
PROPOJKY VYBERU POUZDRA PODLE POUZITEHO OBVODU IO-20:
A) PRO 2708
U181A PROPOJIT: 135-I36
B) PRO 2716
U182BA PRO KROK 1 KB: PROPOJIT: 135-136-137
U182BB* PRO KROK 2 KB PROPOJIT: 137-136
C) PRO 2732
U183CA PRO KROK 1 KB: PROPOJIT: 137-135-133-131-136
U183CB PRO KROK 2 KB: PROPOJIT: 135-136-137
U184* ODPOR R50 1K2
U185* PROPOJIT: 19-20
U186* PODLE TYPU POUZITEHO OBVODU IO-48 PROPOJIME:
PRO MH8228 ... 199 - 200 VOLNA: 198
PRO ZAHRANICNI TYP ... 199 - 200 VOLNA: 198
U187* PROPOJIT: 17 - 18
NASLEDUJICI KONDENZATORY ZAJISTUJI BLOKOVANI NAPAJECICH
NAPETI A MUSI BYT PRIPOJENY I V ZAKLADNI VERZI.
----------------------------- 4 - 10 ----------------------
-------------------------------------------------------------
U188* KONDENZATOR C24 33K
U189* KONDENZATOR C25 47M
U190* KONDENZATOR C26 33K
U191* KONDENZATOR C27 33K
U192* KONDENZATOR C28 33K
U193* KONDENZATOR C29 33K
U194* KONDENZATOR C30 33K
UI95* KONDENZATOR C32 33K
U196* KONDENZATOR C33 33K
U197* KONDENZATOR C34 33K
U198* KONDENZATOR C38 33K
U199* KONDENZATOR C21 47M
U200* KONDENZATOR C22 33K
U201* KONDENZA1OR C23 33K
U202* KONDENZATOR C17 33K
U203* KONDENZATOR C18 33K
U204* KONDENZATOR C19 33K (NENI-LI OSAZEN KONEKTOR)
U205* KONDENZATOR C1 33K (NENI-LI OSAZEN KONEKTOR)
U206* KONDENZATOR C2 33K (NENI-LI OSAZEN KONEKTOR)
U207* KONDENZATOR C3 15M
U208* KONDENZATOR C4 33K
U209* KONDENZATOR C5 33K
U210* KONDENZATOR C6 33K
U211* KONDENZATOR C7 33K
U212* KONDENZATOR C8 33K
U213* KONDENZATOR C9 33K
U214* KONDENZATOR C10 33K
U215* KONDENZATOR C11 47M
U216* KONDENZATOR C12 33K
U217* KONDENZATOR C13 33K
U218* KONDENZATOR C14 33K
U219* KONDENZATOR C15 33K
U220* KONDENZATOR C16 33K
U221* KONDENZATOR C35 47M
U222* KONDENZATOR C36 33K
KONDENZATORY C35 A C36 SE OSAZOJI POUZE TEHDY, POKOD
NEOSAZUJEME KONEKTOR V/V.
U223* KONDENZATOR C37 15M
U224* OBVOD IO-54 MH 3205
U225* PO ZASUNUTI VSECH OBVODU DO PRISLUSNYCH SOKLU A PO
PRIPOJENI NAPAJECICH NAPETI BY SE V ZAKLADNI VERZI
V.3.X MELA SMAZAT OBRAZOVKA A OBJEVIT TECKA (PROMPT). V
ROZSIRENE VERZI V.3.X NEBO VE VERZI V.2.X BY SE MELO NA
OBRAZOVCE OBJEVIT CELE OHLASENI MONITORU.
4.6. CAST VSTUPNE / VYSTUPNICH OBVODU
--------------------------------------
U226 OBVOD IO-57 MH 7474
U227 OBVOD IO-58 MH 7430
U228* OBVOD IO-61 MH 3216
U229* OBVOD IO-67 MH 3212
U230* SOKL 2 X 20 PRO OBVOD IO-64
----------------------------- 4 - 11 ----------------------
-------------------------------------------------------------
(POUZE PRO ZAKLADNI VERZI S MATICOVOU KLAVESNICI)
U231* OBVOD IO-62, V ZAKLADNI VERZI SE TENTO OBVOD NEOSAZUJE
A PROPOJUJI SE NASLEDUJICI JEHO VYVODY:
01-19 02-18 03-17 04-16
05-15 06-14 07-13 08-12
U232 (ZRUSENO)
U233 ODPOR R46 1K2
U234 ODPOR R47 47K
U235 ODPOR R48 47R
U236 ODPOR R42 1K2
U237* ODPOR R54 560R
U238* ODPOR R55 560R
U239 KONDENZATOR C41 10M
U240* PRIPOJIT KONEKTOR KLAVESNICE
U241* PROPOJIT: 184-185 VOLNE: 182,183
U242* PRO MATICOVOU KLAVESNICI OSADIT OBVOD IO-64/MHB8255A.
U243* POSILOVACE IO-63, IO-65, IO-66 TYPU MHB8286 SE V
ZAKLADNI NEOSAZUJI, JE VSAK U NICH NUTNO PROPOJIT
OTVORY PRO NASLEDUJICI VYVODY:
01-19 02-18 03-17 04-16
05-15 06-14 07-13 08-12
U244* PRO MATICOVOU KLAVESNICI OSADIME KONEKTOR V/V.
U245* ODZKOUSIME FUNKCI KLAVESNICE JEJIM PRIPOJENIM K SYSTEMU
(PRO MATICIVOU KLAVESNICI JE NUTNA VERZE MONITORU
V.2X). KLAVESNICI TS5220004 PRIPOJUJEME POMOCI OBVODU
PODLE OBR. S-10. TENTO OBVOD BY MEL BYT VYRABEN
DRUZSTVEM DRUKOV A PRODAVAN JAKO PRIVODNI KABEL
KLAVESNICE I PRO ZAKLADNI VERZI SYSTEMU.
U246 V PRIPADE POUZITI MODEMU MAGNETOFONU PROVEDEME UKONY
U240, U241, U242, U244 PRO LIBOVOLNY TYP KLAVESNICE.
4.7. TESTOVANI FUNKCE ZAKLADNI DESKY
-------------------------------------
K TESTOVANI CPU, JEJIHO BLIZKEHO OKOLI A PRO ZAKLADNI
KONTROLU PAMETI SLOUZI PROGRAM "CPUTEST". PO ZAVEDENI Z PASKY
DO PAMETI SE SPOUSTI POD MONITOREM G=100. BEHEM SVE CINNOSTI
OHLASUJE DOKONCENI JEDNOTLIVYCH ETAP TESTU.
TESTOVANI PRERUSOVACIHO SYSTEMU VYZADUJE TESTOVACI
PROGRAM "INTEST" A SPECIALNI PRIPRAVEK, PRIVADEJICI SIGNALY
ZADOSTI O PRERUSENI A PRISLUSNE VSTUPY OBVODU IO-60 (MH3214).
TESTOVANI OSTATNICH CASTI SYSTEMU JE MOZNE JEN POD
MONITOREM (NAPR. TESTOVANI ROZSIRUJICICH VSTUPU/VYSTUPU).
----------------------------- 4 - 12 ----------------------
-------------------------------------------------------------
4.8. SEZNAM PROPOJEK ZAKLADNI DESKY
------------------------------------
CISLO FUNKCE
01 AZ 16 VOLBA UMISTENI RAM/EPROM
17 AZ 20 REZIM RESTARTU SYSTEMU
21 VYVOD PRO VF MODULATOR
22 AZ 24 POCET ZNAKU NA RADKU
25 AZ 30 PRIPOJENI SIGNALU NA C11(VID1) A C14(VID2)
31 AZ 39 VOLBA TYPU EPROM GENERATORU ZNAKU
40 VOLBA ZATEMNOVANI CASTI OBRAZOVKY
41 AZ 43 NASTAVENI ROZSAHU DEKODERU EPROM (8/16 KB)
44 VYVEDEN HODINOVY SIGNAL C5
45 AZ 47 VOLBA KRESBY ZNAKU A POZADI
48 ZEMNICI POTENCIAL
49 AZ 120 VOLBA TYPU EPROM
121,122 VYVOD MUS/ PRO OBVODY 6116
123 AZ 146 VOLBA VYBERU POUZDER EPROM/RAM
147,148 REZIM RESTARTU SYSTEMU
149 AZ 172 VOLBA REZIMU SEMIGRAFIKA/PLNA GRAFIKA
173 AZ 176 VOLBA PRUBEHU SIGNALU IOR/ NA KON. ROZSIRENI
177,178 PRIVEDENI MWS/ NA DEKODER EPROM (PRO 6116)
179 AZ 181 VOLBA REZIMU PRERUSOVACIHO SYSTEMU
182 AZ 185 VOLBA KONTAKTNI/KAPACITNI KLAVESNICE
186 AZ 191 VOLBA SMERU POSILOVACU IO-63,65,66
193 AZ 196 VOLBA ZATEMNOVANI CASTI OBRAZOVKY
----------------------------- 4 - 13 ----------------------
-------------------------------------------------------------
5. MATICOVA KLAVESNICE A GENERATOR ZNAKU
-----------------------------------------
KLAVESNICE JE URCENA PRO TY, KTERI NEBUDOU POUZIVAT
SYSTEM NA ZPRACOVAVANI TEXTOVYCH DAT A MOHOU SI USETRIT PRACI
PRI VYTVARENI KVALITNEJSI KLAVESNICE. PRO SVOU CINNOST
VYZADUJE ZAPOJENY OBVOD MHB8255A A SPECIALNI OBSLUZNY PROGRAM
PRO DEKODOVANI ZNAKU (MONITOR VERZE V.2.X). PREDPOKLADA SE
POUZITI TETO KLAVESNICE PRO ZAKLADNI VERZI SYSTEMU.
PREDPOKLADA SE NASLEDUJICI USPORADANI MATICE KLAVES:
12+
1: 2: 3: 4+5: 11: 13: 14: 15:
6: Q/!/1 A/- H/L U/L RIGHT CTRL CR P/@/0
7: E/#/3 D/= X// 0-9 LEFT M/. K/[ I/(/8
8: T/%/5 G/_ V/; B/? H/< Y/&/6
9: R/$/4 F/A C/: SP N/| J/> U/'/7
10: W/"/2 S/+ Z/* CS DOWN UP L/] O/)/9
CISLICE S DVOJTECKOU OZNACUJI CISLO VODICE NA PASKOVEM VYVODU
KLAVESNICE. V OZNACENI KLAVES JE POUZITO NASLEDUJICIHO KODU:
X/Y/Z KDE X ... PISMENO (VELKE NEBO MALE)
Y ... POMOCNY (HORNI) ZNAK
Z ... CISLICE
REZIM VELKYCH A MALYCH PISMEN SE PREPINA KLAVESOU [U/L] (DVA
CTVERECKY NAD SEBOU). REZIM HLAVNICH A POMOCNYCH (HORNICH)
ZNAKU SE PREPINA KLAVESOU [H/L] (DVA TROJAHELNIKY NAD SEBOU).
SIPKY JSOU OZNACENY NASLEDOVNE: NAHORU=UP, DOLU=DOWN,
VLEVO=LEFT, VPRAVO=RIGHT. REZIM CISLIC SE PREPINA KLAVESOU
[0-9]. KLAVESA [SP] OZNACUJE MEZERNIK. KLAVESA [CS] MA
SPECIALNI POUZITI PODLE PROVADENEHO PROGRAMU (NAPR. SLOUZI
JAKO SPECIALNI ZNAK ESC S KODEM 1BH V NEKTERYCH EDITORECH).
KLAVESA [CTRL] VYGENERUJE PRI NASLEDNE STISKNUTE KLAVESE JI
ODPOVIDAJICI RIDICI ZNAK (D7-D5 = 0). KLAVESA [CR] SLOUZI PRO
UKONCENI ZADAVANI PRIKAZU (OZNACUJE SE TEZ JAKO ENTER NEBO
LOMENA SIPKA <--' ).
PRO ZAKLADNI VERZI MIKROPOCITACE PLAN80A SE POCITA S
POUZITIM TOVARNE VYRABENE KLAVESNICE TYPU TS5220004 S VYSE
UVEDENYM ROZLOZENIM ZNAKU. PRO JEJI PRIPOJENI KE KONEKTORUM
MIKROPOCITACE SLOUZI OBVOD, JEHOZ SCHEMA MA CISLO S-10.
CINNOST OBVODU JE NASLEDUJICI: VYSTUPNI PORT PB OBVODU
MHB8255A BUDI JEDNOTLIVE "RADKY" MATICE KLAVESOVYCH KONTAKTU
(VYVODY 6 AZ 10). ABY NEDOCHAZELO K VZAJEMNEHU OVLIVNOVANI
RADKU PRI STISKU VICE NEZ JEDNE KLAVESY (NAPR. CTRL +
PISMENO), JSOU JEDNOTLIVE RADKY MATICE KLAVESOVYCH KONTAKTU
OD SEBE ODDELENY DIODAMI KA207 (KATODA SMERUJE K PORTU PB).
CTENI JEDNOTLIVYCH "SLOUPCU" MATICE KLAVESOVYCH KONTAKTU
ZAJISTUJE VSTUPNI OBVOD MH3212 (STANDARTNI VSTUP PRO
----------------------------- 5 - 1 -----------------------
-------------------------------------------------------------
KLAVESNICI). NA SLOUPCICH 4, 11 A 12 NEJSOU KOLIDUJICI
KLAVESOVE KONTAKTY, PROTO BYLY TYTO SLOUPCE SPOJENY. ABY BYL
STAV VSTUPU OBVODU MH3212 JEDNOZNACNY, JSOU JEHO VSTUPY
OSETRENY OSMI ODPORY 10K. ZVUKOVY SIGNAL SE GENERUJE
PODELENIM DVEMI (OBVODEM MH7474) SIGNALU BEEP\ Z KONEKTORU
PRERUSENI (VYVOD 6).
HEXADECIMALNI VYPIS OBSAHU GENERATORU ZNAKU MA CISLO
V-4. TENTO GENERATOR ZNAKU NEMA MALA PISMENA. MISTO NICH JSOU
UMISTENY SEMIGRAFICKE SYMBOLY, UMOZNUJICI KRESBU V RASTRU
144X63 BODU. PRO TEXTOVE EDITORY JE VHODNEJSI GENERATOR ZNAKU
S MALYMI PISMENY A CESKYMI ZNAKY (HACKY A CARKY), JEHOZ
HEXADECIMALNI VYPIS MA CISL0 V-5.
----------------------------- 5 - 2 -----------------------
-------------------------------------------------------------
6. PROGRAMOME VYBAVENI SYSTEMU
=================================
6.1. JEDNOTLIVE VERZE MONITORU
-------------------------------
MONITOR JE ZAKLADNI OVLADACI PROGRAM, KTERY UMOZNUJE NA
ZAKLADNI UROVNI RIDIT CHOD SYSTEMU A SPOUSTET OSTATNI VYSSI
PROGRAMY.
PODPROGRAMY MONITORU MOHOU BYT VYUZIVANY V UZIVATEL-
SKYCH PROGRAMECH. VZHLEDEM K POZADOVANE PROGRAMOVE KOMPATIBI-
LITE SYSTEMU PLAN80A SE SYSTEMY RADY INTELLEC MDS 800 A
TESLA-STRASNICE JVS-80, BYLO USPORADANI MONITORU PREVZATO Z
TECHTO SYSTEMU. MONITOR JE UMISTEM VZDY NA POSLEDNICH DVOU
KILOBYTECH PAMETOVEHO PROSTORU (TJ. F800H AZ FFFFH). NA ZA-
CATKU MONITORU JE TABULKA SKOKU DO JEDNOTLIVYCH JEHO PODPRO-
GRAMU, KTERA JE PRO VSECHNY VERZE MONITORU SHODNA. TO UMOZ-
NUJE FUNKCI PROGRAMU BEZ ZMEN PRI RUZNYCH VERZICH MONITORU.
Z HLEDISKA SYSTEMU LZE MONITORY ROZDELIT NA DVA DRUHY.
PRVNI PRACUJI V REZIMU SEMIGRAFIKY S GENERATOREM ZNAKU
(V.2.X, V.3.X, V.5.X), DRUHE PRACUJI Y REZIMU PLNE GRAFIKY A
GENERATOR ZNAKU CASTECNE NAHRAZUJI (V.4.X, V.6.X, V.7.X).
JEDNOTLIVYM VERZIM MONITORU MUSI ODPOVIDAT I OBVODOVE
USPORADANI SYSTEMU, TJ. NAPR. PRO MONITOR RADY V.4.X MUSI BYT
K DISPOZICI ALESPON 16 KBYTE DYNAMICKE A 1 KB STATICKE RAM.
PRO ZAKLADNI VERZI STAVEBNICE MIKROPOCITACE PLAN80A BYL
VYVINUT MONITOR PRO SEMIGRAFIKU A MATICOVOU KLAVESNICI
(V.2.X).
MONITOR PRACUJICI V REZIMU SEMIGRAFIKY (V.3.X) MA DVE
CASTI. ZAKLADNI CAST ZABIRA 1 KBYTE EPROM A ZAJISTUJE POUZE
ZAKLADNI FUNKCE SYSTEMU. K NI LZE POUHYM ZASUNUTIM PAMETI
EPROM S NAHRANOU ROZSIRUJICI DRUHOU CASTI PRIPOJIT STANDARTNI
SOUBOR PRIKAZU, OBDOBNY JINYM MIKROPOCITACOVYM SYSTEMUM.
MONITOR V.4.X ODPOVIDA SVOU CINNOSTI MONITORU V.3.X,
AVSAK PRACUJE S PLNOU GRAFIKOU A MA OMEZENEJSI SOUBOR
INSTRUKCI.
MONITORY V.5.X (SEMIGRAFICKY) A V.6.X (GRAFICKY)
UMOZNUJI POUZITI U SYSTEMU PLAN80A DISKETOVE JEDNOTKY A
SPUSTENI OPERACNICH SYSTEMU CP/M.
MONITOR V.7.X UMOZNUJE SIMULACI MIKROPOCITACE PMD-85 NA
SYSTEMU PLAN80A. ZAJISTUJE TO PROGRAMOVOU KOMPATIBILITU SE
SYSTEMEM PMD-85 NA AROVNI G-BASICU NEBO NA UROVNI PROGRAMU
POUZIVAJICICH PRO KOMUNIKACI S OBVODY MIKROPOCITACE VYHRADNE
PODPROGRAMU MONITORU.
MONITOR V.8.X UMOZNUJE PRACI V REALNEM CASE A TUDIZ
SPUSTENI OPERACNIHO SYSTEMU MP/M.
----------------------------- 6 - 1 -----------------------
-------------------------------------------------------------
6.2. PROGRAM OVLADANI MODEMU MAGNETICKE KAZETOVE JEDNOTKY
---------------------------------------------------------
PRO UKLADANI DATOVYCH SOUBORU BYLO PRO JEDNODUSSI VERZI
SYSTEMU VYVINUTO VNEJSI PAMETOVE ZARIZENI OPIRAJICI SE O
BEZNY KAZETOVY MAGNETOFON A MODEM.
PRO OVLADANI TOHOTO PAMETOVEHO MEDIA TAKOVYM ZPUSOBEM,
ABY NAHRADILO DERNOU PASKU BYL VYVINUT SPECIALNI OVLADACI
PROGRAM. JE UMISTEN NA DVOU KILOBYTECH TESNE POD MONITOREM
(TJ. F000-F7FF). UMOZNUJE ZAKLADNI FUNKCI SYSTEMU PLAN80A
JAKO VYVOJOVEHO MIKROPROCESOROVEHO SYSTEMU. PRO SVOU CINNOST
POTERBUJE NEJMENE 3 KBYTE RAM (PRO VYTVORENI BUFFERU).
PROGRAM JE VYTVOREN TAK, ZE UMOZNUJE SOUCASNE OTEVRENI
DVOU SOUBORU NA KAZETE, JEDNOHO PRO CTENI A DRUHEHO PRO
ZAPIS. TIM JE UMOZNENA FUNKCE PREKLADACU A EDITORU PREVZATYCH
Z DERNOPASKOVYCH SYSTEMU BEZ PODSTATNYCH UPRAV.
PROGRAM MA VLASTNI OVLADACI PRIKAZY, KTERE LZE ZADAVAT
Z MONITORU (SE KTERYM UZCE SPOLUPRACUJE). PRI POUZITI VYSSICH
PROGRAMU JE STYK S KAZETOU ZAJISTEN POMOCI MONITOROVSKYCH
PODPROGRAMU PO (VYSTUP BYTU) A RI (VSTUP BYTU).
BLIZSI UDAJE O FUNKCI A POUZITI TOHOTO PROGRAMU LZE
NALEZT V UZIVATELSKEM MANUALU OVLADACIHO PROGRAMU MODEMU
MAGNETICKE KAZETOVE JEDNOTKY (M-2).
6.3. TINY BASIC
---------------
JDE O JEDNODUCHY PROGRAMOVACI JAZYK PRACUJICI I NA
ZAKLADNI PROCESOROVE DESCE. JE NAHRAN DO 4 KBYTOVE PAMETI
EPROM NA ADRESACH E000-EFFF. MUZE SPOLUPORACOVAT S KAZETOVOU
MAGNETICKOU JEDNOTKOU. SVYM OBSAHEM A FUNKCNIMI MOZNOSTMI
(POUZE CELOCISELNA ARITMETIKA A POD.) JE URCEN SPISE PRO
AMATERSKE VYUZITI V JEDNODUSSICH VERZICH SYSTEMU PLAN80A.
KE STANDARTNIM PRIKAZUM TINY BASICU, JEHOZ ZDROJOVA
VERZE POCHAZI ZE SYSTEMU SAPI-1 [41,42], BYLY PRIPOJENY ZA-
KLADNI PRIKAZY PRO PRACI S DATOVYMI SOUBORY (ZAPIS A CTENI
BYTU NA/Z KAZETY), PRIKAZY PRO KRESBU V SEMIGRAFICE (ZOBRA-
ZENI BODU DANEHO SOURADNICEMI) A PRIKAZ EDICE RADKU.
BLIZSI O POUZITI A OVLADANI TINY BASICU V UZIVATELSKEM
MANUALU TINY BASICU (M-3).
----------------------------- 6 - 2 -----------------------
-------------------------------------------------------------
7. ZAPOJENI KONEKTORU ZAKLADNI DESKY
======================================
7.1. KONEKTOR VSTUPU/VYSTUPU.
-----------------------------
1 +12V
2 GND
3 PB1
4 PB0
5 PB2
6 PB7
7 PB6
8 PB5
9 PB4
10 PB3
11 +5V
12 +5V
13 PC0
14 PC4
15 PC5
16 PC6
17 PC7
18 PC1
19 PC2
20 PC3
21 C0 (512 KHZ)
22 -5V
23 GND
24 +5V
25 PA4
26 PA6
27 PA5
28 PA7
29 PA3
30 PA2
31 PA0
32 PA1
33 GND
34 GND
35 +5V
36 +5V
----------------------------- 7 - 1 -----------------------
-------------------------------------------------------------
7.2. KONEKTOR KLAVESNICE
------------------------
1 PK4
2 PK5
3 PK6
4 PK7
5 +5V
6 ACK/
7 GND
8 PK3
9 PK2
10 PK0
11 RDY/
12 PK1
7.3. KONEKTOR PRERUSENI
-----------------------
1 PV3
2 PV4
3 PV0
4 PV1
5 PV2
6 BEEP/
7 GND
8 INT0/
9 INT1/
10 INTA/
11 INT5/
12 INT6/
7.4. KONEKTOR NAPAJECICH NAPETI
-------------------------------
1 GND
2 GND
3 +5V
4 +5V
5 GND
6 GND
7 +12V
8 +12V
9 GND
10 GND
11 -5V
12 -5V
----------------------------- 7 - 2 -----------------------
-------------------------------------------------------------
7.5. KONEKTOR ROZSIRENI
-----------------------
1 +5V
2 -5V
3 +12V
4 GND
5 MODE/
6 HOLD/
7 HLDA/
8 RST/
9 IORS/
10 IOWS/
11 MEMR/
12 MWS/
13 A15
14 A14
15 A13
16 A12
17 A11
18 A10
19 A9
20 A8
21 A7
22 A6
23 A5
24 A4
25 A3
26 A2
27 A1
28 A0
29 D7
30 D6
31 D5
32 D4
33 D3
34 D2
35 D1
36 D0
----------------------------- 7 - 3 -----------------------
-------------------------------------------------------------
7.6. KONEKTOR DYNAMICKE PAMETI
------------------------------
1 +5V
2 -5V
3 +12M
4 GND
5 CS2/
6 CS1/
7 DRAMINH/
8 MUX
9 RAS
10 CAS/
11 DRAMEN/
12 MWS/
13 A15
14 A14
15 A13
16 A12
17 A11
18 A10
19 A9
20 A8
21 A7
22 A6
23 A5
24 A4
25 A3
26 A2
27 A1
28 A0
29 D7
30 D6
31 D5
32 D4
33 D3
34 D2
35 D1
36 D0
----------------------------- 7 - 4 -----------------------
-------------------------------------------------------------
7.7. KONEKTOR PROGRAMATORU EPROM
--------------------------------
1 +5V
2 +5V
3 GND
4 GND
5 GND
6 PRG
7 -
8 WE/
9 VPP
10 -
11 PGM/
12 CSPGM/
7.8. KONEKTOR HODINOVYCH SIGNALU
--------------------------------
1 GND
2 C14 (VID1)
3 OSC (18,432 MHZ)
4 F2ITTL) (2,048 MHZ)
5 C11 (VID2)
6 M1/
7 STSTB
8 SMES
9 VIDEO/
10 VSYNC/
11 HSYNC/
12 +5V
----------------------------- 7 - 5 -----------------------
-------------------------------------------------------------
8. LITERATURA
====================
[1] VIT,V.: TELEVIZNI TECHNIKA, SNTL + ALFA, PRAHA 1979
[2] 8080 MICROCOMPUTER SYSTEMS USER'S MANUAL, INTEL CORP.,
SEPTEMBER 1975
[3] DEDINA,B.;VALASEK,P.: MIKROPROCESORY A MIKROPOCITACE,
SNTL, PRAHA 1981
[4] BERNARD,J.M.: OD LOGICKYCH OBVODU K MIKROPROCESORUM I
AZ IV, SNTL, PRAHA 1982-84 (PREKLAD Z ORIGINALU DE LA
LOGIQUE CABLEE AUX MICROPROCESSEURS, EDITIONS EYROLLES,
PARIS, 1979)
[5] KLINGMAN,E.E.: PROJEKTOWANIE SYSTEMOW MIKROPROCESORO-
WYCH, WNT, WARSZAWA 1982 (PREKLAD Z ORIGINALU MICRO-
PROCESSOR SYSTEMS DESIGN, PRENTICE-HALL, NEW YERSEY
1977)
[6] MISIUREWICZ,P.: SYSTEMY MIKROKOMPUTEROWE I A II, WSP,
WARSZAWA 1982
[7] PENNEY,W.M.: UKLADY SCALONE MOS LSI, WNT, WARSZAWA 1979
(PREKLAD Z ORIGINALU MOS INTEGRATED CIRCUITS, LITTON
EDUCATIONAL PUBLISHING, NEW YORK 1972)
[8] BADZMIROWSKI,K.: CYFROWE AKLADY MOS LSI, WNL, WARSZAWA
1979
[9] MISIUREWICZ,P.: SYSTEMY MIKROKOMPUTEROWE, WNT, WARSZAWA
1982
[10] SOBOTKA,Z.: OTAZKY A ODPOVEDI Z MIKROPROCESORU A MIKRO-
POCITACU, NAVRH MIKROPOCITACU, ALFA, BRATISLAVA 1981
[11] SOBOTKA,Z.: OTAZKY A ODPOVEDI Z MIKROPROCESORU A MIKRO-
POCITACU, ARCHITEKTURA A PROGRAMOVANI, ALFA, BRATISLAVA
1981
[12] BUBINSKY,J.: POLOVODICOVE PAMETI A JEJICH POUZITI, SNTL
+ ALFA, PRAHA 1977
[13] PIENKOS,J.: AKLADY SCALONE TTL SERII UCY74 I ICH ZASTO-
SOWANIE, WKL, WARSZAWA 1977
[14] SOBOTKA,Z.: PREHLED CISLICOVYCH SYSTEMU, SNTL, PRAHA
1981
[15] LEGAT,P.: MIKROPROCESOROVE SYSTEMY V RIDICI TECHNICE,
PRILOHA CASOPISU AUTOMATIZACE
[16] BUDINSKY,J.: AMATERSKE A OSOBNI MIKROPOCITACE, PRILOHA
CASOPISU AMATERSKE RADIO RADY A, 1980
----------------------------- 8 - 1 -----------------------
-------------------------------------------------------------
[17] MIKROPOCITACE A MIKROPROCESORY, PRILOHA CASOPISU AMA-
TERSKE RADIO RADY A, 1982
[18] SMEJKAL,L.: KURS PROGRAMOVANI SYSTEMU S MIKROPROCESOREM
8080, PRILOHA CASOPISU AUTOMATIZACE, 1980-1983
[19] INTEL MCS-80 SYSTEM DESIGN KIT, USERS GUIDE
[20] THE TK-80 TRAINING KIT, NIPPON ELECTRIC CO., 1977
[21] THE MICRO COM - 8 SOFTWARE MANUAL, NEC MICROCOPUTERS
1975
[22] MIKROPROCESOR 8080, AMATERSKE RADIO, 1983
[23] INTEL DATA CATALOG 1976
[24] THE TTL DATA BOOK FOR DESIGN ENGENEERS, TEXAS INSTRU-
MENTS 1980
[25] COMPONENT DATA CATALOG, INTEL 1980
[26] SOUCASTKY PRO ELEKTRONIKU, TESLA LANSKROUN, 1976
[27] TESLA - BIPOLARNI LOGICKE INTEGROVANE OBVODY 1983-84
[28] NAD,M.: PAMETOVE INTEGROVANE OBVODY MHB8708C A MHB8608
/XYZ, SDELOVACI TECHNIKA, 1984, C.4, STR.169
[29] KRASNY,P.;CERNOCH,M.: FUNKCNI VLASTNOSTI PROGRAMOVA-
TELNEHO IO 8255A PRO PARALELNI V/V, SDELOVACI TECHNIKA,
1982, C.12, STR.449
[30] CERNOCH,M. A KOL.: TECHNICKE PROSTREDKY A FUNKCE MIKRO-
PROCESORU 8080A, SDELOVACI TECHNIKA, 1981, C.12,
STR.442
[31] KISS,R.: OSOBNY POCITAC PMD-85, SDELOVACI TECHNIKA,
1984, C.6, STR.211
[32] DLABALA,F.;STARY,J.: SYSTEMY S MIKROPROCESORY A PRENOS
DAT, NDS, PRAHA 1984
[33] PRAGER,E.;PUZMAN,J.: MIKROPROCESOROVE SYSTEMY V TELEKO-
MUNIKACNICH ZARIZENICH, SNTL, PRAHA 1984
[34] SACHA,K.;RYDZEWSKI,A.: MIKROPROCESOR W PYTANIACH I OD-
POWIEDZIACH, WNT, WARSZAWA 1985
[35] SLIPKA,J: NAVRHOVANI MIKROPROCESOROVYCH SYSTEMU, SNTL +
ALFA, PRAHA 1985
[36] STARY,J.: MIKROPOCITAC A JEHO PRAGRAMOVANI, SNTL, PRAHA
1984
----------------------------- 8 - 2 -----------------------
-------------------------------------------------------------
[37] DYNAMISCHE RAM KARTE, ELEKTOR, APRIL, 1982
[38] BELICS,ROB.: PRACTICAL DYNAMIC MEMORY SYSTEM DESIGN,
BYTE, DECEMBER, 1982, STR. 72
[39] PV-7752-85: PELIKAN,P.,SIMIK,P.: ZAPOJENI MODULACNE
DEMODULACNIHO OBVODU PRO UCHOVAVANI CISLICOVYCH DAT NA
MAGNETOPASKOVE JEDNOTCE PLYNOVEHO CHROMATOGRAFU,
30.10.1985
[40] PV-5068-84: PELIKAN,P.: ZAPOJENI PRO CASOVANI RIDICICH
SIGNALU MIKROPOCITACE V REZIMU SDILENI SBERNIC,
29.06.1984
[41] SMUTNY,T.: PROGRAMOVANI MIKROPOCITACE JPR-1, AMATERSKE
RADIO, B/2, 1983, STR. 64
[42] SAPI-1, UZIVATELSKY MANUAL K TINY BASICU, DIZ PRAHA
[43] TROTTIER,L.: TRANSPARENT MEMORY ENDS CONFLICTS OVER
CRT CONTROL, ELECTRONICS, JULY 1979, C. 14, STR. 136
[44] CARR,W.N.: PROJEKTOWANIE I ZASTOWANIE UKLADOW MOS
WIELKIEJ SKALI INTEGRACJI, WNT, WARSZAWA 1976 (PREKLAD
Z ORIGINALU MOS/LSI DESIGN AND APPLICATION, MCGRAW-
HILL, NEW YORK 1972)
[45] FRIEDMAN,A.D.: TEORIE A NAVRH LOGICKYCH OBVODU, SNTL,
PRAHA 1983 (PREKLAD Z ORIGINALU THEORY & DESIGN OF
SWITCHING CIRCUITS, COMPUTER SCIENCE PRESS, MARYLAND
1975)
[46] KOCIS,I.: MIKROPROCESORY A MIKROPOCITACE, SNTL, PRAHA
1986
[47] PV-1888-87: PELIKAN, P.: ZAPOJENI PRO PREPINANI
RYCHLOSTI PRENOSU DAT U JEDNOTKY PRUZNYCH DISKU S
JEDNODUCHOU HUSTOTOU ZAZNAMU.
[48] KRAMER,M.: PRAKTISCHE MIKROCOMPUTER TECHNIK,
MILITAURVERLAG DER DEUTDCHEN DEMOKRATISCHEN REPUBLIK,
BERLIN, 1988.
[49] RIBARIC,S.: ARCHITEKTURY MIKROPROCESORU, ALFA,
BRATISLAVA, 1988.
[50] ERLEKAMPF,R.: MIKROELEKTRONIK IN DER AMATEURPRAXIS 3,
MILITAURVERLAG DER DDR, BERLIN, 1988.
[51] PIENKOS,J.: UKLADY MIKROPROCESOROWE 8080/8085 W
MODULOWYCH SYSTEMACH STEROWANIA, WKL, WARSZAWA 1988.
[52] SCHLENZIG,K.: MIKROELEKTRONIK FUER PRAKTIKER, VEB
VERLAG TECHNIK, BERLIN1986.
----------------------------- 8 - 3 -----------------------
-------------------------------------------------------------
[53] LONGJW.E.: TECHNIKA SPRZEGANIA UKLADOW W SYSTEMACH
MIKROPROCESOROWYCH, WARSZAWA, WNT, 1988 (PREKLAD Z
ORIGINALU PRACTICAL INTERFACING TECHNIQUES FOR
MICROPROCESSOR SYSTEMS, PRENTICE-HALL, 1983).
[54] HEDTKE,R.: SYSTEMY MIKROPROCESOROWE, WNT, UARSZAWA 1987
(PREKLAD Z ORIGINALU: MIKROPROZESSORSYSTEME, SPRINGER
VERLAG, HEIDELBERG 1984).
----------------------------- 8 - 4 -----------------------
-------------------------------------------------------------
M O N I T O R
=========================
P L A N 8 0 A
U Z I V A T E L S K Y M A N U A L
M O N I T O R U V E R Z E V.2 A V.3
26.09.88
-------------------------------------------------------------
-------------------------------------------------------------
O B S A H
=========
1. UVOD ...................................... 3
2. ROZLOZENI V PAMETI ........................ 4
3. CINNOST PO SPUSTENI SYSTEMU ............... 5
4. PROMENNE MONITORU ......................... 8
5. SEZNAM PRIKAZU ............................ 11
6. POPIS FUNKCE PRIKAZU ...................... 12
7. POPIS SLUZEB MONITORU...................... 16
8. PREHLED ADRES V/U ZARIZENI................. 26
9. SIMULACE KONZOLY .......................... 26
-------------------------------- 2 ------------------------
-------------------------------------------------------------
1. UVOD
==========
ZAKLADNIM RIDICIM PROGRAMEM, UMOZNUJICIM START A FUNKCI
MIKROPROCESOROVEHO SYSTEMU PLAN 80A, JE JEHO MONITOR.
CHARAKTERISTICKYM RYSEM MONITORU JE PROGRAMOVA NAVAZ-
NOST NA SYSTEMY VYCHAZEJICI ZE ZAHRANICNIHO VZORU: MIKROPRO-
CESOROVEHO VYVOJOVEHO SYSTEMU INTELLEC MDS 800. U NAS JDE
NAPR. O SYSTEM JVS 80 (NA BAZI JPR 80). KOMPATIBILITA TECHTO
SYSTEMU SE OPIRA JEDNAK O ROZLOZENI PROMENNYCH V PAMETI RAM
(DEFINOVANE HODNOTY NA JEJIM ZACATKU), O ULOZENI MONITORU NA
KONCI PAMETOVEHO PROSTORU (0F800H AZ 0FFFH) A O SPOJOVACI
ADRESY SLUZEB MONITORU (OD ODRESY 0F800H). POKUD JE PROGRAM
NAPSANY POMOCI TECHTO SPOJOVACICH ADRES, JE POUZITELNY NA
VSECH TAKTO KOMPATIBILNICH SYSTEMECH. TO UMOZNUJE ROZSIRIT
PROGRAMOVE VYBAVENI SYSTEMU PLAN 80A HLAVNE V ZAKLADNICH
VERZICH BEZ DISKETY (DERNA PASKA JE NAHRAZENA KAZETOVYM MAG-
NETOFONEM) .
VZHLEDEM K TOMU, ZE SYSTEM UMOZNUJE FUNKCI VE DVOU
ZAKLADNICH REZIMECH (SEMIGRAFIKY A PLNE GRAFIKY), JSOU VYTVO-
RENY TEZ DVE VERZE MONITORU. VERZE V.2.X A V.3.X SLOUZI PRO
PRACI SE SEMIGRAFIKOU, VERZE V4.X SLOUZI PRO PRACI S PLNOU
GRAFIKOU. JEDNGTLIVE VERZE MAJI ODLISNE POZADAVKY NA OSAZENI
PAMETI RAM A EPROM.
VERZE MONITORU PRO SEMIGRAFICKE USPORADANI ODPOVIDA
SPISE APLIKACIM PRO ZPRACOVAVANI TEXTU A PROGRAMATORSKOU
PRACI V JAZYKU SYMBOLICKYCH ADRES. MONITOR JE VYBAVEN SIROKYM
SOUBOREM PRIKAZU, KTERE UMOZNUJI POHODLNE LADENI PROGRAMU.
JSOU DOSTUPNE EDICNI PROGRAMY A PREKLADACE, KTERE V
SOUCINNOSTI S KAZETOVYM MAGNETOFONEM UMOZNUJI VYTVORIT
VYVOJOVY SYSTEM V RELATIVNE NIZKYCH CENOVYCH RELACICH.
VZHLEDEM K TOMU, ZE SEMIGRAFICKE USPORADANI UMOZNUJE PRACI
SYSTEMU JIZ S JEDINYM KILOBYTEM PAMETI RAM, JE VHODNY ZVLASTE
PRO ZACATECNIKY.
VERZE S PLNOU GRAFIKOU JE VHODNA SPISE PRO MATEMAIICKO-
FYZIKALNI VYPOCTY. SVYM PRINCIPEM VYZADUJE VETSI ROZSAH PAME-
TI RAM (MINIMALNE 17 KILOBYTE). MONITOR PRO PLNOU GRAFIKU
JE SKROMNEJSI A UMOZNUJE V ZAKLADNI VERZI POUZE SPUSTENI
PROGRAMU. LZE JEJ VSAK DOPLNIT ROZSIRENIM NAHRANYM NA KAZETE
A ZISKAT TAK VERZI S PRIKAZY OBDOBNYMI MONITORU PRO SEMIGRA-
FIKU.
-------------------------------- 3 ------------------------
-------------------------------------------------------------
2. ROZLOZENI V PAMETI
------------------------
MONITOR V.3.X SE SKLADA Z DVOU CASTI. PRVNI UMOZNUJE
SPUSTIT SYSTEM A OBSAHUJE PRIKAZY PRO ZAKLADNI FUNKCI
SYSTEMU. DRUHA JE ROZSIRENIM A DOPLNUJE ZAKLADNI CAST O DALSI
PRIKAZY A SLUZBY. KAZDA Z CASTI MA ROZSAH 1 KBYTU PAMETI.
VERZE V.2.X SE LISI OD (ROZSIRENE) VERZE V.3.X POUZE V TYPU
POUZITE KLAVESNICE. U V.2.X JDE O MATICOVOU KLAVESNICI TESLA
TS5220004, U V.3.X O PLNOU ASCII KLAVESNICI S OBVODOVYM
DEKODOVANIM STISKNUTE KLAVESY. DALSI ROZDIL SPOCIVA V TOM, ZE
V.2.X JE NEDELITELNY S DELKOU 2 KBYTE, KDEZTO V.3.X UMOZNUJE
POUZITI JAK V ZAKLADNI VERZI V DELCE 1 KB TAK I V AUTOMATICKY
ROZPOZNAVANE ROZSIRENE VERZI DELKY 2 KB.
PRO FUNKCI SYSTEMU PLAN 80A JE BEZPODMINECNE NUTNE, ABY
OD ADRESY 0000H BYLA PAMET RAM. JEJI MINIMALNI DELKA JE 1
KILOBYTE, LZE JI VSAK ROZSIROVAT NA 4 KILOBYTE NA ZAKLADNI
DESCE NEBO AZ NA 64 KILOBYTE POMOCI MODULU DYNAMICKE PAMETI.
PODMINKOU VSAK JE, ABY PAMET RAM BYLA V CELEM ROZSAHU SPOJI-
TA. VLASTNI SYSTEMOVA KONFIGURACE NASTAVA PRI RESTARTU SYSTE-
MU AUTOMATICKY. ZOBRAZOVANI JE UMISTOVANO NA POSLEDNI DVA
KILOBYTE PAMETI (AZ NA VYJIMKY PRO RAM MENSI NEZ 3 KILOBYTE).
TESNE POD OBRAZOVOU RAM SE UMISTUJE ZASOBNIK. PROMENNE MONI-
TORU JSOU UMISTENY V SKRYTE CASTI OBRAZOVE RAM.
MINIMALNI VERZE SYSTEMU PLAN 80A:
FFFF ----------------
I I NEOBSAZENY PROSTOR U V.3.X
FC00 ---------------- (MONITOR V.2.X 2KB)
I MONITOR 1KB I (E) ZAKLADNI VERZE MONITORU V.3.X
F800 ----------------
I I
I I
. .
. . NEOBSAZENY PAMETOVY PROSTOR
. .
I I
I I
0400 ----------------
I RAM 1KB I (R) JEDINY KILOBYTE RAM
0000 ----------------
POZN. V ZAVORCE JE NAZNACEN TYP PAMETI: E...EPROM, R...RAM
MAXIMALNI VERZE SYSTEMU PLAN 80A SE ZAPLNENYM CELYM
PAMETOVYM PROSTOREM OBSAHUJE 56 KILOBYTE RAM (POSLEDNICH 8
KILOBYTE U DYNAMICKE RAM SE NEAKTIVUJE), TINY BASIC (4 KILO-
BYTOVY INTERPRET), MAGNETOFON (2 KILOBYTOVY PROGRAM OVLADANI
KAZETOVEHO MAGNETOFONU) A PLNY MONITOR (2 KILOBYTE). JEDNO-
-------------------------------- 4 ------------------------
-------------------------------------------------------------
TLIVE VYSE VYJMENOVANE PROGRAMY JSOU VOLITELNE A SYSTEM AUTO-
MATICKY POZNA JEJICH PRITOMNOST POUHYM ZASUNUTIM NAPROGRAMO-
VANYCH POUZDER EPROM DO SOKLU (AT JIZ JDE O ROZSIRENI MONITO-
RU V.3.X, MAGNETOFON NEBO INTERPRET TINY BASICU).
ROZSAH PAMETI LZE V UVEDENYCH MEZICH LIBOVOLNE MENIT,
PRI OSAZENI PLNE DYNAMICKE PAMETI RAM 64 KILOBYTE SE
AUTOMATICKY BLOKUJI OBLASTI PAMETI OBSAZENE NA ZAKLADNI DESCE
POUZDRY EPROM (NAPR. MONITOREM A POD.).
MAXIMALNI VERZE SYSTEMU PLAN 80A:
FFFF ----------------
I MONITOR EXP. I (E) ROZSIRENI MONITORU V.3.X 1 KB
FC00 ---------------- (MONITOR V.2.X 2 KB)
I MONITOR I (E) ZAKLADNI MONITOR V.3.X 1 KB
F800 ----------------
I MAGNETOFON I (E) PROGRAM OVLADANI KAZETOVEHO
I I MAGNETOFONO 2 KB
F000 ----------------
I I
I TINY I (E) INTERPRET JAZYKA TINY BASIC
I BASIC I 4 KB
I I
E000 ----------------
I I
I I
. .
. RAM . (R) PAMET RAM
. .
I I
I I
0000 ----------------
3. CINNOST PO SPUSTENI SYSTEMU
---------------------------------
SPUSTENIM SYSTEMU SE ROZUMI BUD JEHO ZAPOJENI (VE
SMYSLU PRIVEDENI NAPAJECICH NAPETI) NEBO STISKNUTI TLACITKA
RESET NA ZAKLADNI DESCE.
POZOR! SKOK NA ADRESU F800H (STUDENY START MONITORU) NEMA
TENTYZ UCINEK JAKO STISKNUTI TLACITKA RESET, NEBOT
SE NEGENERUJE SIGNAL RESET NUTNY PRO NEKTERE
SPOLUPRACUJICI OBVODY (NAPR. MHB8255A A POD.).
-------------------------------- 5 ------------------------
-------------------------------------------------------------
CINNOST PO SPUSTENI SYSTEMU SPOCIVA V CELKOVE PROGRA-
MOVE INICIALIZACI SYSTEMU. V PRVNI RADE SE ZJISTI ROZSAH
PAMETI RAM. POKUD JE VETSI NEZ 3 KILOBYTY, PAK SE ZOBRAZOVANA
OBLAST RAM UMISTI DO POSLEDNICH DVOU KILOBYTU A ZOBRAZUJE SE
PLNYCH 32 RADKU. POKUD MA RAM TRI KILOBYTY, JE ZOBRAZOVANA
RAM V POSLEDNIM Z NICH A ZOBRAZUJE SE POUZE 16 RADKU. STEJNA
SITUACE JE PRO DVA KILOBYTY RAM. PRI JEDINEM KILOBYTU SE
ZOBRAZOVANA RAM UMISTUJE DO JEHO HORNI POLOVINY A ZOBRAZUJE
SE POUZE 8 RADKU. POCET ZOBRAZOVANYCH RADKU SE ULOZI DO
PROMENNE "LINENO". GRAFICKY LZE ZNAZORNIT JEDNOTLIVE
ROZLOZENI PAMETI RAM NASLEDOVNE:
A) RAM 3 KILOBYTE (16 RADKU TEXTU)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
. .
. .
. .
0BFF I----------------I
I 1 KB I (R) ZOBRAZOVANA CAST RAM
0800 I----------------I
I 64 B I (R) ZASOBNIK
07C0 I----------------I
I 1978 B I (R) UZIUATELSKA RAM
0006 I----------------I
I 6 B I (R) PRIZNAKY MONITORU
0000 '----------------'
B) RAM 2 KILOBYTE (16 RADKU TEXTU)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
. .
. .
. .
07FF I----------------I
I 1 KB I (R) ZOBRAZQVANA CAST RAM
0400 I----------------I
I 64 B I (R) ZASOBNIK
03C0 I----------------I
I 914 B I (R) UZIVATELSKA RAM
0006 I----------------I
I 6 B I (R) PRIZNAKY MONITORU
0000 '----------------'
-------------------------------- 6 ------------------------
-------------------------------------------------------------
C) RAM 1 KILOBYTE (8 RADKU TEXTU)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
. .
. .
. .
03FF I----------------I
I 512 B I (R) ZOBRAZOMANA CAST RAM
0200 I----------------I
I 64 B I (R) ZASOBNIK
01C0 I----------------I
I 442 B I (R) UZIVATELSKA RAM
0006 I----------------I
I 6 B I (R) PRIZNAKY MONITORU
0000 '----------------'
VE VSECH PRIPADECH SE ADRESA KONCE PROGRAMOVE PAMETI,
ROVNA PRVNI ADRESE POD ZOBRAZOVANOU OBLASTI (NAPR. PRO 4 KB
JDE O ADRESU 07FFH), ULOZI DO BUNEK "RAMEND" NA ADRESACH
0004H A 0005H (PRVNI NIZSI BYTE). TYTO BUNKY JSOU ZIVOTNE
DULEZITE PRO FUNKCI SYSTEMU A POKUD POUZIVAME SLUZEB MONITO-
RU, NESMI BYT UZIVATELSKYM PROGRAMEM POSKOZOVANY.
VRCHOL ZASOBNIKU JE UMISTEN NA KONCI PROGRAMOVE PAMETI,
ZASOBNIK MA REZERVOVANOU DELKU 64 BYTE (32 ULOZENI).
MONITOR ROZEZNAVA DALE KONEC UZIVATELSKE PAMETI, JEHOZ
ADRESA JE ULOZENA V BUNKACH "URENB" (USER RAM END). DO TECHTO
BUNEK SE UKLADA ADRESA POSLEDNI BUNKY PAMETI, KTEROU MUZE
UZIVATELSKY PROGRAM POUZIVAT (VIZ. SLUZBA "MEMCK"). JEJI
HODNOTA SE MENI PODLE OSAZENI SYSTEMU. POKUD JE PRITOMEN
POUZE MONITOR, JE DANA PRVNI BUNKOU POD OBLASTI VYHRAZENOU
PRO ZASOBNIK. POKUB JE PRITOMEN PROGRAM OBSLUHY MAGNETOFONU,
JE POSUNUTA JESTE ASI O 500 BYTU SMEREM K ZACATKU PAMETI, ABY
SE VYHRADILO MISTO NA BUFFERY PROGRAMU.
V BUNCE "MSTACK" JE UKLADANA ADRESA VRCHOLU ZASOBNIKU
MONITORU, KTERA SE OBNOVUJE PRI KAZDEM "TEPLEM" STARTU
MONITORU (TJ. PRI SKOKU NA "NEXT"). IMPLICITNE JE DO TETO
BUNKY ULOZENA HODNOTA OBSAHU "RAMEND", AVSAK LZE JI MENIT A
PRESOUVAT TAK OBLAST POUZIVANOU MONITOREM PRO ZASOBNIK
(PROGRAM MAGNETOFONU VRCHOL ZASOBNIKU NEMENI).
V DALSI CINNOSTI NASTAVUJE MONITOR STRANKU ZOBRAZOVANE
PAMETI. V SEMIGRAFICKEM REZIMU JDE O DVOUKILOBYTOVE BLOKY
KTERE LZE PREPINAT ZAPISEM 00H AZ 1FH DO REGISTRU NA ADRESE
#1FH (V/V OPERACE). IMPLICITNE JE NASTAVENA TA STRANKA, KTERA
ODPOVIDA ADRESAM PROGRAMOVE OBSLUHOVANE OBLASTI RAM.
NYNI SE NASTAVUJE CITAC RADKU "LINECO" A CITAC ZNAKU
"CHARCO" (TJ. POLOHA KURZORU), NA NULU (TJ. DO LEVEHO HORNIHO
ROHU OBRAZOVKY). POCET ZNAKU PROGRAMOVE ZOBRAZOVANYCH NA
RADKU SE UKLADA DO PROMENNE "CHARNO" A JE IMLICITNE ROVEN 48
(2FH).
-------------------------------- 7 ------------------------
-------------------------------------------------------------
V ZAKLADNI VERZI V.3.X A VE VERZI V.2.X SE JESTE
NASTAVI SPOJOVACI ADRESY NA HANDLERY (OBSLUZNE PODPROGRAMY
PERIFERNICH ZARIZENI) PRO VSTUP ZNAKU Z KLAVESNICE "CI",
ZJISTENI STATUSU KLAVESNICE "CSTS" A ZOBRAZENI ZNAKU NA
OBRAZOVCE "CO".
NASTAVI SE TEZ HODNOTA ADRESY VRCHOLU ZASOBNIKU PRO
UZIVATELSKE PROGRAMY SPOUSTENE PRIKAZEM "GOTO" V BUNCE
"SPREG". IMPLICITNE SE ULOZI HODNOTA (MSTACK - 2).
NYNI SE U ZAKLADNI VERZE V.3.X PROVEDE TEST, ZDA JE
PRITOMEN ROZSIROVACI BLOK MONITORU (DRUHY KILOBYTE). POKUD
NE, PROVEDE SE POMALY VYMAZ OBRAZOVKY A SKOCI SE DO "TEPLEHO"
STARTU MONITORU, TJ. NA "NEXT". POKUD JE ROZSIRUJICI BLOK
PRITOMEN, SKOCI SE DO JEHO INICIALIZACNIHO PODPROGRAMU.
PROVEDE SE VYSLANI ZVUKOVEHO SIGNALU, ZOBRAZENI OHLASENI
MONITORU VE TVARU:
MON V3X (V2X) KDE X JE PISMENOVA VERZE MONITORU
DALE SE ZAJISTI NASTAVENI SPOJOVACICH ADRES PRO OSTATNI V/V
ZARIZENI, JAKO JE SNIMAC "RI", DEROVAC "PO", TISKARNA "LO" A
POD. PROVEDE SE INICIALICE RADICE PRERUSENI MH3214 S
POVOLENIM PRERUSENI ZE VSECH UROVNI. POKUD JE PRITOMEN
OBSLUZNY PROGRAM MAGNETOFONU, PROVEDE SE JEHO INICIALIZACE.
NAKONEC SE TESTUJE, JE-LI PRITOMEN "TINY BASIC". POKUD
NE, SKOCI SE DO "TEPLEHO" STARTU MONITORU. POKUD JE INTERPRET
BASICU PRITOMEN, PROVEDE SE JEHO SPUSTENI.
"TEPLY" START MONITORU, TJ. SKOK NA "NEXT" (VIZ. SLUZBY
MONITORU) ZAJISTI NASTAVENI VRCHOLU ZASOBNIKU NA OBSAH BUNKY
"MSTACK" A OBNOVENI KODU SKOKU DO "STUDENEHO" STARTU MONITORU
NA ZACATKU PAMETI RAM (ADRESY 0000H-0002H). NACEZ SE VYPISE
NA NOVY RADEK TECKA, COZ JE OHLASENI PRIPRAVENOSTI PRIJIMAT
DALSI PRIKAZY.
4. PROMENNE MONITORU
-----------------------
PRO SVOU CINNOST POUZIVA MONITOR PROMENNE. TYTO PROMEN-
NE JSOU UMISTENY VE SKRYTE CASTI ZOBRAZOVANE PAMETI RAM TAK,
ABY NEZABIRALY MISTO V UZIVATELSKEM PROSTORU. ADRESY PROMEN-
NYCH LZE ZISKAT POMOCI ODSTUPU OD ZACATKU PAMETI RAM. TUTO
FUNKCI ZAJISTUJE SLUZBA MONITORU (VIZ. "GETADR").
-------------------------------- 8 ------------------------
-------------------------------------------------------------
RADEK: 0
DISRAM + 30H
DISRAM + 31H UREND = NIZSI BYTE ADRESY KONCE UZIV. RAM
DISRAM + 32H VYSSI BYTE ADRESY KONCE UZIV. RAM
DISRAM + 33H MSTACK = NIZSI BYTE ADRESY VRCHOLU ZASOBNIKU
DISRAM + 34H VYSSI BYTE ADRESY VRCHOLU ZASOBNIKU
DISRAM + 35H LINECQ = CITAC RADKU
DISRAM + 36H CHARCO = CITAC ZNAKU NA RADKU
DISRAM + 37H LINENO = POCET RADKU V OBRAZE
DISRAM + 38H CHARNO = POCET ZNAKU NA RADKU
DISRAM + 39H PROMEN = REZERVOVANO PRO VYSSI VERZE MONITORU
DISRAM + 3AH -"-
DISRAM + 3BH -"-
DISRAM + 3CH -"-
DISRAM + 3DH -"-
DISRAM + 3EH -"-
DISRAM + 3FH -"-
RADEK: 1
DISRAM + 70H BRADR = VYSSI BYTE ADRESY PRERUSENI
DISRAM + 71H NIZSI BYTE ADRESY PRERUSUNI
DISRAM + 72H BRCODE = KOD INSTRUKCE NA TETO ADRESE
DISRAM + 73H SPREG = NIZSI BYTE <SP>
DISRAM + 74H VYSSI BYTE <SP>
BISRAM + 75H HREG = OBSAH REG. <H>
DISRAM + 76H LREG = OBSAH REG. <L>
DISRAM + 77H DREG = OBSAH REG. <D>
DISRAM + 78H EREG = OBSAH REG. <E>
DISRAM + 79H BREG = OBSAH REG. <B>
DISRAM + 7AH CREG = OBSAH REG. <C>
DISRAM + 7BH AREG = OBSAG REG. <A>
DISRAM + 7CH FREG = OBSAH REG. <F>
DISRAM + 7DH INOUT = PRACOVNI OBLAST PRIKAZU IN/OUT
DISRAM + 7EH -"-
DISRAM + 7FH -"-
RADEK: 2
BISRAM + B0H CONINP = KOD INSTRUKCE JMP (PRO CL)
DISRAM + B1H NIZSI BYTE ADRESY SKOKU
BISRAM + B2H VYSSI BYTE ADRESY SKOKU
DLSRAM + B3H CONOUT = KOD INSTRUKCE JMP (PRO CO)
DISRAM + B4H NIZSI BYTE ADRESY SKOKU
DISRAM + B5H VYSSI BYTE ADRESY SKOKU
DISRAM + B6H READIN = KOD INSTRUKCE JMP (PRO RI)
DISRAM + B7H NIZSI BYTE ADRESY SKOKU
DISRAM + B8H VYSSI BYTE ADRESY SKOKU
DISRAM + B9H USRRI = KOD INSTRUKCE JMP (DUMMY)
DISRAM + BAH NIZSI BYTE ADRESY SKOKU
DISRAM + BBH VYSSI BYTE ADRESY SKOKU
DISRAM + BCH PUNOUT = KOD INSTRUKCE JMP (PRO PO)
-------------------------------- 9 ------------------------
-------------------------------------------------------------
DISRAM + BDH NIZSI BYTE ADRESY SKOKU
DISRAM + BEH VYSSI BYTE ADRESY SKOKO
DISRAM + BFH
RADEK: 3
DISRAM + F0H USRPO = KOD INSTRUKCE JMP (DUMMY)
DISRAM + F1H NIZSI BYTE ADRESY SKOKU
DISRAM + F2H VYSSI BYTE ADRESY SKOKU
DISRAM + F3H LSTOUT = KOD INSTRUKCE JMP (PRO LO)
DISRAM + F4H NIZSI BYTE ADRESY SKOKU
DISRAM + F5H VYSSI BYTE ADRESY SKOKU
DISRAM + F6H CONSTA = KOD INSTROKCE JMP (PRO CSTS)
DISRAM + F7H NIZSI BYTE ADRESY SKOKU
DISRAM + F8H VYSSI BYTE ADRESY SKOKU
DISRAM + F9H -
DISRAM + FAH -
DISRAM + FBH -
RADEK: 4
DISRAM + 130H NAME1 = 16-TI BITOVY NAZEV SOUBORU (CTENI)
RADEKS 5
DISRAM + 170H NAME2 = 16-TI BIIOVY NAZEV SOUBORU (ZAPIS)
RADEKS 6
DISRAM + 1B0H PNADR = NIZSI BYTE ADRESY BUFFERU DEROVACE
DISRAM + 1B1H VYSSI BYTE ADRESY BUFFERU DEROVACE
DISRAM + 1B2H PNFOI = ADRESA UKAZATELE BUFFERU DEROVACE
DISRAM + 1B3H RDADR = NIZSI BYTE ADRESY BUFFERU SNIMACE
DISRAM + 1B4H VYSSI BYTE ADRESY BUFFERU SNIMACE
DISRAM + 1B5H RDPOI = ADRESA UKAZETELE BUFFERU SNIMACE
DISRAM + 1B6H PBLKC = CITAC BLOKU DEROVACE
DISRAM + 1B7H PFILC = CITAC SOUBORU DEROVACE
DISRAM + 1B8H RBLKC = CITAC BLOKU SNIMACE
DISRAM + 1B9H RFILC = CITAC SOUBORU SNIMACE
DISRAM + 1BAH PNSTS = STATUS LOGICKEHO ZARIZENI PRO ZAPIS
DISRAM + 1BBH RDSTS = STATUS LOGICKEHO ZARIZENI PRO CTENI
DISRAM + 1BCH
DISRAM + 1BDH
DISRAM + 1BEH
DISRAM + 1BFH
RADEK: 7
DISRAM + 1F0H TMPAR = POMOCNA OBLAST
-------------------------------- 10 -----------------------
-------------------------------------------------------------
RADEK: 8 (POUZE U VERZE V.2.X)
DISRAM + 230H KEYCD = POLE VZORKU MATICOVE KLAVESNICE
DISRAM + 231H -"-
DISRAM + 232H -"-
DISRAM + 233H -"-
DISRAM + 234H -"-
DISRAM + 235H ZNAK = VSTUPNI ZNAK
DISRAM + 236H UPLO = HORNI/DOLNL ZNAKY
DISRAM + 237H CTRL = RIDICI ZNAKY
DISRAM + 238H NUM = CISLICE
DISRAM + 239H CTN = CITAC BLIKANI KURZORU
DISRAM + 23AH
DISRAM + 23BH
DISRAM + 23CH
DISRAM + 23DH
DISRAM + 23EH
DISRAM + 23FH
5. SEZNAM PRIKAZU
--------------------
V NASLEDUJICIM SEZNAMU JSOU UVEDENY VSECHNY PRIKAZY,
KTERE LZE ZADAT Z UROVNE MONITORU (TJ. PO VYPSANI VYCKAVACI
TECKY). PRIKAZY JSOU ZADAVANY JEDNOPISMENOVYMI ZKRATKAMI.
JEJICH NAZEV JE UVEDEN V ZAVORCE (PRO NAVAZNOST JSOU NAZVY
PREVZANE PODLE VZITE ANGLICKE TERMINOLOGIE). NASLEDUJE KRATKY
POPIS FUNKCE A NAKONEC JE JEDNOPISMENOVYM KODEM V ZAVORCE
OZNACENO, KDE SE DANY PRIKAZ VYSKYTUJE. POKUD ZADNE OZNACENI
NENI VYPSANO, LZE PRIKAZ VYVOLAT I V ZAKLADNI VERZI MONITORU
V.3.X. (NAPR.GOTO). ZKRATKA (E) OZNACUJE ROZSIRENOU VERZI
MONITORU V.3.X NEBO VERI V.2.X (EXPAND). ZKRATKA (T) OZNACUJE
VYSKYT PRIKAZU V OVLADACIM PROGRAMU MAGNETOFONU. ZKRATKOU (B)
JSOU OZNACENY PRIKAZY, KTERE LZE POUZIT JEN JE-LI PRITOMEN
INTERPRET "TINY BASICU".
A...(APPEND).......PRIPOJENI BINARNIHO SOUBOR (T)
B...(BASIC)........STUDENY START BASICU (B)
C...(CONTINUE).....TEPLY START BASICU (B)
D...(DISPLAY)......ZOBRAZENI OBSAHU PAMETI (E)
E...(END OF FILE)..ZAPIS UZAV. HEX. SOUBORU (T)
F...(FILL).........VYPLNENI PAMETI ZNAKEM (E)
G...(GOTO).........SKOK DO PROGRAMU
H...(HEX)..........HEXADECIMALNI SOUCET A ROZBIL (E MIMO V.2)
I...(INPUT)........VSTUP Z PORTU (E)
J...(JOIN).........NASTAVENI ADRES MAGNETOFONU (T)
K...(CLGSE)........UZAVRENI ZAPSANEHO SOUBORU (T)
L...(LOAD).........OVLADANI MOTORKU MAGNETOFONU (T)
M...(MOVE).........PRESUN OBLASTI PAMETI (E)
-------------------------------- 11 -----------------------
-------------------------------------------------------------
N..................NENI POUZITO
0...(OUTPUT).......VYSTUP NA PORT (E)
P...(PUT)..........ZAPIS BINARNIHO SOUBORU NA PASKU (T)
Q...(QUAFF)........CTENI BINARNIHO SOUBORU Z PASKY (T)
R...(REAB).........CTENI HEX. SOUBORU Z PASKY (T)
S...(SUBSTITUTE)...ZAMENA OBSAHU PAMETI
T...(TAPE).........VYPIS NAZVU VSECH SOUBORU (T)
U...(UNNAMED)......POJMENOVANI NOVE KAZETY (T)
V...(VERIFY).......ZOBRAZENI OBSAHU REGISTRU (E MIMO V.2.X)
W...(URITE)........ZAPIS HEX. SOUBORU NA PASKU (T)
X..................NENI POUZITO
Y..................NENI POUZITO
Z..................NENI POUZITO
6. POPIS FUNKCE PRIKAZU
--------------------------
PRIKAZY SE ZADAVAJI POMOCI VELKYCH PISMEN ABECEDY TAK,
JAK JSOU UVEDENY V KAPITOLE 2.4. POKUD MA PRIKAZ PARAMETRY,
PAK JE DOTAZEM NA HODNOTU PARAMETRU VYPIS ROVNITKA. PO ZADANI
HODNOTY PARAMETRU VE FORME HEXADECIMALNIHO CLSLA SE ZADAVANI
UKONCI STISKNUTIM ZNAKU "CR" (NAVRAT VOZU), "SP" (MEZERA)
NEBO "," (CARKA). POKUD JE PARAMETR CISLO CTYRZNAKOVE (RESP.
DVOUZNAKOVE), PAK JSOU PLATNA POUZE CTYRI (RESP. DVA) POSLED-
NE ZADANE ZNAKY. PRI ZADANI MENSIHO POCTU ZNAKUT NEZ JE POCET
ZNAKU PARAMETRU, DOPLNI SE HODNOTA ZLEVA NULAMI AUTOMATICKY.
ZADAVANI PARAMETRU LZE KDYKOLI PRERUSIT STISKNUTIM KLAVESY
"DEL" (U VERZE V.2.X JDE O KLAVESU "CS" = "ESC"), ZRUSI SE
VSAK SOUCASNE PROVADENY PRIKAZ. POKUD SE PRI VOLBE PRIKAZU
NEBO ZADAVANI PARAMETRU PROVEDE CHYBA, JE OHLASENA VYPISEM
DVOJITEHO KRIZE "#". HODNOTU CHYBNEHO PARAMETRU LZE OPRAVIT
ROVNOU, CHYBNY PRIKAZ JE NUTNE CELY ZADAT ZNOVU. V KAPITOLE
2.4. JE UVEDENO, KTERE PRIKAZY JSOU OBSAZENY V ZAKLADNI VERZI
MONITORU, KTERE V JEHO ROZSIRENI A KTERE V OVLADACIM PROGRAMU
PRO MAGNETOFON. POUZITI PRIKAZU, KTERY NEMA V SYSTEMU ZASTOU-
PENY PRISLUSNY PROGRAM, VYVOLA OHLASENI CHYBY A IGNOROVANI
PRIKAZU.
SUBSTITUTE:
PRIKAZ SUBST UMOZNUJE ZAMENIT OBSAH LIBOVOLNE BUNKY PAMETI
NOVYM OBSAHEM. MA JEDINY VSTUPNI PARAMETR (ADRESU PRVNI PRE-
PISOVANE BUNKY) A SOUBOR PRACOVNICH PARAMETRU (NOVE OBSAHY PO
SOBE JDOUCICH BUNEK POCINAJE URCENOU PRVNI BUNKOU). "SP"
NEMENI OBSAH - INKREMENTUJE ADRESU, "CR" BEZ NOVEHO OBSAHU
UKONCI PRIKAZ. PRI CHYBE V ZADAVANI PRVEHO Z DVOJICE
HEXADEXIMALNICH ZNAKU SE OPRAVA PROVEDE STISKNUTIM
LIBOVOLNEHO ZNAKU VYJMA HEX. CISLICE, "CR", "SP" NEBO CARKY.
TIM JE VSTUP IGNOROVAN A LZE JEJ OPAKOVAT. PRI CHYBE V DRUHEM
-------------------------------- 12 -----------------------
-------------------------------------------------------------
ZNAKU JE TREBA ZADAT OBA ZNAKY ZNOVU OPAKOVANIM PRIKAZU SUBST
SE STEJNYMI HODNOTAMI ARGUMENTU.
PRIKLAD: ZMENA OBSAHU BUNKY NA ADRESE 0075H NA HODNOTU
0C4H A ZJISTENI OBSAHU BUNKY NA ADRESE 0077H:
.S=75"CR"
0075 A5 C4
0076 B1"SP"
0077 E5"CR"
.
POZN. ZNAKY "CR" ZNAMENAJI POUHE STISKNUTI KLAVESY
NAVRAT VOZU (NE STISKNUTI UVOZOVEK!).
GOTO:
PRIKAZ GOTO UMOZNUJE START UZIVATELSKYCH PROGRAMU. MA DVA
VSTUPNI PARAMETRY: STARTOVACI ADRESU PROGRAMU A NEPOVINNOU
(PRI STISKU "SP" PO START. ADRESE) ADRESU PRERUSENI BEHU
PROGRAMU S VYPISEM OBSAHU REGISTRU. V TOMTO PRIPADE SE NA
ADRESU 0037H UKLADA SKOK DO OBSLUHY PRERUSENI RST7, KOD TETO
INSTRUKCE SE PAK ULOZI NA PRISLUSNE MISTO V PROGRAMU. OBSAHY
BUNEK PROGRAMU ZUSTAVAJI ZACHOVANY V PRACOVNI OBLASTI PAMETI
A OBNOVI SE PRI PROVADENI TETO INSTRUKCE, TJ. PRI PRERUSENI
BEHU PROGRAMU NA ZVOLENE ADRESE, POKUD JE PRITOMNO ROZSIRENI
MONITORU V.3.X NEBO JDE O VERZI V.2.X. PRI SPOUSTENI PROGRAMU
LZE POCATECNI HODNOTY REGISTRU CPU NASTAVIT NAPR. PRIKAZEM
"VERIFY" NEBO "SUBST" V PRISLUSNE PRACOVNI OBLASTI PAMETI
(SPREG - HREG).
POZOR: KROKOVAT BEH PROGRAMU POMOCI TETO SLUZBY
LZE POUZE U PROGRAMU NAHRANYCH V PAMETI RAM,
TENTO REZIM U PAMETI EPROM NEMA SMYSL.
PRIKLAD: SPUSTENI PROGRAMU OD ADRESY 0F800H BEZ
NASTAVENI ADRESY PRERUSENI:
.G=F800"CR"
(PROVEDE SE STUDENY START MONITORU)
PRIKLAD: SPUSTENI PROGRAMU OD ADRESY 0100H S NASTAVENIM
ADRESY PRERUSENI NA 0100H:
.G=100"SP"=100"CR"
PC=0100=FF HL=00FF=DB SP=B7FB=0100
AF=00D7 BC=00FF BE=00FF
.
POZN. UVEDENY VYPIS SE PROVEDE POUZE V
ROZSIRENE VERZI MONITORU V.3.X NEBO VE VERI
V.2.X, OBSAHY REGISTRU <AF>, <BC>, <DE> A
<HL> MOHOU BYT ODLISNE.
-------------------------------- 13 -----------------------
-------------------------------------------------------------
DISPLAY:
PRIKAZ DISPL UMOZNUJE ZOBRAZENI LIBOVOLNEHO USEKU PAMETI. MA
DVA OPERANDY: POCATECNI A KONCOVOU ADRESU ZOBRAZOVANE OBLA-
STI. INFORMACE JE ZOBRAZOVANA HEXADECIMALNE I POMOCI ASCII
ZNAKU. TAM, KDE JE OBSAH BYTU K6DEM MALEHO PISMENE NEBO
RIDICIHO ZNAKU, ZOBRAZI SE V DOPLNKOVEM POLI KECKA.
PRIKLAD: ZOBRAZENI OBSAHU PRVNICH SESTI BYTU PAMETI.
.D=0"SP~=5"SP"
0000 C3 5A F8 E4 FF B7 .Z....
.
POZN. OBSAH BUNEK MUZE BYT ODLISNY.
FILL:
PRIKAZ FILL ZAPLNI OBSAH URCENE OBLASTI PAMETI ZADANYM ZNA-
KEM. MA TRI OPERANDY: POCATECNI A KONCOVOU ADRESU PAMETOVE
OBLASTI A HEXADECIMALNI JEDNOBYTOVY OBSAH.
PRIKLAD: ZAPLNENI OBLASTI PAMETI 0040H AZ 004FH
OBSAHEM 55H.
.F=40"SP"=4F"SP"=55"SP"
.
MOVE:
PRIKAZ MOVE PRENASI OBSAH ZADANE OBLASTI PAMETI NA JINE MISTO
V PAMETI. MA TRI VSTUPNI PARAMETRY: POCATECNI A KONCOVOU
ADRESU ZDROJOVE OBLASTI A ADRESU URCENI.
PRIKLAD: PRESUN OBLAST PAMETI 0100H AZ 01FFH NA ADRESY
0300H AZ 03FFH.
.M=100"SP"=1FF"SP"=300"SP"
.
OUTPUT:
PRIKAZ OUTPUT UMOZNUJE ZAPSAT NA LIBOVOLNY PORT ZADANOU
HODNOTU. MA DVA PARAMETRY, PRVNI JE ADRESA PORTU. DRUHY JE
ZAPISOVANA HODNOTA. PRIKAZ POUZIVA SKRYTE OBLASTI ZOBRAZOVACI
PAMETI, KDE SIMULUJE INSTRUKCI OUT.
PRIKLAD: ZAPIS HODNOTY 88H NA PORT #55H.
.O=55"SP"=88"CR"
.
-------------------------------- 14 -----------------------
-------------------------------------------------------------
INPUT:
PRIKAZ INPUT UMOZNUJE PRECIST HODNOTU LIBOVOLNEHO PORTU A
ZOBRAZIT JI. MA JEDINY PARAMETR, ADRESU ZVOLENEHO PORTU. K
TOMU POUZIVA SKRYTE OBLASTI ZOBRAZOVACI PAMETI, KAM SIMULUJE
KOD INSTRUKCE IN.
PRIKLAD: PRECTENI OBSAHU PORTU S ADRESOU #33H.
.I=33"SP"=FF
.
VERIFY: (NENI VE VERZI V.2.X)
PRIKAZ UMOZNUJE ZMENIT OBSAHY PRACOVNIHO POLE, URCUJICI
NASTAVENI HODNOT REGISTRU PRI STARTU UZIVATELSKEHO PROGRAMU
PRIKAZEM GOTO. PO VYVOLANI PRIKAZU SE OBJEVI VZDY ZKRATKA
REGISTRU A STARY OBSAH, NACEZ SE CEKA NA ZADANI NOVEHO
OBSAHU. STISKNUTIM MEZERY (SP) SE STARY OBSAH NEMENI (NAVIC
SE ZOBRAZI), NOVY OBSAH SE ZADA STISKNUTIM (CR) ZA NOVYM
CISLEM (JEDEN BYTE).
PRIKLAD: ZMENIT OBSAH REGISTRU <A> NA 66H, <HL> NA
5432H A <DE> NA 4567H.
.V
S=FF="SP"FF (POZN. DOLNI BYTE SP)
P=7F="SP"7F (POZN. HORNI BYTE SP)
H=FF=54"CR"
L=FF=32"CR"
D=FF=45"CR"
E=FF=67"CR"
B=FF="SP"FF
C=FF="SP"FF
A=FF=66"CR"
F=00="SP"00
.
HEXADECIMAL ADD: (NENI VE VERZI V.2.X)
PRIKAZ SLOUZI PRO VYPOCET HEXADECIMALNIHO SOUCTU A ROZDILU
DVOU HEXADECIMALNICH CISEL, ZADANYCH JAKO PARAMETRY PRIKAZU.
PRIKLAD: SOUCET CISEL 0000H A 0001H:
.H=0000"SP"=0001"SP"0001 FFFF
.
-------------------------------- 15 -----------------------
-------------------------------------------------------------
7. POPIS SLUZEB MONITORU
---------------------------
PRO MONITOR PLAN 80A JE CHARAKTERISTICKA TABULKA SKOKU
DO SLUZEB MONITORU, KTERA JE U VSECH VERZI STEJNA A NACHAZI
SE NA TEMZE MISTE, TJ. OD ADRESY 0F800H.
0F800H.....COLDST......STUDENY START M_NITORU
0F803H.....CI..........VSTUP Z KONZOLY <A>
*0F806H.....RI..........VSTUP ZE SERIOVEHO PORTU <A>
0F809H.....CO..........VYSTUP NA KONZOLU <C>
*0F8GCH.....PO..........VYSTUP NA SERIOVY PORT <C>
*0F80FH.....LO..........VYSTUP NA TISKARNU
0F812H.....CSTS........STAVOVY PORT KONZOLY <A>
*0F815H.....IOCHK.......ZJISTENI I/O-BYTU <A>
*0F818H.....IOSET.......NASTAVENI I/O-BYTU <C>
*0F81BH.....MEMCK.......ZJISTENI KONCE UZIV. PAMETI RAM <AB>
*0F81EH.....IODEF.......NASTAVENI UZIVATELSKYCH V/V <C>
0F821H.....INTER.......SKOK DO OSETRENI PRERUSENI
0F824H.....CRLF........NOVY RADEK
0F827H.....EXPR........VSTUP PARAMETRU, POCET C <C>
0F82AH.....ERROR.......VYPIS '#' NA OBRAZOVKU
0F82DH.....ASHEX.......PREVOD ASCII NA HEX, <A>
0F830H.....DADR........ZOBRAZENI OBSAHU <HL>
0F833H.....DBYTE.......ZOBRAZENI OBSAHU <A>
*0F836H.....BHILO.......INKREMENTACE <HL> A SROVNANI S <DE>
0F839H.....NEXT........TEPLY START MONITORU
0F83CH.....SPACE.......MEZERA NA CO
0F83FH.....CINCR.......VSTUP A ROZPOZNANI PRIKAZU
*0F842H.....IMTXT.......ZOBRAZENI BEZPROSTREDNE NASL. TEXTU
0F845H.....ADRKUR......ADRESA KURZORU DO <HL>
0F848H.....HXASC.......PREVOD HEX NA ASCII
*0F84BH.....TIMER.......CEKANI <BC> MILISEKUND
0F84EH.....GETADR......ADRESA MONITOROVSKE PROMENNE <HL>
0F851H.....STJMB.......ULOZENI <DE> NA [<HL>]
0F854H.....ECHO........VSTUP A ZOBRAZENI ZNAKU <A>
*0F857H.....BACST.......POSUN KURZORU O JEDNU POZICI ZPET
JEDNOTLIVE SLUZBY UVEDENE V TABULCE LZE VOLAT JAKO
PODPROGRAMY V UZIVATELSKYCH PROGRAMECH, CIMZ SE JEJICH DELKA
PODSTATNE ZKRATI. NAVIC SE TYTO PROGRAMY STANOU POUZITELNE
PRO VSECHNY VERZE MONITORU SYSTEMU PLAN 80A (POKUD SAMOZREJME
NEVYUZIVAJI SPECIALNICH MOZNOSTI JEDNOTLIVYCH VERZI, NAPR.
PLNE GRAFIKY). NASLEDUJE POPIS JEDNOTLIVYCH SLUZEB MONITORU.
POZOR! SLUZBY OZNACENE "*" JSOU PRISTUPNE VE VERZI
V.3.X POUZE V ROZSIRENI. JEJICH VYVOLANI V
ZAKLADNI VERZI MONITORU VEDE K NEDEFINOVANEMU
CHOVANI SYSTEMU.
-------------------------------- 16 -----------------------
-------------------------------------------------------------
COLDST
^^^^^^
STUDENY START MONITORU, JE POPSAN V KAPITOLE 2.2.
CI
^^
PODPROGRAM CI (CONSOLE INPUT) UMOZNUJE VSTUP ZNAKU Z KLAVES-
NICE A BLIKANI ZNAKU DANEHO KURZOREM. VSTUPNI ZNAK JE V
REGISTRU <A>. TATO SLUZBA MA V ZAKLADNI VERZI MONITORU V.3.X
OMEZENOU FUNKCI, PROVADI POUZE VSTUP ZNAKU BEZ BLIKANI KURZO-
RU NEBO ZVUKOVEHO SIGNALU PO PRIJETI ZNAKU. PRI PRIPOJENEM
ROZSIRENI MONITORU V.3.X NEBO VE VERZI V.2.X SE ZAJISTUJE JAK
BLIKANI KURZORU, TAK I ZVUKOVY SIGNAL PRI PRIJETI ZNAKU.
VE VERZI V.3.X SE PRI STISKNUTI ZNAKU BLANK (00H = 'CTRL @')
A PRI PRITOMNOSTI MAGNETOFONU VYVOLA PRIKAZ UZAVRENI SOUBORU
"CLOSE". PRI VSTUPU ZNAKU JE VE VERZI V.3.X AUTOMATICKY
NULOVAN BIT D7 A JE PROVEDEN PREVOD MALYCH PISMEN NA PISMENA
VELKA.
POSKOZENE REGISTRY: A,F
PRIKLAD: CEKACI SMYCKA NA STISKNUTI KLAVESY "SP", TJ.
MEZERY:
SEM: CALL CI
CPI 20H
JNZ SEM
RI (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(READER INPUT) JDE O SKOK NA SPOJOVACI ADRESU PRO SERIOVY
VSTUP.
POSKOZENE REGISTRY: - - -
PRIKLAD: ULOZENI 100 BYTU DAT Z DERNE PASKY DO PAMETI
OD ADRESY 320H:
LXI H,320H
MVI C,100
SEM: CALL RI
MOV M,A
INX H
DCR C
JNZ SEM
-------------------------------- 17 -----------------------
-------------------------------------------------------------
CO
^^
PODPROGRAM CO (CONSOLE OOTPOT) PROVADI VYSTUP ZNAKO ULOZENEHO
V REGISTRO <C> NA OBRAZOVKU NA MISTO URCENE SOURADNICEMI
LINECO A CHARCO. SOUCASNE SIMULUJE CHOVANI HARDWAROVE KONZOLY
PRO ZNAKY FF, BS, CR, LF, HT, HOME, DL, DSCR A BELL (VIZ.
KAPITOLA 2.8.). REAKCE NA RIDICI ZNAKY JE VSAK ODLISNA V
ZAKLADNI A ROZSIRENE VERZI MONITORU V.3.X. DEKODER FONKCNICH
ZNAKU LZE VE VERZI V.3.X ROZSIROVAT NASLEDOVNE:
1. V BONCE [DISRAM+CONEXP+1] A [DISRAM+C0NEXP+2] NASTAVIME
ADRESU ROZSIROJICI CASTI DEKODERU (ZDE DEKEXP).
2. VYTVORIME ROZSIRUJICI CAST DEKODERU NASLEDOVNE:
DEKEXP: CPI ZN1
JZ SOBR1
CPI ZN2
JZ SOBR2
.
.
.
JMP CO1
3. JEDNOTLIVE OBSLUZNE PODPROGRAMY SUBR1,SUBR2,... MUSI MIT
TVAR:
SUBRX: PUSH PSW
PUSH B
PUSH H
PUSH D
.
. VLASTNI CINNOST
.
POP D
POP H
POP B
POP PSW
RET
POZN. UCHOVAVAME JEN NEFUNKCNI POSKOZOVANE REGISTRY.
PO (NENI O ZAKLADNI VERZE V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(PONCH OUTPUT) JDE O SKOK NA SPOJOVACI ADRESU HANDLERU
VYSTUPNIHO ZARIZENI PRO SERIOVY VYSTUP (OBVYKLE DEROVAC DERNE
PASKY).
POSKOZENE REGISTRY: - - -
-------------------------------- 18 -----------------------
-------------------------------------------------------------
PRIKLAD: VYDEROVANI ZNAKU VKLADANYCH Z KLAVESNICE:
SEM: CALL CL
MOV C,A
CALL PO
JMP SEM
LO (NENI U ZAKLADNI VERZE V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(LIST OUTPUT) JDE O SKOK NA SPOJOVACI ADRESU HANDLERU VYSTUP
NA TISKARNU.
POSKOZENE REGISTRY: - - -
PRIKLAD: VYPIS OBSAHU PAMETI OD ADRESY 0100H, DO KTERE
BYL DRIVE ZAPSAN SOUBOR ASCII ZNAKU V DELCE
150 BYTU.
LXI H,100H
MVI B,150
SEH: MOV C,M
CALL LO
INX H
DCR C
JNZ SEM
CSTS
^^^^
PODPROGRAM CSTS (CONSOLE STATUS) ZJISTUJE U VERZE V.3.X STAV
OBVODU 8212 (KLAVESNICE). POKUD <A> = 08H, FF-Z = 0, PAK
OBVOD 8212 OBSAHUJE PLATNY ZNAK, POKUD <A> = 00H, FF-Z = 1,
PAK OBVOD 8212 NEMA PLATNY ZNAK. U VERZE V.2.X JE OBVODOVE
RESENI NAHRAZENO PROGRAMEM, CHOVANI JE STEJNE.
POSKOZENE REGISTRY: A,F
PRIKLAD: CAST VETSIHO CYKLU, VSTUP HODNOTY Z KLAVESNI-
CE POUZE PRI STISKNUTI KLAVESY:
CALL CSTS
CNZ CI
IOCHK (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAH IOCHK (INPUT-OUTPUT CHECK) ULOZI DO REGISTRU <A>
PLATNY I/O-BYT, TJ. OBSAH ADRESY 0003H.
POSKOZENE REGISTRY: A
-------------------------------- 19 -----------------------
-------------------------------------------------------------
POZN. Z PROSTOROVYCH DUVODU NEBYLA OPROTI MONITORUM
"INTELOVSKEHO" TYPU ZAHRNUTA FUNKCE I/O BYTU. MONITORY
SYSTEMU PLAN80A UMOZNUJI PROPOJOVANI V/V ZARIZENI POUZE NA
UROVNI HANDLERU POUZITIM SLUZBY IODEF.
IOSET (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAM IOSET (INPUT-OUTPUT SET) PROVEDE ULOZENI OBSAHU
REGISTRU <C> NA ADRESU 0003H, TJ. UPRAVU STAVAJICIHO I/O
BYTU.
POSKOZENE REGISTRY: - - -
MEMCK (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAM MEMCK (MEMORY CHECK) ULOZI DO REGISTRU <B> HORNI A
DO REGISTRU <A> DOLNI BYTE ADRESY KONCE UZIVATELSKE PAMETI.
TU ZISKA Z PROMENNE UREND MONITORU.
POSKOZENE REGISTRY: A,F,B
IODEF (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAM IODEF (INPUT-OUTPUT DEFINITION) UMOZNUJE NASTAVIT
UZIVATELSKE ADRESY PRO VSTUPNE/VYSTUPNI ZARIZENI. NOVA SPOJO-
VACI ADRESA UZIVATELSKEHO HANDLERU SE ULOZI DO REGISTRU <DE>.
DRUH ZARIZENI JE URCEN OBSAHEM REGISTRU <C> A ZNAMENA:
0 ... CI
1 ... CO
2 ... RI
3 ... NEPOUZITO
4 ... PO
5 ... NEPOUZITO
6 ... LO
7 ... CSTS
8 ... MEMTOP (NENI VE VERZI V.2.X)
POSKOZENE REGISTRY: A,F
POZOR! V PRIPADE, ZE <C>=8, TJ. JDE O ZMENU OBSAHU
BUNKY RAMEND, JE NUTNE DODRZET SPECIALNI
POSTUP, PRI NEMZ NEJDRIVE PRENESEME OBSAHY
VSECH SKRYTYCH MONITOROVSKYCH PROMENNYCH. PRI
NEDODRZENI TOHOTO POSTUPU JE CHOVANI SYSTEMU
NEDEFINOVANE.
-------------------------------- 20 -----------------------
-------------------------------------------------------------
PRIKLAD: NASTAVENI SPOJOVACI ADRESY PRO DEROVAC DERNE
PASKY NA HODNOTU 0580H, KDE JE UMISTEN UZIVA-
TESLKY HANDLER TOHOTO ZARIZENI:
LXI D,580H
MVI C,4
CALL IODEF
INTER
^^^^^
INTER OSETRUJE PRERUSENI. OBSAHY REGISTRU SE ULOZI DO PRACOV-
NIHO POLE PAMETI PRIKAZU GOTO. DALE SE ZJISTI, ZDA SLO O
PRERUSENI SOFTVAROVE NEBO HARDWAROVE. POKUD BYLO SOFTWAROVE,
URCI SE POMOCI OBSAHU PROMENNE BRADR, ZDA SLO O PRERUSENI
VYVOLANE PRERUSOVACI ADRESOU PRIKAZU GOTO. POKUD ANO, OBNOVI
SE PUVODNI KOD NA TETO ADRESE. JE-LI PRITOMNO ROZSIRENI
MONITORU, PROVEDE SE NAVIC ZOBRAZENI OBSAHU VSECH REGISTRU
A SKOK NA TEPLY START MONITORU.
POSKOZENE REGISTRY: A,F,B,C,D,E,H,L,SP
CRLF
^^^^
PODPROGRAM CRLF PROVEDE VYSLANI ZNAKU "CR" = 0DH A "LF" = 0AH
PRES PODPROGRAM "CO". (VIZ KAPITOLA 2.8.).
POSKOZENE REGISTRY: - - -
EXPR
^^^^
PODPROGRAM EXPR UMOZNUJE VSTUP PARAMETRU (ADRES,BYTU) DO
PROGRAMU. POCET PARAMETRU JE V REGISTRU <C>. JEUNOTLIVE
PARAMETRY UKLADA POSTUPNE DO ZASOBNIKU.
POSKOZENE REGISTRY: A,F,B,C,H,L,SP
PRIKLAD: VSTUP JEDNOHO PARAMETRU DO REGISTROVEHO
PARU <BC>:
MVI C,1
CALL EXPR
POP B
-------------------------------- 21 -----------------------
-------------------------------------------------------------
ERROR
^^^^^
PODPROGRAM ERROR PROVADI VYPIS HLASENI O VYSKYTU CHYBY VE
FORME DVOJITEHO KRIZKU (#).
POSKOZENE REGISTRY: - - -
ASHEX
^^^^^
PODPROGRAM ASHEX (ASCII-HEX) PROVADI PREVOD HEX. CISLA ZADA-
NEHO POMOCI ASCII ZNAKU NA HEX. HODNOTU. PUVODNI ZNAK JE V
REGISTRU <A>, VYSLEDEK V REGISTRU <A>. AUTOMATICKY POSOUVA
RAD PRI VICENASOBNEM VOLANI.
POSKOZENE REGISTRY: A,F
PRIKLAD: PREVOD VSTUPNIHO HEXADECIMALNIHO CISLA
V ROZSAHU 0 AZ F NA BINARNI CISLO V <A>:
CALL CI
CALL ASHEX
DADR A DBYTE
^^^^^^^^^^^^
PODPROGRAM DADR, RESP. DBYTE (DISPLAY ADDRESS, RESP. BYTE)
SLOUZI K ZOBRAZENI ADRESY (BYTU) ULOZENEHO V REGISTRECH <HL>
(RESP. V REG. <A>) NA OBRAZOVCE POMOCI HEXADECIMALNI NOTACE.
POSKOZENE REGISTRY: A,F,C
PRIKLAD: ZOBRAZENI OBSAHU <BC> A <D>:
PUSH B
POP H
CALL DADR
CALL SPACE
MOV A,D
CALL DBYTE
HILO
^^^^
PODPROGRAM HILO PROVEDE INKREMENTACI PARU <HL> A JEHO
SROVNANI S PAREM <DE>. VYSLEDEK ULOZI DO PRIZNAKU. PRI
NASTAVENEM FF-Z JE <HL>=<DE>. PRI NASTAVENEM FF-C JE <HL> >
<DE>. POKUD JE <HL>=FFFFH UKONCI SE S FF-Z=1,FF-C=1.
POSKOZENE REGISTRY: A,F,H,L
-------------------------------- 22 -----------------------
-------------------------------------------------------------
PRIKLAD: CYKLUS S 1258 PRUBEHY:
LXI H,0
LXI D,1258
SEH: (TELO CYKLU)
CALL HILO
JNZ SEM
NEXT
^^^^
JDE O "TEPLY" START MONITORU, JEHOZ CHOVANI JE POPSANO V
KAPITOLE 2.2.
SPACE
^^^^^
PODPROGRAM SPACE PROVEDE VYPIS MEZERY POMOCI PODPROGRAMU "CO"
(VIZ. KAPITOLA 2.8.).
POSKOZENE REGISTRY: - - -
CINCR
^^^^^
PODPROGRAM CINCR PROVADI VSTUP, ZOBRAZENI A ANALYZU ZNAKU Z
KLAVESNICE. ZNAK JE V REGISTRU <A>, PODLE JEHO HODNOTY JSOU
NASTAVENY PRIZNAKY NASLEDOVNE:
ZNAKY FF-C FF-Z
, SP 0 1
CR 1 1
OSTATNI 0 0
POSKOZENE REGISTRY: A,F
PRIKLAD: PRI VSTUPNIM ZNAKU "CR" SKOK NA ADR1,
PRI VSTUPNIM ZNAKU "SP" SKOK NA ADR2:
CALL CINCR
JC ADR1
JZ ADR2
IMTXT (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAM IMTXT (IMMEDIATE TEXT) UMOZNUJE VYPIS RETEZCU
ZNAKU BEZPROSTREDNE NASLEDUJICICH ZA VYVOLANIM PODPROGRAMU
-------------------------------- 23 -----------------------
-------------------------------------------------------------
IMTXT POMOCI "CO", POSLEDNIM (TISKNUTYM) ZNAKEM JE ZNAK S
D7=1. POUZ1VA NESTANDARTNE ZASOBNIK !
POSKOZENE REGISTRY: H,L,C,A,F
PRIKLAD: VYTISKNUTI TEXTU "JIRI KOUPIL BAREVNOU
TELEVIZI":
CALL IMTXT
DB 'JIRI KOUPIL'
DB ' BAREVNOU TELEVIZ','I' OR 80H
ADRKUR
^^^^^^
PODPROGRAM ADRKUR VYPOCITA ZE SOURADNICOVYCH UKAZATELU LINECO
(CITAC RADKU) A CHARCO (CITAC ZNAKU) FYZICKOU ADRESU MISTA V
OBRAZOVE PAMETI, KDE SE NACHAZI NA OBRAZOVCE KUZROR, VYSLED-
NOU ADRESU UKLADA DO REGISTRU <HL>.
POSKOZENE REGISTRY: H,L
PRIKLAD: ZOBRAZENI TECKY NA POZICI KURZORU:
CALL ADRKUR
MVI M,'.'
HXASC
^^^^^
PODPROGRAM HXASC (HEX - ASCII) PROVADI PREVOD HEXADECIMALNI
HODNOTY NA KOD ZNAKU ASCII. HEXADECIMALNI HODNOTA JE V
REGISTRU <A>, KOD ZNAKU V REGISTRU <C>.
POSKOZENE REGISTRY: C
PRIKLAD: ZOBRAZENI HEXADECIMALNE REGISTRU <A>:
PUSH PSW
RRC
RRC
RRC
RRC
ANI 0FH
CALL HXASC
CALL CO
POP PSW
ANI 0FH
CALL HXASC
CALL CO
-------------------------------- 24 -----------------------
-------------------------------------------------------------
TIMER (NENI V ZAKLADNI VERZI V.3.X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PODPROGRAM VYTVORENI PRODLEVY <BC> MILISEKUND, POCITA SE
ZPOMALENIM CINNOSTI MIKROPOCITACE PLAN 80A O ASI 17% VLIVEM
ZOBRAZOVANI.
POSKOZENE REGISTRY: - - -
GETADR
^^^^^^
PODPROGRAM GETADR UMOZNUJE VYPOCET ADRESY PROMENNYCH UMISTE-
NYCH V NEVYUZITE CASTI PAMETI RAM URCENE PRO UCHOVANI OBRAZU.
VSTUPNI PROMENNOU JE ODSTUP OD ZACATKU DISRAM, UKLADA SE DO
<HL>, VYSLEDNA ADRESA JE OPET V <HL>.
POSKOZENE REGISTRY: H,L
PRIKLAD: ULOZENI OBSAHU MONITOROVSKE PROMEN-
NE "LINECO" DO <A>:
LXI H,LINECO
CALL GETADR
MOV A,M
STJMB
^^^^^
PODPROGRAM SLOUZI K ULOZENI HODNOTY Z REGISTROVEHO PARU <DE>
DO PAMETI, NA MISTO URCENE ADRESOU V REGISTROVEM PARU <HL> A
<HL+1>. PRVNI SE UKLADA REGISTR <E>.
POSKOZENE REGISTRY: H,L
ECHO
^^^^
PODPROGRAM ECHO PROVADI VSTUP ZNAKU PRES PODPROGRAM "CI" A
JEHO ZOBRAZENI POMOCI PODPROGRAMU "CO". ZNAK JE ULOZEN V
REGISTRU <A>.
POSKOZENE REGISTRY: A,F
-------------------------------- 25 -----------------------
-------------------------------------------------------------
8. PREHLED ADRES V/V ZARIZENI
--------------------------------
--------------------------------------------------------------------
I A7 A5 A3 I A1 A0 I A1 A0 I A1 A0 I A1 A0 I
I A6 A4 A2 I 0 0 I 0 1 I 1 0 I 1 1 I
I--------------I------------I------------I------------I------------I
I X X 0 0 0 0 I ST/OP <RW> I ST/OP (RW) I ST/OP (RW) I ST/OP <RW> I
I--------------I------------I------------I------------I------------I
I X X 0 0 0 1 I D '12 (RO) I D '12 (RO) I D '12 (RO) I D '12 (R0) I
I--------------I------------I------------I------------I------------I
I X X 0 0 1 0 I A '55 (RW) I B '55 (RW) I C '55 (RW) I CT'55 (RW) I
I--------------I------------I------------I------------I------------I
I X X 0 0 1 1 I KEY? (WO) I KEY? (WO) I KEY? (WO) I KEY? (WO) I
I--------------I------------I------------I------------I------------I
I X X 0 1 0 0 I BEEP (WO) I BEEP (WO) I BEEP (WO) I BEEP (WO) I
I--------------I------------I------------I------------I------------I
I X X 0 1 0 1 I '14 M (WO) I '14 M (WO) I '14 M (WO) I '14 M (WO) I
I--------------I------------I------------I------------I------------I
I X X 0 1 1 0 I ABRES (RW) I ABRES (RW) I ADRES (RW) I ADRES (RW) I
I--------------I------------I------------I------------I------------I
I X X 0 1 1 1 I ADSET (WO) I ADSET (WO) I ADSET (WO) I ADSET (WO) I
--------------------------------------------------------------------
KDE: X '55 JE REGISTR X OBVODU 8255
D '12 JE VYSTUPNI PORT OBVODU 8212
ST/OP JE OBOOSMERNY PORT STAVOVE INFORMACE/VYSTUPU
'14 M JE MASKOVACI PORT OBVODO 8214
ADRES JE SIGNAL NULOVANI REGISTRU ADRESY ZOBRAZOVANI
ADSET JE SIGNAL ZAPISU ADRESY DO REGISTRU ZOBRAZOVANI
KEY? JE TEST PRITOMNOSTI SOFTWAROVE KLAVESNICE
(WO) JE POUZE VYSTUPNI PORT (VZHLEDEM K SYSTEMU)
(RO) JE POUZE VSTUPNI PORT (POUZE OPERACE CTENI)
(RW) JE OBOOSMERNY PORT
9. SIMULACE KONZOLY
----------------------
VYSTUPNI ZARIZENI PRO KOMUNIKACI S OPERATOREM, TZV.
KONZOLA, JE SIMULOVANA PODPROGRAMEM "CO". ZAJISTUJE POMOCI
SOUBORU DALSICH PODPROGRAMU ZOBRAZOVANI ZNAKU A SPECIALNI
CINNOSTI PODLE RIDICICH ZNAKU. PODPROGRAM "CO" REAGUJE NA
NASLEDUJICI RIDICI ZNAKY VYVOLANIM PRISLUSNYCH PODPROGRAMU:
CR.....0DH........CARRET.....CARRIAGE RETURN
LF.....0AH........LINEF......LINE FEET
BS.....08H........BACST......BACK STEP
FF.....0CH........FORFI......FORM FEET
HOME...1DH........GHOME......GO HOME
DL.....1EH........DELLIN.....DELETE LINE
DSCR...1FH........DELSCR.....DELETE SCREEN
BELL...07H........BEEPS......BEEP SIGNAL
-------------------------------- 26 -----------------------
-------------------------------------------------------------
CARRET
^^^^^^
PODPROGRAM CARRET UMISTI KURZOR NA ZACATEK PRUBEZNEHO RADKU.
LINEF
^^^^^
PODPROGRAM LINEF PROVADI PRECHOD NA NOVY RADEK. POKUD JDE O
RADEK POSLEDNI, PAK VE VERZI V.3.X SLEDUJE PRITOMNOST
ROZSIRENI MONITORU. PRI JEHO PRITOMNOSTI (VE VERZI V.2.X
VZDY) VYVOLA PODPROGRAM ROLL. PRI NEPRITOMNOSTI ROZSIRENI VE
VERZI V.3.X PROVEDE PRECHOD NA PRVNI ZOBRAZOVANY RADEK.
PODPROGRAM ROLL PROVADI ROLOVANI OBSAHU OBRAZOVKY (TJ.
OBRAZOVE PAMETI DISRAM) O JEDEN RADEK NAHORU. PRITOM HORNI
RADEK SE ZTRACI, SPODNI RADEK ZUSTAVA NEPORUSEN (ZDVOJUJE
SE). POZICE KURZORU V RADKU ZUSTANE NEZMENENA.
GHOME
^^^^^
PODPROGRAM GHOME PREMISTI KURZOR DO LEVEHO HORNIHO ROHU OBRA-
ZOVKY.
DELSCR
^^^^^^
PODPROGRAM DELSCR PROVEDE VYMAZ OBRAZOVKY POCINAJE (VCETNE)
RADKU, NA KTEREM JE KURZOR.
FORFI
^^^^^
PODPROGRAM FORFI PROVEDE VYMAZ CELE OBRAZOVKY A UMISTI KURZOR
DO LEVEHO HORNIHO ROHU OBRAZOVKY.
BACST
^^^^^
PODPROGRAM BACST POSOUVA KURZOR O JEDENU POZICI DOLEVA. POKUD
SE NACHAZI NA PRVNI POZICI NA RADKU PREJDE NA POSLEDNI POZICI
PREDCHOZIHO RADKU. PRI DOSAZENI PRVNIHO ZNAKU NA PRVNIM RADKU
ZADNOU DALSI CINNOST NEPROVADI.
DELLIN
^^^^^^
PODPROGRAM DELLIN VYMAZE RADEK OD MISTA KURZORU.
BEEPS
^^^^^
PODPROGRAM BEEP PROVADI GENERACI ZVUKOVEHO SIGNALU ZADANE
DELKY "BEEPLN" A VYSKY "BEEPFQ".
-------------------------------- 27 -----------------------
-------------------------------------------------------------
P L A N 8 0 A
M O D E M M A G N E T O F O N U
==================================================
UZIVATELSKY MANUAL
04.10.1988
(verze pro tisk ve v.d. Drukov)
-------------------------------------------------------------
-------------------------------------------------------------
O B S A H
=========
1. UVOD ....................................... 3
2. PRAVIDLA OBSLUHY PROGRAMOVEHO VYBAVENI ..... 4
3. PREHLED OVLADACIEH PRIKAZU ................. 5
4. POPIS OVLADACICH PRIKAZU ................... 5
4.1. PRIKAZ U ... "UNNAMED" ..................... 5
4.2. PRIKAZ W ... "WRITE" ....................... 6
4.3. PRIKAZ E ... "END OF FILE" ................. 6
4.4. PRIKAZ R ... "READ" ........................ 6
4.5. PRIKAZ P ... "PUT" ......................... 6
4.6. PRIKAZ A ... "APPEND" ...................... 7
4.7. PRIKAZ Q ... "QUAFF" ....................... 7
4.8. PRIKAZ T ... "TAPE DIRECTORY" .............. 7
4.9. PRIKAZ L ... "LOAD MOTION" ................. 7
4.10. PRIKAZ J ... "JOIN" ........................ 7
5. HLASENI CHYB ............................... 8
6. FORMAT ZAZNAMU NA PASCE .................... 8
6.1. USPORADANI BLOKU ........................... 8
6.2. TYPY BLOKU ................................. 10
7. POPIS OVLADACIHO PROGRAMU .................. 11
7.1. WRITE ...................................... 11
7.2. READ ....................................... 12
7.3. EOF ........................................ 12
7.4. QUAFF ...................................... 12
7.5. PUT ........................................ 13
7.6. LOAD ....................................... 13
7.7. TAPE ....................................... 13
7.8. UNNAMED .................................... 14
7.9. KI ......................................... 14
7.10. KO ......................................... 14
7.11. JOIN ....................................... 15
7.12. CLOSE ...................................... 15
7.13. WRBUF ...................................... 15
7.14. RDBUF ...................................... 16
7.15. OPEN ....................................... 16
8. SEZNAM SPOJOVACICH ADRES ................... 17
9. OBVODOVY POPIS MODEMU MAGNETOFONU .......... 19
9.1. POPIS ZAPOJENI A CINNOSTI .................. 19
9.2. TESTOVANI MODEMU ........................... 21
10. ZKUSENOSTI Z PROVOZU MAGNETOFONU ........... 21
11. NAVOD K POUZITI MODEMU MAGNETOFONU ......... 22
-------------------------------- 2 ------------------------
-------------------------------------------------------------
1. UVOD
=======
ABY BYLA PRO STAVEBNICI PLAN 80A ZAJISTENA PROGRAMOVA
NAVAZNOST NA PROFESIONALNI MIKROPOCITACE, BYL NAPSAN OPERACNI
SYSTEM, KTERY DOVOLUJE NAHRADU PAPIROVE DERME PASKY POMOCI
KAZETGVEHO MAGNETOFONU.
PROGRAM OBSLUHY MODEMU UPRAVUJE SPOJOVACI ADRESY
PERIFERNICH ZARIZENI MIKROPOCITACE TAK, ZE KOMUNIKUJE PRES
MONITOROVSKE PODPROGRAMY PO A RI. TO MA ZA NASLEDEK, ZE PO
PROBEHNUTI INICIALIZACNIHO PODPROGRAMU S PRIRAZENIM ADRES LZE
POUZIVAT LIBOVOLNY "DERNOPASKOVY" PROGRAM (BASIC, EDITOR,
ASSEMBLER A POD.) S PRIPOJENYM MAGNETOFONEM.
OPROTI OBDOBNYM SYSTEMUM (NAPR. JPR-1 V4.X) MA NAVIC TU
VYHODU, ZE UMOZNUJE SOUCASNE OTEVRENI DVOU SOUBORU: JEDNOHO
PRO CTENI A DRUHEHO PRO ZAPIS. TATO FILOZOFIE UMOZNUJE
PROVADET EDICI NEBO PREKLAD DELSICH SOUBORU NEZ JE DELKA
UZIVATELSKE PAMETI RAM TAK, ZE SE PREPINA FUNKCE CTENI A
ZAPISU MAGNETOFONU A STRIDAJI SE KAZETY PRO CTENI A ZAPIS.
PRO ZARUCENI VYSSI SPOLEHLIVOSTI ZAZNAMU NA KAZETE, BYL
VYVINUT MODEM PRO KAZETOVY MAGNETOFON. MODEM PROVADI UPRAVU
ZAPISOVANEHO SIGNALU DO TVARU, KTERY JE PRO KOMERCNE
POUZIVANE MAGNETOFONY NEJVHODNEJSI. SOUCASNE ZAJISTUJE
OBVODOVE DEKODOVANI CTENYCH DAT. PREVZETIM TECHTO FUNKCI
MODEMEM JE MIKROPROCESORU MHB8080A UMOZNENO DOSAHNOUT VETSICH
PRENOSOVYCH RYCHLOSTI. JE POUZITO JEDNOPERIODOVE KMITOCTOVE
MODULACE SE SKOKOVOU ZMENOU DELKY PERIODY V OKAMZIKU PRUCHODU
NULOU. UVEDENY PRINCIP UMOZNUJE ZAZNAM A CTENI JEDNOTLIVYCH
BITU S PRENOSOVOU RYCHLOSTI AZ 4800 BD (KMITOCTY 3200 HZ A
6400 HZ).
VZHLEDEM K DELCE POUZITYCH VYROVNAVACICH PAMETI V
PROGRAMU BYLO NUTNE ROZDELIT ZAZNAM DO BLOKU. KAZDY BLOK
OBSAHUJE ZAVADECI MEZERU, SYNCHRONIZACNI ZNAKY, KONTROLNI
ZNAKY, NAZEV SOUBORU, PRIZNAK TYPU SOUBORU, CISLO SOUBORU A
BLOKU A 256 BYTU PRENASENYCH DAT. DELKA BLOKU A JEHO
USPORADANI JE NEMENNE. MEZIBLOKOVE MEZERY UMOZNUJI ZASTAVIT
MAGNETOFON A LIBOVOLNE DLOUHO ZPRACOVAVAT DATA PRECTENA
(ZAPISOVANA) DO VYROVNAVACI PAMETI.
-------------------------------- 3 ------------------------
-------------------------------------------------------------
2. PRAVIDLA OBSLUHY PROGRAMOVEHO VYBAVENI.
==========================================
V DALSIM POPISU SE BUDOU VYSKYTOVAT NASLEDUJICI OBJEKTY:
POCATECNI ADRESA, KONCOVA ADRESA, STARTOVACI ADRESA, NAZEV,
POZNAMKA, EDICE, PRERUSENI FUNKCE.
POCATECNI ADRESA JE 4 MISTNE HEX. CISLO NASLEDOVANE
KLAVESOU "SPACE" NEBO "CR". EDICE CISLA NENI MOZNA, PLATNE
JSOU POSLEDNI CTYRI ZADANE CIFRY.
KONCOVA ADRESA JE 4 MISTNE HEXADECIMALNI CISLO
NASLEDOVANE KLAVESOU "SPACE" NEBO "CR". EDICE CISLA NENI
MOZNA, PLATNE JSOU POSLEDNI CTYRI ZADANE CIFRY.
STARTOVACI ADRESA JE 4 MISTNE HEXADECIMALNI CISLO NASLE-
DOVANE KLAVESOU "SPACE" NEBO "CR". EDICE CISLA NENI MOZNA,
PLATNE JSOU POSLEDNI CTYRI ZADANE CIFRY.
NAZEV JE RETEZ 11 ZNAKU ASCII VYJMA ZNAKU "BS", "ESC" (U
KLAVESNICE TS5220004 JDE O KLAVESU "CS") A "CR", UKONCENY
ZNAKEM CR (POKUD NECHCEME ZADAVAT NASLEDUJICI POZNAMKU).
NEDOPORUCUJE SE POUZIVAT ASCII ZNAKU, KTERE NEKTERE SYSTEMY
NEZOBRAZUJI (NAPR. RIDICI ZNAKY, MALA PISMENA CI SEMIGRAFICKE
SYMBOLY). JEDNOTLIVE ZNAKY NAZVU LZE EDITOVAT KLAVESOU "BS".
MISTO KONKRETNIHO JMENA LZE POUZIT TZV. HVEZDICKOVE KONVENCE.
POKUD JE NA LIBOVOLNEM MISTE NAZVU ZADANA HVEZDICKA "*", PAK
JSOU PLATNE POUZE PRED NI UVEDENE ZNAKY. HVEZDICKA NA PRVNIM
MISTE ZNAMENA LIBOVOLNY NAZEV.
POZNAMKA JE RETEZ ZNAKU, NASLEDUJICI ZA NAZVEM, UKONCENY
KLAVESOU "CR". SPOLU S NAZVEM SMI MIT CELKOVOU DELKU MAX. 230
ZNAKU. PRO ZNAKY POZNAMKY PLATI STEJNA PRAVIDLA JAKO U NAZVU.
POZNAMKU LZE EDITOVAT KLAVESOU "BS".
EDICE MA SMYSL V SOUVISLOSTI SE ZADAVANIM NAZVU A POZ-
NAMKY. SLOUZI K NI KLAVESA "BS", KTERA PROVEDE VYMAZ POSLEDNE
ZADANEHO ZNAKU A PRECHOD KURZORU NA JEHO POZICI.
PRERUSENI FUNKCE LZE ZPUSOBIT V LIBOVOLNEM REZIMU STIS-
KNUTIM KLAVESY "ESC". PRI REZIMECH, VE KTERYCH BY NA PASCE
MOHL VZNIKNOUT NEDEFINOVANY OBJEKT JE MOZNOST PRERUSENI POZ-
DRZENA DO OKAMZIKU, KDY JI LZE PROVEST (NAPR. PO ZAZNAMU
CELEHO BLOKU A POD.). V NEKTERYCH PRIPADECH PRI CTENI, KDY NA
VSTUPU MODEMU NENI PRIVADEN SIGNAL (KONEC PASKY, VYPNUTY
MAGNETOFON), MUZE DOJIT K ZABLOKOVANI FUNKCE PRERUSENI, KTERA
PRO SVOU CINNOST NUTNE VYZADUJE PROMENNY SIGNAL NA VSTUPU.
POKUD K TOMU DOJDE, STACI PRIVEST NA VSTUP MODEMU NEKOLIKANA-
SOBNOU ZMENU SIGNALU (V PRAXI STACI STISKNOUT KLAVESU "ESC" A
NEKOLIKRAT ZAPNOUT A VYPNOUT MAGNETOFON).
-------------------------------- 4 ------------------------
-------------------------------------------------------------
3. PREHLED OVLADACICH PRIKAZU
==============================
---------------------------------------------------------I
I KLAVESA I F U N K C E I
I----------I---------------------------------------------I
I U I ZAPIS HLAVICKY - NAZVU KAZETY I
I----------I---------------------------------------------I
I W I ZAPIS HEXADECIMALNIHO SOUBORU INTEL I
I----------I---------------------------------------------I
I E I ZAPIS HEX. UZAVIRACIHO SOUBORU INTEL I
I----------I---------------------------------------------I
I R I CTENI HEXADECIMALNIHO SOUBORO INTEL I
I----------I---------------------------------------------I
I P I ZAPIS BINARNIHO SOOBORU I
I----------I---------------------------------------------I
I A I PRIPOJENI BINARNIHO SOOBORU I
I----------I---------------------------------------------I
I Q I CTENI BINARNIHO SOOBORO I
I----------I---------------------------------------------I
I T I VYPIS NAZVU A POZNAMEK VSECH SOOBORU I
I----------I---------------------------------------------I
I L I OVLADANI SPINACE MOTORKO MAGNETOFONO I
I----------I---------------------------------------------I
I J I INICIALIZACE PROGRAMU I SPOJOVACICH ADRES I
----------------------------------------------------------
POZN. JEDNOTLIVE PRIKAZY SE VOLAJI UVEDENYMI KLAVESAMI
V MONITORU, KTERY AUTOMATICKY ZAJISTI SKOK DO PRISLUSNEHO
PODPROGRAMU OBSLUHY MAGNETOFONU.
4. POPIS OVLADACICH PRIKAZU
===========================
4.1. PRIKAZ U ... "UNNAMED"
---------------------------
PRIKAZ SE POUZIVA PRO VYTVORENI UVODNIHO BLOKU NA KA-
ZETE. PRI PROVADENI TOHOTO PRIKAZU JE NUTNO ZADAT NAZEV
KAZETY V DELCE 11 ZNAKU ASCII A POZNAMKU DO CELKOVE DELKY AZ
230 ZNAKU ASCII. UVEDENY RETEZEC ZNAKU UKONCIME KLAVESOU
"CR". NYNI SE PROGRAM ZEPTA, ZDA JE MAGNETOFON ZAPNUT NA
NAHRAVANI DOTAZEM "RECORD DONE?". PREPNEME PRISLUSNE
MAGNETOFON A STISKNEME LIBOVOLNOU KLAVESU JAKO POTVRZENI. PO
NAHRANI UVODNIHO BLOKU SE MAGNETOFON AUTOMATICKY ZASTAVI.
UVODNI BLOK MA ZAVADECI MEZERU DLOUHOU ASI 10 S, NEBOT ZACA-
TEK PASKY BYVA VELMI CASIO ZNEHODNOCEN LEPIDLEM ZE SLEPKY.
-------------------------------- 5 ------------------------
-------------------------------------------------------------
UVODNI SOUBOR SE PRI DALSI PRACI S MAGNETOFONEM ZOBRAZUJE
JAKO KAZDY JINY NAZEV NA KAZETE, NESMI VSAK BYT PRECTEN
NEKTERYM S PRIKAZU "G","R" A POD.
4.2. PRIKAZ W ... "WRITE"
-------------------------
PRIKAZ UMOZNUJE ZAPIS SOUBORU V HEXADECIMALNI INTEL
NORME. FORMAT ZAPISU ODPOVIDA FORMATU POUZITEMU U DERNE
PASKY. TENTO ZAPIS SE VYZNACUJE ZVYSENOU MOZNOSTI KONTROLY,
ZABIRA VSAK ASI 3 X VETSI PROSTOR NEZ ZAPIS BINARNI. PRIKAZ
MA DVA PARAMETRY: POCATECNI A KONCOVOU ADRESU. PO JEJICH
ZADANI SE PROGRAM ZEPTA NA JMENO POSLEDNIHO SOUBORU NA PASCE
(NEZNAME-LI, LZE SI VYPOMOCI HVEZDICKOVOU KONVENCI VIZ KAP.
2). PO DOTAZU "PLAY DONE?", PREPNUTI MAGNETOFONU NA CTENI
(PREDPOKLADA SE PREVINUTA PASKA NA ZACATEK) A POTVRZENI
STISKEM LIB. KLAVESY ZACNE PROGRAM VYHLEDAVAT POSLEDNI BLOK
UDANEHO SOUBORU. AZ HO NAJDE, ZEPTA SE NA JMENO PRAVE
ZAPISOVANEHO SOUBORU. PO JEHO ZADANI SI VYZADA POTVRZENI
"RECORD DONE?", ZE MAGNETOFON BYL PREPNUT NA ZAPIS. JE-LI
TOTO PROVEDENO A JE-LI STISKNUTA LIBOVOLNA KLAVESA, ZAPISUJE
SE CELY SOUBOR PO JEDNOTLIVYCH BLOCICH.
POZOR! PRIKAZ "W" NEUZAVIRA AUTOMATICKY ZAPSANY SOUBOR. JE
NUTNE POUZIT PRIKAZU "E" (ENB OF FILE).
4.3. PRIKAZ E ... "END OF FILE"
-------------------------------
PRIKAZ UMOZNUJE ZAPSAT STARTOVACI ADRESU, KTERA JE JEDI-
NYM JEHO PARAMETREM. NAVIC PROVEDE ZAPIS UZAVIRACIHO BLOKU.
TENTO PRIKAZ JE NUTNE PROVEST VZDY PO PRIKAZU "W".
POZN. NULOVA STARTOVACI ADRESA ZPUSOBI ZABLOKOVANI AUTOMATIC-
KEHO STARTU PROGRAMU PO JEHO ZAVEDENI DO PAMETI PRIKAZEM "R".
4.4. PRIKAZ R ... "READ"
------------------------
PRIKAZ UMOZNUJE CIST HEXADECIMALNI SOUBORY. MA JEDINY
PARAMETR: OFFSET, SE KTERYM SE DATA ULOZI DO PAMETI OPROTI
POLOZE, VE KTERE BYLY PRI ZAPISU. POKUD BYL PROGRAM ZAPSAN S
NENULOVOU STARTOVACI ADRESOU A OFFSET BYL NULOVY, PROVEDE SE
AUTOMATICKY SKOK NA TUTO ADRESU.
4.5. PRIKAZ P ... "PUT"
-----------------------
PRIKAZ UMOZNUJE ZAZNAM BINARNIHO SOUBORU. MA DVA PARAME-
TRY: POCATECNI A KONCOVOU ADRESU. STEJNE JAKO PRIKAZ "W"
VYHLEDA POSLEDNI SOUBOR NA KAZETE, NA JEHOZ JMENO SE ZEPTA,
-------------------------------- 6 ------------------------
-------------------------------------------------------------
SPOLU S DATY NESE INFORMACI O ADRESE, ZE KTERE BYLA DATA
PRECTENA. PO ZAPISU CELEHO SOUBORU PROVEDE AUTOMATICKY JEHO
UZAVRENI.
4.6. PRIKAZ A ... "APPEND"
--------------------------
TENTO PRIKAZ LZE POUZIT JEN PO PREDCHOZIM POUZITI PRIKA-
ZU "P". UMOZNUJE ZAPIS BINARNIHO SOUBORU BEZ NUTNOSTI VYHLE-
DAVANI POSLEDNIHO SOUBORU NA KAZETE. TZN, ZE ZAPISUJE PRIMO
OD MISTA, VE KTEREM SE NACHAZI. MA DVA VSTUPNI PARAMETRY:
POCATECNI A KONCOVOU ADRESU.
4.7. PRIKAZ Q ... "QUAFF"
-------------------------
PRIKAZ UMOZNUJE CIST BINARNI SOUBORY. MA JEDINY PARA-
METR: OFFSET, SE KTERYM SE MAJI DATA UMISTIT V PAMETI PROTI
POLOZE, VE KTERE BYLY PRI ZAPISU.
4.8. PRIKAZ T ... "TAPE DIRECTORY"
----------------------------------
PRIKAZ UMOZNUJE VYPIS NAZVU A POZNAMEK VSECH SOUBORU,
KTERE SE NACHAZEJI NA PASCE. TENTO PRIKAZ MAGNETOFON NEZASTA-
VI NA KONCI PASKY.
4.9. PRIKAZ L ... "LOAD MOTION"
-------------------------------
PRIKAZ UMOZNUJE ZAPINAT MOTOREK MAGNETOFONU PRO PREVIJE-
NI A POD. VYPNUTI MOTORKU SE PROVEDE PO STISKNUTI LIBOVOLNE
KLAVESY JAKO POTVRZENI OTAZKY "DONE?".
4.10. PRIKAZ J ... "JOIN"
-------------------------
PRIKAZ PROVADI INICIALIZACI PROGRAMU. PRITOM NASTAVUJE
PRACOVNI CITACE DO NULY, PRIRAZUJE SPOJOVACI ADRESY MONITORU
NA RI A PO A NULUJE PRIZNAK CHYBY I PRIZNAK ZASTAVENI PRI
CHYBE. PRIKAZ "J" SE DOPORUCUJE PROVEST PO VYSKYTU JAKEKOLIV
CHYBY.
-------------------------------- 7 ------------------------
-------------------------------------------------------------
5. HLASENI CHYB
---------------
VE VYVOJOVE VERZI PROGRAMU PRI VYSKYTU LIBOVOLNE CHYBY
SE HLASI JEJI CISLO ZA ZNAKEM "#". V LISTINOU PROGRAMU LZE
ZJISTIT, O KTEROU CHYBU JDE. V PRACOVNI VERZI PROGRAMU BYLO Z
PROSTOROVYCH DUVODU OD HLASENI CHYB CISLEM UPUSTENO, CHYBA SE
HLASI POUZE ZOBRAZENIM "#". PRI VZNIKU CHYB PRI CTENI SE
DOPORUCUJE CTENI OPAKOVAT. ABY NEDOCHAZELO K ZNEHODNOCENI
JEDINECNYCH DATOVYCH SOUBORU, DOPORUCUJRE SE PROVEST PO KAZ-
DEM ZAPISU KONTROLU CTENI PRIKAZEM "T". PRI VZNIKU CHYBY SE
ROZSVITI LED PRIZNAKU CHYBY NA DESCE PROPOJENI (MODEMU).
NASLEDUJE SEZNAM VSECH CHYB INDIKOVANYCH PROGRAMEM SPOLU S
NAVESTIMI ODPOVIDAJICIMI NAZVUM CHYB VE VYPISU PROGRAMU:
ERR1 ... CHYBA HANDLERU PO
ERR2 ... POSLEDNE ZAPSANY SOUBOR NEBYL UZAVREN
ERR3 ... CHYBA V OBSAHU PAMETI PRI READ
ERR4 ... CHYBA V KONTROLNIM SOUCTU PRI READ
ERR5 ... CHYBA V KONTROLNIM SOUCTU PRI READ
ERR6 ... CHYBA HANDLERU RI
ERR7 ... MENE NEZ 1 KBYTE UZTV. PAMETI
ERR8 ... CTENI NEBINARNIHO SOOBORO PRIKAZEM QUAFF
ERR9 ... CHYBI LEVA ADR. ZAVORKA PRI CTENI BIN. SOUB.
ERR10 ... CHYBI PRAVA ADR. ZAVORKA PRI CTENI BIN. SOUB.
ERR11 ... CHYBA V KONTR. SOUCTU ADR. CASTI BIN. SOUB.
ERR12 ... CHYBA V KONTR. SOUCTU DAT. CASTI BIN. SOUB.
ERR13 ... CHYBI UKONCOVACI ZNAK SUBS = 1AH U BIN. SOUB.
ERR14 ... UZAVIRANI NEOTEVRENEHO SOUBORU
ERR15 ... CHYBI KONCOVY PREAMBLE PRI RDBUF
ERR16 ... CHYBA V KONTROLNIM SOUCTU PRI RDBUF
ERR17 ... POSLEDNE ZAPSANY SOUBOR NEBYL UZAVREN
ERR18 ... POSLEDNE CTENY SOUBOR NEBYL OZAVREN
ERR19 ... CHYBA V SOUSLEDNOSTI BLOKU
ERR20 ... CHYBA V SOUSLEDNOSTI SOUBORU
ERR21 ... PRERUSENI FUNKCE KLAVESOU 'ESC'
ERR22 ... CHYBA HANDLERU PO
PO VYSKYTU KAZDE CHYBY JE NUTNE UVEST MODEM DO
POCATECNIHO STAVU PRIKAZEM "J".
6. FORMAT ZAZNAMU NA PASCE
==========================
6.1. USPORADANI BLOKU
---------------------
SOUBOR ZAPSANY NA MAGNETICKE PASCE JE ZAPISOVAN PO BLOCICH,
-------------------------------- 8 ------------------------
-------------------------------------------------------------
KTERE MAJI JEDNOTNOU STRUKTURU, VE KTERE LZE VYCLENIT NA-
SLEDUJICI PRVKY:
A. UVODNI MEZERA
B. SYNCHRONIZACNI ZNAKY
C. PRIZNAK BLOKU
D. DATOVE BYTY
E. NAZEV SOUBORU
F. CISLO BLOKU
G. CISLO SOUBORU
H. KONTROLNI SOUCET
I. SYNCHRONIZACNI ZNAK
J. UZAVIRACI ZNAK
K. KONCOVA MEZERA
UVODNI MEZERA
MA ZA UKOL UMOZNIT ODLISENI BLOKU A SPRAVNOU SYNCHRONIZACI.
SKLADA SE ZE SAMYCH JEDNICEK (0FFH). POCET BYTU UVODNI MEZERY
JE DAN KONSTANTOU "G1LEN' A JE VYPOCTEN TAK, ABY MEZERA MELA
PRO RYCHLOST ZAZNAMU 2400 BD DELKU 800 MS.
SYNCHRONIZACNI ZNAKY
JSOU TVORENY TREMI BYTY V HODNOTACH 010H.
PRIZNAK BLOKU
JE TVOREN JEDINYM ZNAKEM A OZNACUJE TYP BLOKU. MUZE NABYVAT
TECHTO HODNOT:
041H JDE O BLOK TYPU ASCII
042H JDE O BINARNI BLOK
004H JDE O POSLEDNI BLOK V SOUBORU
03AH JDE O BLOK S NAZVEM KAZETY
001H JDE O BLOK S NAZVEM SOUBORU
DATA SOUBORU
JSOU ZAPISOVANA POSTUPNE POCINAJE PRVNIM BYTEM BLOKU. PRU-
BEZNE JE VYTVAREN KONTROLNI SOUCET.
NAZEV SOUBORU
JE TVOREN 11 ZNAKY ASCII.
-------------------------------- 9 ------------------------
-------------------------------------------------------------
CISLO BLOKU
JE BINARNI HODNOTA CISLA BLOKU (PRVNIM BLOKEM JE BLOK S
NAZVEM SOUBORU A MA CISLO 01).
CISLO SOUBORU
JE BINARNI HODNOTA CISLA SOUBORU (PRVNIM SOUBOREM JE NAZEV
KAZETY A MA CISLO 00).
KONTROLNI SOUCET
VYTVARI SE JAKO PROSTE PRICITANI MOD 256 VSECH HODNOT POCI-
NAJE PRIZNAKEM BLOKU A KONCE CISLEM SOUBORU. JE ZAPISOVAN
JAKO BINARNI PRIMA HODNOTA.
UZAVIRACI ZNAK
JE TVOREN JEDINYM BYTEM V HODNOTE 00H.
KONCOVA MEZERA
JE TVORENA SAMYMI JEDNICKAMI (0FFH). JEJI DELKA JE URCENA
KONSTANTOU 'G2LEN' TAK, ABY PRO RYCHLOST ZAZNAMU 2400 BD MELA
DELKU 100 MS. ZAJISTUJE UKONCENI CTENI PRI DROP-OUTECH NA
PASCE.
6.2. TYPY BLOKU
---------------
VZHLEDEM K PRIZNAKUM ROZLISUJEME PET TYPU BLOKU:
A. BLOK ASCII SOUBORU
B. BLOK BINARNIHO SOUBORU
C. UKONCOVACI DATOVY BLOK
D. DATOVY BLOK S NAZVEM KAZETY
E. DATOVY BLOK S NAZVEM PROGRAMU
BLOK S NAZEVEM KAZETY
BLOK MA PRIZNAK ':' = 03AH. V DATOVE CASTI OBSAHUJE 250
ZNAKU, Z NICHZ JE 11 PRVNICH ROVNO NAZVU UVODNIHO SOUBORU,
ZBYTEK TVORI POZNAMKU.
-------------------------------- 10 -----------------------
-------------------------------------------------------------
BLOK S NAZVEM SOUBORU
BLOK MA PRIZNAK 01H. V DATOVE CASTI OBSAHUJE 250 ZNAKU, Z
NICHZ PRVNICH 11 TVORI NAZEV SOUBORU, ZBYTEK JE POZNAMKOU.
BATOVY BLOK ASCII SOUBORU
BLOK MA PRIZNAK 'A' = 41H. V DATOVE CASTI OBSAHUJE 255 ZNAKU
ASCII, KTERE ODPOVIDAJI DATAM SOUBORU (ZDROJOVE SOUBORY,
HEXADECIMALNI SOUBORY). TYTO BLOKY LZE VYTVARET POMOCI PRIKA-
ZU HEXADECIMALNIHO ZAPISU (PRES SPOJOVACI ADRESU PO).
DATOVY BLOK BINARNIHO SOUBORU
BLOK MA PRIZNAK 'B' = 42H. V DATOVE CASTI OBSAHUJE U PRVEHO
BLOKU ZA BLOKEM NAZVU KONCOVOU A POCAIECNI ADRESU UZAVRENOU
DO ADRESOVYCH ZAVOREK '<' A ,>'. TATO CAST MA SAMOSTATNY
KONTROLNI SOUCET. DALE NASLEDUJI VLASTNI DATA SOUBORU. PO-
SLEDNIM ZNAKEM ZA DATY SOUBORU JE ZNAK "SUB".
UKONCOVACI DATOVY BLOK
BLOK MA PRIZNAK 04H. V BATOVE CASTI OBSAHUJE BUFFER, KTERY JE
DO PLNE DELKY DOPLNEN ZNAKEM NUL=00H. TENTO BLOK SE VYTVARI
PO PRIKAZU "E", "P" NABO "A" AUTOMATICKY NA KONCI ZAZNAMENA-
VANEHO SOUBORU.
7. POPIS OVLADACIHO PROGRAMU
============================
NASLEDUJE POPIS JEDNOTLIVYCH USEKU PROGRAMU A
PODPROGRAMU, PROVADEJICI UCELENE CINNOSTI.
7.1. WRITE
----------
PODPROGRAM - PRIKAZ PRO ZAPIS OBLASTI PAMETI DANE POCATECNI A
KONCOVOU ADRESOU V HEXADECIMALNIM FORMATU INTEL PRES SPOJO-
VACI ADRESU PRO PO. NA TOTO VYSTUPNI ZARIZENI SE VYSILA
SOUBOR PO BLOCICH, KTERE MAJI TVAR:
CR,LF,':',N,A,T,D,D,D,...,D,C
KDE: CR ... ZNAK 'CR' = 0DH
LF ... ZNAK 'LF' = 0AH
':' ... ZNAK ':' = 3AH
N ... POCET DATOVYCH BYTU D
-------------------------------- 11 ------------------------
-------------------------------------------------------------
A ... ADRESA UMISTENI PRVEHO DATOVEHO BYTU D
T ... TYP BLOKU, U DATOVEHO ROVEN 00H
D ... JEDNOTLIVE BYTY DAT HEXADECIMALNE, NAPRED
DOLNI NIBBLE PAK HORNI NIBBLE
C ... KONTROLNI SOUCET Z HODNOT N,A,T,D
POSLEDNI, UKONCOVACI BLOK MA TVAR:
CR,LF,':',00,A,T,C
KDE: 00 ... ODPOVIDA NULOVEMU POCTU DATOVYCH BYTU
A ... JE STARTOVACI ADRESA (POKUD JDE O PROGRAM)
T ... JE TYP BLOKU (ROVEN 01H)
PODPROGRAM WRITE VYSILA TYTO BLOKY PRES SPOJOVACI ADRESY "PO"
NA PODPROGRAM "KO", KTERY VYTVARI PRISLUSNE BLOKY NA KAZETE.
PODPROGRAM WRITE MUZE, POKUD JE V PAMETI PRISLUSNY HANDLER A
SPOJOVACI ADRESA NA NEJ, SPOLUPRACOVAT S DEROVACEM DERNE
PASKY V HEXADECIMALNI NORME FIRMY INTEL.
7.2. READ
---------
PODPROGRAM READ TVORI OPAK PODPROGRAMU WRITE. UMOZNUJE TOTIZ
CIST SOUBORY ZAPSANE V INTEL-HEXADECIMALNI NORME PRES SPOJO-
VACI ADRESU RI. POKUD TATO ADRESA ODPOVIDA PODPROGRAMU KI,
PAK LZE CIST Z KAZETY SOUBORY VYTVORENE PODPROGRAMEM WRITE
PRES SPOJOVACI ADRESY PO-KO.
7.3. EOF
--------
PODPROGRAM SLOUZI PRO UZAVIRANI SOUBORU VYTVARENYCH PODPRO-
GRAMEM WRITE. POKUD BYL TEZ AKTIVOVAN ZAPISOVY REZIM, VYVOLA
SE AUTOMATICKY PODPROGRAM CLOSE PRO UZAVIRANI SOUBORU NA
KAZETE.
7.4. QUAFF
----------
PRIKAZ UMOZNUJE NACTENI CELEHO SOUBORU Z PASKY DO PAMETI.
BERE SE V UVAHU OFFSET, JEZ JE VSTUPNIM PARAMETREM PRIKAZU.
DELKA SOUBORU NA PASCE NENI TIMTO NARUSENA. KONTROLUJI SE
KONTROLNI SOUCTY, CISLO SOUBORU A CISLA BLOKU (NA SOUSLED-
NOST). OVLADANI MOTORKU MAGNETOFONU JE AUTOMATICKE. PO ZAVO-
LANI PRIKAZU JE NUTNE UDAT NAZEV SOUBORU, PODLE KTEREHO JE
SOUBOR VYHLEDAVAN. FUNKCE USEKU PROGRAMU PROVADEJICIHO PRIKAZ
QUAFF JE:
-------------------------------- 12 -----------------------
-------------------------------------------------------------
- VSTUP OFFSETU
- OTEVRENI SOUBORU PRO CTENI (FIND)
- PRES RI VSTUP PRVNIHO BYTU (NACTENI BUFFERU)
- JDE O BINARNI SOUBOR - NE CHYBA
- CTENI A KONTROLA ADRESOVE CASTI : <A1A2>C - CHYBA ?
- PRICTENI OFFSETU K POCATECNI (A2) I KONCOVE (A1) ADRESE
- PRES RI CTENI JEDNOTLIVYCH BYTU A UKLADANI DO PAMETI
- CTENI A KONTROLA KONTROLNIHO SOUCTU DATOVE CASTI - CHYBA?
- CTENI A KONTROLA UKONCOVACIHO ZNAKU "SUBS" - CHYBA ?
- PASIVACE STATUSU CTENI
7.5. PUT
--------
PRIKAZ UMOZNUJE ULOZENI CELEHO SOUBORU VYMEZENEHO POCATECNI A
KONCOVOU ADRESOU, JEZ JSOU VSTUPNIMI PARAMETRY. SOUBOR SE
ZAPISUJE PO BLOCICH S PRISLUSNE UPRAVENYMI CISLY SOUBORU A
BLOKU. PRIKAZ UMOZNUJE NAJIT POSLEDNI ZAPSANY SOUBOR (PODLE
JMENA), Z NEJZ BERE CISLO SOUBORU. CINNOST USEKU PROGRAMU
PROVADEJICI PRIKAZ PUT JE:
- VSTUP DVOU ADRES (EXPR)
- OTEVRENI SOUBORU PRO ZAPIS (OPEN)
- ULOZENI PRIZNAKU BINARNICH BLOKU
- NULOVANI KONTROLNIHO SOUCTU
- PRES PO ZAPIS ADRESOVE CASTI <A1A2>C
- NULOVANI BUNKY KONTROLNIHO SOUCTU
- PRES PO ZAPIS OBLASTI PAMETI VYMEZENE ADRESAMI
- PRES PO ZAPIS KONTROLNIHO SOUCTU
- PRES PO ZAPIS UZAVIRACIHO ZNAKU "SUBS"
- UZAVRENI SOUBORU (CLOSE)
7.6. LOAD
---------
PRIKAZ ZAJISTI SPUSTENI MOTORKU. NASLEDUJE DOTAZ, ZDA JE
PREVIJENI UKONCENO NACEZ SE PO STISKNUTI LIBOVOLNE KLAVESY
MOTOREK OPET ZASTAVI. CINNOST USEKU PROGRAMU PROVADEJICI
PRIKAZ LOAD JE:
- SPUSTENI MOTORKU
- VYPIS 'REWIND DONE ?', CEKANI NA LIB. KLAVESU
- ZASTAVENI MOTORKU
7.7. TAPE
---------
PRIKAZ PRECTE NAZVY VSECH SOUBORU NA KAZETE A VYPISE JE NA
OBRAZOVCE. ZA NAZEV VYPISE CISLO BLOKU A SOUBORU. KONTROLUJE
CISLA SOUBORU NA SOUSLEDNOST A ZJISTUJE KONTROLNI SOUCTY V
KAZDEM PRECTENEM BLOKU. CINNOST USEKU PROGRAMU PROVADEJICI
-------------------------------- 13 -----------------------
-------------------------------------------------------------
PRIKAZ TAPE JE:
- KONTROLA PASIVITY PRIZNAKU CTENI - CHYBA ?
- VYPIS 'PLAY DONE ?' A CEKANI NA LIB. KLAVESU
- PRECTENI BLOKU (RDBUF)
- POKUD NEJDE O BLOK S NAZVEM CTI DALSI BLOK
- ZOBRAZ NAZEV, CISLO BLOKU A SOUBORU
- ZPET NA CTENI BLOKU
7.8. UNNAMED
------------
PRIKAZ PRO VYTVORENI UVODNIHO SOUBORU S NAZVEM KAZETY A
POZNAMKOU. CISLO SOUBORU JE 00H. CINNOST USEKU PROGRAMU
PROVADEJICIHO PRIKAZ UNNAMED JE:
- KONTROLA PASIVITY STATUSU ZAPISU - CHYBA?
- TISK 'CASSETTE NAME:'
- VSTUP NAZVU (NAMIN)
- TISK 'RECORD DONE ?' A CEKANI NA LIB. KLAVESU
- VYNULOVANI CITACE BLOKU A SOUBORU DEROVACE
- ULOZENI PRIZNAKU BLOKU ':'
- ZAPIS BLOKU Z BUFFERU DEROVACE (WRBUF)
- PASIVACE STATUSU ZAPISU
7.9. KI
-------
PODPROGRAM CTENI BYTU V BLOKOVEM REZIMU PRACE. PRACUJE SE S
BUFFEREM. JE PRIMO KOMPATIBILNI S PODPROGRAMEM RI, TAKZE MUZE
SLOUZIT JAKO HANDLER VSTUPNIHO SERIOVEHO ZARIZENI. CINNOST
PODPROGRAMU KI JE:
- PRI PASIVNIM STATUSU CTENI OTEVRENI SOUBORU (FIND)
- PRI PRAZDNEM BUFFERU - NACTI DALSI BLOK (RDBUF)
- ZOBRAZ NAZEV, KONTROLUJ CISLO BLOKU A SOUBORU
- INKREMENTUJ UKAZATEL
- CTI DALSI ZNAK Z BUFFERU
- JDE-LI O SUBS A O ASCII BLOK PASIVUJ PRIZNAK CTENI
7.10. KO
--------
PODPROGRAM ZAPISU BYTU V BLOKOVEM REZIMU PRACE. PRACUJE S
BUFFEREM. JE PRIMO KOMPATIBILNI S PODPROGRAMEM PO, TAKZE MUZE
SLOUZIT JAKO HANDLER VYSTUPNIHO SERIOVEHO ZARIZENI. CINNOST
PODPROGRAMU KO JE:
- PRI PAS. STATUSU ZAPISU OTEVRI SOUBOR PRO ZAPIS (OPEN)
- PRI PAS. STATUSU ZAPISU VYNULUJ BUFFER
- JE-LI BUFFER PLNY, ZAPIS HO (WRBUF), NULUJ POINTR
- INKREMENTUJ POINTR
-------------------------------- 14 -----------------------
-------------------------------------------------------------
- ULOZ DATOVY BYTE BO BUFFERU
- JDE-LI O SUBS A JBE-LI O ASCII BLOK UZAVRI SOUBOR (CLOSE)
7.11. JOIN
----------
PRIKAZ PRO INICIACI SYSTEMU MAGNETOFONU, NASTAVENI VSECH
PRIZNAKU A SPOJOVACICH ADRES MONITORU. CINNOST PODPROGRAMU
JOIN JE:
- RIDICI SLOVO NA '55
- ZJISTENI KONCE UZIV. RAM (MEMCHK)
- JE PRITOMNO VICE NEZ 1 KILO USRAM - NE CHYBA
- BUFFER DEROVACE NA POSLEDNICH 256 BYTU USRAM
- BUFFER SNIMACE NA PREDPOSLEDNICH 256 BYTU USRAM
- KONEC UZIVATELSKE PAMETI UREND ZMENSIT O 512
- UKAZATELE BUFFERU DEROVACE A SNIMACE NA NULU
- CITACE BLOKU A SOUBORU DEROVACE I SNIMACE NA NULU
- PRIPOJKA PRO JOIN0
- STATUSY DEROVACE A SNIMACE NA NULU (PASIVNI)
- NASTAV SPOJOVACI ADRESU PO NA KO
- NASTAV SPOJOVACI ADRESU RI NA KI
- VYSLI PASIVUJICL PRIKAZ NA MODEM PRES '55
7.12. CLOSE
-----------
PODPROGRAM PRO UZAVRENI PRAVE ZAPISOVANEHO A DOPOSUD
OTEVERENEHO SOUBORU. CINNOST PODPROGRAMU CLOSE JE:
- KONTROLA AKTIVITY STATUSU ZAPISU - CHYBA?
- PASIVACE STATUSU ZAPISU
- DOPLNENI BUFFERU ZNAKY 00H
- ULOZENI PRIZNAKU KONCOVEHO BLOKU 04H
- ZAPIS BUFFERU
7.13. WRBUF
-----------
PODPROGRAM ZAPISU OBSAHU BUFFERU NA KAZETU. CINNOST
PODPROGRAMU WRBUF JE:
- INKREMENTACE CITACE BLOKU
- PRI AKT. STS CTENI PIS 'RECORD DONE' A CEKEJ NA KLAVESU
- SPUST MOTOREK
- ZAPIS UVODNI MEZERU
- ZAPIS 3 BYTE PREAMBLU 10H
- NULUJ KONTROLNI SOUCET
- ZAPIS CELY BUFFER
- ZAPIS NAZEV (11 ZNAKU Z OBLASTI NAME2)
-------------------------------- 15 -----------------------
-------------------------------------------------------------
- ZAPIS CISLO BLOKU
- ZAPIS CISLO SOUBORU
- ZAPIS KONTROLNI SOUCET
- ZAPIS PREAMBLE 10H
- ZAPIS BYTE 00H
- ZAPIS UKONCOVACI MEZERU
- ZASTAV MAGNETOFON
7.14. RDBUF
-----------
PODPROGRAM PRO ZAPLNENI CTECIHO BUFFERU BLOKEM PRECTENYM Z
KAZETY. CINNOST PODPROGRAMU RDBUF JE:
- PODLE PRIZNAKU CTENI/ZAPIS URCI PRACOVNI BUFFER
- INKREMENTUJ CITAC BLOKU
- PRI AKTIVNIM STATUSU CTENI VYPIS 'PLAY DONE' A CEKEJ
- PRIPRAV INTERFACE PRO CTENI
- NAJDI MEZERU (SRGAP)
- CTI A KONTROLUJ 3 BYTY PREAMBLE 10H
- NULUJ KONTROLNI SOUCET
- CTI 256 BYTU DO BUFFERU
- CTI 11 ZNAKU NAZVU A 2 BYTY CISEL DO POM. OBLASTI
- CTI A KONTROLUJ KONTR. SOUCET - CHYBA ?
- CTI A KONTROLUJ BYTE PREAMBLE 10H - CHYBA ?
- ZASTAV MAGNETOFON
7.15. OPEN
----------
PODPROGRAM PRO OTEVRENI SOUBORU PRO CTENI, TJ. VYHLEDANI
PRISLUSNEHO NAZVU A NALEZENI PRVNIHO DATOVEHO BLOKU. CINNOST
PODPROGRAMU OPEN JE:
- KONTROLA PASIVITY STATUSU ZAPISU - CHYBA ?
- VYPIS 'LAST NAME'
- VSTUP JMENA POSLEDNIHO ZAPSANEHO SOUBORU (NAMIN)
- VYPIS 'PLAY DONE ?' A CEKEJ NA KLAVESU
- PRES ZAPISOVY BUFFER VYHLEDEJ URCENY SOUBOR (SEARCH)
- VYPIS 'NEW NAME'
- VSTUP JMENA NOVEHO SOUBORU (NAMIN)
- AKTIVACE PRIZNAKU ZAPISU
- ULOZENI PRIZNAKU BLOKU SE JMENEM (01H)
- VYPIS 'RECORD DONE ?' A CEKEJ NA LIB. KLAVESU
- VYNULUJ CITAC BLOKU
- CITAC SOUBORU NASTAV O JEDNICKU VETSI NEZ U POSL. SOUBORU
- ZAPIS BLOK SE JMENEM
- VYNULUJ BUFFER
- ULOZ PRIZNAK ASCII BLOKU (A)
-------------------------------- 16 -----------------------
-------------------------------------------------------------
8. SEZNAM SPOJOVACICH ADRES PROGRAMU
====================================
PRO KOMUNIKACI S MONITOREM A OVLADACIM PROGRAMEM
MAGNETOFONU SLOUZI NASLEDUJICI SPOJOVACI ADRESY (JDE O VERZI
PROGRAMU MAGNETOFONU NAHRANOU V EPROM OD ADRESY 0F0000H):
ADRESA NAZEV PODPR. CINNOST
-------------------------------------------------------------
MAGIC+01H JOIN STUDENY START PROGRAMU
MAGIC+04H JOINO TEPLY START PROGRAMU
MAGIC+07H QUAFF CTENI BINARNIHO SOUBORU
MAGIC+0AH PUT ZAPIS BINARNIHO SOUBORU
MAGIC+0DH APEND PRIPOJENI BIN. SOUBORU
MAGIC+10H LOAD OVLADANI MOTORKU MGF
MAGIC+13H DIR VYPIS NAZVU SOUBORU
MAGIC+16H UNNAM POJMENOVANI NOVE KAZETY
MAGIC+19H KI CTI BYTE Z KAZETY
MAGIC+1CH KO ZAPIS BYTE NA KAZETU
MAGIC+1FH WRITE ZAPIS HEX. SOUBORU
MAGIC+22H READ CTENI HEX. SOUBORU
MAGIC+25H EOF ZAPIS AKON. HEX. SOUBORU
MAGIC+28H CLOSE UZAVRENI ZAP. SOUBORU
-------------------------------------------------------------
PRITOM HODNOTA "MAGIC" ODPOVODA POCATECNI ADRESE
OBSLUZNEHO PROGRAMU. VE VETSINE VERZI JE NA TETO ADRESE OBSAH
55H, KTERY UMOZNUJE AUTOMATICKOU IDENTIFIKACI PRITOMNOSTI
TOHOTO PROGRAMU Z JINYCH PROGRAMU NEBO Z MONITORU.
NA VSECH UVEDENYCH SPOJOVACICH ADRESACH JSOU SKOKY DO
PRISLUSNYCH PODPROGRAMU, TZN. V UZIVATELSKEM PROGRAMU SE
PROVADI VOLANI SUBRUTINY VYSE UVEDENE ADRESY.
PRIKLAD: VSTUP JEDNOHO BYTU Z KAZETY A JEHO ZOBRAZENI
JAKO HEXADECIMALNIHO ZNAKU.
CALL 0F019H ; KI
MOV A,C
CALL 0F833H ; DBYTE
-------------------------------- 17 -----------------------
-------------------------------------------------------------
PRI SPOLUPRACI S MONITOREM VYUZIVA PROGRAM
NASLEDUJICICH ADRES A SLUZEB:
NAZEV ADRESA FUNKCE
----------------------------------------------------------
CI MONIT+03H VSTUP ZNAKU Z KLAVESNICE
RI MONIT+06H VSTUP ZNAKU ZE SNIMACE
CO MONIT+09H VYSTUP ZNAKU NA OBRAZOVKU
PO MONIT+0CH VYSTUP ZNAKU NA DEROVAC
LO MONIT+0FH VYSTUP ZNAKU NA TISKARNU
CSTS MONIT+12H STATUS KONZOLY
MEMCK MONIT+1BH ZJISTENI KONCE PAMETI
IODEF MONIT+1EH NASTAVENI SPOJ. ADRES V/V
CRLF MONIT+24H PRECHOD NA NOVY RADEK
EXPR MONIT+27H VSTUP HEX. CISLA
ASHEX MONIT+2DH PREVOD ASCII --> HEX
DADR MONIT+30H ZOBRAZENI OBSAHU <HL>
DBYTE MONIT+33H ZOBRAZENI OBSAHU <A>
HILO MONIT+36H INKR. <HL> A SROV. S <DE>
NEXT MONIT+39H TEPLY START MONITORU
SPACE MONIT+3CH ZOBRAZENI MEZERY
CINCR MONIT+3FH VSTUP A ROZPOZNANI ZNAKU
HXASC MONIT+48H PREVOD HEX --> ASCII
TIMER MONIT+4BH CEKANI <BC> MILISEKUND
GETADR MONIT+5EH ADRESA SKRYTE PROMENNE <HL>
STJMB MONIT+51H ULOZ <DE> NA [<HL>F<HL>+1]
ECHO MONIT+54H VSTUP A ZOBRAZENI ZNAKU
BACST MONIT+57H POSUN KURZORU O MISTO ZPET
PRO SVOU CINNOST POUZIVA PROGRAM MAGNETOFONU TECHTO
FYZIKYCH ADRES V/V ZARIZENI:
ADRPA 0A0H ADRESA PORTU PA OBVODU 8255
ADRPB 0A1H ADRESA PORTU PB OBVODU 8255
ABRPC 0A2H ADRESA PORTU PC OBVODU 8255
ADRCT 0A3H ADRESA RIDICIHO PORTU OBVODU 8255
CTRLWD 92H RIDICI SLOVO PA-IN,PB-IN,PC-OUT,M0
PASWD 10H PASIVACNI SLOVO INTERFACE
POMOCNYMI PARAMETRY PROGRAMU MAGNETOFONU JSOU KONSTANTY
URCUJICI DELKY JEDNOTLIVYCH MEZER V ZAZNAMU, DELKY BUFFERU,
DELKY NAZVU A POZNAMKY. JEJICH VELIKOSTI JSOU:
GAPBIT 320 POCET JEDNICKOVYCH BITU PRO 100 MS
G1LEN 2240 POCET JEDNICKOVYCH BITU PRO 700 MS
G2LEN 160 POCET JEDNICKOVYCH BITU PRO 50 MS
G3LEN 32000 POCET JEDNICKOVYCH BITU PRO 10 S
WAITTR 300 POCET MS CEKANI NA ROZBEHNUTI MOTORKU
COMLEN 239 DELKA ZOBRAZOVANE POZNAMKY
NAMLEN 11 DELKA NAZVU
BUFLEN 255 DELKA BUFFERU
-------------------------------- 18 -----------------------
-------------------------------------------------------------
9. MODEM PRO MAGNETICKOU KAZETOVOU JEDNOTKU
===========================================
PRO UKLADANI DATOVYCH SOUBORU BYLA VYVINUTA VNEJSI
PAMETOVA JEDNOTKA OPIRAJICI SE O KOMERCNI KAZETOVY MAGNETO-
FON. K PREVODU DIGITALNICH DAT NA SINUSOVY SIGNAL A NAOPAK
BYL VYVINUT SPECIALNI OBVOD - MODEM (MODULATOR/DEMODULATOR).
PRINCIP ZAZNAMU SE OPIRA O ZMENU DELKY PERIODY SINOVEHO
PRUBEHU PODLE LOGICKE HODNOTY BITU DAT. PRITOM JEDNOMU BITU
ODPOVIDA CELY PRUBEH JEDNE PERIODY (KLADNA I ZAPORNA
PULVLNA). ZMENA PERIODY SIGNALU SE PROVADI SKOKEM, AVSAK PRI
NULOVE HODNOTE SINUSOVEHO NAPETI (RESP. PRI PRUCHODU SINUSO-
VEHO PRUBEHU CASOVOU OSOU A ELIMINOVANE STEJNOSMERNE SLOZCE).
PRO SVOU FUNKCI MODEM VYUZIVA PARALELNI PROGRAMOVATELNY
KOMUNIKACNI OBVOD MHB8255A (EKVIVALENT ZAHRANICNIHO OBVODU
I8255A). NEDOPORUCUJE SE POUZITI SOVETSKEHO OBVODU KR580IK55,
NEBOT TEN JE EKVIVALENTEM MNOHEM POMALEJSIHO I8255.
PROGRAMOVE JE MODEM RIZEN SPECIALNIM PROGRAMEM NAHRANYM
DO PAMETI EPROM (2 KB). OVLADACI PROGRAM MODEMU LZE RIDIT NA
UROVNI MONITORU ZVLASTE PRO TENTO UCEL VYHRAZENYMI PRIKAZY. V
PROGRAMECH VYSSI UROVNE (TJ. SYSTEMOVYCH NEBO UZIVATELSKYCH)
LZE MAGNETOFONU POUZIVAT JAKO NAHRADY DERNE PASKY. PAK SE NA
KAZETOPASKOVOU JEDNOTKU OBRACIME PRES SPOJOVACI ADRESY
MONITORU VOLANIM PODPROGRAMU RI (VSTUP ZE SNIMACE DERNE
PASKY) PRO CTENI NEBO PO (VYSTUP NA DEROVAC PASKY) PRI
ZAPISU. SOUCASTI PROGRAMU JE STATICKA SIMULACE DERNE PASKY,
TJ. JE UMOZNENO UKLADANI NEBO CTENI SAMOSTATNYCH BYTU. V
TAKTO ORGANIZOVANEM SYSTEMU JE VSAK NUTNO VYHRADIT SLUZBU,
KTERA Z VYSSIHO JAZYKA UMOZNI UZAVRIT PRAVE ZAPSANY SOUBOR.
TATO SLUZBA MUZE PROSTE VOLAT PODPROGRAM "CLOSE". OTEVIRANI
SOUBORU PRO CTENI I ZAPIS JE AUTOMATICKE, PROVEDE SE PRI
PRVNI KOMUNIKACI (PRVNI VYVOLANI PO NEBO RI). UZAVIRANI
SOUBORU PRO CTENI SE NEVYZADUJE.
9.1. POPIS ZAPOJENI A CINNOSTI
-------------------------------
U POPSANEHO ZAPOJENI BYLO POZADANO O OCHRANU POMOCI
AUTORSKEHO OSVEDCENI PV-7752-85.
SCHEMA ZAPOJENI MODEMU MA CISLO S-11, ROZMISTENI
SOUCASTEK NA DESCE S PLOSNYMI SPOJI MA CISLO S-8.
OBVOD IO-08 (MH7439A) ZAJISTEJE PODELENI HODINOVEHO
SIGNALU CLC ZAKLADNIHO KMITOCTU 512 KHZ PRO JEDNOTLIVE "BO-
DOVE" RYCHLOSTI. K DISPOZICI JSOU STREDNI "BODOVE" RYCHLOSTI
600 BD, 1200 BD, 2400 BD A 4800 BD. TYTO UDAJE JSOU STATIS-
TICKE A PLATI PRO SOUBORY SE STEJNYM POCTEM JEDNICEK A NUL
(DELKA JEDNICKY JE POLOVICNI VZHLEDEM K DELCE NULY).
DELIC IO-07 (MH7493A) ZAJISTUJE DALSI SNIZENI FREKVENCE
-------------------------------- 19 -----------------------
-------------------------------------------------------------
POSTUPUJICIHO SIGNALU VYDELENIM 8. ZA NIM NASLEDUJE RIZENY
DELIC DVEMI SESTAVENY Z OBVODU IO-06 (MH7474/09) A HRADEL IO-
05 (MH7400/06,08,11). FUNKCE TOHOTO OBVODU SPOCIVA V TOM, ZE
PODLE HODNOTY BITU PC0 (VYSTUPNI DATOVY BIT Z MIKROPOCITACE),
ZAPSANEHO DO POMOCNEHO KLOPNEHO OBVODU IO-06 (MH7474/05),
OTEVIRA BUD PRIMOU CESTU NEBO CESTU PRES DELIC DVEMI. TIM JE
PROVADENA ZMENA PERIODY ZAPISOVANEHO SIGNALU V ZAVISLOSTI NA
HODNOTE DAT.
TAKTO UPRAVENY SIGNAL PROMENNE PERIODY POSTUPUJE NA
DEKADICKY DELIC IO-04 (MH7490A), KTERY ZAJISTI VYDELENI
ZAKLADNI PERIODY NA DESET STEJNYCH CASOVYCH USEKU. V KAZDEM Z
TECHTO USEKU GENERUJE DEKODER IO-03 (MH7442) JEDEN Z
POSLOUPNOSTI DESETI IMPULSU, JEZ SE VEDOU NA ODPOROVOU SIT
SESTAVENOU Z ODPORU R16, R18 AZ R27. JEJICH HODNOTY BYLY
VYPOCTENY TAK, ABY SIGNAL NA VYSTUPU MIC/AUX BYL APROXIMACI
SINUSOVEHO PRUBEHU. Z ODPOROVE SITE VYCHAZI SIGNAL SCHODOVEHO
PRUBEHU, KTERY JE JESTE UPRAVEN TVAROVE (C8,R15,C5,C7) I
UROVNOVE (R14,R17). ODPORY R16 AZ R27 BY MELY MIT PRESNOST 1 %
(V AMATERSKE PRAXI LZE RESIT VYBEREM Z VETSIHO MNOZSTVI).
CTVRTY A OSMY IMPULS POSLOUPNOSTI SOUCASNE OVLADAJI
STAV R-S KLOPNEHO OBVODU IO-05 (MH7400/03,06). DESATY IMPULS
ZAJISTUJE ZAPIS VYSTUPNICH DAT PC0 DO POMOCNEHO KLOPNEHO
OBVODU IO-06 (MH7474/05).
VSTUPNI SIGNAL Z MAGNETOFONU SE VEDE NA ZESILOVAC IO-01
(MAA741) A NA SHMITTUV KLOPNY OBVOD I0-02/MH7400/03,06.
UPRAVENY SIGNAL JE VEDEN NA NULOVACI VSTUPY CITACU A VYVEDEN
NA VYSTUPNI KONEKTOR JAKO SIGNAL SYNC. VZHLEDEM K TOMU, ZE
NEKTERE MAGNETOFONY OBRACEJI FAZI REPRODUKOVANEHO ZAZNAMU,
BYLO NUTNE POUZIT PREPINACE "INV" UMOZNUJICIHO ZPETNE
OBRACENI FAZE. PRI ZAZNAMU VSAK MUSI BYT TENTO SPINAC V
TAKOVE POLOZE, ABY BYLY NULOVACI VSTUPY CITACU PROPOJENY S
VYSUPEM IO-02/7400/06.
HRADLO I0-02/MH7400/08 A TRANZISTOR T1-KC509 UMOZNUJI
PROGRAMOVE RIZENI MOTORKU MAGNETOFONU, RESP. POSUVU PASKY
KAZETY.
TRANZISTOR T2-KC509 UMOZNUJE PROGRAMOVE ZABLOKOVAT
VYSTUP GENERATORU SINUSOVKY, POKUD JE ZADGUCI ZAZNAMENAT
TICHOU PASAZ, NAPR. MEZERU MEZI DATOVYMI BLOKY A POD.
PRI ZAPISU JE CINNOST MODEMU TAKOVA, ZE PODLE
VYSTUPNICH DAT DIN, KTERA JSOU MENENA V RYTMU
SYNCHRONIZACNIHO SIGNALU FRAME A ZAPISOVANA DO POMOCNEHO
KLOPNEHO OBVODU, SE MENI PERIODA ZAPISOVANEHO SINUSOVEHO
VYSTUPNIHO SIGNALU MIC/AUX. ULOHOU PROGRAMU JE ZDE SLEDOVAT
ZMENY SYNCHRONIZACNIHO SIGNALU FRAME A PRI DOSAZENI HODNOTY
LOG 1 VYSLAT DALSI BIT DATOVEHO SOUBORU NA DIN. OBECNE
PROGRAM ZAJISTUJE SPINANI POSUVU PASKY, ODBLOKOVANI CITACU
SIGNALY BLK1 A TBLK2, A ODBLOKOVANI GENERATORU SINUSOVKY
SIGNALEM BLKOUT.
-------------------------------- 20 -----------------------
-------------------------------------------------------------
PRI CTENI JE FUNKCE MODENU PONEKUD SLOZITEJSI. SIGNAL Z
MAGNETOFONU (MON) SE ZESILI A UPRAVI NA OBDELNIKOVY PRUBEH V
SCHMITTOVE KLOPNEM OBVODU OBVODU IO-02/7400/03,06. POKUD SE
JEDNA O PRVNI KLADNOU PULPERIODU SIGNALU, JSOU CITACE
NULOVANY JEDNICKOVYM SIGNALEM NA NULOVACICH VSTUPECH. V DRUHE
ZAPORNE PULPERIODE JE SIGNAL NA NULOVACICH VSTUPECH NULOVY A
CITACE ZAHAJI CINNOST. PRITOM VYSTUP OBVODU IO-06/MH7474/09
JE Z MIKROPOCITACE NASTAVEN DO JEDNICKY, TAKZE SE NACITAVA
RYCHLEJSI FREKVENCE. CTVRTYM IMPULSEM Z DEKODERU SE R-S
KLOPNY OBVOD NASTAVI DO JEDNICKY, TJ. CTENY DATOVY SIGNAL JE
V JEDNICCE. NYNI ZALEZI NA TOM, ZDA JDE O KRATKOU NEBO O
DLOUHOU PULPERIODU (TJ. ZDA BYLA ZAPSANA LOG 1 NEBO LOG 0).
PRI DLOUHE PULPERIODE SE VYGENERUJE TEZ OSMY IMPULS, KTERY
KLOPNY OBVOD R-S VYNULUJE, TOMU ODPOVIDA NULOVY CTENY DATOVY
SIGANL DOUT. POKUD JDE O KRATKOU PULPERIODU, KE GENERACI
OSMEHO IMPULSU NEDOJDE, NEBOT JSOU CITACE ZABLOKOVANY KLADNOU
PULPERIODOU NASLEDUJICIHO BITU, A TAK CTENY DATOVY SIGNAL
DOUT ZUSTANE JEDNICKOVY.
ULOHOU PROGRAMU JE SLEDOVAT PRUBEH SIGNALU SYNC A VZDY
PRI NABEHU KLADNE PULPERIODY PRECIST HODNOTU BITU DOUT.
SOUCASNE MUSI BYT OVLADANY OSTATNI FUNKCE MODEMU, OBDOBNE JAK
TOMU BYLO PRI ZAPISE.
DIODY D1 AZ D4 UMOZNUJI OPTICKY ZOBRAZIT STAV, VE
KTEREM SE MODEM NACHAZI. DIODA D1 URCUJE, KDY JE SPUSTEN
MOTOREK MAGNETOFONU. DIODA D4 OZNAMUJE, ZE MODEM JE V REZIMU
ZAZNAMU. DIODA D2 SVITI, JE-LI MODEM V REZIMU CTENI. JAKO
PRIZNAK CHYBY SLOUZI DIODA D3.
9.2. TESTOVANI MODEMU
----------------------
TESTOVANI OZIVENEHO MODEMU PROVEDEME NEJLEPE TAK, ZE
ZAPLNIME PAMET SYSTEMU DEFINOVANYM OBSAHEM, KTERY
MNOHONASOBNE NAHRAJEME JAKO DATOVY SOUBOR NA KAZETU. PRI
CTENI TAKTO VYTVORENYCH ZAZNAMU SLEDUJEME, ZDA NEVZNIKAJI
CHYBY.
10. ZKUSENOSTI Z PROVOZU MAGNETOFONU
-------------------------------------
PRI POUZIVANI KAZETOVEHO MAGNETOFONU JE NUTNO DODRZET
NASLEDUJICI ZAKLADNI PRAVIDLA:
1. DOPORUCUJE SE POUZIVAT PASEK ORWO K-60 CHROMDIOXID NEBO
AUDIOSTAR HS-I60. POKUD BUDOU POUZITY PASKY JINEHO TYPU
(NAPR. EMGETON), JE NUTNE JE PRED POUZITIM OTESTOVAT,
-------------------------------- 21 -----------------------
-------------------------------------------------------------
NAVIC JE TREBA OMEZIT RYCHLOST PRENOSU DAT NA MAX. 2400
BD.
2. PASKY SKLADUJEME VZDY PREVINUTE AZ K ZAVADECI CASTI A
UZAVRENE V OBALECH. PASKU NIKDY NEVYJIMAME Z MAGNETOFONU
BEZ PREDCHOZIHO PREVINUTI (VYJMA PRIPADU MULTIBLOKOVEHO
PREKLADU)
3. PRI POUZITI MAGNETOFONU JINEHO TYPU NEZ K-10 JE TREBA
UVAZIT, ZDA MA UROVNE NAPETI NA VSTUPU A VYSTUPU SHODNE
S MAGNETOFONEM K-10. BYLA OVERENA SPOLEHLIVA FUNKCE
MAGNETOFONU BRG MK-27.
4. HLAVA MAGNETOFONU MUSI BYT CLSTENA PRAVIDELNE PRED KAZ-
DYM POUZITIM K MAGNETOFONU PRILOZENYM CISTICIM PRIPRAV-
KEM A JEDNOU ZA 10 HODIN PROVOZU VYMYTA PROPYLALKOHOLEM.
5. MAGNETOFON HUSI BYT VZDALEN OD VSECH ZDROJU ELMAG.
POLI (OBVODY OBRAZOVKY, TRANSFORMATORY ATP.). VLIV
OKOLNIHO ELMAG. POLE NA MAGNETOFON LZE OVERIT V REZIMU
ZAZNAMU S HLASITYM PRIPOSLECHEM, KDY PREMISTOVANIM A
NATACENIM MAGNETOFONU NAJDEME JEHO POLOHU S NEJMENSIM
SLYSITELNYM BRUMEM.
6. MAGNETOFON MUSI BYT V BEZVADNEM STAVU. TO SE TYKA JAK
HLAVY TAK I MECHANICKE CASTI MAGNETOFONU. NELZE
DOCILIT SPOLEHLIVE CINNOSTI, POKUD VLIVEM OPOTREBENI
MAGNETOFONU (NEBO VADNYCH KAZET) JE SLYSITELNE ZNACNE
KOLISANI RYCHLOSTI POSUVU PASKY.
7. PASKY MUSI BYT SKLADOVANY V MISTE VZDALENEH OD VSECH
ZDROJU ELMAG. POLI, NEJLEPE V UZAVRENE PLECHOVE
KRABICI.
11. NAVOD K POUZITI MODEMU MAGNETOFONU
========================================
POPIS OVLADACICH A INDIKACNICH PRVKU
------------------------------------
VSECHNY OVLADACI A INDIKACNI PRVKY SE NACHAZEJI NA
CELNI STENE SKRINKY MODEMU. V JEJI PRAVE HORNI CASTI JSOU
UMISTENY CTYRI PREPINACE PRO VOLBU RYCHLOSTI PRENOSU DAT A
JSOU OZNACENY "600", "1200", "2400" A "4800". PRO SPOLUPRACI
S MIKROPOCITACEM PLAN80A SE DOPORUCUJE RYCHLOST 2400 BD, PRO
KTEROU JSOU VYTVARENY VSECHNY CASOVE SMYCKY V OVLADACIM
PROGRAMU MODEMU. BEZE ZMEN LZE POUZIT RYCHLOSTI NIZSI (600 A
1200 BD), POUZE SE PRISLUSNE PRODLOUZI VSECHNY CEKACI DOBY
(NAPR. MEZERY MEZI JEDNOTLIVYMI BLOKY ZAZNAMU NA KAZETE). PRO
RYCHLOST 4800 BD JE TREBA POUZIT ZVLASTNICH UZIVATELSKYCH
-------------------------------- 22 -----------------------
-------------------------------------------------------------
PROGRAMU A TAKTEZ VYBRANYCH KAZET PRO MAGNETOFON. TATO
RYCHLOST SE POUZIVA PRO ARCHIVACI VETSIHO MNOZSTVI DAT.
P O Z O R !
SOUCASNE SMI BYT STISKNUT POUZE JEDEN ZE CTYR PREPINACU VOLBY
RYCHLOSTI PRENOSU DAT. NENI DOVOLENO PREPINAT RYCHLOST DAT
BEHEM PROVOZU MIKROPOCITACE (NUTNO JEJ VYPNOUT).
VE STREDNI CASTI CELNI STENY SKRINKY MODEMU SE
NACHAZEJI DVA PREPINACE. PRVNI - OZNACENY "INV" - SLOUZI K
INVERZI VSTUPNIHO SIGNALU PRO MAGNETOFONY, KTERE OBRACEJI
FAZI CTENEHO SIGNALU OPROTI SIGNALU ZAZNAMENANEMU. TOTO
TLACITKO SE POUZIVA V PRIPADE, KDY NEMUZEME PRECIST ZAZNAM ZE
ZAPUJCENE NEBO KOUPENE (V DRUZSTVU DRUKOV NAHRANE) KAZETY.
PAK VE STLACENE POLOZE TLACITKA JE PROVADENA INVERZE CTENEHO
SIGNALU. TIM JE ZAJISTENA KOMPATIBILITA MEZI RUZNYMI DRUHY
MAGNETOFONU. DRUHE TLACITKO - OZNACENE "MOT" - UMOZNUJE
SPUSTIT MOTOREK MAGNETOFONU (NAPR. PRO PREVIJENI PASKY) BEZ
OHLEDU NA TO, V JAKE UROVNI JE SIGNAL PRO RIZENI MOTORKU Z
MIKROPOCITACE.
V LEVE DOLNI CASTI CELNI STENY SKRINKY MODEMU JSOU
UMISTENY INDIKACNI DIODY "LED". JSOU OZNACENY "RD", "WR",
"ER" A "MO". DIODA "RD" SVITI TEHDY, POKUD JE OVLADACI
PROGRAM MODEMU V REZIMU CTENI BLOKU. DIODA "WR" SVITI TEHDY,
POKUD JE OVLADACI PROGRAM V REZIMU ZAZNAMU BLOKU. DIODA "ER"
SVITI TEHDY, DOJDE-LI Z NEJAKEHO DUVODU KE VZNIKU CHYBY. TATO
DIODA SVITI DO TE DOBY, NEZ JE PROGRAM OVLADANI MODEMU
INICIALIZOVAN PRIKAZEM "J" (V MONITORU). DIODA "MO" ODPOVIDA
STAVU SIGNALU MIKROPOCITACE PRO RIZENI POHYBU MOTORKU. POKUD
SVITI, JE POHYB MOTORKU ODBLOKOVAN.
PRIPOJENI MODEMU K MIKROPOCITACI
--------------------------------
MODEM SE PRIPOJUJE K MIKROPOCITACI POMOCI PROPOJOVACIHO
KABELU, KTERY TVORI NEDILNY CELEK S KABELEM PRO KLAVESNICI A
MEL BY BYT VYRABEN JAKO HOTOVY DOPLNEK K MIKROPOCITACI
PLAN80A DRUZSTVEM DRUKOV. KONEKTOR PRO PRIPOJENI MODEMU JE
UMISTEN NA ZADNI STRANE SKRINKY (MA 24 POLU).
P O Z O R !
KONEKTOR MUSI BYT PRIPOJEN TAK, ABY SI CISLA POLU NA VIDLICI
I NA ZASUVCE VZAJEMNE ODPOVIDALY. GPACNE PRIPOJENI MODEMU
MUZE ZAPRICINIT JEHO POSKOZENI. PRIPOJOVANI (ODPOJOVANI)
KABELU MODEMU K MIKROPOCITACI LZE PROVADET POUZE V JEHO
VYPNUTEM STAVU.
-------------------------------- 23 -----------------------
-------------------------------------------------------------
PRIPOJENI MODEMU K MAGNETOFONU
------------------------------
K MAGNETOFONU SE MODEM PRIPOJUJE POMOCI TRIVODICOVEHO
STINENEHO KABELU. TENTO KABEL JE JEDNIM KONCEM PRIPOJEN K
OBVODUM MODEMU, NA JEHO DRUHEM KONCI SE NACHAZI VIDLICE
PETIKOLIKOVEHO KONEKTORU DIN. PREDPOKLADA SE STANDARTNI
PROPOJENI JEDNOTLIVYCH PRIVODU V KONEKTORU MAGNETOFONU:
VYVOD VYZNAM
1 VYSTUP SIGNALU Z MODEMU
(NAHRAVACI VSTUP MAGNETOFONU)
2 ZEMENI
3 VSTUP SIGNALU DO MODEMU
(VYSTUP SIGNALU Z MAGNETOFONU)
4 RIZENI OTACENI MOTORKU
PREDPOKLADA SE, ZE MAGNETOFON UMOZNUJE VNEJSI RIZENI
OTACENI MOTORKU. OTACENI MOTORKU SE RIDI UZEMNENIM VYVODU 4
KONEKTORU (MOTOREK SE ZASTAVI) NEBO PONECHANIM TOHOTO VYVODU
V "PLOVOUCIM" STAVU (MOTOREK SE MUZE OTACET). SPINACEM JE
TRANZISTOR, JEHOZ KOLEKTOR JE PRIPOJEN NA VYVOD 4 KONKTORU.
TENTO PRINCIP VYHOVUJE MAGNETOFONUM K-10 (VYROBY TESLA) NEBO
MK-27 (VYROBA BRG MADARSKO).
P O Z O R !
RIZENI OTACEK MOTORKU JE NUTNE PRO SPRAVNOU CINNOST
OVLADACIHO PROGRAMU. MAGNETOFONY, KTERE RIZENI NEUMOZNUJL,
NELZE BEZ APRAVY POUZIT.
-------------------------------- 24 -----------------------
-------------------------------------------------------------
P L A N 8 0 A
T I N Y B A S I C
================================
U Z I V A T E L S K Y M A N U A L
27.09.1988
-------------------------------------------------------------
-------------------------------------------------------------
"TINY BASIC" JE JEDNIM Z NEJKRATSICH ALE I NEJJEDNODUS-
SICH ZASTUPCU BASICOVSKE RODINY INTERPRETU. VZHLEDEM KE SVYM
MOZNOSTEM JE URCEN PREDEVSIM PRO AMATERSKE DOMACI POUZITI A
PRO ZACINAJICI ADEPTY MIKROPOCITACOVE TECHNIKY. JELIKOZ CELY
INTERPRET JE KRETSI NEZ 4 KBYTE, LZE JEJ NAPROGRAMOVAT DO
DVOU POUZDER PAMETI MHB2716/C A POUZIVAT JAKO REZIDENTNI
JAZYK V MALEM AMATERSKEM MIKROPOCITACI.
POPSANY "TINY BASIC" MA POUZE CELOCISELNOU ARITMETIKU.
JEHO SILNOU STRANKOU JE VSAK VELMI POHODLNA SPOLUPRACE S
MONITOREM A PROGRAMY NAPSANYMI VE STROJOVEM KODU. PUVODNI
VERZE TOHOTO INTERPRETU BYLA PREVZATA ZE SYSTEMU SAPI-1, BYLA
VSAK UPRAVENA PRO SYSTEM PLAN 80A A OBOHACENA O NEKTERE
PRIKAZY A FUNKCE. Z DUVODU PROGRAMOVE KOMPATIBILITY S
PUVODNIM SYSTEMEM I JEDNOTNOSTI OBSLUHY BYLY UPRAVY OMEZENY
JEN NA NUTNE MINIMUM.
START "TINY BASICU" SE V SYSTEMU PLAN 80A PROVADI POD
MONITOREM STISKNUTIM PRIKAZU "B", PO KTEREM SE VYPISE:
TINY BASIC VX.Y
READY
\
LOMITKO ZDE OZNAMUJE PRIPRAVENOST BASICU PRIJIMAT PRIKAZY,
ZNAKY VX.Y URCUJI VERZI BASICU. JDE O TZV. STUDENY START,
KTERY CELY INTERPRET INICIUJE A VYNULUJE UKAZATELE PROGRAMOVE
I DATOVE PAMETI. POKUD BYL JIZ JEDNOU INTERPRET SPUSTEN A PAK
JEHO FUNKCE PRERUSENA, NAPR. SKOKEM DO MONITORU, LZE JEJ BEZ
POSKOZENI PROGRAMU SPUSTIT POD MONITOREM PRIKAZEM "C", PO
KTEREM SE VYPISUJE POUZE "\".
INTERPRET "TINY BASICU" JE V SYSTEMU PLAN 80A UMISTEN
NA ADRESACH E000 AZ EFFF. PODLE DELKY PAMETI RAM UMISTUJE
INTERPRET VNITRNI PROMENNE. PRO SVOU FUNKCI POTREBUJE NEJMENE
JEDEN KILOBYTE UZIVATELSKE PAMETI RAM.
OPROTI SLOZITEJSIM INTERPRETUM BASICU, "TINY" NEPROVADI
ZAKODOVANI PROGRAMU DO SPECIALNIHO KODU (TJ. PREVOD KLICOVYCH
SLOV PROGRAMU NA JEDNOBYTOVE ZNAKY). TIM SE SICE ZKRATI
INTERPRET, AVSAK ZPOMALI PROVADENI PROGRAMU A HLAVNE SNIZI
VYUZITI PROGRAMOVE PAMETI. VKLADANY PROGRAM JE V PAMETI
ULOZEN TAK, JAK JEJ VIDIME NA OBRAZOVCE JEN S TIM ROZDILEM,
ZE CISLO RADKU NENI REPREZENTOVANO DEKADICKYM, NYBRZ BINARNIM
CISLEM. VYUZITI PAMETI LZE CASTECNE ZVYSIT, POKUD BUDEME
POUZIVAT POVOLENYCH ZKRATEK PRIKAZU.
PRI POPISU INTERPRETU JE POUZITO SYMBOLICKYCH PRAVIDEL
PRO ZKRACENI TEXTU. PRO ZDURAZNENI URCITYCH KODU JSOU TYTO
UZAVRENY DO UVOZOVEK, TAKZE NAPR. PISMENO A JE ZAPSANO "A".
HRANATE ZAVORKY "[" A "]" OZNACUJI NEPOVINNOU CAST OBJEKTU
JAZYKA, NAPR. "[N]" ZNAMENA NEPOVINNE UVEDENI PARAMETRU N.
LOMENE ZAVORKY "<" A ">" OZNACUJI URCITY OBJEKT, NAPR. PRO-
MENNA P JE OZNACENA "<P>". OZNACENIM "<N>" ROZUMIME HODNOTOVY
PARAMETR, KTERYM MUZE BYT CISLO, PROMENNA VYRAZ NEBO FUNKCE.
-------------------------------- 2 ------------------------
-------------------------------------------------------------
ZAKLADNI OBJEKTY JAZYKA:
========================
K ZAKLADNIH OBJEKTUM JAZYKA PATRI POVELY, INSTRUKCE, FUNKCE,
OPERATORY, PROMENNE, KONSTANTY A VYRAZY. PRO VYJADRENI TECHTO
OBJEKTU SE POUZIVA REZERVOVANYCH SLOV A NAZVU.
REZERVOVANA SLOVA:
------------------
LIST LLIST RUN NEW MONITOR RAM
LOAD SAVE NEXT LET CLS CLEAR
HARD DISPL IF GOTO GOSUB RETURN
REM FOR INPUT PRINT LPRINT END
STOP CALL OUTCHAR OUT OS I$
WAIT BEEP POKE MASK TAB BYTE
WORD PUT CLOSE PLOT DRAW MOVE
CURS INIT EDIT RND ABS SIZE
PEEK INCHAR HEX INM IN TOP
AREM LEN GET TO STEP
DEFINICE ZAKLADNICH OBJEKTU JAZYKA:
-----------------------------------
POVELY: SLOUZI K OVLADANI FUNKCE INTERPRETU A SLEDOVANI
CHODU PROGRAMU.
INSTRUKCE: PRIKAZY, KTERE VYKONAVA PROGRAM NEBO KTERE LZE
VYVOLAT PRIMO.
FUNKCE: CINNOSTI, JEJICHZ VYSLEDKEM JE VZDY CISELNA NEBO
RETEZOVA HODNOTA.
OPERATORY: ARITMETICKE, LOGICKE, TEXTOVE A RELACNI OPERACE
PROMENNE: ZAKLADNI OBJEKTY PRO ULOZENI PROMENNYCH HODNOT
KONSTANTY: ZAKLADNI OBJEKTY NEMENNE HODNOTY
VYRAZY: OBJEKTY VYTVARENE Z FUNKCI, PROMENNYCH A KONSTANT
POMOCI OPERATORU.
ARITMETICKE OPERATORY:
----------------------
+ ... SECITANI
- ... ODECITANI
/ ... CELOCISELNE DELENI
* ... NASOBENI
( ... LEVA ZAVORKA
) ... PRAVA ZAVORKA
-------------------------------- 3 ------------------------
-------------------------------------------------------------
RELACNI OPERAIORY:
------------------
> ... VETSI
>= ... VETSI NEBO ROVNO
= ... ROVNO
# ... NEROVNO
< ... MENSI
<= ... MENSI NEBO ROVNO
LOGICKE OPERATORY:
------------------
"TINY BASIC" VLASTNI LOGICKE OPERTORY NEMA. PRO LOGICKY SOU-
CET VSAK LZE POUZIT OPERACI SCITANI '+', PRO LOGICKY SOUCIN
OPERACI NASOBENI '*', NEBOT VYSLEDEK JAKO LOGICKA PROMENNA SE
TESTUJE NA NULOVOST NEBO NENULOVOST.
PRIKLAD: \10 A=5
\20 B=0
\30 IF A+B THEN PRINT "SOUCET:TRUE"
\40 IF A*B THEN PRINT "SOUCIN:TRUE"
\RUN
SOUCET:TRUE
READY
\
TEXTOVY OPERATOR:
-----------------
JE TVOREN JEDNODUCHOU UVOZOVKOU. JEHO HODNOTA JE DEKADICKE
CISLO ODPOVIDAJICI ASCII KODU ZNAKU, UZAVRENEHO V TOMTO OPE-
RATORU. POZN. ASCII JE NORMA PRO ZNAKY A JEJICH CISELNOU
REPREZENTACI (AMERICAN STANDART CODE FOR INFORMATION INTER-
CHANGE).
PRIKLAD: \10 PRINT "A",'A',"___B",'B'
\RUN
A 65___B 66
READY
\
KONSTANTY:
----------
CISELNA KONSTANTA JE CELE CISLO OD -32767 DO +32767. ZNAK "+"
LZE U KLADNE KONSTANTY VYNECHAT. PRO ZNAMENKO JE
VYHRAZEN BIT D15 (NEJVYSSI), NULOVY BIT D15 ZNAMENA
KLADNE CISLO, JEDNICKOVY BIT D15 ZNAMENA ZAPORNE CISLO.
PRIKLAD: A = -2468 B = 0 C = +654 D = 27432
-------------------------------- 4 ------------------------
-------------------------------------------------------------
RETEZOVA KONSTANTA JE SKUPINA ZNAKU ASCII UZAVRENA DO
DVOJITYCH UVOZOVEK. POKUD TIMTO RETEZCEM KONCI RADEK,
NENI NUTNE PSAT DRUHOU UVOZOVKU.
PRIKLAD: PRINT "12345678","AHOJ
CISLO RADKU:
------------
CISLO RADKU JE CHARAKTERISTICKYM OZNACENIM RADKU PROGRAMU A
NAHRAZUJE NAVESTI, UKAZUJICI NA TENTO RADEK. JE TO CELE
KLADNE CISLO V ROZSAHU 1 AZ 32767. NAPISEME-LI RADEK S CISLEM
SHODNYM S CISLEM JIZ EXISTUJICIHO RADKU, BUDE STARY RADEK
VYMAZAN A NAHRAZEN NOVYM. DOPORUCUJE SE CISLOVANI RADKU S
KROKEM 10, CIMZ JE USNADNENO POZDEJSI LADENI PROGRAMU.
JEDNODUCHA CISELNA PROMENNA:
----------------------------
OZNACUJI SE VELKYMI PISMENY A,B,...,Z. LZE TEDY POUZIT
MAXIMALNE 26 JEDNODUCHYCH PROMENNYCH. ROZSAH HODNOTY CISELNE
PROMENNE SE POHYBUJE V ROZSAHU CELYCH CISEL OD -32767 PO
+32767. TYTO PROMENNE MAJI PEVNE VYHRAZENE MISTO V PAMETI
(ZABIRAJI DVA BYTY) A EXISTUJI TEDY VZDY, I KDYZ NEBYLY
POUZITY V PROGRAMU.
POZN. PRI STARTU PROGRAMU PRIKAZEM "RUN" SE JEDNODUCHE CISEL-
NE PROMENNE NENULUJI, K TOMU SLOUZI PRIKAZ "CLEAR".
PRIKLAD: A=5,B=7,C=9999,B=-7777
INDEXOVANA CISELNA PROMENNA:
----------------------------
"TINY BASIC" MA JEDINOU INDEXOVANOU PROMENNOU. OZNACUJE SE
@(P), KDE PROMENNA P UDAVA INDEX A MUZE BYT V ROZSAHU 0 AZ
32767. KAZDY PRVEK TOHOTO POLE MUZE MIT CELOCISELNOU HODNOTO
OD -32767 PO +32767. JEONOTLIVE POLOZKY INDEXOVANE CISELNE
PROMENNE JSOU UKLADANY OD KONCE PROGRAMOVE PAMETI. PRI JEJIM
POUZIVANI JE TEDY NUTNE KONTROLOVAT ROZSAH VOLNE PAMETI PRI
VYTVARENI PROGRAMU (VIZ. HLASENI CHYBY "SORRY").
PRIKLAD: \10 FOR I=1 TO 100
\20 @(I)=0
\30 NEXT I
\40 PRINT "INDEXOVA PROMENNA @(1) AZ @(100)"
\50 PRINT "VYNULOVANA."
\RUN
INDEXOVA PROMENNA @(1) AZ @(100)
VYNULOVANA.
READY
\
-------------------------------- 5 ------------------------
-------------------------------------------------------------
TVORBA PROGRAMU:
================
PROGRAM SE SKLADA Z JEDNOTLIVYCH RADKU, OPATRENYCH CISLEM
RADKU. NA RADCICH SE NACHAZEJI JEDNOTLIVE UKONY POPSANE PRI-
KAZY. PRI PROVADENI PROGRAMU SE VZDY PROVADEJI UKONY PODLE
VZESTUPNYCH CISEL RADKU, NA NICHZ JSOU UVEDENY. CISLA RADKU
TVORI TEZ ADRESU-UKAZATEL PRO INSTRUKCE SKOKU. PRO VYTVARENI
PROGRAMU PLATI NEKOLIK ZAKLADNICH PRAVIDEL:
- RADEK ULOZIME DO PAMETI POCITACE TAK, ZE JEJ VYPISEME
POMOCI KLAVESNICE A ZA NEJ STISKNEME KLAVESU "CR" (LOMENA
SPKA VLEVO: <--' )
- PRI PSANI PROGRAMU SETRIDUJE INTERPRET "TINY BASIC"
VKLADANE RADKY PODLE VELIKOSTI JEJICH CISLA AUTOMATICKY, NENI
TREBA VKLADAT RADKY PODLE JAKEHOKOLIV PORADI
- PRI VLOZENYCH DVOU RADCICH SE STEJNYM CISLEM JE TEN, KTERY
BYL VLOZEN JAKO PRVNI VYMAZAN, PLATI POZDEJI VLOZENY RADEK
- PRI VZNIKU CHYBY PRI PSANI LZE PRED ULOZENIM RADKU DO
PAMETI ZAPSANE ZNAKY VYMAZAT KLAVESAMI "DEL" NEBO "BS". PO
ZAPISU DO PAMETI STISKNUTIM KLAVESY "CR" LZE CHYBU OPRAVIT
PREPSANIM CELEHO RADKU NEBO POUZITIM EDICNIHO PRIKAZU "EDIT".
U MATICOVE KLAVESNICE TS5220004 SLOUZI PRO VYMAZ ZNAKU
KLAVESA SE SIPKOU VLEVO.
- U PRIRAZOVACIHO PRIKAZU SMI BYT FUNKCE POUZE NA JEHO PRAVE
STRANE, FUNKCI NELZE HODNOTU PRIRAZOVAT
- NA LEVE STRANE PRIRAZOVACIHO PRIKAZU SE SMI NACHAZET POUZE
NAZEV PROMENNE (TJ. "A" AZ "Z")
- POKUD JE SYSTEM KONFIGUROVANY JAKO MAGNETOPASKOVY, LZE
SESTAVENY PROGRAM ZAZNAMENAT NA KAZETU PRIKAZEM "SAVE" NEBO
PRECIST PROGRAM Z KAZETY PRIKAZEM "LOAD"
- PO SPUSTENI PROGRAMU PRIKAZEM "RUN" SE JEDNOTLIVE RADKY
PRED INTERPRETACI (PROVEDENIM) KONTROLUJI. DOJDE-LI K CHYBE,
OBJEVI SE HLASENI CHYBY A VYPISE SE RADEK S OTAZNIKEM ZA
PUVODCEM CHYBY
-------------------------------- 6 ------------------------
-------------------------------------------------------------
POVELY:
=======
POVELY UMOZNUJI OPERATOROVI RIDIT CHOD PROGRAMU A JEHO EDICI.
DALE UMOZNUJI VYTVORENY PROGRAM ULOZIT NA PASKU, NEBO Z PASKY
PRECIST STARY PROGRAM. POVELY JSOU ZADAVANY BEZ
PREDCHAZEJICIHO CISLA RADKU.
[L]LIST [N1][+N2]
-----------------
PRIKAZ PROVADEJICI VYPIS ULOZENEHO V PAMETI PROGRAMU. PRITOM
PRIKAZ LIST PROVADI VYPIS NA OBRAZOVKU (PRES MONITOROVSKE
CO), LLIST PROVADI VYPIS NA TISKARNU (PRES MONITOROVSKE LO).
CISLO N1 OZNACUJE PRVNI RADEK VYPISU, CISLO N2 OZNACUJE POCET
RADKU VYPISU. OBE CISLA N1 I N2 NEJSOU POVINNA. (ZKRATKA "L."
NEBO "LL.").
PRIKLAD: LIST 20
LLIST 100+15
L. 55+3
RUN
---
PRIKAZ SLOUZI KE SPUSTENI PROGRAMU POCINAJE RADKEM S
NEJNIZSIM CISLEM. BEH PROGRAMU SE PRERUSI PO DOSAZENI KONCE
PROGRAMU, PRIKAZU "STOP", PRIKAZU "END", PRI VZNIKU CHYBY
NEBO PRI PRERUSENI PROGRAMU KLAVESAMI 'CTRL-C' NEBO TLACITKEM
"INT" U SYSTEMU PLAN SOA. (ZKRATKA "R.")
NEW
---
PRIKAZ UMOZNUJICI VYMAZ PROGRAMOVE PAMETI. VE SKUTECNOSTI
VSAK PROVADI POUZE INICIOVANI PROMENNE "TXTUNF" UKAZUJICI NA
KONEC PROGRAMU. DO TETO PROMENNE SE NASTAVI ADRESA ZACATKU
PROGRAMOVE PAMETI. PROMENNA "TXTUNF" JE UMISTENA NA ADRESE
003BH A 003CH (PRVNI JE NIZSI BYTE). ZACATEK PROGRAMOVE
PAMETI "TXTBGN" MA ADRESU 009BH. (ZKRATKA "N.").
RAM N
-----
POVEL UMOZNUJICI MENIT ROZDELENI PAMETI "TINY BASICU" TIM, ZE
VNUTI INTERPRETU NOVY KONEC PAMETI PRO PROGRAM. TENTO JE
URCEN PARAMETREM N PRIKAZU A MUZE BYT V ROZSAHU (TXTBGN+32)
AZ PO HODNOTU URCENOU MONITOROVSKYM PODPROGRAMEM MEMCHK. Z
TOHO PLYNE, ZE MINIMALNI MOZNY PROSTOR PRO PROGRAM V BASICU
JE 32 BYTE. PRIKAZEM LZE VYTVORIT PROSTOR PRO UZIVATELSKE
PROGRAMY NAPSANE V ASSEMBLERU. POZN. PRI STUDENEM STARTU
-------------------------------- 7 ------------------------
-------------------------------------------------------------
INTERPRETU JE ROZSAH PROGRAMOVE PAMETI NASTAVEN VZDY NA KONEC
DOSTUPNE PAMETI RAM, TJ. NA MAXIMALNE MOZNOU HODNOTU. (ZKRAT-
KA "RA.").
LOAD
----
PRIKAZ UMOZNUJICI ZAVEDENI PROGRAMU Z PASKY (AT UZ DERNE NEBO
MAGNETOFONOVE) DO PROGRAMOVE PAMETI. POKUD JE POUZIT SYSTEM V
MAGNETOPASKOVE VERZI, SE PAK PO VLOZENI PRIKAZU VYPISE DOTAZ
NA NAZEV PROGRAMU:
NAME:
PO JEHO VLOZENI UKONCENEM "CR" SE OBJEVI DOTAZ, ZDA BYL
MEGNETOFON PREPNUT NA SNIMANI:
PLAY DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE PROGRAM NACITAT DO
PAMETI. POKUD NASTANE CHYBA OHLASI SE DVOJITYM KRIZKEM "#".
UKONCENI NAHRAVANI PROGRAMU JE OZNACENO VYPISEM LOMITKA "\".
POZN. FORMAT PROGRAMU NA PASCE JE DEFINOVAN U PRIKAZU "SAVE".
(ZKRATKA POVELU "LO.">.
SAVE
----
PRIKAZ UMOZNUJE ULOZIT PROGRAM Z PAMETI SYSTEMU NA PASKU (AT
UZ DERNOU NEBO MAGNETOFONOVOU). POKUD JE POUZIT SYSTEM V
MAGNETOPASKOVE VERZI, PAK SE PO VLOZENI TOHOTO PRIKAZU OBJEVI
DOTAZ NA NAZEV POSLEDNIHO PROGRAMU ULOZENEHO NA KAZETE:
LAST NAME:
PO JEHO VLOZENI UKONCENEM "CR" SE VYPISE DOTAZ, ZDA BYL
MAGNETOFON PREPNUT NA SNIMANI:
PLAY DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE VYHLEDAVAT KONEC
UDANEHO PROGRAMU. PO JEHO NALEZENI SE VYPISE DOTAZ NA NAZEV
PRAVE UKLADANEHO PROGRAMU:
NEW NAME:
PO JEHO VLOZENI UKONCENEM "CR" SE OBJEVI DOTAZ, ZDA BYL
MAGNETOFON PREPNUT NA ZAPIS:
RECORD DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE PROGRAM ZAPISOVAT NA
KAZETU. PRI ZAZNAMU POSLEDNIHO UZAVIRACIHO BLOKU SE VYPISE
-------------------------------- 8 ------------------------
-------------------------------------------------------------
"CLOSED". UKONCENI ZAZNAMU JE OZNAMENO VYPISEM LOMITKA "\".
(ZKRATKA POVELU "S.").
POZN. FORMAT DAT NA PASCE MA JEDNOTNY TVAR:
1) ZNAK "$" (KOD 24H)
2) POCET BYTU PROGRAMU (ROZDIL PROMENNYCH TXTUNF A
TXTBGN), VE DVOU BYTECH, PRVNI NIZZSI BYTE
3) JEDNOTLIVE BYTE PROGRAMOVE PAMETI POCINAJE TXTBGN
4) ZNAK "SUB" (KOD 1AH)
MONITOR
-------
POVEL UMOZNUJICI SKOK DO MONITORU (NA ADRESU F839H, TJ.
"NEXT"). SAMOTNY PRIKAZ PROMENNE INTERPRETU NEOVLIVNI, TAKZE
LZE BEZ JAKYCHKOLI VEDLEJSICH UCINKU PREJIT PRIKAZEM "C" Z
MONITORU ZPET DO INTERPRETU "TINY BASICU". (ZKRATKA "M.").
EDIT N
------
POVEL PRO VYVOLANI JEDNORADKOVEHO EDITORU. UMOZNUJE PROVADET
UPRAVY JEDNOTLIVYCH ZNAKU NA RADKU S CISLEH DANYM PARAMETREM
N. POKUD TAKOVY RADEK NEEXISTUJE, VYBERE SE RADEK S
NEJBLIZSIM NASLEDUJICIM CISLEM. JEDNORADKOVY EDITOR JE RIZEN
SPECIALNIMI ZNAKY, KTERE POSUNUJI KURZOREM NA OBRAZOVCE.
POSUN VLEVO PROVADI KLAVESY 'CTRL-S', POSUV VPRAVO 'CTRL-D',
VYMAZ ZNAKU VPRAVO OD KURZORU ZAJISTI KLAVESA "CTRL-X". NOVE
ZNAKY SE VKLADAJI VLEVO OD KURZORU. UKONCENI EDICE SE DOSAHNE
STISKNUTIM KLAVESY "CR". U MATICOVE KLAVESNICE TS5220004
SLOUZI PRO POSUN KURZORU KLAVESY SE SIPKAMI. "CTRL-S"
NAHRAZUJE KLAVESA S SIPKOU VLEVO, "CTRL-D" NAHRAZUJE KLAVESA
S SIPKOU VPRAVO, "CTRL-X" NAHRAZUJE KLAVESA S SIPKOU DOLU.
-------------------------------- 9 ------------------------
-------------------------------------------------------------
INSTRUKCE:
==========
UMOZNUJI ZADAVANI CINNOSTI V PROGRAMU. POKUD JSOU NAPSANY BEZ
CISLA RADKU, PROVADEJI SE JAKO POVELY.
BEEP <N>
--------
PRIKAZ VYSLANI ZVUKOVYCH SIGNALU V POCTU DANEM PARAMETREM N V
ROZSAHU 0 AZ 32767. JEDNOTLIVE SIGNALY SE VYSILAJI V ODSTU-
PECH 0.1 SEKUNDY.
BYTE (<N>)
----------
PRIKAZ PRO ZOBRAZENI PARAMETRU N V ROZSAHU 0 AZ 255 JAKO
HEXADECIMALNIHO CISLA.
PRIKLAD: \10 BYTE (15)
\RUN
0F
READY
\
CALL <N>
--------
PRIKAZ SKOKU DO PODPROGRAMU (USEKU PROGRAMU V ASSEMBLERU
ZAKONCENEM KODEM "C9H", TJ. RET) NA ADRESU <N>, KDE N MUZE
BYT V ROZSAHU -32767 AZ 32767, POKUD JE ZAPORNE, UKAZUJE NA
HORNI POLOVINU PAMETOVEHO PROSTORU. (ZKRATKA "CA.").
PRIKLAD: CALL HEX(F800) ZAJISTI STUDENY START SYSTEMU
CLEAR
-----
PRIKAZ PRO NULOVANI VSECH 26 JEDNODUCHYCH POMENNYCH "A" AZ
"Z". INDEXOVANA PROMENNA SE TIMTO PRIKAZEM NENULUJE, PRO TUTO
FUNKCI JE TREBA VYTVORIT PROGRAMOVY CYKLUS. (ZKRATKA "CLE.").
PRIKLAD: \10 CLEAR
\20 FOR I=1 TO 100 : @(I)=0 : NEXT I
\30 PRINT "VSECHNY PROMENNE VYNULOVANY
\RUN
VSECHNY PROMENNE VYNULOVANY
READY
\
-------------------------------- 10 ------------------------
-------------------------------------------------------------
PRIKLAD: \1 REM POZOR - TRVA I NEKOLIK DESITEK MINUT
\10 FOR I=0 TO SIZE/2
\20 @(I) = 0
\30 NEXT I
\40 PRINT "CELA PROGRAMOVA PAMET VYNULOVANA"
\RUN
CELA PROGRAMOVA PAMET VYNULOVANA
READY
\
CLOSE
-----
PRIKAZ PRO UZAVRENI DATOVEHO SOUBORU VYTVORENEHO PRIKAZEM
"PUT". POUZITI PRIKAZU "CLOSE" BEZ PREDCHOZIHO POUZITI PRIKA-
ZU "PUT" ZNAMENA UZAVIRANI NEOTEVRENEHO SOUBORU A JE HLASENO
JAKO CHYBA DVOJITYM KRIZKEH "#". PRI PROVADENI PRIKAZU SE NA
OBRAZOVCE OBJEVI PRIZNAK UZAVIRANI SOUBORU - NAPIS "CLOSED".
TENTO PRIKAZ LZE POUZIVAT POUZE U SYSTEMU PLAN80A V MAGNETO-
PASKOVE VERZI.
CLS
---
PRIKAZ PRO VYMAZ CELE OBRAZOVKY A NASTAVI KURZOR NA ZACATEK
PRVNIHO RADKU. (ZKRATKA "C.").
CURS <N1>,<N2>
--------------
PRIKAZ PRO PREMISTENI ZNAKOVEHO KUZRORU NA POZICI DANOU
PARAMETRY N1 A N2. PARAMETR NI V ROZSAHU 0 AZ 47 URCUJE
POZICI SLOUPCE A PARAMETR N2 V ROZSAHU 0 AZ 31 URCUJE POZICI
RADKU. POZICE VLEVO NAHORE MA SOURADNICI [0,0], VPRAVO DOLE
MA SOURADNICI [47,31].
DRAW N1,N2
----------
GRAFICKY PRIKAZ UMOZNUJICI SPOJIT NAPOSLEDY NAKRESLENY BODR
NEBO BOD URCENY SOURADNICEMI PRIKAZU "MOOVE" S BODEM O
SOURADNICICH N1 A N2. PARAMETR N1 O ROZSAHU 0 AZ 143 URCUJE
SOURADNICI X (VODOROVNA OSA), PARAMETR N2 O ROZSAHU 0 AZ 64
URCUJE SOURADNICI Y (SVISLA OSA). OBA BODY SE SPOJUJI PRIMKOU
POMOCI ZAKLADNIHO INTERPOLATORU. PO UKONCENI TOHOTO PRIKAZU
JE GRAFICKY KURZOR PREMISTEN NA POZICI [N1,N2].
-------------------------------- 11 -----------------------
-------------------------------------------------------------
END
---
PRIKAZ SLOUZICI PRO UKONCENI BEHU PROGRAMU. NENI POVINNY,
POKUD ZA POSLEDNI INSTRUKCI HLAVNIHO PROGRAMU NENASLEDUJI
INSTRUKCE PODPROGRAMU. (ZKRATKA "E.").
FOR <P> = <N1> TO <N2> [STEP <N3>] ... NEXT <P>
-----------------------------------------------
PRIKAZ CYKLU. JEHO TELO ZACINA RADKEM, NA KTEREM JE UVEDEN A
KONCI RADKEM, NA NEMZ JE PRIKAZ "NEXT P". CINNOST PRIKAZU
SPOCIVA V DOSAZOVANI DO PROMENNE <P> HODNOT, POCINAJE HODNO-
TOU <N1> A KONCE HODNOTOU <N2>. POKUD NENI UVEDEN KROK, JE
IMPLICITNE ROVEN JEDNE. POKUD JE UVEDEN, JE ROVEN <N3>.
PRITOM N1, N2 A N3 MOHOU BYT PARAMETRY V ROZSAHU -32767 AZ
32767. PRO VSECHNY TAKTO ZISKANE HODNOTY PROMENNE <P> SE
PROVEDE PRUCHOD TELEM CYKLU. PRIKAZY CYKLU MOHOU BYT V SOBE
VNORENY, NESMI SE VSAK KRIZIT.
PRIKLAD: \10 FOR I = 1 TO 100
\20 FOR J = -10 TO +10 STEP 2
\30 PRINT I,J
\40 NEXT J
\50 NEXT I
PRIKLAD: \10 FOR I=Z TO INCHAR
\20 NEXT I
GOSUB <N> ... RETURN
--------------------
SKOK DO PODPROGRAMU, JEZ ZACINA RADKEM S CISLEM N A KONCI
RADKEM S PRIKAZEM RETURN. PRIKAZ "GOSUB" LZE POUZIT I
UPROSTRED RADKU S VICE PRIKAZY. PO NAVRATU Z PODPROGRAMU SE
SPRAVNE BUDE POKRACOVAT NA NASLEDUJICIM PRIKAZU. DOPORUCIJE
SE PSAT PODPROGRAMY NA RADKY S VYSOKYMI CISLY (NAPR. 10000),
JE PRITOM NUTNE ZAJISTIT, ABY POSLEDNI INSTRUKCI HLAVNIHO
PROGRAMU BYLA INSTRUKCE "END" NA RADKU S CISLEM NIZSIM, NEZ
CISLO PRVNIHO RADKU PODPROGRAMU (NAPR. 9999). PARAMETR N MUZE
MIT ROZSAH 1 AZ 32767 A MUSI BYT SHODNY S CISLEM EXISTUJICIHO
RADKU. (ZKRATKY "GOS." A "RET.").
PRIKLAD: \10 PRINT "1",
\20 PRINT "2", : GOSUB 1000 : PRINT "3",
\30 PRINT "5",
\40 END
\1000 PRINT "4",
\1010 RETURN
\RUN
12435
READY
\
-------------------------------- 12 -----------------------
-------------------------------------------------------------
GOTO <N>
--------
PRIKAZ NEPODMINENEHO SKOKU NA RADEK S CISLEM N. PARAMETR MUSI
MIT HODNOTU V ROZSAHU OD 1 AZ 32767 A MUSI BYT ROVEN CISLU
EXISTUJICIHO RADKU. TIMTO PRIKAZEM LZE NAHRADIT PRIKAZ
PREPINACE. (ZKRATKA "G.").
PRIKLAD: \10 GOTO 20
\20 IF A=5 N=100
\30 IF A=7 N=200
\40 GOTO N
HARD, DISPL
-----------
PRIKAZY UMOZNUJICI RIDIT VYPIS BUD NA TISKARNU (HARD) NEBO
NA OBRAZOVKU (DISPL). TAT0 CINNOST JE V NEKTERYCH CASTO
POUZIVANYCH PRIKAZECH (NAPR. PRINT, LIST) OBSAZENA, ZADAVA SE
PREDPONOU "L" PRED TENTO PRIKAZ PRO TISK NA TISKARNU NEBO
NEUVEDENIM TETO PREDPONY PRO ZOBRAZOVANI NA OBRAZOVCE. FYZIC-
KY ZNAMENA TISK NA TISKARNE POUZITI MONITOROVSKEHO PODPROGRA-
MU "LO", ZOBRAZOVANI NA OBRAZOVCE POUZITI MONITOROVSKEHO
PODPROGRAMU "CO". (ZKRATKY "H."F "D.").
I$ <N>
------
PRIKAZ VSTUPU RETEZCE ZNAKU UKONCENEHO "CR" Z KLAVESNICE.
ZNAKY JSOU POSTUPNE UKLADANY DO PAMETI POCINAJE ADRESOU DANOU
HODNOTOU PARAMETRU N V ROZSAHU -32767 AZ 32767. ZAPORNA
ADRESA UKAZUJE DO HORNI POLOVINY PAMETOVEHO PROSTORU. ZA
RETEZEC SE ULOZI KOD 00H. POCET ZNAKU RETEZCE LZE ZJISTIT
POMOCI FUNKCE "LEN".
PRIKLAD: \1 REM PAMET RAM > 3 KBYTE
\10 I$ 1000
\20 O$ 1000
\RUN
ABCBEFGHIJK
ABCDEFGHIJK
READY
\
IF <PODMINKA> <PRIKAZ>
----------------------
PODMINENY PRIKAZ. PODMINKA JE IVORENA VYRAZEM VYTVORENYM
POMOCI RELACNICH OPERATORU (MISTO AND LZE POUZIT "*", MISTO
OR LZE POUZIT '+'). POKUD JE PODMINKA VYHODNOCENA JAKO PRAV-
DIVA (NENULOVA HODNOTA) PAK SE PROVEDE ZA NI UMISTENY PRIKAZ.
-------------------------------- 13 -----------------------
-------------------------------------------------------------
POKUD JE PODMINKA VYHODNOCENA JAKO NEPRAVDIVA (NULOVA HODNO-
TA), PAK SE POKRACUJE NA NASLEDUJICIM RADKU PROGRAMU.
PRIKLAD: 10 IF (A>2)*(A<7) PRINT"A JE 3 AZ 6"
20 IF (A=1)+(A=5) PRINT"A JE 1 NEBO 5
INIT
----
PRIKAZ PRO INICIACI PROGRAMU OVLADAJICIHO MAGNETOFON V
MAGNETOPASKOVE VERZI SYSTEMU PLAN 80A. DOPORUCUJE SE PROVEST
TENTO PRIKAZ PRED JAKOUKOLI MANIPULACI S DATY CTENYMI NEBO
ZAPISOVANYMI NA MAGNETICKOU PASKU. PRIKAZ LZE POUZIVAT POUZE
U SYSTEMU PLAN80A V MAGNETOPASKOVE VERZI.
INPUT ["RETEZEC"[,]] <SEZNAM>
-----------------------------
PRIKAZ VSTUPU HODNOT Z KLAVESNICE A JEJICH POSTUPNEHO PRIRA-
ZENI PROMENNYM UVEDENYM V SEZNAMU. JEDNOTLIVE PROMENNE SE
ODDELUJI CARKOU. PRED SEZNAM JE MOZNO UMISTIT RETEZEC, KTERY
SE TISKNE PRED VSTUPEM HODNOT. POKUD ZA RETEZ NAPISEME CARKU,
PAK SE NAZEV PROMENNE ZOBRAZI PRED VSTUPEM HODNOTY. CEKANI NA
HODNOTU SE PROJEVI ZOBRAZENIM DVOJTECKY. HODNOTU UKONCUJEME
ZNAKEM "CR".
PRIKLAD: \10 INPUT A,B,C
\20 INPUT "VSTUP ",D
\30 INPUT "ZADEJ VAHU " E
\RUN
A:125"CR"
B:333"CR"
C:555"CR"
VSTUP D:666"CR"
ZADEJ VAHU :777"CR"
READY
\
LET
---
PRIRAZOVACI PRIKAZ UMOZNUJE ULOZIT DO PROMENNE URCITOU HODNO-
TU. SAMOTNE LET V PRIRAZOVACIM PRIKAZE NENI POVINNE. NA JEDNE
RADCE MUZE BYT I VICE PRIRAZENI, ODDELENYCH OD SEBE CARKAMI.
(ZKRATKA "LE.").
PRIKLAD: \10 LET A=5
\20 B=7,C=10
\30 LET D=236,E=5432,F='R'
-------------------------------- 14 -----------------------
-------------------------------------------------------------
MASK <N>
--------
PRIKAZ PRO NASTAVENI MASKY VSTUPNI FUNKCE INM. PARAMETR N MA
SMYSL V ROZSAHU 0 AZ 255.
PRIKLAD: \10 MASK 8 : REM SLEDUJE SE BIT D3
MOVE <N1>,<N2>
--------------
PRIKAZ PRO POSUN GRAFICKEHO KURZORU NA POZICI DANOU PARAMETRY
N1 A N2. PARAMETR N1 JE V ROZSAHU OD 0 PO 143 A URCUJE
SOURADNICI X (VODOROVNA OSA), PARAMETR N2 JE V ROZSAHU OD 0
PO 63 A URCUJE SOURADNICI Y (SVISLA OSA). POLOHU GRAFICKEHO
KURZORU OVLIVNUJI TEZ GRAFICKE PRIKAZY "DRAW" A "PLOT".
O$ <N>
------
PRIKAZ PRO ZOBRAZENI ZNAKOVEHO RETEZCER ULOZENEHO V PAMETI OD
ADRESY DANE PARAMETREM N V ROZSAHU -32767 AZ 32767 (ZAPORNA
ADRESA UKAZUJE NA HORNI POLOVINU PAMETOVEHO PROSTORU). ZOBRA-
ZOVANI SE UKONCI PO DOSAZENI PRVNIHO NULOVEHO BYTU V PAMETI.
OUT <N1>,<N2>
-------------
PRIKAZ VYSTUPU HODNOTY <N2> NA PORT <N1>. OBA PARAMETRY MAJI
SMYSL V ROZSAHU 0 AZ 255 (ZKRATKA "OUT").
PRIKLAD: 10 OUT HEX(12),3
OUTCHAR (<N>)
-------------
PRIKAZ PRO VYSTUP ZNAKU, KTERY ODPOVIDA KODU ASCII <N>.
PARAMETR N MUSI MIT HODNOTOU V ROZSAHU 0 AZ 255. UMOZNUJE
VYSTUP NESTANDARTNICH ZNAKU. (ZKRATKA "O.").
PRIKLAD: 10 REM PRECHOD NA NOVY RADEK
20 OUTCHAR (HEX(0A)) : OUTCHAR (HEX(0D))
PLOT N1,N2
----------
PRIKAZ PLOT PROVEDE ZOBRAZENI BODU O SOURADNICICH DANYCH
PARAMETRY N1 V ROZSAHU 0 AZ 143, N2 V ROZSAHU 0 AZ 63.
PARAMETR N1 URCUJE OSU X (VODOROVNOU), N2 OSU Y (SVISLOU). PO
-------------------------------- 15 -----------------------
-------------------------------------------------------------
UKONCENI PRIKAZU JE GRAFICKY KURZOR UMISTEN NA POZICI [N1,N2].
POKE <N1>,<N2>
--------------
PRIKAZ PRO ULOZENI HODNOTY <N2> NA ADRESU <N1>. ADRESA N1
MUZE BYT V ROZSAHU -32767 AZ 32767, JE-LI ZAPORNA, UKAZUJE NA
HORNI POLOVINU ADRESOVEHO PROSTORU PAMETI. PARAMETR N2 MUZE
MIT HODNOTU 0 AZ 255. (ZKRATKA "PO.").
PRIKLAD: 10 POKE HEX(8000),0
PUT (<N>)
---------
PRIKAZ PRO ULOZENI PARAMETRU N V ROZSAHU -32767 AZ 32767 NA
PASKU. POKUD JDE O SYSTEM PLAN 80A V MAGNETOPASKOVE VERZI,
PAK PRI PRVEM VYSKYTU TOHOTO PRIKAZU SI SYSTEM VYZADA
INFORMACE PRO OTVERENI DATOVEHO SOUBORU PRO ZAPIS. VYPISE SE
ZADOST O NAZEV POSLEDNIHO SOUBORU ZAPSANEHO NA KAZETE:
LAST NAME:
PO JEHO ZADANI UKONCENEHO ZNAKEM "CR" SE OBJEVI DOTAZ, ZDA
BYL MAGNETOFON PREPNUT NA SNIMANI:
PLAY DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE VYHLEDAVAT KONEC
UVEDENEHO SOUBORU. AZ SE NAJDE, VYPISE SE DOTAZ NA NAZEV
PRAVE ZAPISOVANEHO DATOVEHO SOUBORU:
NEW NAME:
PO JEHO ZADANI UKONCENEHO ZNAKEM "CR" SE VYPISE DOTAZ, ZDA
BYL MAGNETOFON PREPNUT NA ZAPIS:
RECORD DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE POSTUPNE ZAPLNOVAT
BUFFER OBSLUZNEHO PROGRAMU MAGNETOFONU. PO DOSAZENI KAZDYCH
256 BYTU (TZN. PO KAZDYCH 128 VYVOLANI PRIKAZU PUT) SE CELY
BLOK ZAPISE NA KAZETU.
POZOR! PO ZAZNAMU VSECH CISEL DATOVEHO SOUBORU JE NUTNE PRED
JAKOUKOLI MANIPULACI S KAZETOU PRAVE VYTVORENY SOUBOR
UZAVRIT PRIKAZEM "CLOSE". JINAK MUZE DOJIT K POSKOZE-
NI PRAVE VYTVORENEHO SOUBORU.
-------------------------------- 16 ----------------------
-------------------------------------------------------------
[L]PRINT [*1,] [#<N1>,] [<P>,] ["RETEZEC"] [,]
----------------------------------------------
PRIKAZ TISKU. PRIKAZ "PRINT" PROVADI VYPIS NA OBRAZOVKU,
PRIKAZ "LPRINT" PROVADI VYPIS NA TISKARNU. PRVNI NEPOVINNY
PARAMETR JE TVORENY HVEZDICKOU A CISLEM JEDNA "*1". POKUD JE
V PRIKAZE UVEDEN, PAK SE TISK PROVADI INVERZNE (TJ. POZADI A
ZNAK SI PROHODI BARVU). DRUHY PARAMETR JE TVOREN DVOJITYM
KRIZKEM A HODNOTOU OBJEKTU "#<N>". TENTO PARAMETR LZE UVEST
PRED KAZDOU PROMENNOU SEZNAMU A UDAVA, NA KOLIK MIST SE
PROVEDE TISK HODNOTY (IMPLICITNE JDE O 8 ZNAKU). POKUD MA
HODNOTA VIC PLATNYCH CIFER, NEZ UDAVA PARAMETR, TISKNOU SE
VSECHNY. NULY ZLEVA SE NETISKNOU. SEZNAM JE TVOREN
CISLY, PROMENNYMI, VYRAZY NEBO FUNKCEMI ODDELENYMI CARKAMI.
POMOCI PRIKAZU PRINT LZE TISKNOUT I RETEZCE, UZAVRENE DO
UVOZOVEK. POKUD UVEDEME CARKU NA KONEC RADKU, BUDE SE NASLE-
DUJICI PRIKAZ TISKU PROVADET NA STEJNY TISKOVY RADEK ZA PRAVE
VYTISTENE SYMBOLY. (ZKRATKA "P.").
PRIKLAD: \10 A=5,B=7
\20 PRINT A,B,"CCCC"
\30 PRINT *1," ZLATAVA "
\40 PRINT #5,A,#10,B," ","CCCC",
\50 PRINT " HHHH"
\60 PRINT "PEPA HRAJE NA KLARINET"
\RUN
_______5_______7CCCC
_ZLATAVA_ (INVERZNI TISK)
____5_________7____CCCC HHHH
PEPA HRAJE NA KLARINET
READY
\
REM
---
PRIKAZ PRO VYTVARENI POZNAMEK V PROGRAMU. NEPROVADI ZADNOU
CINNOST. (ZKRATKA "REM").
PRIKLAD: \10 REM ZBYTEK RADKU JE POUZE POZNAMKA
STOP
----
PRIKAZ PRO ZASTAVENI CHODU PROGRAMU. MA STEJNOU FUNKCI JAKO
PRIKAZ "END" S TIM, ZE NAVIC ZAJISTI VYPIS HVEZDICKY A RADKU
S PRIKAZEM STOP. POUZIVA SE PRI LADENI PROGRAMU, PRO SLEDOVA-
NI BEHU PROGRAMU PRI VETVENI A POD. ZA PRIKAZEM "STOP" SE
NESMI NA STEJNEM RADKU NACHAZET DALSI PRIKAZ ODDELENY DVOJ-
TECKOU. PRIKAZ STOP VSAK MUZE BYT POSLEDNIM PRIKAZEM VICENA-
SOBNEHO PRIKAZOVEHO RADKU. (ZKRATKA "S.").
PRIKLAD: \10 IF A=0 PRINT"PRI NULE ZASTAV":STOP
-------------------------------- 17 -----------------------
-------------------------------------------------------------
TAB (<N>)
---------
PRIKAZ PRO TISK <N> MEZER NA OBRAZOVCE, KDE N JE PARAMETR V
ROZSAHU 0 AZ 48 UZAVRENY DO ZAVOREK. (ZKRATKA "T.">.
PRIKLAD: \10 TAB(5),PRINT 5
\20 TAB(7),PRINT "JIRKA MA PROGRAMATOR"
\RUN
-----5
_______JIRKA MA PROGRAMATOR
READY
\
WAIT <N>
--------
PRIKAZ CASOVE PRODLEVY DANE HODNOTOU PARAMETRU N V ROZSAHU 1
AZ 32767 (U SYSTEMU PLAN 80A JDE O MILISEKUNDY). CEKANI NELZE
PRERUSIT STISKNUTIM KLAVES 'CTRL-C'.
WORD (<N>)
----------
PRIKAZ PRO ZOBRAZENI PARAMETRU N V ROZSAHU OD -32767 PO 32767
JAKO HEXADECIMALNI CISLO.
PRIKLAD: \10 WORD (32767)
\RUN
7FFF
READY
\
-------------------------------- 18 -----------------------
-------------------------------------------------------------
FUNKCE
======
ABS <<N>)
---------
VYSTUPNI HODNOTOU TETO FUNKCE JE ABSOLUTNI HODNOTA PARAMETRU
N V ROZSAHU -32767 AZ 32767.
AREM
----
VYSTUPNI HODNOTOU TETO FUNKCE JE ADRESA POSLEDNI POZNAMKY
DEFINOVANE PRIKAZEM REM. TO UMOZNUJE VYTVORIT POMOCI PRIKAZU
REM PROGRAMOVY NEBO DATOVY SEGMENT (POMOCI ASCII KODU VKLADA-
NYCH ZNAKU) A ZJISTIT JEHO POLOHU V PAMETI.
GET
---
VYSTUPNI HODNOTOU FUNKCE JE HODNOTA PRECTENA Z PASKY V
ROZSAHU -32767 AZ 32767. PRI SYSTEMU PLAN 80A V
MAGNETOPASKOVE VERZI SE PRI PRVEM VYSKYTU TETO FUNKCE SYSTEM
ZEPTA NA INFORMACI, NUTNOU K OTEVRENI SOUBORU PRO CTENI.
OBJEVI SE DOTAZ NA NAZEV SOUBORU:
NAME:
PO JEHO ZADANI UKONCENEM KLAVESOU "CR" SE VYPISE DOTAZ, ZDA
BYL MAGNETOFON PREPNUT NA SNIMANI:
PLAY DONE?
PO STISKNUTI LIBOVOLNE KLAVESY SE ZACNE VYHLEDAVAT URCENY
SOUBOR. POKUD SE NAJDE, PRECTE SE PRVNI DATOVY BLOK DO
BUFFERU. JEDEN BLOK OBASAHUJE 255 BYTU, COZ STACI NA 128
VOLANI FUNKCE "GET". POKUD SE PRI CTENI OBJEVI DVOJITY KRIZEK
"#", NASTALA CHYBA A NELZE ZARUCIT SPRAVNOST CTENYCH DAT.
POZOR: PO PRECTENI VSECH DAT JE PRED DALSI MANIPULACI S
PASKOU NUTNE OTEVRENY SOUBOR PRO CTENI UZAVRIT PRIKA-
ZEM "INIT".
HEX (H)
-------
VYSLEDNOU HODNOTOU TETO FUNKCE JE DEKADICKA HODNOTA, KTERA
ODPOVIDA HEXADECIMALNIMU CISLU "H", ZADANEMU JAKO PARAMETR
FUNKCE. JEJI HODNOTA JE -32767 AZ +32767, JE-LI ZAPORNA,
ODPOVIDA HEXADECIMALNIM CISLUM V ROZSAHU 8000H AZ FFFFH.
-------------------------------- 19 ------------------------
-------------------------------------------------------------
IN (N)
------
VYSTUPNI HODNOTOU FUNKCE JE DEKADICKE CISLO V ROZSAHU 0 AZ
255 PRECTENE Z VSTUPNIHO PORTU DANEHO PARAMETREM N V ROZSAHU
0 AZ 255.
INCHAR
------
JE OBDOBOU FUNKCE "INKEY". MA HODNOTU 00H, POKUD NEBYLA
STISKNUTA KLAVESA. POKUB BYLA, PAK MA DEKADICKOU HODNOTU V
ROZSAHU 0 AZ 255 ODPOVIDAJICI ASCII KODU ZNAKU STISKNUTE
KLAVESY.
INM (N)
-------
VYSTUPNI HODNOTOU FUNKCE JE DEKADICKE CISLO V ROZSAHU 0 AZ
255, ODPOVIDAJICI LOGICKEMU SOUCINU HODNOTY MASKY NASTAVENE
PRIKAZEM "MASK" A HODNOTY VSTUPNIHO PORTU DANEHO PARAMETREM N
V ROZSAHU 0 AZ 255.
LEN
---
VYSTUPNI HODNOTOU TETO FUNKCE JE POCET ZNAKU RETEZCE
VLOZENEHO PRIKAZEM I$.
PEEK (<N>)
----------
VYSLEDNOU HODNOTOU FUNKCE V ROZSAHU 0 AZ 255 JE HODNOTA BYTU
DANEHO ADRESOU ROVNOU PARAMETRU N V ROZSAHU -32767 AZ +32767.
ZAPORNA ADRESA UKAZUJE NA VYSSI POLOVINU PAMETI.
RND (<N>)
---------
VYSLEDNOU HODNOTOU TETO FUNKCE JE PSEUDONAHODNE CISLO V
ROZSAHU OD 0 PO HODNOTU PARAMETRU N. POKUD JE HODNOTA
PARAMETRU N NULOVA, INICIALIZUJE SE GENERACE OPAKOVATELNE
RADY PSEUDONAHODNYCH CISEL, FUNKCE RND(0) MA HODNOTU 0.
MAXIMALNI HODNOTA PARAMETRU N JE 32767.
-------------------------------- 20 -----------------------
-------------------------------------------------------------
PRIKLAB: \10 PRINT RND(0)
\20 FOR I=1 TO 5
\30 PRINT #4,RND(100),
\40 NEXT I
\50 PRINT
\60 GOTO 10
\RUN
0
71 53 8 5 54
0
71 53 8 5 54
.
.
.
SIZE
----
HODNOTOU FUNKCE JE POCET BYTU ZBYVAJICI VOLNE PAMETI RAM.
TOP
---
HODNOTOU FUNKCE JE ADRESA PRVNI VOLNE BUNKY ZA PROGRAMOVYM
TEXTEM.
-------------------------------- 21 -----------------------
-------------------------------------------------------------
HLASENI CHYB
============
WHAT? ... SYNTAKTICKA CHYBA (NAPR. PREKLEP)
HOU? ... PREKROCENI CISELNEHO ROZSAHU, NEPROVEDITELNY
PRIKAZ NEBO FUNKCE
SORRY ... PREKROCENI POVOLENYCH MEZI PAMETI NEBO JEJI ZA-
PLNENI
-------------------------------- 22 -----------------------
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1
1 TITLE 'PLAN 80A MONITOR V.2.Q'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
26 ;X X;
27 ;X X;
28 ;X PLAN-80A V.2.Q 27.09.88 X;
29 ;X X;
30 ;X MONITOR PRO ZAKLADNI VERZE S KLAVESNICI TS5220004 X;
31 ;X X;
32 ;X X;
33 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-1
57
58
59
60
61
62
63
64 ; PREDPOKLADANE ROZDELENI PAMETI
65 ; ==============================
66 ;
67 ;
68 ; E000 - EFFF EPROM S TINY BASICEM
69 ; F000 - F7FF EPROM S MAGNETOFONEM
70 ; F800 - FFFF EPROM S MONITOREM
71 ;
72 ; 0000 - 0FFF STAT. RAM (2114)
73 ; 1000 - DFFF DYN. RAM (4116)
74 ;
75 ; (OBLASTI DYNAMICKE PAMETI, KTERE SE PREKRIVAJI S
76 ; EPROM NEBO RAM MAJI OBVODOVE BLOKOVANOU AKTIVACI)
77 ;
78 ;
79 ; P O Z O R: PREDPOKLADA SE SEMIGRAFIKA !
80 ;
81 ;
82 ; PREDPOKLADANE VYUZITI PAMETI RAM
83 ; ================================
84 ;
85 ;
86 ; 0000 C3 SKOK NA STUDENY START MONITORU
87 ; 0001 00
88 ; 0002 F8
89 ; 0003 55 I/O BYTE (NENI VYUZITY)
90 ; 0004 RAMEND-LOW KONEC PROGRAMOVE RAM
91 ; 0005 REMEND-HIGH
92 ; 0038 C3 SKOK DO OBSLUHY PRERUSENI RST7
93 ; 0039 INTER-LOW
94 ; 003A INTER-HIGH
95 ;
96 ;
97 ; POZN.: EXISTUJI TRI RUZNE KONCE PAMETI RAM:
98 ; 1. FYZICKY KONEC RAM (CALL GETEND)
99 ; 2. KONEC PROGRAMOVE RAM ([RAMEND])
100 ; 3. KONEC UZIVATELSKE RAM (CALL MEMCK)
101 ; (U MAGNETOFONU ZMENSENY O BUFFER)
102 ;
103 ; INSTRUKCE SKOKU DO MONITOROVSKE OBSLUHY
104 ; PRERUSENI SE NASTAVUJE VZDY PO VLOZENI
105 ; DRUHEHO OPERANDU PRIKAZU GOTO NA ADRESU
106 ; RST7 = 0038H.
107 ;
108 ;
109 ; 0006 ZACATEK UZIVATELSKE PAMETI
110 ;
111 ; DISRAM ZACATEK PAMETI DISPLEJE, VRCHOL ZASOBNIKU:
112 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-2
113 ; RAM = 1 K ... DISRAM = 0200 ... 8 RADKU
114 ; RAM = 2 K ... DISRAM = 0400 ... 16 RADKU
115 ; RAM = 3 K ... DISRAM = 0400 ... 16 RADKU
116 ; RAM > 3 K ... DISRAM = RAMEND - 0800 ... 32 RADKU
117 ;
118 ; DISPLEJ VYUZIVA Z KAZDYCH 64 BYTU PAMATI POUZE
119 ; PRVNICH 48 (JEDEN RADEK), ZBYLYCH 16 BYTU V PRV-
120 ; NICH 9 RADCICH (PO ADRDIS + 023FH) VYUZIVA MONITOR
121 ; NEBO BASIC. OSTATNI 16-TICE V RADCICH 9-32 JSOU
122 ; NEPOUZITE. POKUT JE POUZITA DYNAMICKA PAMET, PAK
123 ; JE DISPLEJ ULOZEN NA POSLEDNI DVE KILA KVADRU S
124 ; NEJVYSSI ADRESOU (REFRES POMOCI ZOBRAZENI).
125 ;
126 ;;
127 ; VYUZITI 16-TIC BYTU V PRVNICH 8 RADCICH DISRAM :
128 ;
129 ; RADEK: 0
130 ;
131 ; DISRAM + 30H -
132 ; DISRAM + 31H UREND = NIZSI BYTE ADRESY KONCE UZIV. RAM
133 ; DISRAM + 32H VYSSI BYTE ADRESY KONCE UZIV. RAM
134 ; DISRAM + 33H MSTACK = NIZSI BYTE ADRESY VRCHOLU ZASOBNIKU
135 ; DISRAM + 34H VYSSI BYTE ADRESY VRCHOLU ZASOBNIKU
136 ; DISRAM + 35H LINECO = CITAC RADKU
137 ; DISRAM + 36H CHARCO = CITAC ZNAKU NA RADKU
138 ; DISRAM + 37H LINENO = POCET RADKU V OBRAZE
139 ; DISRAM + 38H CHARNO = POCET ZNAKU NA RADKU
140 ; DISRAM + 39H -
141 ; DISRAM + 3AH -
142 ; DISRAM + 3BH - (REZERVOVANO PRO VYSSI VERZE)
143 ; DISRAM + 3CH -
144 ; DISRAM + 3DH -
145 ; DISRAM + 3EH -
146 ; DISRAM + 3FH -
147 ;
148 ;
149 ; RADEK: 1
150 ;
151 ; DISRAM + 70H BRADR = VYSSI BYTE ADRESY PRERUSENI (VIZ 'GOTO')
152 ; DISRAM + 71H NIZSI BYTE ADRESY PRERUSENI (VIZ 'GOTO')
153 ; DISRAM + 72H BRCODE = KOD INSTRUKCE NA TETO ADRESE (VIZ 'GOTO')
154 ; DISRAM + 73H SPREG = NIZSI BYTE <SP> (VIZ 'GOTO')
155 ; DISRAM + 74H VYSSI BYTE <SP> (VIZ 'GOTO')
156 ; DISRAM + 75H HREG = OBSAH REG <H> (VIZ 'GOTO')
157 ; DISRAM + 76H LREG = OBSAH REG <L> (VIZ 'GOTO')
158 ; DISRAM + 77H DREG = OBSAH REG <D> (VIZ 'GOTO')
159 ; DISRAM + 78H EREG = OBSAH REG <E> (VIZ 'GOTO')
160 ; DISRAM + 79H BREG = OBSAH REG <B> (VIZ 'GOTO')
161 ; DISRAM + 7AH CREG = OBSAH REG <C> (VIZ 'GOTO')
162 ; DISRAM + 7BH AREG = OBSAH REG <A> (VIZ 'GOTO')
163 ; DISRAM + 7CH FREG = OBSAH REG <F> (VIZ 'GOTO')
164 ; DISRAM + 7DH INOUT = VYHRAZENO PRO PRIKAZY IN/OUT
165 ; DISRAM + 7EH -"-
166 ; DISRAM + 7FH -"-
167 ;
168 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-3
169 ; RADEK: 2
170 ;
171 ; DISRAM + B0H CONINP = KOD INSTRUKCE JMP NEBO RET (PRO CI)
172 ; DISRAM + B1H NIZSI BYTE ADRESY SKOKU
173 ; DISRAM + B2H VYSSI BYTE ADRESY SKOKU
174 ; DISRAM + B3H CONOUT = KOD INSTRUKCE JMP NEBO RET (PRO CO)
175 ; DISRAM + B4H NIZSI BYTE ADRESY SKOKU
176 ; DISRAM + B5H VYSSI BYTE ADRESY SKOKU
177 ; DISRAM + B6H READIN = KOD INSTRUKCE JMP NEBO RET (PRO RI)
178 ; DISRAM + B7H NIZSI BYTE ADRESY SKOKU
179 ; DISRAM + B8H VYSSI BYTE ADRESY SKOKU
180 ; DISRAM + B9H USRRI = KOD INSTRUKCE JMP NEBO RET (DUMMY)
181 ; DISRAM + BAH NIZSI BYTE ADRESY SKOKU
182 ; DISRAM + BBH VYSSI BYTE ADRESY SKOKU
183 ; DISRAM + BCH PUNOUT = KOD INSTRUKCE JMP NEBO RET (PRO PO)
184 ; DISRAM + BDH NIZSI BYTE ADRESY SKOKU
185 ; DISRAM + BEH VYSSI BYTE ADRESY SKOKU
186 ; DISRAM + BFH -
187 ;
188 ;
189 ; RADEK: 3
190 ;
191 ; DISRAM + F0H USRPO = KOD INSTRUKCE JMP NEBO RET (DUMMY)
192 ; DISRAM + F1H NIZSI BYTE ADRESY SKOKU
193 ; DISRAM + F2H VYSSI BYTE ADRESY SKOKU
194 ; DISRAM + F3H LSTOUT = KOD INSTRUKCE JMP NEBO RET (PRO LO)
195 ; DISRAM + F4H NIZSI BYTE ADRESY SKOKU
196 ; DISRAM + F5H VYSSI BYTE ADRESY SKOKU
197 ; DISRAM + F6H CONSTA = KOD INSTRUKCE JMP NEBO RET (PRO CSTS)
198 ; DISRAM + F7H NIZSI BYTE ADRESY SKOKU
199 ; DISRAM + F8H VYSSI BYTE ADRESY SKOKU
200 ; DISRAM + F9H -
201 ; DISRAM + FAH -
202 ; DISRAM + FBH -
203 ; DISRAM + FCH -
204 ; DISRAM + FDH -
205 ; DISRAM + FEH -
206 ; DISRAM + FFH -
207 ;
208 ;
209 ; RADEK: 4
210 ;
211 ; DISRAM + 130H NAME1 = 16-TI BITOVY NAZEV SOUBORU (PRO CTENI)
212 ; DISRAM + 131H
213 ; DISRAM + 132H
214 ; DISRAM + 133H
215 ; DISRAM + 134H
216 ; DISRAM + 135H
217 ; DISRAM + 136H
218 ; DISRAM + 137H
219 ; DISRAM + 138H
220 ; DISRAM + 139H
221 ; DISRAM + 13AH
222 ; DISRAM + 13BH
223 ; DISRAM + 13CH
224 ; DISRAM + 13DH
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-4
225 ; DISRAM + 13EH
226 ; DISRAM + 13FH
227 ;
228 ;
229 ; RADEK: 5
230 ;
231 ; DISRAM + 170H NAME2 = 16-TI BITOVY NAZEV SOUBORU (PRO ZAPIS)
232 ; DISRAM + 171H
233 ; DISRAM + 172H
234 ; DISRAM + 173H
235 ; DISRAM + 174H
236 ; DISRAM + 175H
237 ; DISRAM + 176H
238 ; DISRAM + 177H
239 ; DISRAM + 178H
240 ; DISRAM + 179H
241 ; DISRAM + 17AH
242 ; DISRAM + 17BH
243 ; DISRAM + 17CH
244 ; DISRAM + 17DH
245 ; DISRAM + 17EH
246 ; DISRAM + 17FH
247 ;
248 ;
249 ; RADEK: 6
250 ;
251 ; DISRAM + 1B0H PNADR = NIZSI BYTE ADRESY BUFFERU DEROVACE
252 ; DISRAM + 1B1H VYSSI BYTE ADRESY BUFFERU DEROVACE
253 ; DISRAM + 1B2H PNPOI = ADRESY UKAZATELE BUFFERU DEROVACE
254 ; DISRAM + 1B3H RDADR = NIZSI BYTE ADRESY BUFFERU SNIMACE
255 ; DISRAM + 1B4H VYSSI BYTE ADRESY BUFFERU SNIMACE
256 ; DISRAM + 1B5H RDPOI = ADRESY UKAZETELE BUFFERU SNIMACE
257 ; DISRAM + 1B6H PBLKC = CITAC BLOKU DEROVACE
258 ; DISRAM + 1B7H PFILC = CITAC SOUBORU DEROVACE
259 ; DISRAM + 1B8H RBLKC = CITAC BLOKU SNIMACE
260 ; DISRAM + 1B9H RFILC = CITAC SOUBORU SNIMACE
261 ; DISRAM + 1BAH PNSTS = STATUS LOGICKEHO ZARIZENI PRO ZAPIS
262 ; DISRAM + 1BBH RDSTS = STATUS LOGICKEHO ZARIZENI PRO CTENI
263 ; DISRAM + 1BCH -
264 ; DISRAM + 1BDH -
265 ; DISRAM + 1BEH -
266 ; DISRAM + 1BFH -
267 ;
268 ;
269 ; RADEK: 7
270 ;
271 ; DISRAM + 1F0H TMPAR = POMOCNA OBLAST
272 ; DISRAM + 1F1H
273 ; DISRAM + 1F2H
274 ; DISRAM + 1F3H
275 ; DISRAM + 1F4H
276 ; DISRAM + 1F5H
277 ; DISRAM + 1F6H
278 ; DISRAM + 1F7H
279 ; DISRAM + 1F8H
280 ; DISRAM + 1F9H
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-5
281 ; DISRAM + 1FAH
282 ; DISRAM + 1FBH
283 ; DISRAM + 1FCH
284 ; DISRAM + 1FDH
285 ; DISRAM + 1FEH
286 ; DISRAM + 1FFH
287 ;
288 ;
289 ; RADEK: 8
290 ;
291 ; DISRAM + 230H KEYCD = VZORKY KLAVESNICE
292 ; DISRAM + 231H -"-
293 ; DISRAM + 232H -"-
294 ; DISRAM + 233H -"-
295 ; DISRAM + 234H ZNAK = VSTUPNI ZNAK
296 ; DISRAM + 235H UPLO = HORNI/DOLNI
297 ; DISRAM + 236H CTRL = RIDICI ZNAKY
298 ; DISRAM + 237H NUM = CISLICE
299 ; DISRAM + 238H CTN = CITAC BLIKANI KURZORU
300 ; DISRAM + 239H -
301 ; DISRAM + 23AH -
302 ; DISRAM + 23BH -
303 ; DISRAM + 23CH -
304 ; DISRAM + 23DH -
305 ; DISRAM + 23EH -
306 ; DISRAM + 23FH -
307 ;
308 ;
309 ;
310 ; PREDPOKLADANE VYUZITI V/V PORTU
311 ; ===============================
312 ;
313 ;--------------------------------------------------------------------
314 ;I A7 A5 A3 I A1 A0 I A1 A0 I A1 A0 I A1 A0 I
315 ;I A6 A4 A2 I 0 0 I 0 1 I 1 0 I 1 1 I
316 ;I--------------I------------I------------I------------I------------I
317 ;I X X 0 0 0 0 I ST/OP (RW) I ST/OP (RW) I ST/OP (RW) I ST/OP (RW) I
318 ;I--------------I------------I------------I------------I------------I
319 ;I X X 0 0 0 1 I D '12 (RO) I D '12 (RO) I D '12 (RO) I D '12 (RO) I
320 ;I--------------I------------I------------I------------I------------I
321 ;I X X 0 0 1 0 I A '55 (RW) I B '55 (RW) I C '55 (RW) I CT'55 (RW) I
322 ;I--------------I------------I------------I------------I------------I
323 ;I X X 0 0 1 1 I KEY? (WO) I KEY? (WO) I KEY? (WO) I KEY? (WO) I
324 ;I--------------I------------I------------I------------I------------I
325 ;I X X 0 1 0 0 I BEEP (WO) I BEEP (WO) I BEEP (WO) I BEEP (WO) I
326 ;I--------------I------------I------------I------------I------------I
327 ;I X X 0 1 0 1 I '14 M (WO) I '14 M (WO) I '14 M (WO) I '14 M (WO) I
328 ;I--------------I------------I------------I------------I------------I
329 ;I X X 0 1 1 0 I ADRES (RW) I ADRES (RW) I ADRES (RW) I ADRES (RW) I
330 ;I--------------I------------I------------I------------I------------I
331 ;I X X 0 1 1 1 I ADRET (WO) I ADRET (WO) I ADRET (WO) I ADRET (WO) I
332 ;--------------------------------------------------------------------
333 ;
334 ; KDE: X '55 JE REGISTR X OBVODU 8255
335 ; D '12 JE VYSTUPNI PORT OBVODU 3212
336 ; ST/OP JE OBOUSMERNY PORT STAVOVE INFORMACE/VYSTUPU
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-6
337 ; '14 M JE MASKOVACI PORT OBVODU 8214
338 ; ADRES JE SIGNAL NULOVANI REGISTRU ADRESY ZOBRAZOVANI
339 ; ADRET JE SIGNAL ZAPISU ADRESY DO REGISTRU ZOBRAZOVANI
340 ; KEY? JE TEST PRITOMNOSTI SOFTWAROVE KLAVESNICE
341 ; (WO) JE POUZE VYSTUPNI PORT (VZHLEDEM K SYSTEMU)
342 ; (RO) JE POUZE VSTUPNI PORT (POUZE OPERACE CTENI)
343 ; (RW) JE OBOUSMERNY PORT
344 ;
345 ;
346 ;
347 ; OBLAST DEFINIC
348 ; ==============
349 ;
350 0000 RAMBEG EQU 0000H ; PRVNI ADRESA MAMETI RAM
351 F800 MONIT EQU 0F800H ; PRVNI ADRESA MONITORU
352 F000 TAPREC EQU 0F000H ; PRVNI ADRESA PROGRAMU MAGNETOFON
353 E000 BASIC EQU 0E000H ; STUDENY START TINY BASICU
354 E003 CONIT EQU 0E003H ; TEPLY START TINY BASICU
355 ;
356 F001 TINIT EQU TAPREC + 1 ; ADRESA INICIACE PROGRAMU MAGNETOFON
357 F004 TJOIN EQU TAPREC + 4 ; ADRESA INICIACE MAGNETOFONU
358 F007 TQUAF EQU TAPREC + 7 ; ADRESA PRIKAZU CTENI BIN. SOUBORU
359 F00A TPUT EQU TAPREC + 0AH ; ADRESA PRIKAZU ZAPISU BIN. SOUBORU
360 F00D TAPP EQU TAPREC + 0DH ; ADRESA PRIKAZU BEZPR. ZAPISU BIN. SOUBORU
361 F010 TLOAD EQU TAPREC + 10H ; ADRESA PRIKAZU OVLADANI MOTORKU
362 F013 TDIR EQU TAPREC + 13H ; ADRESA PRIKAZU DIRECTORY PASKY
363 F016 TUNNA EQU TAPREC + 16H ; ADRESA PRIKAZU POJMENOVANI NOVE PASKY
364 F019 TKI EQU TAPREC + 19H ; ADRESA PRIKAZU CTENI BYTU
365 F01C TKO EQU TAPREC + 1CH ; ADRESA PRIKAZU ZAPISU BYTU
366 F01F TWR EQU TAPREC + 1FH ; ADRESA PRIKAZU VYDEROVANI HEX. SOBORU
367 F022 TRD EQU TAPREC + 22H ; ADRESA PRIKAZU PRECTENI HEX. SOUBORU
368 F025 TEOF EQU TAPREC + 25H ; ADRESA PRIKAZU UZAVRENI HEX. SOUBORU
369 F028 TCLOS EQU TAPREC + 28H ; ADRESA PODPROGRAMU UZAVRENI SOUBORU
370 ;
371 ;
372 000E SO EQU 0EH ; ZNAK 'SO' = POMOCNY ZNAK
373 0020 SPC EQU 20H ; ZNAK 'SP' = MEZERA
374 00A0 ETX EQU 0A0H ; ZNAK 'ETX' = KONEC TEXTU
375 0003 EOT EQU 03H ; ZNAK 'EOT' = KONEC VYSILANI
376 001A SUBS EQU 1AH ; ZNAK 'SUB' = CTRL Z
377 001B ESC EQU 1BH ; ZNAK 'ESC' = CTRL [
378 000B VT EQU 0BH ; ZNAK 'VT' = POSUN NAHORU
379 0009 HT EQU 09H ; ZNAK 'HT' = TABELACE
380 000C FF EQU 0CH ; ZNAK 'FF' = VYMAZ OBRAZOVKY
381 000D CR EQU 0DH ; ZNAK 'CR' = POSUN NA ZACATEK RADKU
382 0008 BS EQU 08H ; ZNAK 'BS' = ZNAK ZPET
383 000A LF EQU 0AH ; ZNAK 'LF' = NOVY RADEK
384 007F DEL EQU 07FH ; ZNAK 'DEL' = VYMAZ ZNAKU
385 001D HOME EQU 1DH ; ZNAK 'HOME' = CTRL ]
386 001E DL EQU 1EH ; ZNAK 'DELETE LINE' = CTRL ^
387 001F DSCR EQU 1FH ; ZNAK 'DELETE SCREEN' = CTRL _
388 0007 BELL EQU 07H ; ZNAK 'BELL' = ZVONEK
389 0000 BLANK EQU 0 ; ZNAK 'BLANK' = CTRL @
390 ;
391 0000 JMPMON EQU 0000H ; SKOK DO STUDENEHO STARTU MONITORU
392 0003 IOBYT EQU 0003H ; ADRESA I/O-BYTU
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-7
393 0004 RAMEND EQU 0004H ; ADRESA KONCE RAM
394 0038 INTADR EQU 0038H ; SKOK DO OBSLUHY RST7
395 0031 UREND EQU 31H ; ADRESA KONCE UZIVATELSKE PAMETI
396 0033 MSTACK EQU 33H ; ADRESA VRCHOLU ZASOBNIKU
397 0035 LINECO EQU 35H ; ADRESA CITACE RADKU
398 0036 CHARCO EQU 36H ; ADRESA CITACE ZNAKU
399 0037 LINENO EQU 37H ; ADRESA POCTU RADKU V OBRAZE
400 0038 CHARNO EQU 38H ; ADRESA POCTU ZNAKU V OBRAZE
401 003C ADRLO EQU 3CH ; POMOCNA ADRESA
402 003D ADRHI EQU 3DH ; POMOCNA ADRESA
403 0070 BRADR EQU 70H ; ADRESA V PC PRI PRERUSENI
404 0072 BRCODE EQU 72H ; KOD INSTRUKCE PRI PRERUSENI
405 0073 SPREG EQU 73H ; NOVY OBSAH (SP) PO GOTO
406 0075 HREG EQU 75H ; NOVY OBSAH (H) PO GOTO
407 0076 LREG EQU 76H ; NOVY OBSAH (L) PO GOTO
408 0077 DREG EQU 77H ; NOVY OBSAH (D) PO GOTO
409 0078 EREG EQU 78H ; NOVY OBSAH (E) PO GOTO
410 0079 BREG EQU 79H ; NOVY OBSAH (B) PO GOTO
411 007A CREG EQU 7AH ; NOVY OBSAH (C) PO GOTO
412 007B AREG EQU 7BH ; NOVY OBSAH (A) PO GOTO
413 007C FREG EQU 7CH ; NOVY OBSAH (F) PO GOTO
414 007D INOUT EQU 7DH ; POMOCNA PROMENA PRIKAZU INPUT A OUTPUT
415 00B0 CONINP EQU 0B0H ; SKOK NA HANDLER KONZOLY - KLAVESNICE
416 00B3 CONOUT EQU 0B3H ; SKOK NA HANDLER KONZOLY - OBRAZOVKY
417 00B6 READIN EQU 0B6H ; SKOK NA HANDLER SNIMACE
418 00BC PUNOUT EQU 0BCH ; SKOK NA HANDLER DEROVACE
419 00F0 USRPO EQU 0F0H ; ADRESA NEPOUZIVANEHO SKOKU
420 00F3 LSTOUT EQU 0F3H ; SKOK NA HANDLER TISKARNY
421 00F6 CONSTA EQU 0F6H ; SKOK NA HANDLER STATUSU KONZOLY
422 0130 NAME1 EQU 130H ; JMENO PROGRAMU PRECTENE Z KAZETY
423 0170 NAME2 EQU 170H ; JMENO HLEDANEHO PROGRAMU NA KAZETE
424 01B0 PNADR EQU 1B0H ; ADRESA BUFFERU DEROVACE
425 01B3 RDADR EQU 1B3H ; ADRESA BUFFERU SNIMACE
426 01B2 PNPOI EQU 1B2H ; ADRESA UKAZATELE DEROVACE
427 01B5 RDPOI EQU 1B5H ; ADRESA UKAZATELE SNIMACE
428 01B6 PBLKC EQU 1B6H ; ADRESA CITACE BLOKU DEROVACE
429 01B8 RBLKC EQU 1B8H ; ADRESA CITACE BLOKU SNIMACE
430 01B7 PFILC EQU 1B7H ; ADRESA CITACE SOUBORU DEROVACE
431 01B9 RFILC EQU 1B9H ; SDRESA CITACE SOUBORU SNIMACE
432 01BB RDSTS EQU 1BBH ; ADRESA STAVU LOGICKEHO ZARIZENI PRO CTENI
433 01BA PNSTS EQU 1BAH ; ADRESA STAVU LOGICKEHO ZARIZENI PRO ZAPIS
434 01F0 TMPAR EQU 1F0H ; POMOCNA OBLAST PRO CTENI SOUBORU Z KAZETY
435 0230 KEYCD EQU 230H ; POLE VZORKU ZNAKU Z KLAVESNICE
436 0235 ZNAK EQU 235H ; VSTUPNI ZNAK Z KLAVESNICE
437 0236 UPLO EQU 236H ; PRIZNAK VSTUPU HORNICH ZNAKU
438 0237 CTRL EQU 237H ; PRIZNAK VSTUPU RIDICICH ZNAKU
439 0238 NUM EQU 238H ; PRIZNAK VSTUPU CISLIC
440 0239 CTN EQU 239H ; CITAC BLIKANI KURZORU
441 ;
442 0040 STCKLN EQU 64 ; DELKA ZASOBNIKU
443 ;
444 00C3 KEYBAS EQU 0C3H ; KLIC PRO ROZPOZNAVANI BASICU
445 E000 ADRBAS EQU BASIC ; ADRESA - " -
446 0055 KEYTPR EQU 055H ; KLIC PRO ROZPOZNAVANI MAGNETOFONU
447 F000 ADRTPR EQU TAPREC ; ADRESA - " -
448 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-8
449 0004 ADRCIN EQU 04H ; DATOVY PORT 8212
450 0000 ADRCST EQU 00H ; STAVOVY PORT 8216
451 0008 RDYCIN EQU 08H ; MASKA STAVOVEHO BITU KLAVESNICE
452 0004 REPCIN EQU 04H ; MASKA STAVOVEHO BITU OPAKOVANI ZNAKU X KLAV.
453 0002 RDYRE1 EQU 02H ; MASKA STAVOVEHO BITU ZARIZENI 1
454 0001 RDYRE2 EQU 01H ; MASKA STAVOVEHO BITU ZARIZENI 2
455 0008 ADRPA EQU 08H ; ADRESA PORTU PA
456 0009 ADRPB EQU 09H ; ADRESA PORTU PB
457 000A ADRPC EQU 0AH ; ADRESA PORTU PC
458 000B ADRCT EQU 0BH ; ADRESA RIDICIHO PORTU
459 0090 CTRLWD EQU 90H ; RIDICI SLOVA PA=IN, PB=OUT, PC=OUT, M0 VSE
460 0001 PC0SET EQU 01H ; NASTAVENI PC0
461 0000 PC0RES EQU 00H ; NULOVANI PC0
462 0003 PC1SET EQU 03H ; NASTAVENI PC1
463 0002 PC1RES EQU 02H ; NULOVANI PC1
464 0008 PC4SET EQU 08H ; NASTAVENI PC4
465 0009 PC4RES EQU 09H ; NULOVANI PC4
466 0010 ADRBIP EQU 10H ; ADRESA ZVUKOVEHO PORTU
467 0000 ADROUT EQU 00H ; ADRESA VYSTUPNIHO PORTU 8216
468 0008 MSKWD EQU 08H ; MASKA OBVODU 8214, POVOLUJE VSECHNY PRERUSENI
469 0014 ADRMSK EQU 14H ; ADRESA MASKOVEHO PORTU OBVODU 8214
470 0018 ADRES EQU 18H ; ADRESA PRO NULOVANI REGISTRU ADRESY ZOBRAZOVANI
471 001F ADSET EQU 1FH ; ADRESA PRO NASTAVENI REGISTRU ADRESY ZOBRAZOVANI
472 0050 BEEPLN EQU 80 ; DELKA PIPNUTI
473 0060 BEEPFQ EQU 60H ; VYSKA PIPNUTI
474 ;
475 ;---------------------------------------------------------------------
476 ;
477 .PHASE MONIT
478 ;
479 ;
480 ;
481 ; TABULKA SKOKU DO ZAKLADNICH PODPROGRAMU:
482 ;
483 F800 C3 F85A JMP COLDST ; STUDENY START MONITORU
484 F803 C3 FE7A JMP CI ; VSTUP Z KONZOLY <A>
485 F806 C3 FE37 JMP RI ; VSTUP ZE SERIOVEHO PORTU <A>
486 F809 C3 FA21 JMP CO ; VYSTUP NA KONZILU <C>
487 F80C C3 FE30 JMP PO ; VYSTUP NA SERIOVY PORT <C>
488 F80F C3 FE29 JMP LO ; VYSTUP NA TISKARNU
489 F812 C3 FE69 JMP CSTS ; STAVOVY PORT KONZOLY <A>
490 F815 C3 FE1E JMP IOCHK ; ZJISTENI I/O-BYTU <A>
491 F818 C3 FE22 JMP IOSET ; NASTAVENI I/O-BYTU <C>
492 F81B C3 FE13 JMP MEMCK ; ZJISTENI KONCE UZIV. PAMETI RAM <AB>
493 F81E C3 FE3E JMP IODEF ; VASTAVENI UZIVATELSKYCH V/V <C>
494 F821 C3 FB12 JMP INTER ; SKOK DO OSERENI PRERUSENI
495 F824 C3 FB0C JMP CRLF ; NOVY RADEK
496 F827 C3 FA8A JMP EXPR ; VSTUP PARAMETRU, POCET C <C>
497 F82A C3 F931 JMP ERROR ; VYPIS '#' NA OBRAZOVKU
498 F82D C3 FAC1 JMP ASHEX ; PREVOD ASCII NA HEX, <A>
499 F830 C3 FA0C JMP DADR ; ZOBRAZENI OBSAHU <HL>
500 F833 C3 FA11 JMP DBYTE ; ZOBRAZENI OBSAHU <A>
501 F836 C3 FDE4 JMP HILO ; DEKREMENTACE <HL> A SROVNANI S <DE>
502 F839 C3 F8E4 JMP NEXT ; TEPLY START MONITORU
503 F83C C3 FA79 JMP SPACE ; MEZERA NA CO
504 F83F C3 F9F2 JMP CINCR ; VSTUP NA ROZPOZNANI PRIKAZU
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-9
505 F842 C3 FD16 JMP IMTEXT ; ZOBRAZENI TEXTU <HL>, D8
506 F845 C3 F9D2 JMP ADRKUP ; ADRESA KURZORU DO <HL>
507 F848 C3 FAD3 JMP HXASC ; PREVOD HEX NA ASCII
508 F84B C3 FE02 JMP TIMER ; CEKANI <BC> MILISEKUND
509 F84E C3 FA01 JMP GETADR ; ADRESA SKRYTE PROMENNE DO <HL>
510 F851 C3 F9CD JMP STJMB ; ULOZ <DE> NA [<HL>,<HL+1>]
511 F854 C3 FA6B JMP ECHO ; VSTUP A ZOBRAZENI ZNAKU
512 F857 C3 FDA7 JMP BACST ; KROK ZPET NA OBRAZOVCE
513 ;
514 ;
515 ; M O N I T
516 ; =========
517 ;
518 ; UVODNI CAST MONITORU, KTERA UMOZNUJE
519 ; RESTART (STUDENY I TEPLY) SYSTEMU. PROVADI
520 ; NASTAVOVANI PRACOVNICH PROMENNYCH, ZJISTUJE
521 ; ROZSAH PAMETI RAM A NASTAVI SPOJOVACI ADRESY.
522 ; OBSAHUJE TAKE VYHODNOCENI PRIKAZU OPERATORA.
523 ;
524 F85A 21 0006 COLDST: LXI H,6 ; NASTAVENI PROZATIMNIHO VRCHOLU ZASOBNIKU
525 F85D F9 SPHL ; NA ADRESU 0006H ZAMEZI POSKOZENI UZIV. PAM.
526 F85E CD F96F CALL GETDIS ; ADRESA DISRAM <HL>, POCET RADKU <C>
527 F861 F9 SPHL ; NASTAVENI SKUTECNEHO VRCHOLU ZASOBNIKU
528 F862 22 0004 SHLD RAMEND ; NASTAVY KONEC PROGRAMOVE RAM
529 F865 EB XCHG
530 F866 21 FFC0 LXI H,-STCKLN ; DELKA ZASOBNIKU
531 F869 19 DAD D ; KONEC UZIVATELSKE PAMETI
532 F86A EB XCHG
533 F86B E5 PUSH H
534 F86C 21 0031 LXI H,UREND
535 F86F CD FA01 CALL GETADR ; ADRESA PROMENNE U(SER)R(AM)END
536 F872 CD F9CD CALL STJMB ; ULOZENI KONCE UZIV. RAM
537 F875 E3 XTHL ; NA VRCHOL ZASOBNIKU ADRESA MSTACK
538 F876 7C MOV A,H
539 F877 EB XCHG ; POSLEDNI ADRESA V <DE>
540 F878 3C INR A
541 F879 E6 F8 ANI 11111000B ; VYBER BITU A15-A11 (PO DVOU KILECH)
542 F87B 0F RRC
543 F87C 0F RRC
544 F87D 0F RRC ; POSUNUTI O 3 BITY DOPRAVA
545 F87E D3 18 OUT ADRES ; VYNULOVANI REGISTRU ADRESY ZOBRAZOVANE RAM
546 F880 D3 1F OUT ADSET ; NASTAVENI PLATNE ADRESY ZOBRAZOVANE RAM
547 F882 E1 POP H ; ADRESA MSTACK DO <HL>
548 F883 CD F9CD CALL STJMB ; VRCHOL ZASOBNIKU DO MSTACK
549 F886 36 00 MVI M,0 ; KURZOR NA PRVNI RADEK (LINECO = 0)
550 F888 23 INX H
551 F889 36 00 MVI M,0 ; KURZOR NA POCATEK PRVEHO RADKU (CHARCO = 0)
552 F88B 23 INX H
553 F88C 71 MOV M,C ; POCET RADKU (Z PODPROGRAMU GETDIS)
554 F88D 23 INX H
555 F88E 36 2F MVI M,2FH ; POCET ZNAKU NA RADKU JE 48
556 ;
557 F890 D5 PUSH D
558 F891 21 00B0 LXI H,CONINP
559 F894 11 FE81 LXI D,CI4
560 F897 CD F9C7 CALL STJMP ; NASTAVENI SKOKU PRO VSTUP Z KLAVESNICE
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-10
561 F89A 11 FA28 LXI D,CO2
562 F89D CD F9CA CALL STJMA ; NASTAVENI SKOKU VYSTUP NA OBRAZOVKU
563 F8A0 21 00F6 LXI H,CONSTA
564 F8A3 11 FE70 LXI D,CSTS1
565 F8A6 CD F9C7 CALL STJMP ; NASTAVENI SKOKU PRO STATUS KONZOLY
566 F8A9 D1 POP D
567 ;
568 F8AA CD F9C1 CALL GETSPR ; ADRESA PROMENNE SPREG
569 F8AD 1B DCX D
570 F8AE 1B DCX D
571 F8AF 73 MOV M,E
572 F8B0 23 INX H
573 F8B1 72 MOV M,D ; NASTAVENI POCATECNICH HODNOTY UKAZ. ZASOB.
574 ;
575 F8B2 CD FD16 COLD2: CALL IMTEXT
576 F8B5 0C 50 4C 41 DB FF,'PLAN80A MON V2Q',BELL OR 80H
577 F8B9 4E 38 30 41
578 F8BD 20 4D 4F 4E
579 F8C1 20 56 32 51
580 F8C5 87
581 ;
582 F8C6 11 FA21 LXI D,CO ; ADRESA OBSLUHY CO
583 F8C9 0E 06 MVI C,6 ; V/V ZARIZENI LO
584 F8CB CD FE3E CALL IODEF ; NASTAVENI SKOKU LO --> CO
585 ;
586 F8CE 3E 08 MVI A,MSKWD
587 F8D0 D3 14 OUT ADRMSK ; NASTAVENI MASKY OBVODU 8214
588 ;
589 F8D2 CD FBCF COLD0: CALL CHKTPR ; JE PRITOMEN MAGNETOFON ?
590 F8D5 CC F001 CZ TINIT ; INICIACE OBVODU MAGNETOFONU A PRIRAZENI PO,RI
591 ;
592 F8D8 3E 90 MVI A,CTRLWD
593 F8DA D3 0B OUT ADRCT
594 ;
595 F8DC 3A E000 LDA ADRBAS ; JE PRITOMEN BASIC
596 F8DF FE C3 CPI KEYBAS
597 F8E1 CA E000 JZ BASIC ; ANO - SKOK DO BASICU
598 ;
599 F8E4 CD F9BB NEXT: CALL GETSTK ; ADRESA PROMENNE MSTACK
600 F8E7 CD F93C CALL NEXT6 ; UKAZATEL ZASOBNIKU DO <HL>
601 F8EA F9 SPHL ; NASTAVENI UKAZATELE ZASOBNIKU
602 ;
603 F8EB 21 0000 LXI H,JMPMON
604 F8EE 11 F85A LXI D,COLDST
605 F8F1 CD F9CA CALL STJMA ; NASTAVENI SKOKU DO STUDENEHO STARTU MONITORU
606 ;
607 F8F4 CD FB0C CALL CRLF ; PRECHOD NA NOVY RADEK
608 F8F7 0E 2E MVI C,'.'
609 F8F9 CD FA21 CALL CO ; VYCKAVACI TECKA NA DISPLAY
610 F8FC CD FA6B CALL ECHO ; VSTUP A ZOBRAZENI ZNAKU
611 F8FF 11 F8E4 LXI D,NEXT ; NAVRATOVA ADRESA PRO RETURN
612 F902 D5 PUSH D ; SIMULACE CALL PRO PRIZNAK
613 F903 01 1702 LXI B,(CTEND SHL 8) OR 2 ; <B>...DELKA TABULKY <C>...2...(EXPR)
614 F906 21 F941 LXI H,CTABL ; ZACATEK TABULKY
615 F909 D6 41 SUI 'A' ; PREVOD NA 0-26
616 F90B FA F931 JM ERROR ; ZNAK ASCII < KOD 'A' ?
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-11
617 F90E B8 CMP B ; SROVNANI KODU S DELKOU TABULKY
618 F90F D2 F931 JNC ERROR ; ZNAK ASCII > KOD 'X' ?
619 F912 CD F937 CALL GETTAB
620 F915 7C MOV A,H ; VYSSI BYTE ADRESY PRIKAZU
621 F916 E6 FC ANI 0FCH ; VYBER BITU A15 AZ A10
622 F918 FE F8 CPI MONIT SHR 8 ; SROVNANI S ADRESOU MONITORU
623 F91A D2 F928 JNC NEXT4 ; PROVED MONITOROVSKY PRIKAZ
624 F91D FE F0 CPI TAPREC SHR 8 ; SROVNANI S ADRESAMI MAGNETOFONU
625 F91F DA F929 JC NEXT2 ; PROVED PRIKAZ V BASICU
626 F922 CD FBCF CALL CHKTPR ; PROGRAM MAGNETOFONU PRITOMEN?
627 F925 C2 F931 JNZ ERROR ; NENI --> CHYBA
628 F928 E9 NEXT4: PCHL ; PROVED PRIKAZ
629 F929 3A E000 NEXT2: LDA ADRBAS
630 F92C FE C3 CPI KEYBAS ; JE PRITOMEN TINY BASIC?
631 F92E CA F928 JZ NEXT4 ; ANO - PROVED PRIKAZ BASICU
632 ;
633 ;
634 ;
635 ; E R R O R
636 ; =========
637 ;
638 ; PODPROGRAM ERROR PROVADI VYPIS HLASENI O VYSKYTU CHYBY
639 ; VE FORME DVOJITEHO KRIZKU (#).
640 ;
641 ; POSKOZENE REGISTRY: - - -
642 ;
643 F931 C5 ERROR: PUSH B
644 F932 0E 23 MVI C,'#' ; KOD ZNAKU #
645 F934 C3 FA85 JMP WQUA0 ; VYPIS ZNAKU #
646 ;
647 ;
648 ;
649 ; G E T T A B
650 ; ===========
651 ;
652 ; PODPROGRAM PRO VYVOLANI ADRESY PRIKAZU Z TABULKY DO <HL>, OFFSET JE
653 ; V <A>, ADRESA POCATKU TABULKY JE V <HL>
654 ;
655 ; POSKOZENE REGISTRY: A,F,H,L,D,E
656 ;
657 F937 87 GETTAB: ADD A ; ZDVOJNASOBENI ODSTUPU (ADRESA...2 BYTY)
658 F938 16 00 MVI D,0 ; VYNULOVANI VYSSIHO BYTU OFFSETU
659 F93A 5F MOV E,A ; ULOZENI NIZSIHO BYTU OFFSETU
660 F93B 19 DAD D ; VYPOCET VYSLEDNE ADRESY DO <HL>
661 F93C 7E NEXT6: MOV A,M ; DOLNI BYTE ADRESY PRIKAZU
662 F93D 23 INX H ; INKREMENTACE UKAZATELE
663 F93E 66 MOV H,M ; HORNI BYTE ADRESY
664 F93F 6F MOV L,A ; ADRESA PRIKAZU V <HL>
665 F940 C9 RET
666 ;
667 ;
668 ;
669 ; TABULKA ADRES OBSLUH PRIKAZU
670 ; ============================
671 ;
672 F941 F00D CTABL: DW TAPP ; A...(APPEND) PRIPOJENI BINARNIHO SOUBORU
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-12
673 F943 E000 DW BASIC ; B...(BASIC) STUDENY START BASICU
674 F945 E003 DW CONIT ; C...(CONTINUE) TEPLY START BASICU
675 F947 FC61 DW DISPL ; D...(DISPLAY) ZOBRAZENI OBSAH PAMETI
676 F949 F025 DW TEOF ; E...(END OF FILE) ZAPIS UZAV. HEX. SOUBORU
677 F94B FCBD DW FILL ; F...(FILL) VYPLNENI PAMETI ZNAKEM
678 F94D FC1A DW GOTO ; G...(GOTO) SKOK DO PROGRAMU
679 F94F F931 DW ERROR ; H...
680 F951 FCF7 DW INPUT ; I...(INPUT) VSTUP Z PORTU
681 F953 F004 DW TJOIN ; J...(JOIN) NASTAVENI ADRES MAGNETOFONU
682 F955 F028 DW TCLOS ; K...(CLOSE) UZAVRENI ZAPSANEHO SOUBORU
683 F957 F010 DW TLOAD ; L...(LOAD) OVLADANI MOTORKU MAGNETOFONU
684 F959 FCD0 DW MOVE ; M...(MOVE) PRESUN OBLASTI PAMETI
685 F95B F931 DW ERROR ; N...
686 F95D FCDD DW OUTPT ; O...(OUTPUT) VYSTUP NA PORT
687 F95F F00A DW TPUT ; P...(PUT) ZAPIS BINARNIHO SOUBORU NA PASKU
688 F961 F007 DW TQUAF ; Q...(QUAFF) CTENI BINARNIHO SOUBORU Z PASKY
689 F963 F022 DW TRD ; R...(READ) CTENI HEX. SOUBORU Z PASKY
690 F965 FBD5 DW SUBST ; S...(SUBSTITUTE) ZMENA OBSAHU PAMETI
691 F967 F013 DW TDIR ; T...(TAPE) VYPIS NAZVU VSECH SOBORU
692 F969 F016 DW TUNNA ; U...(UNNAMED) POJMENOVANI NOVE KAZETY
693 F96B F931 DW ERROR ; V...
694 F96D F01F DW TWR ; W...(WRITE) ZAPIS HEX. SOUBORU NA PASKU
695 0017 CTEND EQU ($-CTABL)/2 ; POCET POLOZEK TABULKY
696 ;
697 ; NAVRAT Z PRIKAZU VZDY: RET
698 ;
699 ;
700 ; G E T D I S
701 ; ===========
702 ;
703 ;
704 ; PODPROGRAM GETDIS PROVADI ZJISTENI KONCE PAMETI RAM> PRI
705 ; SVE CINNOSTI PREDPOKLADA SPOJITOU OBLAST PAMETI (BEZ ME-
706 ; OSAZENEHO ADRESOVEHO PROSTORU), KTERY PROHLEDAVA PO KILECH OD
707 ; KONCE. DALE PROVADI VYPOCET ADRESY ZACATKU OBRAZOVE
708 ; PAMETI A JI PRISLUSEJICI POCET RADKU. VYCHAZI Z ADRESY KONCE
709 ; PAMETI RAM. POSKYTUJE POSLEDNI BUNKU PAMETI RAM.
710 ; ADRESU OBRAZOVE PAMETI ULOZI DO <HL>, POCET RADKU DO <C>.
711 ;
712 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L
713 ;
714 F96F 21 03FF GETDIS: LXI H,03FFH ; ADRESA KONCE PAM.PROSTORU + 3FF
715 F972 11 FC00 LXI D,0FC00H ; DVOKOVY DOPLNEK 1 KILA
716 F975 19 GETD0: DAD D ; VYPOCET DALSI ADRESY
717 F976 7E MOV A,M
718 F977 2F CMA ; INVERZE PUVODNIHO OBSAHU
719 F978 77 MOV M,A ; TESTOVACI ZAPIS
720 F979 BE CMP M ; OBSAH PLATNY ?
721 F97A C2 F975 JNZ GETD0 ; NE - DALSI KILO
722 F97D 7C MOV A,H ; HORNI BYTE ADRESY
723 F97E EB XCHG ; ULOZENI ADRESY KONCE RAM
724 F97F E6 FC ANI 0FCH ; VYBER 'KILOVICH' BITU
725 F981 21 01FF LXI H,1FFH ; ADRESA DISRAM PRO 1 KILO RAM
726 F984 0E 07 MVI C,7 ; 8 RADKU
727 F986 C8 RZ ; RAM = 1K
728 F987 FE 04 CPI 4
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-13
729 F989 29 DAD H ; ADRESA DIRAM PRO 2 KILA
730 F98A 23 INX H
731 F98B 0E 0F MVI C,0FH ; 16 RADKU
732 F98D C8 RZ ; RAM = 2K
733 F98E FE 08 CPI 8
734 F990 26 07 MVI H,7 ; ADRESA DISRAM PRO 3 KILA
735 F992 C8 RZ ; RAM = 3K
736 F993 EB XCHG ; OBNOVENI ADRESY KONCE RAM
737 F994 11 F800 LXI D,0F800H ; DVOJKOVY DOPLNEK 2 KIL
738 F997 19 DAD D ; VYPOCET ADRESY DISRAM PRO 4K AZ 15K RAM
739 F998 0E 1F MVI C,1FH ; 32 RADKU
740 F99A C9 RET
741 ;
742 ;
743 ;
744 ;
745 ; N U M L I N
746 ; ===========
747 ;
748 ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE S POCTEM ZOBRAZOVANYCH
749 ; RADKU NA OBRAZOVCE. VYSLEDNA ADRESA JE V <HL>.
750 ;
751 ; POSKOZENE REGISTRY: H,L
752 ;
753 F99B 21 0037 NUMLIN: LXI H,LINENO ; ODSTUP PROMENNE S POCTEM RADKU
754 F99E CD FA01 NUML0: CALL GETADR ; ZJISTENI ADRESY TETO PROMENE
755 F9A1 C9 RET
756 ;
757 ;
758 ;
759 ; N U M C H R
760 ; ===========
761 ;
762 ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE S POCTEM ZNAKU,
763 ; ULOZI SE DO <HL>.
764 ;
765 ; POSKOZENE REGISTRY: H,L
766 ;
767 F9A2 21 0038 NUMCHR: LXI H,CHARNO
768 F9A5 C3 F99E JMP NUML0
769 ;
770 ;
771 ;
772 ; J A D R
773 ; =======
774 ;
775 ; PODPROGRAM PRO SKOK NA ADRESU DANOU ODSTUPEM V <HL> OD ADRESY
776 ; DISRAM, PREDPOKLADA OBSAH <HL> V ZASOBNIKU, TENTO OBSAH OBNOVY.
777 ;
778 ; POSKOZENE REGISTRY: H,L,SP
779 ;
780 F9A8 CD FA01 JADR: CALL GETADR ; VYPOCET FYZICKE ADRESY
781 F9AB E3 XTHL ; OBNOVENI <HL>
782 F9AC C9 RET ; SKOK NA VYPOCTENOU ADRESU
783 ;
784 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-14
785 ;
786 ; G E T L I N
787 ; ===========
788 ;
789 ; PODPROGRAM PRO ZJISTENI OBSAHU CITACE RADKU A JEHO ULOZENI DO <A>
790 ;
791 ; POSKOZENE REGISTRY: H,L,A
792 ;
793 F9AD 21 0035 GETLIN: LXI H,LINECO ; ODSTUP CITACE RADKU
794 F9B0 C3 F9B6 JMP GETC0
795 ;
796 ;
797 ;
798 ; G E T C H R
799 ; ===========
800 ;
801 ; PODPROGRAM PRO ZJISTENI OBSAHU CITACE ZNAKU A JEHO ULOZENI DO <A>
802 ;
803 ; POSKOZENE REGISTRY: H,L,A
804 ;
805 F9B3 21 0036 GETCHR: LXI H,CHARCO ; ODSTUP CITACE ZNAKU
806 F9B6 CD FA01 GETC0: CALL GETADR ; VYPOCET ADRESY CITACE ZNAKU
807 F9B9 7E MOV A,M ; PRICTENI OBSAHU CITACE ZNAKU
808 F9BA C9 RET
809 ;
810 ;
811 ;
812 ; G E T S T K
813 ; ===========
814 ;
815 ; PODPROGRAM PRO ZJISTENI ADRESY PROMENE MSTACK (VRCHOL ZASOBNIKU
816 ; PRO MONITOR).
817 ;
818 ; POSKOZENE REGISTRY: H,L
819 ;
820 F9BB 21 0033 GETSTK: LXI H,MSTACK ; ODSTUP PROMENNE MSTACK
821 F9BE C3 F9B6 JMP GETC0 ; VYPOCET ADRESY PROMENNE MSTACK
822 ;
823 ;
824 ; G E T S P R
825 ; ===========
826 ;
827 ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE SPREG (VRCHOL ZASOBNIKU
828 ; PRO UZIVATELE).
829 ;
830 ; POSKOZENE REGISTRY: H,L
831 ;
832 F9C1 21 0073 GETSPR: LXI H,SPREG
833 F9C4 C3 F9B6 JMP GETC0
834 ;
835 ;
836 ;
837 ; S T J M P
838 ; =========
839 ;
840 ; PODPROGRAM ULOZI DO <HL> ADRESU URCENOU ODSTUPEM OD DISRAM ULOZENYM
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-15
841 ; V <HL>, PAK ULOZI KOD 0C3H NA ADRESU <HL>, ABSAH <E> NA
842 ; ADESU <HL+1> A <D> NA ADRESU <HL+2>. PO VYSTUPU Z PODPROGRAMU
843 ; JE V <HL> HODNOTA ZVETSENA O 3 (HL+2).
844 ;
845 ; POSKOZENE REGISTRY: H,L
846 ;
847 F9C7 CD FA01 STJMP: CALL GETADR ; VYPOCET ADRESY A ULOZENI DO <HL>
848 F9CA 36 C3 STJMA: MVI M,0C3H ; KOD INSTRUKCE SKOKU DO [<HL>]
849 F9CC 23 INX H
850 F9CD 73 STJMB: MOV M,E ; ULOZENI DOLNIHO BYTU ADRESY SKOKU
851 F9CE 23 INX H
852 F9CF 72 MOV M,D ; ULOZENI HORNIHO BYTU ADRESY SKOKU
853 F9D0 23 INX H
854 F9D1 C9 RET
855 ;
856 ;
857 ;
858 ; A D R K U R
859 ; ===========
860 ;
861 ; PODPROGRAM ADRKUR VYPOCITA ZE SOURADNICOVYCH UKAZATELU
862 ; LINECO (CITAC RADKU) A CHARCO (CITAC ZNAKU) FYZICKOU
863 ; ADRESU PRISLUSNEHO MISTA V OBRAZOVE PAMETI DISRAM.
864 ; VYSLEDNOU ADRESU UKLADA DO <HL>.
865 ;
866 ; POSKOZENE REGISTRY: H,L
867 ;
868 F9D2 F5 ADRKUP: PUSH PSW
869 F9D3 D5 PUSH D
870 F9D4 11 0040 LXI D,64 ; POCET BYTU NA JEDEN RADEK
871 F9D7 CD F9AD CALL GETLIN ; OBSAH CITACE RADKU DO <A>
872 F9DA 2A 0004 LHLD RAMEND
873 F9DD 23 INX H ; ZACATEK OBRAZOVE PAMETI V <HL>
874 F9DE 3D ADRK2: DCR A
875 F9DF FA F9E6 JM ADRK1 ; PRES VSECHNY RADKY ?
876 F9E2 19 DAD D ; VYPOCET BYTU V PREDCH. RADCICH
877 F9E3 C3 F9DE JMP ADRK2
878 F9E6 E5 ADRK1: PUSH H
879 F9E7 16 00 MVI D,0
880 F9E9 CD F9B3 CALL GETCHR ; OBSAH CITACE ZNAKU DO <A>
881 F9EC 5F MOV E,A
882 F9ED E1 POP H ; OBNOVENI <HL>
883 F9EE 19 DAD D ; PRICTENI POCTU ZNAKU V PRUB. RADKU
884 F9EF D1 POP D
885 F9F0 F1 POP PSW
886 F9F1 C9 RET
887 ;
888 ;
889 ;
890 ; C I N C R
891 ; =========
892 ;
893 ; PODPROGRAM CINCR PROVADI VSTUP, ZOBRAZENI A ANALIZU
894 ; ZNAKU Z KLAVESNICE. ZNAK JE V REGISTRU <A>, POLE
895 ; JEHO HODNOTY NASTAVUJE PRIZNAKY NASLEDOVNE:
896 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-16
897 ; ZNAK FF-C FF-Z
898 ; , SP 0 1
899 ; CR 1 1
900 ; OSTATNI 0 0
901 ;
902 ;
903 ; POSKOZENE REGISTRY: A,F
904 ;
905 F9F2 CD FA6B CINCR: CALL ECHO ; VSTUP A ZOBRAZENI ZNAKU
906 F9F5 FE 2C ANAL: CPI ',' ; ANAJIZATOR ZNAKU V <A>
907 F9F7 C8 RZ
908 F9F8 FE 20 CPI SPC
909 F9FA C8 RZ ; PRO , A SP ... FF-Z = 1, FF-C = 0
910 F9FB FE 0D CPI CR
911 F9FD 37 STC
912 F9FE C8 RZ ; PRO CR ... FF-Z = 1, FF-C = 1
913 F9FF 3F CMC
914 FA00 C9 RET ; JINY ZNAK ... FF-Z = 0, FF-C = 0
915 ;
916 ;
917 ;
918 ;
919 ; G E T A D R
920 ; ===========
921 ;
922 ; PODPROGRAM GETADR UMOZNUJE VYPOCET ADRESY
923 ; PROMENNYCH UMISTENYCH V NEVIUZITE CASTI
924 ; PAMETI RAM URCENE PRO UCHOVANI OBRAZU. VSTUPNI
925 ; PROMENOU JE ODSTUP OD ZACATKU DISRQM, UKLADA
926 ; SE DO <HL>, VYSLEDNA ADRESA JE V <HL>
927 ;
928 ; POSKOZENE REGISTRY: H,L
929 ;
930 FA01 D5 GETADR: PUSH D
931 FA02 F5 PUSH PSW
932 FA03 EB XCHG ; ULOZENI ODSTUPU DO <DE>
933 FA04 2A 0004 LHLD RAMEND ; ADRESA KONCE PROGRAMOVE PAMETI
934 FA07 23 INX H ; ADRESA ZACATKU OBRAZOVE RAM
935 FA08 19 DAD D ; VYPOCET VYSLEDNE ADRESY DO <HL>
936 FA09 F1 POP PSW ; FF-C JE POSKOZENO INSTRUKCI DAD
937 FA0A D1 POP D
938 FA0B C9 RET
939 ;
940 ;
941 ;
942 ; D A D R
943 ; =======
944 ;
945 ; PODPROGRAM DADR (DBYTE) SLOUZI K ZOBRAZENI ADRESY
946 ; (BYTU) ULOZENEHO V REGISTRECH <HL> (V REG. <A>) NA
947 ; OBRAZOVCE POMOCI HEXADECIMALNI NOTACE.
948 ;
949 ; POSKOZENE REGISTRY: A,F,C
950 ;
951 FA0C 7C DADR: MOV A,H ; VYSSI BYTE ADRESY
952 FA0D CD FA11 CALL DBYTE ; JEJI ZOBRAZENI
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-17
953 FA10 7D MOV A,L ; NIZSI BYTE ADRESY
954 FA11 F5 DBYTE: PUSH PSW
955 FA12 0F RRC
956 FA13 0F RRC
957 FA14 0F RRC
958 FA15 0F RRC ; DELENI <A> / 16
959 FA16 E6 0F ANI 0FH ; HORNI NIBBLE
960 FA18 CD FA1E CALL DBYT0 ; PREVOD A ZOBRAZENI
961 FA1B F1 POP PSW ; OBNOVENI ODSAHU <A>
962 FA1C E6 0F ANI 0FH ; DOLNI NIBBLE
963 FA1E CD FAD3 DBYT0: CALL HXASC ; PREVOD0HEX --> ASCII0<C>
964 ;
965 ;
966 ;
967 ; C O
968 ; ===
969 ;
970 ;
971 ; PODPROGRAM CO PROVADI VYSTUP ZNAKU ULOZENEHO V REGISTRU
972 ; <C> NA OBRAZOVKU NA MISTO URCENE SOURADNICEMI LINECO A
973 ; CHARCO. SOUCASNE SIMULUJE CHOVANI OBVODOVE KONZOLY
974 ; PRO ZNAKY FF,BS,CR,LF,HT,HOME,DL,DSCR A BELL.
975 ;
976 ; POSKOZENE REGISTRY: - - -
977 ;
978 FA21 E5 CO: PUSH H
979 FA22 21 00B3 LXI H,CONOUT ; SPOJOVACI ADRESA
980 FA25 C3 F9A8 JMP JADR ; SKOK NA NI
981 ;
982 FA28 E5 CO2: PUSH H
983 FA29 F5 PUSH PSW
984 FA2A 79 MOV A,C
985 FA2B 21 FA68 LXI H,CO0 ; NAVRATOVA ADRESA
986 FA2E E5 PUSH H ; SIMULACE CALL
987 FA2F FE 0D CPI CR ; JDE O ZNAK 'CR' ?
988 FA31 CA FB02 JZ CARRET ; ZACATEK RADKU
989 FA34 FE 0A CPI LF ; JDE A ZNAK 'LF' ?
990 FA36 CA FADD JZ LINEF ; O JEDEN RADEK DOLU
991 FA39 79 MOV A,C ; OBNOVENI <A>
992 FA3A FE 08 CPI BS ; JDE O ZNAK 'BS' ?
993 FA3C CA FDA7 JZ BACST ; POSUN ZPET
994 FA3F FE 0C CPI FF ; JDE O ZNAK 'FF' ?
995 FA41 CA FD86 JZ FORFI ; VYMAZ DISRAM
996 FA44 FE 1D CPI HOME ; JDE O ZNAK 'HOME' ?
997 FA46 CA FD7A JZ GHOME ; DO LEVEHO HOR. ROHU
998 FA49 FE 1E CPI DL ; JDE O ZNAK 'DL' ?
999 FA4B CA FDC9 JZ DELLIN ; VYMAZ RADKU
1000 FA4E FE 1F CPI DSCR ; JDE O ZNAK 'DS' ?
1001 FA50 CA FD89 JZ DELSCR ; VYMAZ OBRAZOVKY
1002 FA53 FE 07 CPI BELL ; JDE O ZNAK 'BELL' ?
1003 FA55 CA FDEF JZ BEEPS ; PIPNUTI
1004 ;
1005 FA58 E1 POP H ; SPLACHNUTI NAVR. AD.
1006 FA59 CD F9D2 CALL ADRKUP ; ADRESA KURZORU <HL>
1007 FA5C 71 MOV M,C ; VYPIS ZNAKU
1008 FA5D CD F9B3 CALL GETCHR ; CISLO ZNAKU V <A>
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-18
1009 FA60 34 INR M ; DALSI POZICE
1010 FA61 CD F9A2 CALL NUMCHR ; ADRESA POCTU ZNAKU
1011 FA64 BE CMP M ; NA KONCI RADKU ?
1012 FA65 CC FB0C CZ CRLF ; ANO - NOVY RADEK
1013 FA68 F1 CO0: POP PSW
1014 FA69 E1 POP H
1015 FA6A C9 RET
1016 ;
1017 ;
1018 ;
1019 ;
1020 ; E C H O
1021 ; =======
1022 ;
1023 ; PODPROGRAM ECHO PROVADI VSTUP A ZOBRAZENI ZNAKU Z
1024 ; KLAVESNICE. ZNAK JE ULOZEN V REGISTRU <A>.
1025 ;
1026 ; POSKOZENE REGISTRY: A,F
1027 ;
1028 FA6B C5 ECHO: PUSH B
1029 FA6C CD FE7A CALL CI ; VSTUP ZNAKU
1030 FA6F 4F MOV C,A
1031 FA70 CD FA21 CALL CO ; ZOBRAZENI ZNAKU
1032 FA73 79 MOV A,C
1033 FA74 C1 POP B
1034 FA75 C9 RET
1035 ;
1036 ;
1037 ;
1038 ; S D A D R
1039 ; =========
1040 ;
1041 ; PODPROGRAM PRO ZOBRAZENI <HL> A MEZERY NA OBRAZOVCE.
1042 ;
1043 ; POSKOZENE REGISTRY: A,F,C
1044 ;
1045 FA76 CD FA0C SDADR: CALL DADR ; ZOBRAZENI <HL>
1046 ;
1047 ;
1048 ;
1049 ; S P A C E
1050 ; =========
1051 ;
1052 ; PODPROGRAM SPACE PROVEDE VYPIS MEZERY NA OBRAZOVKU.
1053 ;
1054 ; POSKOZENE REGISTRY: - - -
1055 ;
1056 FA79 C5 SPACE: PUSH B
1057 FA7A 0E 20 MVI C,SPC ; KOD MEZERY DO <C>
1058 FA7C C3 FA85 JMP WQUA0 ; PROVEDENI VYPISU
1059 ;
1060 ;
1061 ;
1062 ; E D A D R
1063 ; =========
1064 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-19
1065 ; PODPROGRAM PRO ZOBRAZENI <HL> A ROVNITKA NA OBRAZOVCE.
1066 ;
1067 ; POSKOZENE REGISTRY: A,F,C
1068 ;
1069 FA7F CD FA0C EDADR: CALL DADR ; ZOBRAZENI <HL>
1070 ;
1071 ;
1072 ;
1073 ; E Q U A T E
1074 ; ===========
1075 ;
1076 ; PODPROGRAM EQUATE PROVEDE VYPIS ROVNITKA NA OBRAZOVKU.
1077 ;
1078 ; POSKOZENE REGISTRY: - - -
1079 ;
1080 FA82 C5 EQUATE: PUSH B
1081 FA83 0E 3D MVI C,'=' ; ZNAK ROVNITKO DO <C>
1082 FA85 CD FA21 WQUA0: CALL CO ; ZOBRAZENI ROVNITKA
1083 FA88 C1 POP B
1084 FA89 C9 RET
1085 ;
1086 ;
1087 ;
1088 ; E X P R
1089 ; =======
1090 ;
1091 ; PODPROGRAM EXPR UMOZNUJE CSTYP PARAMETRU (ADRES,BYTU)
1092 ; DO PROGRAMU. POCET PARAMETRU JE V REGISTRU <C>.
1093 ; JEDNOTLIVE PARAMETRY UKLADA POSTUPNE DO ZASOBNIKU.
1094 ;
1095 ; POSKOZENE REGISTRY: A,F,B,C,H,L,SP
1096 ;
1097 FA8A F5 EXPR: PUSH PSW
1098 FA8B F1 EXPR0: POP PSW
1099 FA8C CD FA82 CALL EQUATE ; ROVNITKO NA DISPLEJ
1100 FA8F 21 0000 LXI H,0 ; VYNULOVANI <HL>
1101 FA92 CD FA6B EXPR1: CALL ECHO ; VSTUP A ZOBRAZENI ZNAKU
1102 FA95 FE 1B CPI ESC ; JDE O ZNAL 'ESC' ?
1103 FA97 CA F8E4 JZ NEXT ; POKUT ANO -> PRERUS PRIKAZ
1104 FA9A 47 MOV B,A ; ULOZENI ZNAKU DO <B>
1105 FA9B CD FAC1 CALL ASHEX ; PREVOD ZNAKU Z ASCII NA HEX
1106 FA9E DA FAAA JC EXPR2 ; NEJDE O HEXADECIMALNI CIFRU ?
1107 FAA1 29 DAD H
1108 FAA2 29 DAD H
1109 FAA3 29 DAD H
1110 FAA4 29 DAD H ; VYNASOBENI <HL> * 16
1111 FAA5 B5 ORA L ; PRIDANI DALSIHO NYBBLU
1112 FAA6 6F MOV L,A ; DO <HL>
1113 FAA7 C3 FA92 JMP EXPR1 ; VSTUP DALSI CIFRY
1114 FAAA C6 30 EXPR2: ADI '0' ; OPRAVA KODU PO ASHEX
1115 FAAC CD F9F5 CALL ANAL ; ANALIZATOR ZNAKU
1116 FAAF CA FAB8 JZ EXPR3 ; PRIJAT UKONCOVACI ZNAK 'SP' , ',' , 'CR'
1117 FAB2 CD F931 CALL ERROR ; HLASENI NESMISLNEHO OPERANDU - SPLACHNOUT
1118 FAB5 C3 FA8A JMP EXPR ; VSTUP NAHRADNIHO OPERANDU
1119 FAB8 E3 EXPR3: XTHL ; ULOZENI ZIZKANEHO OPERANDU DO ZASOBNIKU
1120 FAB9 E5 PUSH H ; OBNOVENI NARATOVE ADRESY
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-20
1121 FABA F5 PUSH PSW
1122 FABB 0D DCR C ; DEKREMENTACE CITACE OPERANDU
1123 FABC C2 FA8B JNZ EXPR0 ; VSECHNY OPERANDY NACTENY ?
1124 FABF F1 POP PSW
1125 FAC0 C9 RET
1126 ;
1127 ;
1128 ;
1129 ;
1130 ; A S H E X
1131 ; =========
1132 ;
1133 ; PODPROGRAM ASHEX ROVADI PREVOD HEX. CISLA ZADA-
1134 ; NEHO POMOCI ASCII ZNAKU NA HEX. HODNOTU. PUNODNI
1135 ; ZNAKY V REGISTRU <A>, VYSLEDEK V REGISTRU <A>.
1136 ; AUTOMATICKY POSOUVA RAD PRI VICENASOBNEM VOLANI,
1137 ; TAKZE LZE PREVADET AZ CTYR-NIBBLOVA HEX. CISLA.
1138 ;
1139 ; POSKOZENE REGISTRY: A,F
1140 ;
1141 FAC1 D6 30 ASHEX: SUI '0'
1142 FAC3 D8 RC ; JE KOD ZNAKU < 30H ?
1143 FAC4 C6 E9 ADI 0E9H
1144 FAC6 D8 RC ; JE KOD ZNAKY > 46H ?
1145 FAC7 C6 06 ADI 6
1146 FAC9 F2 FACF JP ASHE0 ; JDE O PISMENOVY KOD (A-F) ?
1147 FACC C6 07 ADI 7
1148 FACE D8 RC ; JDE O ZNAKY : (3AH) AZ (60H) ?
1149 FACF C6 0A ASHE0: ADI 10 ; POSUN NA NOVOU DEKADU
1150 FAD1 B7 ORA A ; NULOVANI PRIZNAKU NESMISLNEHO KODU
1151 FAD2 C9 RET ; FF-C = 0 => OK
1152 ;
1153 ;
1154 ;
1155 ; H X A S C
1156 ; =========
1157 ;
1158 ; PODPROGRAM HXASC PROVADI PREVOD HEX. HODNOTY
1159 ; NA KOD EKVIVALENTNIHO ZNAKU ASCII. HEX. HODNOTA
1160 ; JE V REGISTRU <A>, KOD ZNAKU V REGISTRU <C>.
1161 ;
1162 ; POSKOZENE REGISTRY: C
1163 ;
1164 FAD3 F5 HXASC: PUSH PSW
1165 FAD4 C6 90 ADI 90H ; PREHODNI KONSTANTA
1166 FAD6 27 DAA
1167 FAD7 CE 40 ACI 40H ; VYTVORENI KODU ZNAKU
1168 FAD9 27 DAA
1169 FADA 4F MOV C,A ; ULOZENI KODU DO <C>
1170 FADB F1 POP PSW
1171 FADC C9 RET
1172 ;
1173 ;
1174 ;
1175 ; L I N E F
1176 ; =========
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-21
1177 ;
1178 ;
1179 ; PODPROGRAM LINEF PROVADI PRECHOD NA NOVY RADEK.
1180 ; POKUT JDE O RADEK POSLRDNI, PAK SLEDUJE PRI-
1181 ; TOMNOST EXP-MONITORU. PRI JEHO PRITOMNOSTI VY-
1182 ; VOLA PODPROGRAM ROLL (POSUV OBSAHU OBRAZOVKY
1183 ; O JEDEN RADEK NAHORU, STARY PRVNI RADEK SE STRACI).
1184 ; PRI NEPRITOMNOSTI EXPANDU PROVEDE PRECHOD NA PRV-
1185 ; NI ZOBRAZOVANY RADEK. POZICE KURZORU V RADKU ZUSTANE
1186 ; NEZMENENA.
1187 ;
1188 ; POSKOZENE REGISTRY: - - -
1189 ;
1190 ;
1191 FADD F5 LINEF: PUSH PSW
1192 FADE E5 PUSH H
1193 FADF CD F9AD CALL GETLIN ; OBSAK CITACE RADKU
1194 FAE2 E5 PUSH H
1195 FAE3 CD F99B CALL NUMLIN ; ADRESA BUNKY S POCTEM RADKU
1196 FAE6 BE CMP M ; NA POSLEDNIM RADKU ?
1197 FAE7 DA FAFA JC LINE1
1198 FAEA CA FAF1 JZ LINE0 ; ZMENA POCTU RADKU ?
1199 FAED 7E MOV A,M ; NOVY POCET RADKU
1200 FAEE E1 POP H ; KURZOR NA POSLEDNI RADEK
1201 FAEF E5 PUSH H
1202 FAF0 77 MOV M,A
1203 FAF1 CD FD37 LINE0: CALL ROLL ; ROLOVANI DISPLAYE, KURZOR NEPOSUNE
1204 FAF4 CD FDC9 CALL DELLIN ; VYMAZ CASTI RADKU OD KURZORU
1205 FAF7 C3 FAFE JMP LINE2
1206 FAFA 3C LINE1: INR A
1207 FAFB E1 POP H ; KURZOR NA DALSI RADEK
1208 FAFC E5 PUSH H
1209 FAFD 77 MOV M,A
1210 FAFE E1 LINE2: POP H
1211 FAFF E1 POP H
1212 FB00 F1 POP PSW
1213 FB01 C9 RET
1214 ;
1215 ;
1216 ;
1217 ; C A R R E T
1218 ; ===========
1219 ;
1220 ; PODPROGRAM CARRET UMISTI KURZOR NA ZACATEK PRAZDNEHO RADKU.
1221 ;
1222 ; POSKOZENE REGISTRY: - - -
1223 ;
1224 FB02 E5 CARRET: PUSH H
1225 FB03 F5 PUSH PSW
1226 FB04 CD F9B3 CALL GETCHR ; V <HL> ADRESA CITACE ZNAKU
1227 FB07 36 00 MVI M,0
1228 FB09 F1 POP PSW
1229 FB0A E1 POP H
1230 FB0B C9 RET
1231 ;
1232 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-22
1233 ;
1234 ; C R L F
1235 ;
1236 ; PODPROGRAM CRLF PROVEDE PRECHOD NA ZACATEK NASLEDUJICIHO RADKU,
1237 ; KTERY CELY VYMAZE (POKUD JE PRITOMEN EXPAND).
1238 ;
1239 ; POSKOZENE REGISTRY: - - -
1240 ;
1241 FB0C CD FB02 CRLF: CALL CARRET ; KURZOR NA ZACATEK RADKU
1242 FB0F C3 FADD JMP LINEF ; KURZOR NA NASLEDUJICI RADEK
1243 ;
1244 ;
1245 ;
1246 ; I N T E R
1247 ; =========
1248 ;
1249 ; INTER OSETRUJE PRERUSENI. OBSAHY REGISTRU SE
1250 ; ULOZI DO PRACOVNIHO POLE PAMETI PRIKAZU GOTO.
1251 ; DALE SE ZJISTI, ZDA SLO O PRERUSENI PROGRAMOVE
1252 ; NEBO OBVODOVE. POKUT BYLO PROGRAMOVE, URCI
1253 ; SE POMOCI OBSAHU PROMENNE BRADR, ZDA SLO O PRE-
1254 ; RUSENI VYVOLANE PRERUSOVACI ADRESOU PRIKAZU
1255 ; GOTO. POKUT ANO, OBNOVI SE PUVODNI KOD NA
1256 ; TETO ADRESE. ABSAH VSECH REGISTRU SE ZABRAZI
1257 ; A PROVEDE SE SKOK NA HORKY START MONITORU.
1258 ;
1259 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L,SP
1260 ;
1261 FB12 E5 INTER: PUSH H
1262 FB13 D5 PUSH D
1263 FB14 C5 PUSH B
1264 FB15 F5 PUSH PSW
1265 FB16 21 0000 LXI H,0
1266 FB19 39 DAD SP ; V <HL> VRCHOL ZASOBNIKU
1267 FB1A EB XCHG
1268 FB1B 21 007C LXI H,FREG
1269 FB1E CD FA01 CALL GETADR ; ADSTUP PROMENNE 'FRAG'
1270 FB21 06 08 MVI B,8
1271 FB23 1A INTER2: LDAX D
1272 FB24 13 INX D
1273 FB25 77 MOV M,A
1274 FB26 2B DCX H
1275 FB27 05 DCR B
1276 FB28 C2 FB23 JNZ INTER2 ; ULOZENI REGISTRU DO PRAC. POLE
1277 FB2B 13 INX D
1278 FB2C 13 INX D ; SPLACHNUTI POSUNU VRCHOLU OD RST
1279 FB2D 72 MOV M,D
1280 FB2E 2B DCX H
1281 FB2F 73 MOV M,E ; ULOZENI PUV. VRCHOLU ZASOBNIKU
1282 FB30 F1 POP PSW
1283 FB31 C1 POP B
1284 FB32 D1 POP D
1285 FB33 E1 POP H ; OBNOVENI ABSAHU REGISTRU
1286 FB34 CD FB0C INTER3: CALL CRLF ; NOVY RADEK
1287 FB37 C5 PUSH B ; [SP]=<BC>,<ADR>
1288 FB38 E5 PUSH H
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-23
1289 FB39 21 5043 LXI H,5043H ; KODY 'PC' DO <HL>
1290 FB3C CD FBC3 CALL INTER1 ; VYPIS 'PC='
1291 FB3F E1 POP H
1292 FB40 C1 POP B ; [SP]=<ADR>
1293 FB41 E3 XTHL ; [SP] <--> <HL>
1294 FB42 C5 PUSH B ; [SP]=<BC>,<HL>
1295 FB43 F5 PUSH PSW ; [SP]=<AF>,<BC>,<HL>
1296 FB44 2B DCX H ; ADRESA PRERUSUJICI INSTRUKCE RSTX
1297 FB45 CD FA7F CALL EDADR ; ZOBRAZENI <HL>=ADR A VYPIS =
1298 FB48 7E MOV A,M
1299 FB49 CD FA11 CALL DBYTE ; ZOBRAZENI [HL]=[ADR]...INSTR
1300 FB4C E5 PUSH H
1301 FB4D 21 0070 LXI H,BRADR ; ODSTUP PROMENNE 'BRADR'
1302 FB50 CD FA01 CALL GETADR ; ADRESA 'BRADR' DO <HL>
1303 FB53 7E MOV A,M
1304 FB54 E1 POP H ; OBNOVENI <HL>
1305 FB55 BD CMP L
1306 FB56 C2 FB70 JNZ INTER0 ; POKUT NE - POKRACUJ V ZOBRAZOVANI
1307 FB59 E5 PUSH H
1308 FB5A 21 0071 LXI H,BRADR + 1
1309 FB5D CD FA01 CALL GETADR
1310 FB60 7E MOV A,M
1311 FB61 E1 POP H
1312 FB62 BC CMP H
1313 FB63 C2 FB70 JNZ INTER0 ; TO STEJNE PRO HI-BYTE ADRESY BREAKU
1314 FB66 E5 PUSH H
1315 FB67 21 0072 LXI H,BRCODE
1316 FB6A CD FA01 CALL GETADR
1317 FB6D 7E MOV A,M
1318 FB6E E1 POP H
1319 FB6F 77 MOV M,A ; OBNOVENI KODU INSTRUKCE PRI BREAKU
1320 FB70 F1 INTER0: POP PSW ; [SP]=<BC>,<HL>
1321 FB71 C1 POP B ; [SP]=<HL>
1322 FB72 E1 POP H ; [SP]=
1323 FB73 CD FA79 CALL SPACE
1324 FB76 C5 PUSH B ; [SP]=<BC>
1325 FB77 F5 PUSH PSW ; [SP]=<AF>,<BC>
1326 FB78 E5 PUSH H
1327 FB79 21 484C LXI H,484CH ; KODY 'HL' DO <HL>
1328 FB7C CD FBC3 CALL INTER1 ; VYPIS 'HL='
1329 FB7F E1 POP H
1330 FB80 CD FA7F CALL EDADR ; ZOBRAZENI <HL> A VYPIS =
1331 FB83 7E MOV A,M
1332 FB84 CD FA11 CALL DBYTE ; ZOBRAZENI [HL]
1333 FB87 CD FA79 CALL SPACE
1334 FB8A E5 PUSH H
1335 FB8B 21 5350 LXI H,5350H ; KODY 'SP' DO <HL>
1336 FB8E CD FBC3 CALL INTER1 ; VYPIS 'SP='
1337 FB91 E1 POP H
1338 FB92 21 0004 LXI H,4
1339 FB95 39 DAD SP ; VYPOCET HODNOTY SP PRI PRERUSENI
1340 FB96 CD FA7F CALL EDADR ; ZOBRAZENI TETO ADRESY A '='
1341 FB99 CD F93C CALL NEXT6 ; V <HL> VRCHOL ZASOBNIKU PRI PRERUSENI
1342 FB9C CD FA0C CALL DADR ; ZOBRAZENI TETO ADRESY
1343 FB9F CD FB0C CALL CRLF ; NOVY RADEK
1344 FBA2 21 4146 LXI H,4146H ; KODY 'AF' DO <HL>
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-24
1345 FBA5 CD FBC3 CALL INTER1 ; VYPIS 'AF='
1346 FBA8 E1 POP H ; [SP]=<BC>
1347 FBA9 CD FA76 CALL SDADR ; ZOBRAZENI <HL>=<AF> A ' '
1348 FBAC 21 4243 LXI H,4243H ; KODY 'BC' DO <HL>
1349 FBAF CD FBC3 CALL INTER1 ; VYPIS 'BC='
1350 FBB2 E1 POP H ; [SP] = JAKO PRED PRERUSENIM
1351 FBB3 CD FA76 CALL SDADR ; ZOBRAZENI <HL>=<BC> A ' '
1352 FBB6 21 4445 LXI H,4445H ; KODY 'DE' DO <HL>
1353 FBB9 CD FBC3 CALL INTER1 ; VYPIS 'DE='
1354 FBBC EB XCHG ; VYMENA <HL> <--> <DE>
1355 FBBD CD FA0C CALL DADR ; ZOBRAZENI <HL>=<DE>
1356 FBC0 C3 F8E4 JMP NEXT ; NAVRAT DO MONITORU
1357 ;
1358 FBC3 4C INTER1: MOV C,H
1359 FBC4 CD FA21 CALL CO ; ZOBRAZENI OBSAHU <H> ASCII
1360 FBC7 4D MOV C,L
1361 FBC8 CD FA21 CALL CO ; ZOBRAZENI OBSAHU <L> ASCII
1362 FBCB CD FA82 CALL EQUATE ; ZOBRAZENI '='
1363 FBCE C9 RET
1364 ;
1365 ;
1366 ;
1367 ; C H K P R
1368 ; =========
1369 ;
1370 ; PODPROGRAM CHKTPR ZJISTUJE PRITOMNOST
1371 ; PROGRAM OBSLUHY MAGNETOFONU. JE-LI
1372 ; PRITOMEN, JE FF-Z NASTAVEN, NENI-LI PRITOMEN,
1373 ; JE FF-Z NULOVAN.
1374 ;
1375 ; POSKOZENE REGISTRY: A,F
1376 ;
1377 FBCF 3A F000 CHKTPR: LDA ADRTPR ; CTENI Z CHAR. BUNKY OBSLUHY MGF
1378 FBD2 FE 55 CPI KEYTPR ; SROVNANI S KLICEM
1379 FBD4 C9 RET
1380 ;
1381 ;
1382 ;
1383 ;*****************************************************************
1384 ;
1385 ; P R I K Z Y
1386 ; ###########
1387 ;
1388 ;
1389 ;
1390 ; S U B S T
1391 ; =========
1392 ;
1393 ; PRIKAZ SUBST UMOZNUJE ZAMENIT OBSAH LIBOVOLNE BUNKY
1394 ; PAMETI NOVYM OBSAHEM. MA JEDINY VSTUPNI PARAMETR -
1395 ; ADRESU PRVNI PREPISOVANE BUNKY A SOUBOR PRACOVNICH
1396 ; PARAMETRU - NOVE OBSAHY PO SOBE JDOUCICH BUNEK POCI-
1397 ; NAJE URCENOU PRVNI BUNKOU. "SP" NEMENI OBSAH - INKRE-
1398 ; MENTUJE ADRESU, "CR" UKONCI PRIKAZ. PRI CHYBE V ZADAVANI
1399 ; PRVEHO ZNAKU SE OPRAVA PROVEDE STISKNUTIM LIBOVOLNE
1400 ; KLAVESY MIMO HEXADECIMALNICH A RIDICICH ZNAKU. TIM SE
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-25
1401 ; PUVODNI ZNAK IGNORUJE A VYPISE SE ZNOVU ROVNITKO.
1402 ; PRI CHYBE V DRUHEM ZNAKU JE TREBA ZADAT OBA ZNAKY ZNOVU
1403 ; OPAKOVANIM CELEHO PRIKAZU SUBST.
1404 ;
1405 FBD5 0D SUBST: DCR C ; VSTUP JEDNOHO OPERANDU
1406 FBD6 CD FA8A CALL EXPR ; PROVEDENI VSTUPU
1407 FBD9 CD FB0C CALL CRLF ; NOVY RADEK
1408 FBDC E1 POP H ; POCATECNI ADRESA DO <HL>
1409 FBDD CD FA76 SUBS0: CALL SDADR ; ZOBRAZENI ADRESY
1410 FBE0 7E MOV A,M ; PRECTI OBSAH PAMETI
1411 FBE1 CD FA11 CALL DBYTE ; ZOBRAZ OBSAH PAMETI
1412 FBE4 CD FA79 CALL SPACE ; ZOBRAZ MEZERU
1413 FBE7 CD F9F2 SUBS1: CALL CINCR ; VSTUP,ECHO A ANALIZA ZNAKU
1414 FBEA D8 RC ; PRO 'CR' UKONCI PRIKAZ
1415 FBEB CA FC13 JZ SUBS4 ; PRO 'SP' A ',' DALSI BUNKA
1416 FBEE CD FAC1 CALL ASHEX ; PRI OSTATNICH ZNACICH PREVOD NA HEX
1417 FBF1 DC F931 CC ERROR ; HLASENI CHYBY
1418 FBF4 DA FBE7 JC SUBS1 ; VSTUP NAHRADNIHO ZNAKU
1419 FBF7 47 MOV B,A ; ULOZENI HORNI CIFRY DO <B>
1420 FBF8 CD F9F2 SUBS2: CALL CINCR ; ECHO A ANALIZA ZNAKU
1421 FBFB CA FC12 JZ SUBS3 ; PRO 'CR','SP',',' KONEC VSTUPU
1422 FBFE CD FAC1 CALL ASHEX ; OSTATNI = DOLNI CIFRA, PREVOD
1423 FC01 DC F931 CC ERROR ; HLASENI CHYBY
1424 FC04 DA FBE7 JC SUBS1 ; VSTUP NAHRADNIHO CISLA
1425 FC07 4F MOV C,A ; DOLNI CIFRA DO <C>
1426 FC08 78 MOV A,B ; HORNI CIFRA DO <A>
1427 FC09 0F RRC
1428 FC0A 0F RRC
1429 FC0B 0F RRC
1430 FC0C 0F RRC ; NASOBENI HORNI CIFRY * 16
1431 FC0D 81 ADD C ; PRICTENI DOLNI CIFRY
1432 FC0E 77 MOV M,A ; ULOZENI NOVEHO OBSAHU RAM
1433 FC0F C3 FC13 JMP SUBS4 ; NOVA BUNKA
1434 FC12 70 SUBS3: MOV M,B ; ULOZENI JEDNOCIFERNEHO CISLA
1435 FC13 23 SUBS4: INX H ; INKREMENTACE UKAZATELE PAMETI
1436 FC14 CD FB0C CALL CRLF ; PRECHOD NA NOVY RADEK
1437 FC17 C3 FBDD JMP SUBS0 ; DALSI BUNKA
1438 ;
1439 ;
1440 ;
1441 ;
1442 ;
1443 ; G O T O
1444 ; =======
1445 ;
1446 ; PRIKAZ GOTO UMOZNUJE START UZIVATELSKYCH PROGRAMU.
1447 ; MA DVA VSTUPNI PARAMETRY: STARTOVACI ADRESU PROGRAMU
1448 ; A NEPOVINNOU (PRI STISKU "SP" PO START. ADRESE) ADRESU
1449 ; PRERUSENI BEHU PROGRAMU S VYPISEM OBSAHU REGISTRU (V
1450 ; TOMTO PRIPADE SE NA ADRESU 38H UKLADA SKOK DO INTER).
1451 ; OBSAHY ZUSTAVAJI ZACHOVANY V PRACOVNI OBLASTI PAMETI A
1452 ; OBNOVI SE PRI OPETNEM SPUSTENI PROGRAMU PRIKAZEM GOTO.
1453 ; PRI SPOUSTENI PROGRAMU LZE POCATECNI HODNOTY REGISTRU
1454 ; CPU NASTAVIT NAPR. PRIKAZEM SUBST V PRISLUSNE PRACOVNI
1455 ; OBLASTI PAMETI (SPREG - HREG).
1456 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-26
1457 FC1A E1 GOTO: POP H ; SPLACHNUTI NAVRATOVE ADR. NA NEXT
1458 FC1B 21 0072 LXI H,BRCODE ; ODSTUP PROMENNE 'BRCODE'
1459 FC1E CD FA01 CALL GETADR ; ADRESA PROMENNE 'BRCODE' DO <HL>
1460 FC21 36 FF MVI M,0FFH ; VYPLNENI PROMENNE 'BRCODE'
1461 FC23 0D DCR C ; VSTUP JEDINEHO PARAMETRU
1462 FC24 CD FA8A CALL EXPR ; VSTUP STARTOVACI ADRESY
1463 FC27 DA FC47 JC GOTO0 ; NEBUDE ADRESA PRERUSENI ?
1464 FC2A 21 0038 LXI H,INTADR
1465 FC2D 11 FB12 LXI D,INTER
1466 FC30 CD F9CA CALL STJMA ; NASTAVENI SKOKU OBSLUHY RST 7
1467 FC33 0E 01 MVI C,1
1468 FC35 CD FA8A CALL EXPR ; VSTUP ADRESY PRERUSENI
1469 FC38 D1 POP D ; ADRESA PRERUSENI DO <DE>
1470 FC39 21 0070 LXI H,BRADR ; ODSTUP PROMENNE 'BRADR'
1471 FC3C CD FA01 CALL GETADR ; ADRESA PROMENNE 'BRADR'
1472 FC3F CD F9CD CALL STJMB ; ULOZENI ADRESY PRERUSENI DO 'BRADR'
1473 FC42 1A LDAX D ; KOD INSTRUKCE NA ADRESE PRERUSENI
1474 FC43 77 MOV M,A ; ULOZENI TOHOTO KODU DO 'BRCODE'
1475 FC44 3E FF MVI A,0FFH ; KOD INSTRUKCE RST7
1476 FC46 12 STAX D ; ULOZENI KODU RST7 NA ADRESU PRERUSENI
1477 FC47 CD F9C1 GOTO0: CALL GETSPR ; ADRESA PROMENNE 'SPREG'
1478 FC4A 5E MOV E,M
1479 FC4B 23 INX H
1480 FC4C 56 MOV D,M ; V <DE> NOVY OBSAH UKAZATELE ZASOBNIKU
1481 FC4D 23 INX H
1482 FC4E 0E 08 MVI C,8
1483 FC50 7E GOTO1: MOV A,M ; CTENI OBSAHU REGISTRU Z PR. OBL. RAM
1484 FC51 1B DCX D
1485 FC52 23 INX H
1486 FC53 12 STAX D ; UKLADANI OBSAHU REG. DO NOVEHO ZAS.
1487 FC54 0D DCR C
1488 FC55 C2 FC50 JNZ GOTO1 ; VSECHNY REGISTRY ULOZENY ?
1489 FC58 EB XCHG ; VRCHOL NOVEHO ZASOBNIKU V <HL>
1490 FC59 D1 POP D ; STARTOVACI ADRESA V <DE>
1491 FC5A F9 SPHL ; NASTAVENI NOVEHO OBSAHU UKAZATELE
1492 FC5B F1 POP PSW
1493 FC5C C1 POP B
1494 FC5D E1 POP H
1495 FC5E EB XCHG
1496 FC5F E3 XTHL ; NASTAVENI POC. OBSAHU REGISTRU
1497 FC60 C9 RET ; SKOK DO UZIV. PROGRAMU
1498 ;
1499 ;
1500 ; D I S P L
1501 ; =========
1502 ;
1503 ; PRIKAZ DISPL UMOZNUJE ZOBRAZIT LIBOVOLNEHO USEKU
1504 ; PAMETI. MA DVA OPERANDY: POCATECNI A KONCOVOU ADRESU
1505 ; ZOBRAZOVANE OBLASTI. INFORMACE JE ZOBRAZOVANA HEXA-
1506 ; DECIMALNE I POMOCI ASCII ZNAKU. TAM, KDE JE OBSAH BYTU
1507 ; KODEM MALEHO PISMENE NEBO RIDICIHO ZNAKU, ZOBRAZI
1508 ; SE V DOPLNKOVEM POLI TECKA.
1509 ;
1510 FC61 CD FA8A DISPL: CALL EXPR ; VSTUP DVOU ADRES
1511 FC64 D1 POP D ; KONCOVA ADRESA
1512 FC65 13 INX D ; INKREMENTACE <DE> PRO UKONCENI
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-27
1513 FC66 E1 POP H ; POCATECNI ADRESA
1514 FC67 CD FE69 DISP0: CALL CSTS ; STATUS KONZOLY ?
1515 FC6A CA FC77 JZ DISP1 ; NEBILA STISKNUTA KLAVESA ?
1516 FC6D CD FE7A CALL CI ; VSTUP ZNAKU
1517 FC70 CD F9F5 CALL ANAL ; JEHO ANALIZA
1518 FC73 D8 RC ; POKUT JDE O 'CR' - KONEC
1519 FC74 CD FE7A CALL CI ; POKUT NE, POKRACUJ PO DALSIM ZNAKU
1520 FC77 CD FB0C DISP1: CALL CRLF ; PRECHOD NA NOVY RADEK
1521 FC7A CD FA76 CALL SDADR ; ZOBRAZENI ADRESY OSMICE
1522 FC7D CD FA79 CALL SPACE ; MEZERY NA DISPLAY
1523 FC80 E5 PUSH H ; ADRESA OSMICE DO ZASOBNIKU
1524 FC81 06 08 MVI B,8 ; CITAC ZNAKU
1525 FC83 7E DISP2: MOV A,M ; PRECTI ZNAK
1526 FC84 CD FA11 CALL DBYTE ; ZOBRAZ HEX OBSA BUNKY
1527 FC87 CD FA79 CALL SPACE ; MEZERA NA DISPLAY
1528 FC8A CD FDE4 CALL HILO ; INKREMENTACE <HL> A SROVNANI S <DE>
1529 FC8D CA FC94 JZ DISP3 ; PRECTEN CELY POZADOVANY USEK PAMETI?
1530 FC90 05 DCR B ; DEKREMENTACE CITACE BUNEK
1531 FC91 C2 FC83 JNZ DISP2 ; PRECTENA CELA OSMICE ?
1532 FC94 E1 DISP3: POP H ; OBNOVENI ADRESY OSMICE
1533 FC95 06 08 MVI B,8 ; CITAC ZNAKU
1534 FC97 CD FA79 CALL SPACE ; MEZERA NA DISPLAY
1535 FC9A E5 PUSH H
1536 FC9B CD F9B3 CALL GETCHR ; ADRESA CITACE ZNAKU DO <HL>
1537 FC9E 36 1F MVI M,1FH
1538 FCA0 E1 POP H ; POSUN KURZORU NA URCENOU POZICI
1539 FCA1 7E DISP4: MOV A,M ; PRICTI ZNAK
1540 FCA2 4F MOV C,A ; ULOZ HO DO <C>
1541 FCA3 D6 20 SUI 20H ; JDE O RIDICI ZNAK ?
1542 FCA5 DA FCAD JC DISP5 ; ANO - ZOBRAZ TECKU
1543 FCA8 D6 40 SUI 40H ; JDE O MALE PISMENO ?
1544 FCAA DA FCAF JC DISP6 ; ANO - ZOBRAZ TECKU
1545 FCAD 0E 2E DISP5: MVI C,2EH ; KOD TECKY DO <C>
1546 FCAF CD FA21 DISP6: CALL CO ; ZOBRAZENI ZNAKU NEBO TECKY
1547 FCB2 CD FDE4 CALL HILO ; INKREMENTACE <HL> A SROVNANI S <DE>
1548 FCB5 C8 RZ ; ZOBRAZEN CELI USEK PAMETI ?
1549 FCB6 05 DCR B
1550 FCB7 C2 FCA1 JNZ DISP4 ; ZOBRAZENA CELA OSMICE ?
1551 FCBA C3 FC67 JMP DISP0 ; ZOBRAZENI DALSI OSMICE
1552 ;
1553 ;
1554 ;
1555 ; F I L L
1556 ; =======
1557 ;
1558 ; PRIKAZ FILL ZAPLNI OBSAH URCENE OBLASTI PAMETI ZADANYM
1559 ; ZNAKEM. MA TRI OPERANDY: POCATECNI A KONCOVOU ADRESU
1560 ; PAMETOVE OBLASTI A HEXADECIMALNI JEDNOBYTOVY OBSAH.
1561 ;
1562 FCBD CD FCC8 FILL: CALL INADR ; VSTUP TRI PARAMETRU
1563 FCC0 71 FILL0: MOV M,C ; PREPIS BUNKY PAMETI
1564 FCC1 CD FDE4 CALL HILO ; INKREMANTACE <HL> A SROVNANI S <DE>
1565 FCC4 C2 FCC0 JNZ FILL0 ; ZAPLNEN CELY USEK?
1566 FCC7 C9 RET
1567 ;
1568 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-28
1569 ;
1570 ;
1571 FCC8 0C INADR: INR C ; PRI PARAMETRY
1572 FCC9 CD FA8A CALL EXPR ; VSTUP DVOU ADRES A OBSAHU
1573 FCCC C1 POP B ; OBSAH DO <C>
1574 FCCD D1 POP D ; KONCOVA ADRESA DO <DE>
1575 FCCE E1 POP H ; POCATECNI ADRESA DO <HL>
1576 FCCF C9 RET
1577 ;
1578 ;
1579 ;
1580 ;
1581 ; M O V E
1582 ; =======
1583 ;
1584 ; PRIKAZ MOVE PRENASI OBSAH ZADANE OBLASTI PAMETI NA
1585 ; JINE MISTO V PAMETI. MA TRI VSTUPNI PARAMETRY: POCA-
1586 ; TECNI A KONCOVOU ADRESU ZDROJOVE OBLASTI A ADRESU URCENI
1587 ;
1588 FCD0 CD FCC8 MOVE: CALL INADR ; VSTUP TRI PARAMETRU
1589 FCD3 7E MOVE0: MOV A,M ; CTENI BYTU
1590 FCD4 02 STAX B ; ULOZENI BYTU
1591 FCD5 03 INX B ; INKREMENTACE KAM
1592 FCD6 CD FDE4 CALL HILO ; INKREMENTACE ODKUD A SROVNANI S POKUD
1593 FCD9 C2 FCD3 JNZ MOVE0 ; PRENESENA CELA OBLAST ?
1594 FCDC C9 RET
1595 ;
1596 ;
1597 ;
1598 ; O U T P U T
1599 ; ===========
1600 ;
1601 ; PRIKAZ OUTPUT UMOZNUJE ZAPSAT NA LIBOVOLNY PORT
1602 ; ZADANOU HODNOTU
1603 ;
1604 FCDD CD FA8A OUTPT: CALL EXPR
1605 FCE0 C1 POP B ; VYSLANY OBSAH <C>
1606 FCE1 D1 POP D ; CISLO PORTU V <E>
1607 FCE2 21 007D LXI H,INOUT ; ODSTUP PROMENNE OPOUT
1608 FCE5 CD FA01 CALL GETADR ; ADRESA PROMENNE OPOUT V <HL>
1609 FCE8 E5 PUSH H ; ULOZENI STARTOVACI ADRESY
1610 FCE9 36 D3 MVI M,0D3H ; KOD INSTRUKCE OUT
1611 FCEB 23 INX H
1612 FCEC 73 MOV M,E ; CISLO PORTU
1613 FCED 23 INX H
1614 FCEE 36 C9 MVI M,0C9H ; KOD INSTRUKCE RET
1615 FCF0 21 FCF6 LXI H,OUTP0 ; NAVRATOVA ADRESA
1616 FCF3 E3 XTHL ; MAVR. ADR. V [<SP>], START. V <HL>
1617 FCF4 79 MOV A,C ; VYSILANY OBSAH
1618 FCF5 E9 PCHL ; SIMULACE INSTRUKCE CALL OPOUT
1619 FCF6 C9 OUTP0: RET
1620 ;
1621 ;
1622 ;
1623 ; I N P U T
1624 ; =========
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-29
1625 ;
1626 ; PRIKAZ INPUT UMOZNUJE PRECIST HODNOTU LIBOVOLNEHO
1627 ; PORTU (0-FF) A ZOBRAZIT JI NA DISPLEJ. K TOMU POU-
1628 ; ZIVA OBLASTI VYHRAZENE PAMETI, KAM SIMULUJE KOD
1629 ; INSTRUKCE IN.
1630 ;
1631 FCF7 0D INPUT: DCR C
1632 FCF8 CD FA8A CALL EXPR ; VSTUP CISLA PORTU
1633 FCFB C1 POP B ; ULOZENI CISLA PORTU DO <C>
1634 FCFC 21 007D LXI H,INOUT
1635 FCFF CD FA01 CALL GETADR ; V <HL> ADRESA POM. USEKU PAMETI
1636 FD02 E5 PUSH H
1637 FD03 36 DB MVI M,0DBH ; INSTRUKCE IN
1638 FD05 23 INX H
1639 FD06 71 MOV M,C ; ADRESA PORTU
1640 FD07 23 INX H
1641 FD08 36 C9 MVI M,0C9H ; INSTRUKCE RET
1642 FD0A 21 FD0F LXI H,INPU0
1643 FD0D E3 XTHL ; NAVRATOVA ADRESA
1644 FD0E E9 PCHL ; SIMULACE INSTRUKCE CALL
1645 FD0F CD FA82 INPU0: CALL EQUATE
1646 FD12 CD FA11 CALL DBYTE ; ZOBRAZENI OBSAHU PORTU
1647 FD15 C9 RET
1648 ;
1649 ;
1650 ;
1651 ;******************************************************************
1652 ;
1653 ; POMOCNE PODPROGRAMY
1654 ; *******************
1655 ;
1656 ;
1657 ; I M T E X T
1658 ; ===========
1659 ;
1660 ; PODPROGRAM IMTEXT UMOZNUJE VYPIS RETEZCU ZNAKU
1661 ; UMISTENEHO BAZPROSTREDNE ZA VOLANIM NA OBRAZOVKU,
1662 ; POSLEDNIM (TISKNUTYM) ZNAKEM JE ZNAK D D7=1.
1663 ; POZOR: NESTANDARTNE POUZIVA ZASOBNIK.
1664 ;
1665 ; POSKOZENE REGISTRY: H,L,C,A,F
1666 ;
1667 FD16 E3 IMTEXT: XTHL
1668 FD17 7E IMTX0: MOV A,M ; CTI ZNAK
1669 FD18 E6 7F ANI 7FH ; VYBER ASCII BITY
1670 FD1A 4F MOV C,A
1671 FD1B CD FA21 CALL CO ; ZOBRAZ ZNAK
1672 FD1E 7E MOV A,M
1673 FD1F 07 RLC ; POSLEDNI ZNAK ?
1674 FD20 23 INX H
1675 FD21 D2 FD17 JNC IMTX0 ; NE - ZABRAZ DALSI ZNAK
1676 FD24 E3 XTHL
1677 FD25 C9 RET
1678 ;
1679 ;
1680 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-30
1681 ; I N V C H R
1682 ; ===========
1683 ;
1684 ; PODPROGRAM INVCHR UMOZNUJE INVERTOVAT ZOBRAZOVANI
1685 ; ZNAKU NA OBRAZOVCE (BILY ZNAK A CERNE POZADI CI
1686 ; NAOPAK). PRI NASTAVENEM FF-Z PROVEDE INVERZI DOSAVAD-
1687 ; NIHO STAVU, PRI NULOVEM FF-Z NASTAVI VZDY D7
1688 ; KODU ZNAKU DANEHO KURZOREM DO NULY.
1689 ;
1690 ; POSKOZENE REGISTRY: - - -
1691 ;
1692 FD26 F5 INVCHR: PUSH PSW
1693 FD27 E5 PUSH H
1694 FD28 CD F9D2 CALL ADRKUP ; ADRESA ZNAKU DO <HL>
1695 FD2B 7E MOV A,M ; CTENI KODU ZNAKU
1696 FD2C 17 RAL ; D7 ZNAK DO FF-C
1697 FD2D CA FD31 JZ INVC0 ; INVERTOVAT ?
1698 FD30 37 STC ; D7 DO 1
1699 FD31 3F INVC0: CMC ; INVERZE D7
1700 FD32 1F RAR ; OBNOVENI KODU ZNAKU S UPRAVENYM D7
1701 FD33 77 MOV M,A ; PREPIS KODU ZNAKU
1702 FD34 E1 POP H
1703 FD35 F1 POP PSW
1704 FD36 C9 RET
1705 ;
1706 ;
1707 ;
1708 ;
1709 ; R O L L
1710 ; =======
1711 ;
1712 ; PODPROGRAM ROLL PROVADI ROLOVANI OBSAHU OBRAZOVKY
1713 ; (TJ. OBRAZOVE PAMETI DISRAM) O JEDEN RADEK NAHORU.
1714 ; PRITOM HORNI RADEK SE ZTRACI, SPODNI RADEK ZUSTAVA
1715 ; NEPORUSEN (ZDVOJUJE SE).
1716 ;
1717 ; POSKOZENE REGISTRY: - - -
1718 ;
1719 FD37 F5 ROLL: PUSH PSW
1720 FD38 C5 PUSH B
1721 FD39 D5 PUSH D
1722 FD3A E5 PUSH H ; UKLID VSEHO
1723 FD3B CD F9A2 CALL NUMCHR
1724 FD3E 46 MOV B,M ; POCET ZNAKU
1725 FD3F CD F99B CALL NUMLIN
1726 FD42 4E MOV C,M ; POCET ROLOVANYCH RADKU V <C>
1727 FD43 79 MOV A,C
1728 FD44 B7 ORA A
1729 FD45 FE 00 CPI 0
1730 FD47 CA FD73 JZ ROLL2
1731 FD4A 2A 0004 LHLD RAMEND
1732 FD4D 23 INX H ; <HL> ADRESA 0. RADKU
1733 FD4E 11 FFC0 LXI D,-64 ; ZAPORNY POCET BYTE NA RADKU
1734 FD51 EB XCHG
1735 FD52 19 DAD D ; <DE> ADRESA -1. RADKU
1736 FD53 EB XCHG
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-31
1737 FD54 D5 PUSH D
1738 FD55 E5 PUSH H
1739 FD56 E1 ROLL0: POP H
1740 FD57 D1 POP D
1741 FD58 C5 PUSH B
1742 FD59 01 0040 LXI B,64 ; POCET BYTU NA RADEK
1743 FD5C 09 DAD B
1744 FD5D EB XCHG
1745 FD5E 09 DAD B ; <HL> ADRESA I+1 NIHO RADKU
1746 FD5F EB XCHG ; <DE> ADRESA I TEHO RADKU
1747 FD60 C1 POP B ; <B> CITAC ZNAKU, <C> CITAC RADKU
1748 FD61 D5 PUSH D
1749 FD62 E5 PUSH H
1750 FD63 7E ROLL1: MOV A,M
1751 FD64 12 STAX D
1752 FD65 13 INX D
1753 FD66 23 INX H
1754 FD67 05 DCR B
1755 FD68 F2 FD63 JP ROLL1 ; ROLOVANY VSECHNY ZNAKY?
1756 FD6B CD F9A2 CALL NUMCHR
1757 FD6E 46 MOV B,M
1758 FD6F 0D DCR C
1759 FD70 C2 FD56 JNZ ROLL0 ; ROLOVANY VSECHNY RADKY?
1760 FD73 E1 ROLL2: POP H
1761 FD74 D1 POP D
1762 FD75 E1 POP H
1763 FD76 D1 POP D
1764 FD77 C1 POP B
1765 FD78 F1 POP PSW
1766 FD79 C9 RET
1767 ;
1768 ;
1769 ;
1770 ; G H O M E
1771 ; =========
1772 ;
1773 ; PODPROGRAM GHOME PREMISTI KURZOR DO LEVEHO HORNIHO
1774 ; ROHU OBRAZOVKY.
1775 ;
1776 ; POSKOZENE REGISTRY: - - -
1777 ;
1778 FD7A E5 GHOME: PUSH H
1779 FD7B CD F99B CALL NUMLIN ; ADRESA POCTU RADKU
1780 FD7E 2B DCX H
1781 FD7F 36 00 MVI M,0 ; VYNULOVANI CITACE ZNAKU
1782 FD81 2B DCX H
1783 FD82 36 00 MVI M,0 ; VYNULOVANI CITACE RADKU
1784 FD84 E1 POP H
1785 FD85 C9 RET
1786 ;
1787 ;
1788 ;
1789 ; F O R F I
1790 ; =========
1791 ; PODPROGRAM FORFI PROVEDE VYMAZ CELE OBRAZOVKY A UMISTI
1792 ; KURZOR DO LENEHO HORNIHO ROHU OBRAZOVKY.
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-32
1793 ;
1794 ; POSKOZENE REGISTRY: - - -
1795 ;
1796 FD86 CD FD7A FORFI: CALL GHOME ; KURZOR DO LEVEHO HORNIHO ROHU
1797 ;
1798 ;
1799 ;
1800 ; D E L S C R
1801 ; ===========
1802 ;
1803 ; PODPROGRAM DELSCR PROVEDE VYMAZ OBRAZOVKY POCITACE
1804 ; (VCETNE) RADKU, NA KTEREM JE KURZOR.
1805 ;
1806 ; POSKOZENE REGISTRY: - - -
1807 ;
1808 FD89 F5 DELSCR: PUSH PSW
1809 FD8A C5 PUSH B
1810 FD8B D5 PUSH D
1811 FD8C E5 PUSH H
1812 FD8D CD F99B CALL NUMLIN
1813 FD90 4E MOV C,M ; POCET RADKU
1814 FD91 CD FD7A CALL GHOME
1815 FD94 CD F9AD CALL GETLIN ; <HL> CITAC RADKU
1816 FD97 CD FDC9 DELS0: CALL DELLIN ; VYMAZ RADKU
1817 FD9A 34 INR M
1818 FD9B 0D DCR C
1819 FD9C F2 FD97 JP DELS0 ; VSECHNY RADKY?
1820 FD9F CD FD7A CALL GHOME
1821 FDA2 E1 POP H
1822 FDA3 D1 POP D
1823 FDA4 C1 POP B
1824 FDA5 F1 POP PSW
1825 FDA6 C9 RET
1826 ;
1827 ;
1828 ;
1829 ; B A C S T
1830 ; =========
1831 ;
1832 ; PODPROGRAM BACST POSOUVA KURZOR O JEDNU POZICI
1833 ; DOLEVA. PRI DOSAZENI PRVNIHO ZNAKU NA PRVNIM RADKU
1834 ; ZADNOU DALSI CINNOST NEPROVADI.
1835 ;
1836 ; POSKOZENE REGISTRY: - - -
1837 ;
1838 FDA7 F5 BACST: PUSH PSW
1839 FDA8 E5 PUSH H
1840 FDA9 CD F9B3 CALL GETCHR ; POCET ZNAKU V <A>, ADRESA CITACE V <HL>
1841 FDAC 3D DCR A
1842 FDAD FA FDB4 JM BAC0 ; NA ZACATKU RADKY ?
1843 FDB0 77 MOV M,A
1844 FDB1 C3 FDC6 JMP BAC1
1845 FDB4 CD F9AD BAC0: CALL GETLIN
1846 FDB7 3D DCR A
1847 FDB8 FA FDC6 JM BAC1 ; NA PRVNIM RADKU ?
1848 FDBB 77 BAC2: MOV M,A
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-33
1849 FDBC CD F9B3 CALL GETCHR
1850 FDBF E5 PUSH H
1851 FDC0 CD F9A2 CALL NUMCHR
1852 FDC3 7E MOV A,M ; POCET ZNAKU
1853 FDC4 E1 POP H
1854 FDC5 77 MOV M,A ; KURZOR NA KONEC PREDCHOZIHO RADKU
1855 FDC6 E1 BAC1: POP H
1856 FDC7 F1 POP PSW
1857 FDC8 C9 RET
1858 ;
1859 ;
1860 ;
1861 ; D E L L I N
1862 ; ===========
1863 ;
1864 ; PODPROGRAM DELLIN VYMAZE RADEK OD MISTA KURZORU.
1865 ;
1866 ; POSKOZENE REGISTRY: - - -
1867 ;
1868 FDC9 F5 DELLIN: PUSH PSW
1869 FDCA C5 PUSH B
1870 FDCB E5 PUSH H
1871 FDCC CD F9B3 CALL GETCHR ; POCET ZOBRAZENYCH ZNAKU V <A>
1872 FDCF 2F CMA ; DOPLNEK
1873 FDD0 3C INR A
1874 FDD1 CD F9A2 CALL NUMCHR
1875 FDD4 86 ADD M ; POCET MAZANYCH ZNAKU V <A>
1876 FDD5 47 MOV B,A
1877 FDD6 CD F9D2 CALL ADRKUP ; ADRESA KURZORU
1878 FDD9 36 20 DELL0: MVI M,SPC ; ZNAK MEZERA
1879 FDDB 23 INX H
1880 FDDC 05 DCR B
1881 FDDD F2 FDD9 JP DELL0 ; VYMAZAN CELI RADEK ?
1882 FDE0 E1 POP H
1883 FDE1 C1 POP B
1884 FDE2 F1 POP PSW
1885 FDE3 C9 RET
1886 ;
1887 ;
1888 ;
1889 ; H I L O
1890 ; =======
1891 ;
1892 ; PODPROGRAM HILO PROVEDE INKREMENTACI PARU <HL> A
1893 ; JEHO SROVNANI S PAREM <DE>. VYSLEDEK ULOZI DO PRIZNA-
1894 ; KU FF-Z. PODPROGRAM COMP PROVADI POUZE SROVNANI.
1895 ; PRI NASTAVENEM FF-C JE <HL> > <DE>.
1896 ; POKUT JE <HL>=FFFFH UKONCI SE S FF-Z=1, FF-C=1.
1897 ;
1898 ; POSKOZENE REGISTRY: A,F,H,L
1899 ;
1900 FDE4 23 HILO: INX H ; INKREMENTACE <HL>
1901 FDE5 7C MOV A,H
1902 FDE6 B5 ORA L
1903 FDE7 37 STC
1904 FDE8 C8 RZ ; NAVRAT PRI <HL>=0000, FF-Z = 1, FF-C = 1
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-34
1905 FDE9 7A COMP: MOV A,D
1906 FDEA BC CMP H ; SROVNANI <H> S <D>
1907 FDEB C0 RNZ ; NAVRAT PRI NEROVNOSTI, FF-Z = 0, FF-C...VZTAH
1908 FDEC 7B MOV A,E ; MEZI <HL> A <DE>
1909 FDED BD CMP L ; SROVNANI <L> S <E>
1910 FDEE C9 RET ; PRI ROVNOSTI <HL>=<DE>...FF-Z = 1, FF-C = 0
1911 ;
1912 ;
1913 ;
1914 ; B E E P S
1915 ; =========
1916 ;
1917 ; PODPROGRAM BEEP PROVADI GENERACI ZVUKOVEHO
1918 ; SIGNALU ZADANE DELKY BEEPLN A VYSKY BEEPFQ.
1919 ;
1920 ; POSKOZENE REGISTRY: - - -
1921 ;
1922 FDEF F5 BEEPS: PUSH PSW
1923 FDF0 D5 PUSH D
1924 FDF1 16 50 MVI D,BEEPLN ; DELKA TONU
1925 FDF3 3E 60 BEEP0: MVI A,BEEPFQ ; VYSKA TONU
1926 FDF5 3D BEEP1: DCR A
1927 FDF6 C2 FDF5 JNZ BEEP1
1928 FDF9 15 DCR D ; CIKLUS PRO DELKU
1929 FDFA D3 10 OUT ADRBIP ; BUZENI REPRODUKTORU
1930 FDFC C2 FDF3 JNZ BEEP0 ; UKONCIT TON ?
1931 FDFF D1 POP D
1932 FE00 F1 POP PSW
1933 FE01 C9 RET
1934 ;
1935 ;
1936 ;
1937 ; T I M E R
1938 ; =========
1939 ;
1940 ; PODPROGRAM V VYTVORENI PRODLEVY <BC> MILISEKUND.
1941 ;
1942 ; POSKOZENE REGISTRY:
1943 ;
1944 FE02 F5 TIMER: PUSH PSW
1945 FE03 C5 PUSH B
1946 FE04 3E 6F TIME0: MVI A,6FH
1947 FE06 3D TIME1: DCR A
1948 FE07 C2 FE06 JNZ TIME1
1949 FE0A 0B DCX B
1950 FE0B 78 MOV A,B
1951 FE0C B1 ORA C
1952 FE0D C2 FE04 JNZ TIME0
1953 FE10 C1 POP B
1954 FE11 F1 POP PSW
1955 FE12 C9 RET
1956 ;
1957 ;
1958 ;
1959 ; M E M C K
1960 ; =========
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-35
1961 ;
1962 ;
1963 ; PODPROGRAM MEMCK ULOZI DO REGISTRU <B> HORNI A DO REGISTRU
1964 ; <A> DOLNI BYTE ADRESY KONCE UZIVATELSKE PAMETI. TU ZISKA TAK,
1965 ; ZE OD ADRESY PONCE PAMETI RAM 'RAMEND' ODECTE DELKU ZASOBNIKU
1966 ; STKLN.
1967 ;
1968 ; POSKOZENE REGISTRY: A,F,B
1969 ;
1970 FE13 E5 MEMCK: PUSH H
1971 FE14 21 0031 LXI H,UREND ; PROMENA S KONCEM UZIV. RAM
1972 FE17 CD F9B6 CALL GETC0 ; VYPOCET ADRESY PROMENNE A CTENI NIZSIHO BYTU
1973 FE1A 23 INX H
1974 FE1B 46 MOV B,M ; VYSSI BYTE
1975 FE1C E1 POP H
1976 FE1D C9 RET
1977 ;
1978 ;
1979 ;
1980 ; I O C H K
1981 ; =========
1982 ;
1983 ;
1984 ; PODPROGRAM IOCHK ULOZI DO REGISTRU <A> PLATNY I.O-BYT,
1985 ; TJ. OBSAH ADRESY 0003H.
1986 ;
1987 ; POSKOZENE REGISTRY: A
1988 ;
1989 FE1E 3A 0003 IOCHK: LDA IOBYT
1990 FE21 C9 RET
1991 ;
1992 ;
1993 ;
1994 ;
1995 ; I O S E T
1996 ; =========
1997 ;
1998 ;
1999 ; PODPROGRAM IOSET PROVEDE ULOZENI OBSAHU REGISTRU <C> NA
2000 ; ADRESU 0003H, TJ. UPRAVU STAVAJICIHO I/O-BYTU.
2001 ;
2002 ; POSKOZENE REGISTRY: - - -
2003 ;
2004 FE22 F5 IOSET: PUSH PSW
2005 FE23 79 MOV A,C ; NOVY I/O-BYTE
2006 FE24 32 0003 STA IOBYT ; ULOZENI NOVEHO I/O-BYTU
2007 FE27 F1 POP PSW
2008 FE28 C9 RET
2009 ;
2010 ;
2011 ;
2012 ;
2013 ; L O
2014 ; ===
2015 ;
2016 ; JDE O SKOK NA SPOJOVACI ADRESU PRO VYSTUP NA TISKARNU.
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-36
2017 ;
2018 ; POSKOZENE REGISTRY: - - -
2019 ;
2020 FE29 E5 LO: PUSH H ; UKLID <HL>
2021 FE2A 21 00F3 LXI H,LSTOUT
2022 FE2D C3 F9A8 JMP JADR ; SKOK NA SPOJOVACI ADRESU
2023 ;
2024 ;
2025 ;
2026 ;
2027 ; P O
2028 ; ===
2029 ;
2030 ; JDE O SKOK NA SPOJOVACI ADRESU PRO SERIOVY VYSTUP.
2031 ;
2032 ; POSKOZENE REGISTRY: - - -
2033 ;
2034 FE30 E5 PO: PUSH H ; UKLID <HL>
2035 FE31 21 00BC LXI H,PUNOUT
2036 FE34 C3 F9A8 JMP JADR ; SKOK NA SPOJOVACI ADRESU
2037 ;
2038 ;
2039 ;
2040 ; R I
2041 ; ===
2042 ;
2043 ;
2044 ; JDE O SKOK NA SPOJOVACI ADRESU PRO SERIOVY VSTUP.
2045 ;
2046 ; POSKOZENE REGISTRY: - - -
2047 ;
2048 FE37 E5 RI: PUSH H ; UKLID <HL>
2049 FE38 21 00B6 LXI H,READIN
2050 FE3B C3 F9A8 JMP JADR ; SKOK NA SPOJOVACI ADRESU
2051 ;
2052 ;
2053 ;
2054 ; I O D E F
2055 ; =========
2056 ;
2057 ; PODPROGRAM IODEF UMOZNUJE NASTAVIT UZIVATELSKE ADRESY
2058 ; PRO ZARIZENI. DRUH ZARIZENI JE URCEN OBSAHEM REGISTRU
2059 ; <C> NASLEDOVNE:
2060 ; 0 ... CI
2061 ; 1 ... CO
2062 ; 2 ... RI
2063 ; 3 ... DUMMY
2064 ; 4 ... PO
2065 ; 5 ... DUMMY
2066 ; 6 ... LO
2067 ; 7 ... CSTS
2068 ; ADRESA UZIVATELSKEHO PROGRAMU JE V REGISTRU <DE>.
2069 ;
2070 ; POSKOZENE REGISTRY: A,F
2071 ;
2072 FE3E E5 IODEF: PUSH H
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-37
2073 FE3F C5 PUSH B
2074 FE40 21 0004 LXI H,RAMEND ; BUNKA S KONCEM RAM
2075 FE43 79 MOV A,C ; ZARIZENI
2076 FE44 FE 08 CPI 8 ; CHYBA?
2077 FE46 D2 F931 JNC ERROR
2078 FE49 FE 05 CPI 5
2079 FE4B 21 00B0 LXI H,CONINP ; ADRESA PRO PRVNI 4 ZARIZENI
2080 FE4E DA FE57 JC IODEF1
2081 FE51 D6 05 SUI 5 ; OPRAVA CISLA ZARIZENI PRO DRUHY BLOK
2082 FE53 4F MOV C,A
2083 FE54 21 00F0 LXI H,USRPO ; ADRESA PRO ZBYLE 4 ZARIZENI
2084 FE57 81 IODEF1: ADD C ; <C> * 3 --> <C>
2085 FE58 81 ADD C
2086 FE59 4F MOV C,A
2087 FE5A 06 00 MVI B,0
2088 FE5C CD FA01 CALL GETADR ; VYPOCET FYZICKYCH SPOJOVACICH ADRES
2089 FE5F 09 DAD B ; PRICTENI OFFSETU
2090 FE60 36 C3 MVI M,0C3H ; INSTRUKCE SKOKU
2091 FE62 23 INX H
2092 FE63 73 MOV M,E ; DOLNI BYTE ADRESY SKOKU
2093 FE64 23 INX H
2094 FE65 72 MOV M,D ; HORNI BYTE ADRESY SKOKU
2095 FE66 C1 POP B
2096 FE67 E1 POP H
2097 FE68 C9 RET
2098 ;
2099 ;
2100 ;
2101 ; C S T S
2102 ; =======
2103 ;
2104 ; PODPROGRAM CSTS ZJISTUJE STAV KLAVESNICE:
2105 ; <A> = FFH, FF-Z = 0 ... OBSAHUJE PLATNY ZNAK
2106 ; <A> = 00H, FF-Z = 1 ... NEMA PLATNY ZNAK
2107 ;
2108 ; POSKOZENE REGISTRY: A,F
2109 ;
2110 FE69 E5 CSTS: PUSH H
2111 FE6A 21 00F6 LXI H,CONSTA ; ODSTUP SPOJOVACI ADRESY
2112 FE6D C3 F9A8 JMP JADR ; SKOK NA SPOJOVACI ADRESU
2113 ;
2114 FE70 AF CSTS1: XRA A
2115 FE71 D3 09 OUT ADRPB
2116 FE73 DB 04 IN ADRCIN
2117 FE75 3C INR A ; STISKNUTA KLAVESA?
2118 FE76 C8 RZ ; NE
2119 FE77 3E FF MVI A,0FFH
2120 FE79 C9 RET ; ANO
2121 ;
2122 ;
2123 ;
2124 ;
2125 ;
2126 ; C I
2127 ; ===
2128 ;
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-38
2129 ; PODPROGRAM CI UMOZNUJE VSTUP ZNAKU Z KLAVESNICE.
2130 ;
2131 ; POSKOZENE REGISTRY: A,F
2132 ;
2133 FE7A E5 CI: PUSH H
2134 FE7B 21 00B0 LXI H,CONINP ; SPOJOVACI ADRESA
2135 FE7E C3 F9A8 JMP JADR
2136 ;
2137 FE81 C5 CI4: PUSH B
2138 FE82 D5 PUSH D
2139 FE83 E5 PUSH H
2140 ;
2141 ; INICIALIZACE OBLASTI VZORKU A PROMENNICH
2142 ;
2143 FE84 CD FFAD CI1: CALL GETKCD ; ADRESA OBL.VZORKU
2144 FE87 06 05 MVI B,5
2145 FE89 36 FF CI2: MVI M,0FFH ; ZAPLNENA 0FFH
2146 FE8B 23 INX H
2147 FE8C 05 DCR B
2148 FE8D F2 FE89 JP CI2 ; CELA OBLAST ?
2149 FE90 36 00 MVI M,0 ; UPLO
2150 FE92 23 INX H
2151 FE93 36 00 MVI M,0 ; CTRL
2152 FE95 23 INX H
2153 FE96 36 00 MVI M,0 ; NUM
2154 FE98 23 INX H
2155 FE99 34 INR M ; CTN
2156 FE9A 3E 16 MVI A,22 ; CIKLUS BLIKANI KURZORU
2157 FE9C BE CMP M
2158 FE9D CC FD26 CZ INVCHR ; BLIKANI KURZORU
2159 FEA0 D2 FEA5 JNC CI20
2160 FEA3 36 00 MVI M,0
2161 ;
2162 ; VYTVORENI SOUBORU VZORKU
2163 ;
2164 FEA5 CD FFAD CI20: CALL GETKCD ; ADRESA OBL. VZORKU
2165 FEA8 06 DF MVI B,0DFH ; VYBER RADKU
2166 FEAA 78 CI3: MOV A,B
2167 FEAB 0F RRC
2168 FEAC D2 FEB9 JNC CI84 ; VSECHNY RADKY
2169 FEAF 47 MOV B,A
2170 FEB0 D3 09 OUT ADRPB ; AKTIVACE RADKU
2171 FEB2 DB 04 IN ADRCIN ; CTENI SLOUPCU
2172 FEB4 77 MOV M,A ; ULOZENI VZORKU
2173 FEB5 23 INX H
2174 FEB6 C3 FEAA JMP CI3 ; DALSI VZOREK
2175 ;
2176 ; TEST NA USTALENI KLAVES
2177 ;
2178 FEB9 0E 40 CI84: MVI C,64 ; POCET TESTU SHODY
2179 FEBB 0D CI5: DCR C
2180 FEBC CA FED6 JZ CI7 ; VSECHNY TESTY
2181 FEBF CD FFAD CALL GETKCD ; ADRESA OBL. VZORKU
2182 FEC2 06 DF MVI B,0DFH ; VYBER RADEK
2183 FEC4 78 CI6: MOV A,B
2184 FEC5 0F RRC
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-39
2185 FEC6 D2 FEBB JNC CI5 ; VSECHNY RADKY
2186 FEC9 47 MOV B,A
2187 FECA D3 09 OUT ADRPB ; AKTIVUJ RADK
2188 FECC DB 04 IN ADRCIN ; SLEDUJ SLOUPCE
2189 FECE BE CMP M ; SROVNEJ VZOREK
2190 FECF C2 FE84 JNZ CI1 ; PRI NESHODE ZNOVU
2191 FED2 23 INX H
2192 FED3 C3 FEC4 JMP CI6 ; DALSI VZOREK
2193 ;
2194 ; VYHODNOCENI VZORKU
2195 ;
2196 FED6 06 04 CI7: MVI B,4 ; <B> CITAC RADKU
2197 FED8 CD FFAD CALL GETKCD ; ADRESA OBL. VZORKU
2198 FEDB EB XCHG
2199 FEDC 1A CI8: LDAX D ; VZOREK V <A>
2200 FEDD 13 INX D
2201 FEDE FE FF CPI 0FFH
2202 FEE0 C4 FF68 CNZ CI9 ; PLATNY - DEKODOVAT
2203 FEE3 05 DCR B ; DALSI KOD
2204 FEE4 F2 FEDC JP CI8 ; NE-DALSI RADEK
2205 ;
2206 ; GENERACE VYSLEDNEHO KODU ZNAKU
2207 ;
2208 FEE7 21 0235 LXI H,ZNAK
2209 FEEA CD FA01 CALL GETADR
2210 FEED EB XCHG
2211 FEEE 1A LDAX D
2212 FEEF FE FF CPI 0FFH ; NEPLATNY ZNAK?
2213 FEF1 CA FE84 JZ CI1 ; ANO - NOVY ZNAK
2214 ;
2215 FEF4 CD FD26 CALL INVCHR ; UPRAV POZADI
2216 ;
2217 FEF7 21 0236 CI41: LXI H,UPLO ; POMOCNE ZNAKY
2218 FEFA CD FA01 CALL GETADR
2219 FEFD 7E MOV A,M
2220 FEFE B7 ORA A
2221 FEFF CA FF0E JZ CI42
2222 FF02 1A LDAX D
2223 FF03 D6 41 SUI 'A'
2224 FF05 6F MOV L,A
2225 FF06 26 00 MVI H,0
2226 FF08 01 FFDC LXI B,TABUP
2227 FF0B 09 DAD B
2228 FF0C 7E MOV A,M
2229 FF0D 12 STAX D
2230 ;
2231 FF0E 21 0238 CI42: LXI H,NUM ; CISLICE
2232 FF11 CD FA01 CALL GETADR
2233 FF14 7E MOV A,M
2234 FF15 B7 ORA A
2235 FF16 CA FF33 JZ CI43
2236 FF19 0E 30 MVI C,30H
2237 FF1B 21 FFF6 LXI H,TABNUM
2238 FF1E 1A CI44: LDAX D
2239 FF1F BE CMP M
2240 FF20 C2 FF28 JNZ CI45
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-40
2241 FF23 79 MOV A,C
2242 FF24 12 STAX D
2243 FF25 C3 FF33 JMP CI43
2244 FF28 23 CI45: INX H
2245 FF29 0C INR C
2246 FF2A 79 MOV A,C
2247 FF2B FE 3A CPI 3AH
2248 FF2D DA FF1E JC CI44
2249 FF30 C3 FE84 JMP CI1 ; CHYBNE KLAVESY
2250 ;
2251 FF33 21 0237 CI43: LXI H,CTRL ; RIDICI ZNAKY
2252 FF36 CD FA01 CALL GETADR
2253 FF39 7E MOV A,M
2254 FF3A B7 ORA A
2255 FF3B CA FF42 JZ CI40
2256 FF3E 1A LDAX D
2257 FF3F E6 1F ANI 1FH
2258 FF41 12 STAX D
2259 ;
2260 FF42 CD FDEF CI40: CALL BEEPS ; BEEP
2261 ;
2262 ; TEST UVOLNENI KLAVESY
2263 ;
2264 FF45 0E 00 CI15: MVI C,0 ; POCET TESTU
2265 FF47 0D CI11: DCR C
2266 FF48 CA FF63 JZ CI99 ; OPAKUJ ZNAK
2267 FF4B CD FFAD CALL GETKCD ; ADRESA OBL. VZORKU
2268 FF4E 06 DF MVI B,0DFH
2269 FF50 37 STC
2270 FF51 78 CI55: MOV A,B
2271 FF52 0F RRC
2272 FF53 D2 FF47 JNC CI11 ; VSECHNY RADKY?
2273 FF56 47 MOV B,A
2274 FF57 D3 09 OUT ADRPB
2275 FF59 DB 04 IN ADRCIN
2276 FF5B BE CMP M ; STEJNY KOD?
2277 FF5C C2 FF63 JNZ CI99 ; NE - DALSI ZNAK
2278 FF5F 23 INX H
2279 FF60 C3 FF51 JMP CI55
2280 ;
2281 FF63 1A CI99: LDAX D
2282 FF64 E1 POP H
2283 FF65 D1 POP D
2284 FF66 C1 POP B
2285 FF67 C9 RET
2286 ;
2287 ; PODPROGRAM VYHODNOCENI KODU
2288 ;
2289 FF68 D5 CI9: PUSH D
2290 FF69 0E 00 MVI C,0 ; CITAC SLOUPCU
2291 FF6B 0F CI14: RRC
2292 FF6C F5 PUSH PSW
2293 FF6D D4 FF7C CNC CI10 ; AKTIVNI?
2294 FF70 F1 POP PSW
2295 FF71 57 MOV D,A
2296 FF72 0C INR C
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-41
2297 FF73 79 MOV A,C
2298 FF74 FE 08 CPI 8
2299 FF76 7A MOV A,D
2300 FF77 DA FF6B JC CI14
2301 FF7A D1 POP D
2302 FF7B C9 RET
2303 ;
2304 FF7C 78 CI10: MOV A,B ; CITAC RADKU
2305 FF7D E6 07 ANI 07H
2306 FF7F 07 RLC
2307 FF80 07 RLC
2308 FF81 07 RLC
2309 FF82 B1 ORA C
2310 FF83 6F MOV L,A
2311 FF84 26 00 MVI H,0 ; OFFSET
2312 FF86 11 FFB4 LXI D,KTAB ; TABULKA KODU
2313 FF89 19 DAD D
2314 FF8A 7E MOV A,M
2315 ;
2316 FF8B 21 0236 CI30: LXI H,UPLO
2317 FF8E CD FA01 CALL GETADR
2318 FF91 FE 1D CPI 1DH ; UPLO?
2319 FF93 C2 FF98 JNZ CI31
2320 FF96 77 MOV M,A
2321 FF97 C9 RET
2322 ;
2323 FF98 23 CI31: INX H
2324 FF99 FE 1E CPI 1EH ; CTRL?
2325 FF9B C2 FFA0 JNZ CI32
2326 FF9E 77 MOV M,A
2327 FF9F C9 RET
2328 ;
2329 FFA0 23 CI32: INX H
2330 FFA1 FE 1F CPI 1FH ; NUM?
2331 FFA3 C2 FFA8 JNZ CI33
2332 FFA6 77 MOV M,A
2333 FFA7 C9 RET
2334 ;
2335 FFA8 2B CI33: DCX H
2336 FFA9 2B DCX H
2337 FFAA 2B DCX H
2338 FFAB 77 MOV M,A ; ULOZ DO PROM. ZNAK
2339 FFAC C9 RET
2340 ;
2341 FFAD 21 0230 GETKCD: LXI H,KEYCD ; VYPOCET
2342 FFB0 CD FA01 CALL GETADR ; ADRESY OBL. VZORKU
2343 FFB3 C9 RET
2344 ;
2345 FFB4 04 KTAB: DB 004H ; [00H] = '->'
2346 FFB5 00 DB 000H ; [01H] = 'UC/UL'
2347 FFB6 1D DB 01DH ; [02H] = 'UP/LO'
2348 FFB7 41 DB 041H ; [03H] = 'A'
2349 FFB8 51 DB 051H ; [04H] = 'Q'
2350 FFB9 1E DB 01EH ; [05H] = 'CTRL'
2351 FFBA 0D DB 00DH ; [06H] = 'CR'
2352 FFBB 50 DB 050H ; [07H] = 'P'
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-42
2353 FFBC 08 DB 008H ; [08H] = '<-'
2354 FFBD 1F DB 01FH ; [09H] = '0-9'
2355 FFBE 58 DB 058H ; [0AH] = 'X'
2356 FFBF 44 DB 044H ; [0BH] = 'D'
2357 FFC0 45 DB 045H ; [0CH] = 'E'
2358 FFC1 4D DB 04DH ; [0DH] = 'M'
2359 FFC2 4B DB 04BH ; [0EH] = 'K'
2360 FFC3 49 DB 049H ; [0FH] = 'I'
2361 FFC4 FF DB 0FFH ; [10H] = 'DUMMY'
2362 FFC5 FF DB 0FFH ; [11H] = 'DUMMY'
2363 FFC6 56 DB 056H ; [12H] = 'V'
2364 FFC7 47 DB 047H ; [13H] = 'G'
2365 FFC8 54 DB 054H ; [14H] = 'T'
2366 FFC9 42 DB 042H ; [15H] = 'B'
2367 FFCA 48 DB 048H ; [16H] = 'H'
2368 FFCB 59 DB 059H ; [17H] = 'Y'
2369 FFCC 20 DB 020H ; [18H] = ' '
2370 FFCD FF DB 0FFH ; [19H] = 'DUMMY'
2371 FFCE 43 DB 043H ; [1AH] = 'C'
2372 FFCF 46 DB 046H ; [1BH] = 'F'
2373 FFD0 52 DB 052H ; [1CH] = 'R'
2374 FFD1 4E DB 04EH ; [1DH] = 'N'
2375 FFD2 4A DB 04AH ; [1EH] = 'J'
2376 FFD3 55 DB 055H ; [1FH] = 'U'
2377 FFD4 18 DB 018H ; [20H] = 'DOWN'
2378 FFD5 1B DB 01BH ; [21H] = 'CS'
2379 FFD6 5A DB 05AH ; [22H] = 'Z'
2380 FFD7 53 DB 053H ; [23H] = 'S'
2381 FFD8 57 DB 057H ; [24H] = 'W'
2382 FFD9 05 DB 005H ; [25H] = 'UP'
2383 FFDA 4C DB 04CH ; [26H] = 'L'
2384 FFDB 4F DB 04FH ; [27H] = 'O'
2385 ;
2386 FFDC 2D TABUP: DB 02DH ; '-' ... A
2387 FFDD 3F DB 03FH ; '?' ... B
2388 FFDE 3A DB 03AH ; ':' ... C
2389 FFDF 3D DB 03DH ; '=' ... D
2390 FFE0 23 DB 023H ; '#' ... E
2391 FFE1 5E DB 05EH ; '^' ... F
2392 FFE2 5F DB 05FH ; '_' ... G
2393 FFE3 3C DB 03CH ; '<' ... H
2394 FFE4 28 DB 028H ; '(' ... I
2395 FFE5 3E DB 03EH ; '>' ... J
2396 FFE6 5B DB 05BH ; '[' ... K
2397 FFE7 5D DB 05DH ; ']' ... L
2398 FFE8 2E DB 02EH ; '.' ... M
2399 FFE9 2C DB 02CH ; ',' ... N
2400 FFEA 29 DB 029H ; ')' ... O
2401 FFEB 40 DB 040H ; '@' ... P
2402 FFEC 21 DB 021H ; 'VYKRICNIK' ... Q
2403 FFED 24 DB 024H ; '$' ... R
2404 FFEE 2B DB 02BH ; '+' ... S
2405 FFEF 25 DB 025H ; '%' ... T
2406 FFF0 27 DB 027H ; ''' ... U
2407 FFF1 3B DB 03BH ; ';' ... V
2408 FFF2 22 DB 022H ; '"' ... W
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE 1-43
2409 FFF3 2F DB 02FH ; '/' ... X
2410 FFF4 26 DB 026H ; '&' ... Y
2411 FFF5 2A DB 02AH ; '*' ... Z
2412 ;
2413 FFF6 50 TABNUM: DB 'P' ; 0
2414 FFF7 51 DB 'Q' ; 1
2415 FFF8 57 DB 'W' ; 2
2416 FFF9 45 DB 'E' ; 3
2417 FFFA 52 DB 'R' ; 4
2418 FFFB 54 DB 'T' ; 5
2419 FFFC 59 DB 'Y' ; 6
2420 FFFD 55 DB 'U' ; 7
2421 FFFE 49 DB 'I' ; 8
2422 FFFF 4F DB 'O' ; 9
2423 ;
2424 ;*****************************************************************
2425 ;
2426 .DEPHASE
2427 END
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
E000 ADRBAS 0010 ADRBIP 0004 ADRCIN
0000 ADRCST 000B ADRCT 0018 ADRES
003D ADRHI F9E6 ADRK1 F9DE ADRK2
F9D2 ADRKUP 003C ADRLO 0014 ADRMSK
0000 ADROUT 0008 ADRPA 0009 ADRPB
000A ADRPC F000 ADRTPR 001F ADSET
F9F5 ANAL 007B AREG FACF ASHE0
FAC1 ASHEX FDB4 BAC0 FDC6 BAC1
FDBB BAC2 FDA7 BACST E000 BASIC
FDF3 BEEP0 FDF5 BEEP1 0060 BEEPFQ
0050 BEEPLN FDEF BEEPS 0007 BELL
0000 BLANK 0070 BRADR 0072 BRCODE
0079 BREG 0008 BS FB02 CARRET
0036 CHARCO 0038 CHARNO FBCF CHKTPR
FE7A CI FE84 CI1 FF7C CI10
FF47 CI11 FF6B CI14 FF45 CI15
FE89 CI2 FEA5 CI20 FEAA CI3
FF8B CI30 FF98 CI31 FFA0 CI32
FFA8 CI33 FE81 CI4 FF42 CI40
FEF7 CI41 FF0E CI42 FF33 CI43
FF1E CI44 FF28 CI45 FEBB CI5
FF51 CI55 FEC4 CI6 FED6 CI7
FEDC CI8 FEB9 CI84 FF68 CI9
FF63 CI99 F9F2 CINCR FA21 CO
FA68 CO0 FA28 CO2 F8D2 COLD0
F8B2 COLD2 F85A COLDST FDE9 COMP
00B0 CONINP E003 CONIT 00B3 CONOUT
00F6 CONSTA 000D CR 007A CREG
FB0C CRLF FE69 CSTS FE70 CSTS1
F941 CTABL 0017 CTEND 0239 CTN
0237 CTRL 0090 CTRLWD FA0C DADR
FA1E DBYT0 FA11 DBYTE 007F DEL
FDD9 DELL0 FDC9 DELLIN FD97 DELS0
FD89 DELSCR FC67 DISP0 FC77 DISP1
FC83 DISP2 FC94 DISP3 FCA1 DISP4
FCAD DISP5 FCAF DISP6 FC61 DISPL
001E DL 0077 DREG 001F DSCR
FA6B ECHO FA7F EDADR 0003 EOT
FA82 EQUATE 0078 EREG F931 ERROR
001B ESC 00A0 ETX FA8A EXPR
FA8B EXPR0 FA92 EXPR1 FAAA EXPR2
FAB8 EXPR3 000C FF FCBD FILL
FCC0 FILL0 FD86 FORFI 007C FREG
FA01 GETADR F9B6 GETC0 F9B3 GETCHR
F975 GETD0 F96F GETDIS FFAD GETKCD
F9AD GETLIN F9C1 GETSPR F9BB GETSTK
F937 GETTAB FD7A GHOME FC1A GOTO
FC47 GOTO0 FC50 GOTO1 FDE4 HILO
001D HOME 0075 HREG 0009 HT
FAD3 HXASC FD16 IMTEXT FD17 IMTX0
FCC8 INADR 007D INOUT FD0F INPU0
FCF7 INPUT 0038 INTADR FB12 INTER
'PLAN 80A MONITOR V.2.Q' MACRO-80 3.44 09-Dec-81 PAGE S-1
FB70 INTER0 FBC3 INTER1 FB23 INTER2
FB34 INTER3 FD31 INVC0 FD26 INVCHR
0003 IOBYT FE1E IOCHK FE3E IODEF
FE57 IODEF1 FE22 IOSET F9A8 JADR
0000 JMPMON 00C3 KEYBAS 0230 KEYCD
0055 KEYTPR FFB4 KTAB 000A LF
FAF1 LINE0 FAFA LINE1 FAFE LINE2
0035 LINECO FADD LINEF 0037 LINENO
FE29 LO 0076 LREG 00F3 LSTOUT
FE13 MEMCK F800 MONIT FCD0 MOVE
FCD3 MOVE0 0008 MSKWD 0033 MSTACK
0130 NAME1 0170 NAME2 F8E4 NEXT
F929 NEXT2 F928 NEXT4 F93C NEXT6
0238 NUM F9A2 NUMCHR F99E NUML0
F99B NUMLIN FCF6 OUTP0 FCDD OUTPT
01B6 PBLKC 0000 PC0RES 0001 PC0SET
0002 PC1RES 0003 PC1SET 0009 PC4RES
0008 PC4SET 01B7 PFILC 01B0 PNADR
01B2 PNPOI 01BA PNSTS FE30 PO
00BC PUNOUT 0000 RAMBEG 0004 RAMEND
01B8 RBLKC 01B3 RDADR 01B5 RDPOI
01BB RDSTS 0008 RDYCIN 0002 RDYRE1
0001 RDYRE2 00B6 READIN 0004 REPCIN
01B9 RFILC FE37 RI FD37 ROLL
FD56 ROLL0 FD63 ROLL1 FD73 ROLL2
FA76 SDADR 000E SO FA79 SPACE
0020 SPC 0073 SPREG 0040 STCKLN
F9CA STJMA F9CD STJMB F9C7 STJMP
001A SUBS FBDD SUBS0 FBE7 SUBS1
FBF8 SUBS2 FC12 SUBS3 FC13 SUBS4
FBD5 SUBST FFF6 TABNUM FFDC TABUP
F00D TAPP F000 TAPREC F028 TCLOS
F013 TDIR F025 TEOF FE04 TIME0
FE06 TIME1 FE02 TIMER F001 TINIT
F004 TJOIN F019 TKI F01C TKO
F010 TLOAD 01F0 TMPAR F00A TPUT
F007 TQUAF F022 TRD F016 TUNNA
F01F TWR 0236 UPLO 0031 UREND
00F0 USRPO 000B VT FA85 WQUA0
0235 ZNAK
No Fatal error(s)
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1
1 TITLE 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
23 ;X X
24 ;X X
25 ;X PLAN-80A V.3.X 27.09.88 X
26 ;X X
27 ;X OVLADACI PROGRAM MODEMU KAZETOVEHO MAGNETOFONU X
28 ;X X
29 ;X X
30 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-1
57 ;################################################################
58 ;
59 ; POZOR: U MODEMU MAGNETOPASKOVE MAGNETICKE JEDNOTKY
60 ; BYLO POZADANO O OCHRANU AUTORSKYM ASVEDCENIM.
61 ; PV-7752-85
62 ; TENTO PROGRAM JE FUNKCNI SOUCASTI MODEMU.
63 ; JE ZAKAZANO KOPIRONAT NEBO POZIVAT TOHOTO
64 ; PROGRAMU NEBO JEHO CASTI BEZ SOUHLASU MAJITELE
65 ; PATENTU: LAMORATORNI PRISTROJE
66 ; NA OKRAJI 335
67 ; (C) 1985 PRAHA - PETRINY
68 ;
69 ;################################################################
70 ;
71 ; PREDPOKLADA SE ZAKLADNI RYCHLOST 2400 BD, PRO KTEROU JSOU
72 ; VYTVARENY MEZERY (0.8S A 0.01S). PRI NIZSICH RYCHLOSTECH
73 ; BUDOU MEZERY PRISLUSNE DELSI.
74 ;
75 ; KODOVANI NUL A JEDNICEK JE NASLEDUJICI:
76 ;
77 ; 0 ... F = 1600 HZ ... T = 62.5 US
78 ; 1 ... F = 3200 HZ ... T = 31.25 US
79 ;
80 ; DOVOLENE KOLISANI FREKVENCE ... +/- 10 %
81 ;
82 ;
83 ; KODEM JE OVLADAN POMOCI OBVODU STIKU mhb 8255 NASLEDOVNE:
84 ;
85 ; PORT PC : VYSTUPNI
86 ;
87 ; PC0 ... VYSTUPNI DATA
88 ; PC1 ... ZABLOKOVANI DEMODULATORU NA HODNOTU 0
89 ; PC2 ... ZABLOKOVANI DEMODULATORU NA HODNOTU 1
90 ; PC3 ... OVLADANI MOTORKU (LED MOTOREK)
91 ; PC4 ... ZABLOKOVANI MODULATORU (UZEMNENI VYSTUPU)
92 ; PC5 ... LED CTENI
93 ; PC6 ... LED CHYBA
94 ; PC7 ... LED ZAPIS
95 ;
96 ; PORT PA: VSTUPNI
97 ;
98 ; PA0 ... VSTUPNI DATA
99 ; PA1 ... SYNCHRONIZACE ZAPISU
100 ; PA2 ... NEPOUZITO
101 ; PA3 ... NEPOUZITO
102 ; PA4 ... NEPOUZITO
103 ; PA5 ... NEPOUZITO
104 ; PA6 ... NEPOUZITO
105 ; PA7 ... SYNCHRONIZACE CTENI
106 ;
107 ; PORT PB: VSTUPNI (NENI POUZIT)
108 ;
109 ;
110 ; PRO ROZBEH MOTORKU SE VYCLENUJE DOBA WAITTR MS. PO KTEROU
111 ; JE MODEM ZABLOKOVANY.
112 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-2
113 ; DOPORUCUJE SE POUZIT PASKY TYPU:
114 ; - ORWO K-60 CHROMDIOXID
115 ; - AUDIOSTAR HS_I60
116 ;
117 ; CINOST PRIKAZU A POPIS MODEMU VIZ:
118 ; "UZIVATELSKY A SERVISNI MANUAL"
119 ;
120 ;################################################################
121 ;
122 ; OBLAST DEFINIC:
123 ;
124 F000 TAPREC EQU 0F000H
125 ;
126 F800 COLDST EQU 0F800H
127 F803 CI EQU 0F803H
128 F806 RI EQU 0F806H
129 F809 CO EQU 0F809H
130 F80C PO EQU 0F80CH
131 F80F LO EQU 0F80FH
132 F812 CSTS EQU 0F812H
133 F815 IOCHK EQU 0F815H
134 F818 IOSET EQU 0F818H
135 F81B MEMCK EQU 0F81BH
136 F81E IODEF EQU 0F81EH
137 F821 INTER EQU 0F821H
138 F824 CRLF EQU 0F824H
139 F827 EXPR EQU 0F827H
140 F82A ERROR EQU 0F82AH
141 F82D ASHEX EQU 0F82DH
142 F830 DADR EQU 0F830H
143 F833 DBYTE EQU 0F833H
144 F836 HILO EQU 0F836H
145 F839 NEXT EQU 0F839H
146 F83C SPACE EQU 0F83CH
147 F83F CINCR EQU 0F83FH
148 F842 IMTXT EQU 0F842H
149 F845 ADRKUR EQU 0F845H
150 F848 HXASC EQU 0F848H
151 F84B TIMER EQU 0F84BH
152 F84E GETADR EQU 0F84EH
153 F851 STJMB EQU 0F851H
154 F854 ECHO EQU 0F854H
155 F857 BACST EQU 0F857H
156 ;
157 ; DEFINICE ODSTUPU SKRYTYCH PROMENNYCH DO DISRAM
158 ;
159 0031 UREND EQU 31H
160 0035 LINECO EQU 35H
161 0130 NAME1 EQU 130H
162 0170 NAME2 EQU 170H
163 01B0 PNADR EQU 1B0H
164 01B2 PNPOI EQU 1B2H
165 01B3 RDADR EQU 1B3H
166 01B5 RDPOI EQU 1B5H
167 01B6 PBLKC EQU 1B6H
168 01B7 PFILC EQU 1B7H
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-3
169 01B8 RBLKC EQU 1B8H
170 01B9 RFILC EQU 1B9H
171 01BA PNSTS EQU 1BAH
172 01BB RDSTS EQU 1BBH
173 01F0 TMPAR EQU 1F0H
174 ;
175 ; DEFINICE I/O PORTU
176 ;
177 0004 ADRCIN EQU 04H ; DATOVY PORT CI
178 0000 ADRDCT EQU 00H ; STAVOVY PORT CI
179 0008 RDYCIN EQU 08H ; MASKA STAVOVEHO BITU KLAVESNICE (RDY=0)
180 0008 ADRPA EQU 08H ; ADRESA PORTU PA OBVODU 8255
181 0009 ADRPB EQU 09H ; ADRESA PORTU PB OBVODU 8255
182 000A ADRPC EQU 0AH ; ADRESA PORTU PC OBVODU 8255
183 000B ADRCT EQU 0BH ; ADRESA RIDICIHO PORTU OBVODU 8255
184 0092 CTRLWD EQU 92H ; RIDICI SLOVO PA-IN,PB-IN,PC-OUT,M0
185 0010 PASWD EQU 10H ; MASIVACNI SLOVO INTERFACE
186 0000 PC0RES EQU 00H ; NOLOVANI PC0
187 0001 PC0SET EQU 01H ; NASTAVENI PC0
188 0002 PC1RES EQU 02H ; NOLOVANI PC1
189 0003 PC1SET EQU 03H ; NASTAVENI PC1
190 0006 PC3RES EQU 06H ; NOLOVANI PC3
191 0007 PC3SET EQU 07H ; NASTAVENI PC3
192 0008 PC4RES EQU 08H ; NOLOVANI PC4
193 0009 PC4SET EQU 09H ; NASTAVENI PC4
194 000A PC5RES EQU 0AH ; NOLOVANI PC5
195 000B PC5SET EQU 0BH ; NASTAVENI PC5
196 000C PC6RES EQU 0CH ; NOLOVANI PC6
197 000D PC6SET EQU 0DH ; NASTAVENI PC6
198 000E PC7RES EQU 0EH ; NOLOVANI PC7
199 000F PC7SET EQU 0FH ; NASTAVENI PC7
200 0140 GAPBIT EQU 320 ; POCET JEDNICKOVICH BITU PRO 100 MS
201 0B40 G1LEN EQU 2880 ; POCET JEDNICKOVICH BITU PRO 900 MS
202 00A0 G2LEN EQU 160 ; POCET JEDNICKOVICH BITU PRO 50 MS
203 7D00 G3LEN EQU 32000 ; POCET JEDNICKOVICH BITU PRO 10 MS
204 0064 WAITTR EQU 100 ; POCET MS CEKANI NA ROZBEHNUTI MOTORKU
205 ;
206 ; DEFINICE KONSTANT
207 ;
208 0020 SPC EQU 20H
209 00A0 ETX EQU 0A0H
210 0003 EOT EQU 03H
211 000D CR EQU 0DH
212 0008 BS EQU 08H
213 000A LF EQU 0AH
214 007F DEL EQU 7FH
215 0007 BELL EQU 07H
216 0000 BLANK EQU 00H
217 001A SUBS EQU 1AH
218 001B ESC EQU 1BH
219 00EF COMLEN EQU 239 ; DELKA ZOBRAZOVANE POZNAMKY
220 000B NAMLEN EQU 11 ; DELKA NAZVU
221 00FF BUFLEN EQU 255 ; DELKA BUFFERU
222 ;
223 ;
224 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-4
225 ;################################################################
226 ;
227 ;
228 ; C H Y B O V N I K
229 ; =================
230 ;
231 ; PRI VYSKYTU KRITICKE CHYBY SE PRERUSI VESKERA PRACE, ZASTAVI
232 ; SE MAGNETOFON, PASIVUJI SE STATUSY A NULUJI CITACE. DALE SE
233 ; SKOCI DO OBSTUHY PRERUSENI TAK, ABI V PC BYLA ADRESA CHYBY,
234 ; KTERA NASTALA.
235 ;
236 F0AA EER1 EQU ERR1 ; CHYBA HANDLERU PO
237 F032 EER2 EQU ERR2 ; POSLEDNE ZAPSANY SOUBOR NEBIL UZAVREN
238 F0EA EER3 EQU ERR3 ; CHYBA V OBSAHU PAMETI PRI READ
239 F0F5 EER4 EQU ERR4 ; CHYBA V KONTROLNIM SOUCTU PRI READ
240 F10A EER5 EQU ERR5 ; CHYBA V KONTROLNIM SOUCTU PRI READ
241 F139 EER6 EQU ERR6 ; CHYBA HANDLERU RI
242 F170 EER7 EQU ERR7 ; MENE NEZ 1 KBYTE UZIV. PAMETI
243 F1D9 EER8 EQU ERR8 ; CTENI NEBINARNIHO SOUBORU PRIKAZEM QUAFF
244 F1DF EER9 EQU ERR9 ; CHYBI LEVA ADR. ZAVORKA PRI CTENI BIN. SOUB.
245 F1EE EER10 EQU ERR10 ; CHYBI PRAVA ADR. ZAVORKA PRI CTENI BIN. SOUB.
246 F1F7 EER11 EQU ERR11 ; CHYBA V KONTR. SOUCTU ADR. CASTI BIN. SOUB.
247 F213 EER12 EQU ERR12 ; CHYBA V KONTR. SOUCTU DAT. CASTI BIN. SOUB.
248 F21B EER13 EQU ERR13 ; CHYBI UKONCOVACI ZNAK SUBS = 1AH U BIN. SOUB.
249 F358 EER14 EQU ERR14 ; UZAVIRANI NEOTEVRENEHO SOUBORU
250 F456 EER15 EQU ERR15 ; CHYBI KONCOVY PARAMBLE PRI RDBUF
251 F45A EER16 EQU ERR16 ; CHYBA V KONTROLNIM SOUCTU PRI RDBUF
252 F466 EER17 EQU ERR17 ; POSLEDNE ZAPSANY SOUBOR NEBYL UZAVREN
253 F4BB EER18 EQU ERR18 ; POSLEDNE CTENY SOUBOR NEBYL UZAVREN
254 F585 EER19 EQU ERR19 ; CHYBA V SOUSLEDNOSTI BLOKU
255 F58D EER20 EQU ERR20 ; CHYBA V SOUSLEDNOSTI SOUBORU
256 F755 EER21 EQU ERR21 ; PRERUSENI FUNKCE KLAVESOU 'ESC'
257 F721 EER22 EQU ERR22 ; CHYBA HANDLERU PO
258 ;
259 ;
260 ;
261 ;################################################################
262 ;
263 ; OBLAST SPOJOVACICH ADRES
264 ; ************************
265 ;
266 ;
267 .PHASE TAPREC
268 ;
269 F000 55 DB 055H ; PRIZNAKOVY KOD MAGNETOFONU
270 ;
271 F001 C3 F155 JMP JOIN ; INICIACE A PRIRAZENI ADRES
272 F004 C3 F18C JMP JOIN0 ; PASIVACE STATUSU A PRIRAZENI ADRES
273 F007 C3 F1BE JMP QUAFF ; CTENI BINARNIHO SOUBORU Z KAZETY
274 F00A C3 F221 JMP PUT ; ULOZENI BINARNIHO SOUBORU NA KAZETU
275 F00D C3 F385 JMP APEND ; ULOZENI BIN. SOUBORU BEZPROSTREDNE
276 F010 C3 F25D JMP LOAD ; ZAPNUTI MOTORKU
277 F013 C3 F266 JMP DIR ; DIRECTORY PASKY
278 F016 C3 F29E JMP UNNAM ; POJMENOVANI NOVE PASKY
279 F019 C3 F2DB JMP KI ; VSTUP BYTU Z KAZETY
280 F01C C3 F322 JMP KO ; VYSTUP BYTU NA KAZETU
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-5
281 F01F C3 F02B JMP WRITE ; ZAPIS HEX. SOUBORU
282 F022 C3 F0AB JMP READ ; CTENI HEX. SOUBORU
283 F025 C3 F13C JMP EOF ; UZAVRENI HEX. SOUBORU
284 F028 C3 F350 JMP CLOSE ; UZAVRENI SOUBORU
285 ;
286 ;
287 ;
288 ;################################################################
289 ;
290 ; OBLAST PRIKAZU
291 ; **************
292 ;
293 ;
294 ; W R I T E
295 ; =========
296 ;
297 ; PRIKAZ PRO VYDEROVANI PRES ZARIZENI PO OBLASTI PAMETI O
298 ; ZADAVYCH ADRESACH ZACATKU A KONCE V HEXADECIMALNI FORME
299 ; PODLE NORMY INTEL. ZAPIS JE TVOREN BLOKY PRO DATA, Z NICHZ
300 ; PRVNI AZ PREDPOSLEDNI OBSAHUJE 16 BYTU, POSLEDNI MUZE
301 ; OBSAHOVAT MENE, PODLE VELIKOSTI OBLASTI PAMETI. NA KONCI
302 ; JE UZAVIRACI BLOK OBSAHUJICI STARTOVACI ADRESU. FORMAT
303 ; BLOKU MA TVAR:
304 ;
305 ; CR,LF,':',N,A,T,D,D,D,...,D,C
306 ;
307 ; KDE: CR JE ZNAK 'CR' = 0DH
308 ; LF JE ZNAK 'LF' = 0AH
309 ; ':' JE ZNAK ':' = 3AH
310 ; N JE POCET BYTU DAT, NULOVY INDIKUJE UZAVIRACI BLOK
311 ; A JE ADRESA UMISTENI PRVEHO BYTU DAT
312 ; T JE TYP BLOKU, 0...DATOVY, 1...UZAVIRACI (TEZ 0)
313 ; D JSOU JEDNOTLIVE BYTY DAT HEXADECIMALNE, NAPRED
314 ; HORNI A PAK DOLNI NIBBLE
315 ; C JE KONTROLNI SOUCET Z HODNOT N,A,T,D. SOUCET
316 ; VSECH HODNOT N,A,T,D,C MA DAT NULU!
317 ;
318 ; POSLEDNI, UZAVIRACI BLOK MA TVAR:
319 ;
320 ; CR,LF,':',00,A,T,C
321 ;
322 ; KDE: A JE STARTOVACI ADRESA
323 ; T JE TYP BLOKU (1)
324 ; C JE KONTROLNI SOUCET (DVOJKOVY DOPLNEK)
325 ;
326 ;
327 F02B CD F7D9 WRITE: CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU
328 F02E B7 ORA A ; JE PASIVNI ?
329 F02F C4 F758 CNZ BREA1 ; NE CHYBA
330 F032 36 00 ERR2: MVI M,0 ; PASIVACE STATUSU ZAPISU
331 F034 CD F827 CALL EXPR ; VSTUP DVOU ADRES
332 F037 D1 POP D ; KONCOVA ADRESA
333 F038 E1 POP H ; POCATECNI ADRESA
334 F039 7D WRIT1: MOV A,L
335 F03A C6 10 ADI 10H
336 F03C 4F MOV C,A
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-6
337 F03D 7C MOV A,H
338 F03E CE 00 ACI 0
339 F040 47 MOV B,A ; V <BC> JE <HL> + 16
340 F041 7B MOV A,E
341 F042 91 SUB C
342 F043 4F MOV C,A
343 F044 7A MOV A,D
344 F045 98 SBB B ; ROZDIL OD KONCOVE ADRESY
345 F046 DA F04E JC WRIT2 ; ZBIVA VICE NEZ 16 BYTU ?
346 F049 3E 10 MVI A,10H ; ANO
347 F04B C3 F051 JMP WRIT3 ; DALSI BLOK
348 F04E 79 WRIT2: MOV A,C ; NE
349 F04F C6 11 ADI 11H ; OBNOVENI POCTU V <A>
350 F051 B7 WRIT3: ORA A ; KONEC ?
351 F052 C8 RZ ; ANO --> MONITOR
352 F053 D5 PUSH D
353 F054 5F MOV E,A ; POCET BYTU
354 F055 AF XRA A ; PARAMETR
355 F056 47 MOV B,A ; TYP 0
356 F057 CD F06C CALL PBEG ; UVODNI BLOK
357 F05A 7E WRIT4: MOV A,M ; CTI ZNAK
358 F05B 23 INX H ; CITAC
359 F05C CD F089 CALL PBYTE ; VYSLI ZNAK
360 F05F 1D DCR E ; VSECHNY ZNAKY BLOKU ?
361 F060 C2 F05A JNZ WRIT4
362 F063 AF XRA A
363 F064 92 SUB D ; DVOJKOVY DOPLNEK KONTR. SOUCTU
364 F065 CD F089 CALL PBYTE ; VYSLI KONTROLNI SOUCET
365 F068 D1 POP D ; OBNOVENI KONCOVE ADRESY
366 F069 C3 F039 JMP WRIT1 ;DALSI BLOK
367 ;
368 F06C 57 PBEG: MOV D,A
369 F06D 0E 0D MVI C,CR
370 F06F CD F0A4 CALL POC ; DERUJ CR
371 F072 0E 0A MVI C,LF
372 F074 CD F0A4 CALL POC ; DRERUJ LF
373 F077 0E 3A MVI C,':'
374 F079 CD F0A4 CALL POC ; DERUJ DVOJTECKU
375 F07C 7B MOV A,E
376 F07D CD F089 CALL PBYTE ; DERUJ POCET BYTU BLOKU
377 F080 7C MOV A,H
378 F081 CD F089 CALL PBYTE ; DERUJ HORNI BYTE ADRESY
379 F084 7D MOV A,L
380 F085 CD F089 CALL PBYTE ; DERUJ DOLNI BYTE ADRESY
381 F088 78 MOV A,B
382 F089 F5 PBYTE: PUSH PSW
383 F08A 0F RRC
384 F08B 0F RRC
385 F08C 0F RRC
386 F08D 0F RRC
387 F08E E6 0F ANI 0FH
388 F090 CD F848 CALL HXASC
389 F093 CD F0A4 CALL POC ; DERUJ HORNI NIBBLE HEX.
390 F096 F1 POP PSW
391 F097 F5 PUSH PSW
392 F098 E6 0F ANI 0FH
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-7
393 F09A CD F848 CALL HXASC
394 F09D CD F0A4 CALL POC ; DERUJ DOLNI NIBBLE HEX.
395 F0A0 F1 POP PSW
396 F0A1 82 ADD D
397 F0A2 57 MOV D,A ; KONTROLNI SOUCET
398 F0A3 C9 RET
399 ;
400 F0A4 CD F80C POC: CALL PO ; VYSTUP NA DEROVAC
401 F0A7 DC F758 CC BREA1 ; NASTALA CHYBA ?
402 F0AA C9 ERR1: RET
403 ;
404 ;
405 ;
406 ; READ
407 ; ====
408 ;
409 ; PRIKAZ READ PROVADI CTENI SOUBORU V INTEL HEX FORME PRES
410 ; PODPROGRAM RI.
411 ;
412 F0AB CD F7BF READ: CALL GETRST ; V <HL> ADRESA STATUSU CTENI
413 F0AE 36 00 MVI M,0 ; PASIVACE STATUSU CTENI
414 F0B0 0D DCR C
415 F0B1 CD F827 CALL EXPR ; VSTUP OFFSETU
416 F0B4 E1 READ1: POP H ; DO <HL>
417 F0B5 E5 PUSH H
418 F0B6 CD F133 READ2: CALL RIC
419 F0B9 FE 0D CPI CR ; JDE O 'CR' ?
420 F0BB C2 F0B6 JNZ READ2 ; NE - CTI ZNOVU
421 F0BE CD F133 CALL RIC
422 F0C1 FE 0A CPI LF ; JDE O 'LF' ?
423 F0C3 C2 F0B6 JNZ READ2 ; NE - CTI ZNOVU
424 F0C6 CD F133 CALL RIC
425 F0C9 DE 3A SBI ':' ; JDE O DVOJTECKU ?
426 F0CB C2 F0B6 JNZ READ2 ; NE CTI ZNOVU
427 F0CE 57 MOV D,A ; VYNULOVANI KONTR. SOUCTU V <D>
428 F0CF CD F11A CALL READ5 ; VSTUP DELKY BLOKU
429 F0D2 CA F0F8 JZ READ3 ; KONEC PRI NULOVE DELCE
430 F0D5 5F MOV E,A ; CITAC BYTU DAT
431 F0D6 CD F11A CALL READ5 ; VYSSI BYTE ADRESY
432 F0D9 47 MOV B,A
433 F0DA CD F11A CALL READ5 ; NIZSI BYTE ADRESY
434 F0DD 4F MOV C,A
435 F0DE 09 DAD B ; SKOTUCNA ADRESA ( S OFFSETEM ) V <HL>
436 F0DF CD F11A CALL READ5 ; PRIZNAK (IMP. 0)
437 F0E2 CD F11A READ4: CALL READ5 ; VLASTNI KOD SOUBORU
438 F0E5 77 MOV M,A ; ULOZENI DO PAMETI
439 F0E6 BE CMP M ; KONTROLA OBSAHU
440 F0E7 C4 F758 CNZ BREA1 ; CHYBA V OBSAHU PAMETI ?
441 F0EA 23 ERR3: INX H ; INKREMENTACE ADRESY PAMETI
442 F0EB 1D DCR E ; DEKREMENTACE CITACE BYTU
443 F0EC C2 F0E2 JNZ READ4 ; VSECHNY BYTY BLOKU PRECTENY ?
444 F0EF CD F11A CALL READ5 ; CTENI KONR. SOUCTU
445 F0F2 C4 F758 CNZ BREA1 ; CHYBA V KONTR. SOUCTU ?
446 F0F5 C3 F0B4 ERR4: JMP READ1
447 F0F8 E5 READ3: PUSH H ; OFFSET
448 F0F9 CD F11A CALL READ5 ; VYSSI BYTE STARTOVACI ADRESY
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-8
449 F0FC 67 MOV H,A
450 F0FD CD F11A CALL READ5 ; NIZSI BYTE STARTOVACI ADRESY
451 F100 6F MOV L,A
452 F101 CD F11A CALL READ5 ; PRIZNAK
453 F104 CD F11A CALL READ5 ; KONTROLNI SOUCET
454 F107 C4 F758 CNZ BREA1 ; CHYBA V KONTROLNIM SOUCTU ?
455 F10A D1 ERR5: POP D ; OFFSET
456 F10B 7A MOV A,D
457 F10C B3 ORA E
458 F10D D1 POP D ; OPRAVA UKAZETELE ZASOBNIKU
459 F10E C0 RNZ ; NENULOVY OFFSET -> MONITOR
460 F10F 7C MOV A,H
461 F110 B5 ORA L
462 F111 F5 PUSH PSW
463 F112 E5 PUSH H
464 F113 CD F18C CALL JOIN0 ; PASIVACE PRIZNAKU
465 F116 E1 POP H
466 F117 F1 POP PSW
467 F118 C8 RZ ; NULOVA STARTOVACI ADRESA -> MONITOR
468 F119 E9 PCHL ; SKOK DO PROGRAMU
469 ;
470 F11A C5 READ5: PUSH B
471 F11B CD F133 CALL RIC
472 F11E CD F82D CALL ASHEX ; VYSSI NIBBLE
473 F121 07 RLC
474 F122 07 RLC
475 F123 07 RLC
476 F124 07 RLC
477 F125 4F MOV C,A
478 F126 CD F133 CALL RIC ; NIZSI NIBBLE
479 F129 CD F82D CALL ASHEX
480 F12C B1 ORA C
481 F12D 4F MOV C,A
482 F12E 82 ADD D ; KONTROLNI SOUCET
483 F12F 57 MOV D,A
484 F130 79 MOV A,C ; PRECTENY BYTE V <A>
485 F131 C1 POP B
486 F132 C9 RET
487 ;
488 F133 CD F806 RIC: CALL RI ; CTI BYTE ZE SNIMACE
489 F136 DC F758 CC BREA1 ; CHYBA NEBO PORUCHA ?
490 F139 E6 7F ERR6: ANI 7FH
491 F13B C9 RET
492 ;
493 ;
494 ; E O F
495 ; =====
496 ;
497 ; PRIKAZ EOF PROVEDE ZAKONCENI PRAVE VYSLANEHO SOUBORU
498 ; PRIKAZEM W.
499 ;
500 F13C 0D EOF: DCR C
501 F13D CD F827 CALL EXPR ; STARTONACI ADRESA
502 F140 E1 POP H
503 F141 06 01 MVI B,1 ; TYP 1
504 F143 AF XRA A
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-9
505 F144 5F MOV E,A ; NULOVY POCET BYTU
506 F145 CD F06C CALL PBEG ; PRIZNAK
507 F148 AF XRA A
508 F149 92 SUB D ; DVOJKOVY DOPLNEK KONTR. SOUCTU
509 F14A CD F089 CALL PBYTE
510 F14D CD F7D9 CALL GETPST ; OBSAH STATUSU ZAPISU DO <A>
511 F150 B7 ORA A
512 F151 C2 F350 JNZ CLOSE ; POKUD BYL AKTIVOVAN ZAPIS - UZAVRI BLOK
513 F154 C9 RET
514 ;
515 ;
516 ;
517 ; J O I N
518 ; =======
519 ;
520 ; PRIKAZ PRO ZAKLADNI INICIALIZACI PROGRAMONEHO VYBAVENI
521 ; MAGNETOFONU. VYSILA RIDICI SLOVO DO OBVODU 8255. NASTAVUJE
522 ; POCATECNI HODNOTU PORTU PC. NASTAVI ADRESU BUFFERU DEROVACE
523 ; PNADR, ADRESU BUFFERU SNIMACE RDADR, OBSAH UKAZATELE BUFFERU
524 ; DERONACE PNPOI A OBSAH UKAZATELE BUFFERU SNIMACE RDPOI. BUFFER
525 ; DEREVACE UMISTI DO 256 BUNEK POD ZASOBNIK, BUFFER SNIMACE
526 ; UMISTI POD BUFFER DEROVACE TEZ DO 256 BUNEK. UPRAVI OBSAH
527 ; BUNKY PRO KONEC UZIVATELSKE PAMETI UREND NA [UREND] - 512.
528 ; PRITOM KONTROLUJE, ZDA JE PRITOMNEHO NEJMENE 1 KILO UZIVATELSKE
529 ; PAMETI RAM (BEZ NEJ NELZE MAGNETOFON PROVOZOVAT). DALE NASTAVI
530 ; CITAC BLOKU DEROVACE PBLKC, CITAC SOUBORU DEROVAVACE PFILC, CITAC
531 ; BLOKU SNIMACE PRLKC A CITAC SOUBORU SNIMACE RFILC NA NULU.
532 ; NAVIC PASIVUJE BUNKY STATUSU CTENI RDSTS I ZAPISU PNSTS, KTERE
533 ; MAJI NULOVY PASIVNI OBSAH, NENULOVY (0FFH) AKTIVNI OBSAH.
534 ; NAKONEC SE PROVEDE PRIRAZENI SPOJOVACICH ADRES PO NA KO A
535 ; PI NA KI (VYSTUP A VSTUP JEDNOHO BYTU Z/NA KAZETU) A CELKOVA
536 ; PASIVACE A INICIACE MODEMU.
537 ;
538 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L
539 ;
540 F155 CD F842 JOIN: CALL IMTXT
541 F158 20 54 50 52 DB ' TPR V3','X' OR 80H ; OHLASENI
542 F15C 20 56 33 D8
543 F160 3E 92 MVI A,CTRLWD ; RIDICI SLOVO PRO '55
544 F162 D3 0B OUT ADRCT ; PA-IN,PB-IN,PC-OUT,M0
545 F164 CD F81B CALL MEMCK ; ZJISTENI KONCE USRAM
546 F167 60 MOV H,B
547 F168 6F MOV L,A ; KONEC UZIVATELSKE PAMETI V <HL>
548 F169 7C MOV A,H
549 F16A EB XCHG
550 F16B FE 03 CPI 3 ; MENE NEZ 1 KBYTE USRAM ?
551 F16D DC F758 CC BREA1 ; OHLASENI CHYBY
552 F170 CD F1B6 ERR7: CALL INI2 ; <DE>-255 -> <DE>
553 F173 21 01B0 LXI H,PNADR
554 F176 CD F1B0 CALL INI0 ; <DE> -> PNADR
555 F179 36 00 MVI M,0 ; 0 -> PNPOI
556 F17B 23 INX H
557 F17C CD F1B6 CALL INI2 ; <DE>-255 -> <DE>
558 F17F 1B DCX D ; ZVYSENI DELKY BUFFERU NA 256
559 F180 CD F1B3 CALL INI1 ; <DE> -> RDADR
560 F183 36 00 MVI M,0 ; 0 -> RDPOI
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-10
561 F185 21 0031 LXI H,UREND
562 F188 1B DCX D
563 F189 CD F1B0 CALL INI0 ; <DE> -> UREND
564 F18C 21 01B6 JOIN0: LXI H,PBLKC
565 F18F 11 0000 LXI D,0
566 F192 CD F1B0 CALL INI0 ; 0 -> PBLKC, PFILC
567 F195 CD F1B3 CALL INI1 ; 0 -> RBLKC, RFILC
568 F198 CD F1B3 CALL INI1 ; 0 -> PNSTS, RDSTS
569 F19B 11 F2DB LXI D,KI
570 F19E 0E 02 MVI C,2
571 F1A0 CD F81E CALL IODEF ; NASTAVENI SPOJOVACI ADRESY RI NA KI
572 F1A3 11 F322 LXI D,KO
573 F1A6 0E 04 MVI C,4
574 F1A8 CD F81E CALL IODEF ; NASTAVENI SPOJOVACI ADRESY PO NA KO
575 F1AB 3E 10 MVI A,PASWD
576 F1AD D3 0A OUT ADRPC ; PASIVACE INTERFACE MAGNETOFONU
577 F1AF C9 RET
578 ;
579 F1B0 CD F84E INI0: CALL GETADR ; VYPOCETI ADRESU SKRYTE PROMENNE
580 F1B3 C3 F851 INI1: JMP STJMB ; <E> -> [<HL>]; <D> -> [<HL>+1]; <HL>+2 -> <HL>
581 ;
582 F1B6 E5 INI2: PUSH H
583 F1B7 21 FF01 LXI H,-255
584 F1BA 19 DAD D
585 F1BB EB XCHG ; <DE> - 255 -> <DE>
586 F1BC E1 POP H
587 F1BD C9 RET
588 ;
589 ;
590 ;
591 ; Q U A F F
592 ; =========
593 ;
594 ; PRIKAZ QUAFF SPOUZI KE CTENI BINARNIHO SOUBORU A JEHO ULOZENI
595 ; DO PAMETI SE ZADANYM OFFSETEM.
596 ;
597 F1BE 0D QUAFF: DCR C
598 F1BF CD F827 CALL EXPR ; VSTUP OFFSETU
599 F1C2 CD F4B4 CALL FIND ; OTEVRENI SOUBORU PRO CTENI
600 F1C5 06 00 MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU
601 F1C7 CD F72A CALL RINCH ; NACTI PRVNI DATOVY BLOK
602 F1CA F5 PUSH PSW
603 F1CB CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU
604 F1CE 7E MOV A,M ; PRIZNAK BLOKU V <A>
605 F1CF FE 42 CPI 'B' ; BINARNI SOUBOR ?
606 F1D1 CA F1D9 JZ QUA1 ; ANO - POKRACUJ VE CTENI
607 F1D4 FE 04 CPI 04H ; POSLEDNI BLOK ?
608 F1D6 C4 F758 CNZ BREA1 ; NE - CHYBA
609 F1D9 ERR8:
610 F1D9 F1 QUA1: POP PSW
611 F1DA FE 3C CPI '<' ; LEVA ADRESOVA ZAVORKA ?
612 F1DC C4 F758 CNZ BREA1 ; NE - CHYBA
613 F1DF CD F735 ERR9: CALL DRINCH ; KONCOVA ADRESA
614 F1E2 EB XCHG
615 F1E3 CD F735 CALL DRINCH ; POCATECNI ADRESA
616 F1E6 CD F72A CALL RINCH
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-11
617 F1E9 FE 3E CPI '>' ; PRAVA ADRESOVA ZAVORKA ?
618 F1EB C4 F758 CNZ BREA1 ; NE - CHYBA
619 F1EE C5 ERR10: PUSH B
620 F1EF CD F72A CALL RINCH ; KONTROLNI SOUCET ADRESOVE CASTI
621 F1F2 C1 POP B
622 F1F3 B8 CMP B ; KONTROLNI SOUCET SOUHLASI ?
623 F1F4 C2 F758 JNZ BREA1 ; NE - CHYBA
624 F1F7 06 00 ERR11: MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU
625 F1F9 E3 XTHL ; OFFSET V <HL>
626 F1FA E5 PUSH H
627 F1FB 19 DAD D ; KONCOVA ADRESA + OFFSET V <HL>
628 F1FC D1 POP D ; OFFSET V <DE>
629 F1FD E3 XTHL ; POCATECNI ADRESA V <HL>
630 F1FE 19 DAD D ; POCATECNI ADRESA + OFFSET V <HL>
631 F1FF D1 POP D ; KONCOVA ADRESA + OFFSET V <DE>
632 F200 CD F72A QUA0: CALL RINCH
633 F203 77 MOV M,A ; ULOZENI BYTU DAT DO PAMETI
634 F204 CD F836 CALL HILO ; <HL>+1 -> <HL>; <HL>=<DE> ?
635 F207 D2 F200 JNC QUA0 ; VSECHNY BYTY PRECTENY ?
636 F20A C5 PUSH B
637 F20B CD F72A CALL RINCH ; KONTROLNI SOUCET DATOVE CASTI
638 F20E C1 POP B
639 F20F B8 CMP B ; KONTROLNI SOUCET SOUHLASI ?
640 F210 C4 F758 CNZ BREA1 ; NE - CHYBA
641 F213 CD F72A ERR12: CALL RINCH
642 F216 FE 1A CPI SUBS ; UKONCOVACI ZNAK ?
643 F218 C4 F758 CNZ BREA1 ; NE - CHYBA
644 F21B CD F7BF ERR13: CALL GETRST ; V <HL> ADRESA STATUSU CTENI
645 F21E 36 00 MVI M,0 ; PASINACE STATUSU CTENI
646 F220 C9 RET
647 ;
648 ;
649 ;
650 ; P U T
651 ; =====
652 ;
653 ; PRIKAZ PRO VYPIS OBLASTI PAMETI O ZADANYCH ADRESACH V BINARNI
654 ; FORME NA KAZETU. SOUBOR NA KAZETE SE ZAPISUJE V BLOCICH. UVODNI
655 ; BLOK OBSAHUJE JMENO SOUBORU A POZNAMKU. NASLEDUJI DATOVE BLOKY,
656 ; Z NICHZ PRVNI OBSAHUJE POCATECNI A KONCOVOU ADRESU. BLOKY MAJI
657 ; KONSTANTNI DELKU A JSOU ODDELENY MAZERAMI DELKY 0.8 S.
658 ;
659 F221 CD F827 PUT: CALL EXPR ; VSTUP DVOU ADRES
660 F224 CD F45E CALL OPEN ; OTEVRENI SOUBORU PRO ZAPIS
661 F227 CD F7B9 PUT1: CALL GETPNB ; V <HL> ADRESA BUFFERU
662 F22A 36 42 MVI M,'B' ; PRIZNAK BINARNIHO SOUBORU
663 F22C 06 00 MVI B,0 ; NULOVANI KONTROLNIHO SOUCTU
664 F22E 0E 3C MVI C,'<' ; LEVA ADRESOVA ZAVORKA
665 F230 CD F715 CALL PUNCH
666 F233 E1 POP H ; KONCOVA ADRESA V <HL>
667 F234 CD F722 CALL DPUNCH ; WYDEROVANI KONCOVE ADRESY
668 F237 E3 XTHL ; POCATECNI ADRESA V <HL>
669 F238 CD F722 CALL DPUNCH ; VYDEROVANI POCATECNI ADRESY
670 F23B 0E 3E MVI C,'>' ; PRAVA ADRESOVA ZAVORKA
671 F23D CD F715 CALL PUNCH
672 F240 48 MOV C,B ; KONTROLNI SOUCET ADRESOVE CASTI
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-12
673 F241 CD F715 CALL PUNCH
674 F244 06 00 MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU
675 F246 D1 POP D ; KONCOVA ADRESA V <DE>
676 F247 4E PUT0: MOV C,M ; DATA Z PAMETI
677 F248 CD F715 CALL PUNCH
678 F24B CD F836 CALL HILO ; <HL>+1 -> <HL>; <HL>=<DE> ?
679 F24E D2 F247 JNC PUT0 ; VSECHNY BYTY ?
680 F251 48 MOV C,B ; KONTROLNI SOUCET
681 F252 CD F715 CALL PUNCH
682 F255 0E 1A MVI C,SUBS ; KONCOVY ZNAK
683 F257 CD F715 CALL PUNCH
684 F25A C3 F350 JMP CLOSE ; AZAVRENI SOUBORU
685 ;
686 ;
687 ;
688 ; L O A D
689 ; =======
690 ;
691 ; PRIKAZ LOAD PROVEDE ZAPNUTI MOTORKU MAGNETOFONU (PO KTREM
692 ; SE CEKA 0.3 S NA ROZBEHNUTI), VYPSANI 'REWIND DONE ?' NACEZ
693 ; SE CEKA NA STISKNUTI LIB. KLAVESY. V TETO DOBE LZE PROVADET
694 ; PREVIJENI A POD. PO STISKNUTI KLASVESY SE MOTOREK OPET ZASTAVI.
695 ;
696 ; POSKOZENE REGISTRY: A,F,C
697 ;
698 F25D CD F770 LOAD: CALL SETTR ; SPOSTENI MOTORKU A CEKANI 0.1 S
699 F260 CD F79E CALL DONETX ; ZOBRAZI ' DONE ?' A CEKANI NA KLAVESU
700 F263 C3 F765 JMP RESTR ; ZASTAVENI MOTORKU
701 ;
702 ;
703 ;
704 ; D I R E C T O R Y
705 ; =================
706 ;
707 ; PRIKAZ PROVEDE VYPIS NAZVU A POZNAMEK VSECH SOUBORU
708 ; Z KAZETY NA OBRAZOVKU.
709 ;
710 F266 CD F7BF DIR: CALL GETRST ; V <HL> ADRESA STATUSU CTENI
711 F269 35 DCR M ; AKTIVACE PRIZNAKU CTENI
712 F26A CD F787 CALL PLAYTX ; VYPIS 'PLAY DONE ?' A CEKANI NA KLAVESU
713 F26D CD F824 CALL CRLF
714 F270 21 01B3 DIR0: LXI H,RDADR ; V <HL> ODSTUP BUFFERU
715 F273 37 STC ; PRIZNAK CTENI
716 F274 CD F3FF CALL RDBUF ; CTI BLOK DO BUFFERU
717 F277 CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU
718 F27A 7E MOV A,M
719 F27B FE 3A CPI ':' ; JDE O NAZEV KAZETY ?
720 F27D CA F285 JZ DIR2 ; ANO - VYPIS
721 F280 FE 01 CPI 01H ; JDE O NAZEV SOUBORU ?
722 F282 C2 F270 JNZ DIR0 ; NE - CTI DALSI BLOK
723 F285 E5 DIR2: PUSH H
724 F286 CD F5DD CALL MAMTX ; ZOBRAZ NAZEV
725 F289 E1 POP H
726 F28A 11 000C LXI D,12 ; VYNECH PRIZNAK A NAZEV BLOKU
727 F28D 19 DAD D
728 F28E 7E DIR1: MOV A,M
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-13
729 F28F B7 ORA A
730 F290 CC F824 CZ CRLF
731 F293 CA F270 JZ DIR0 ; NENI POZNAMKA - DALSI SOUBOR
732 F296 4E MOV C,M
733 F297 F4 F809 CP CO ; ZOBRAZENI POZNAMKY
734 F29A 23 INX H
735 F29B C3 F28E JMP DIR1
736 ;
737 ;
738 ;
739 ; U N N A M E D
740 ; =============
741 ;
742 ; PRIKAZ SLOUZI PRO VYTVORENI UVODNIHO BLOKU NA KAZETE, KTERY
743 ; OBSAHUJE JEJI JMENO A POZNAMKU. TENTO BLOK JE SPECIFICKY
744 ; A VYSKYTUJE SE NA KAZETE JEDENKRAT A Z KAZDE STRANY.
745 ;
746 F29E CD F7D9 UNNAM: CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU
747 F2A1 35 DCR M ; AKTIVACE STATUSU ZAPISU
748 F2A2 CD F842 CALL IMTXT
749 F2A5 0D 0A 43 41 DB CR,LF,'CASSETTE',0A0H ; TISK TEXTY
750 F2A9 53 53 45 54
751 F2AD 54 45 A0
752 F2B0 AF XRA A ; NULOVANO FF-C
753 F2B1 CD F4E7 CALL NAMIN ; VSTUP NAZVU A POZNAMKY
754 F2B4 CD F793 CALL RECTX ; VYPIS 'RECORD DONE ?' A CEKANI NA KLAVESU
755 F2B7 21 01B6 LXI H,PBLKC
756 F2BA 11 0000 LXI D,0
757 F2BD CD F1B0 CALL INI0 ; NULOVANI CITACE BLOKU A SOUBORU DEROVACE
758 F2C0 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU PRO ZAPIS
759 F2C3 36 3A MVI M,':' ; PRIZNAK NAZVU KAZETY
760 F2C5 CD F770 CALL SETTR ; SPUSTENI MAGNETOFONU
761 F2C8 3E 02 MVI A,PC1RES
762 F2CA D3 0B OUT ADRCT ; ODBLOKOVANI CITACU MODEMU
763 F2CC 01 7D00 LXI B,G3LEN
764 F2CF CD F5BA CALL WRGAP ; ZAPIS UVODNI MEZERY 10 S
765 F2D2 CD F398 CALL WRBUF ; ZAPIS BUFFERU NA KAZETU
766 F2D5 CD F7D9 CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU
767 F2D8 36 00 MVI M,0 ; PASIVACE STATUSU ZAPISU
768 F2DA C9 RET
769 ;
770 ;
771 ;
772 ; K I
773 ; ===
774 ;
775 ; PODPROGRAM UMOZNUJICI CTENI JEDNOHO BUTU Z KAZETY PRES
776 ; VYROVNAVACI BUFFER. PRECTENY BYTE JE V <A>. PRIZNAK CHYBY
777 ; FF-C JE NULOVAN, PRI ZNAKU 'SUBS' A PRI ASCII SOUBORU JE
778 ; NASTAVEN DO JEDNICKY (PRIZNAK VYBEHNUTI PASKY ZE SNIMACE).
779 ;
780 ; POSKOZENE REGISTRY: A,F
781 ;
782 F2DB C5 KI: PUSH B
783 F2DC D5 PUSH D
784 F2DD E5 PUSH H
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-14
785 F2DE CD F7BF CALL GETRST ; V <HL> ADRESA STATUSU CTENI, V <A> JEHO HODNOTA
786 F2E1 B7 ORA A ; BYL STATUS CTENI PASIVNI ?
787 F2E2 CC F4B4 CZ FIND ; ANO - OTEVRI SOUBOR PRO CTENI
788 F2E5 21 01B5 LXI H,RDPOI
789 F2E8 CD F7C2 CALL GETC0
790 F2EB E5 PUSH H ; ADRESA POINTRU SNIMACE
791 F2EC FE FF CPI 0FFH ; JE BUFFER PRAZDNY?
792 F2EE C2 F306 JNZ KI0 ; NE - ULOZ BYTE
793 F2F1 CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU SNIMACE
794 F2F4 7E MOV A,M
795 F2F5 FE 04 CPI 04H ; JDE O PRIZNAK KONCOVEHO BLOKU ?
796 F2F7 CA F316 JZ KI2 ; ANO - VYSLI PRIZNAK KONCE SOUBORU
797 F2FA 21 01B3 LXI H,RDADR ; ADRESA BUFFERU PRO CTENI
798 F2FD 37 STC ; PRIZNAK CTENI
799 F2FE CD F3FF CALL RDBUF ; ANO - CTI DALSI BLOK
800 F301 37 STC ; PRIZNAK CTENI
801 F302 CD F568 CALL CMPBUF ; ZOBRAZ NAZEV, KONTROLUJ CISLA BLOKU A SOUBORU
802 F305 AF XRA A ; POINTR NA NULU
803 F306 E1 KI0: POP H
804 F307 3C INR A ; INKREMENTUJ POINTR (NULTY ZNAK = PRIZNAK)
805 F308 77 MOV M,A ; NOVA HODNOTA POINTRU
806 F309 16 00 MVI D,0
807 F30B 5F MOV E,A ; V <DE> POINTR
808 F30C CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU
809 F30F 19 DAD D ; ADRESA NASLEDUJICIHO ZNAKU V BUFFERU
810 F310 7E MOV A,M
811 F311 B7 ORA A ; NULOVANI FF-C
812 F312 E1 KI1: POP H
813 F313 D1 POP D
814 F314 C1 POP B
815 F315 C9 RET
816 F316 E1 KI2: POP H
817 F317 CD F7BF CALL GETRST ; V <HL> ADRESA STATUSU SNIMACE
818 F31A 36 00 MVI M,0 ; PASINACE STATUSU SNIMACE
819 F31C 3E 1A MVI A,SUBS ; ZNAK "KONCE PASKY"
820 F31E 37 STC
821 F31F C3 F312 JMP KI1
822 ;
823 ;
824 ;
825 ; K O
826 ; ===
827 ;
828 ; PODPROGRAM UMOZNUJICI VYSTUP JEDNOHO BYTU MA KAZETU PRES
829 ; VYROVNAVACI BUFFER. VYSTUPNI BYT JE V <C>. PRIZNAK CHYBY
830 ; (FF-C) JE NULOVAN.
831 ;
832 ; POSKOZENE REGISTRY: FF'S
833 ;
834 F322 F5 KO: PUSH PSW
835 F323 D5 PUSH D
836 F324 E5 PUSH H
837 F325 C5 PUSH B
838 F326 CD F7D9 CALL GETPST ; V <A> STATUS ZAPISU
839 F329 B7 ORA A ; JE STATUS ZAPISU PASIVNI ? (FF-C = 0)
840 F32A CC F45E CZ OPEN ; ANO - OTEVRI SOUBOR PRO ZAPIS
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-15
841 F32D CC F5A2 CZ NULBUF ; NULOVANI OBSAHU BUFFERU PRO ZAPIS
842 F330 CD F7D3 CALL GETPPO ; V <HL> ADRESA, V <A> OBSAH UKAZATELE DEROVACE
843 F333 E5 PUSH H
844 F334 FE FF CPI 0FFH ; JE BUFFER PLNY ?
845 F336 C2 F33D JNZ KO0 ; NE - ZAPIS BYTE
846 F339 CD F398 CALL WRBUF ; ZAPIS BUFFERU
847 F33C AF XRA A ; NULOVANI POINTRU
848 F33D E1 KO0: POP H
849 F33E 3C INR A ; INKREMENTACE POINTRU (NULOVY BYTE - PRIZNAK)
850 F33F 77 MOV M,A ; NOVA HODNOTA POINTRU
851 F340 16 00 MVI D,0
852 F342 5F MOV E,A ; V <DE> OBSAH POINTRU
853 F343 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU
854 F346 19 DAD D ; ADRESA DALSIHO VOLNEHO BYTU
855 F347 C1 POP B
856 F348 C5 PUSH B
857 F349 71 MOV M,C ; ULOZENI DALSIHO BYTU DO BUFFERU
858 F34A C1 POP B
859 F34B E1 POP H
860 F34C D1 POP D
861 F34D F1 POP PSW
862 F34E B7 ORA A ; NULOVANI PRIZNAKU CHYBY
863 F34F C9 RET
864 ;
865 ;
866 ;
867 ; C L O S E
868 ; =========
869 ;
870 ; PODPROGRAM SLOUZI K UZAVRENI ZAPSANEHO SOUBORU.
871 ;
872 F350 E5 CLOSE: PUSH H
873 F351 CD F7D9 CALL GETPST ; V <A> OBSAH V<HL> ADRESA STATUSU ZAPISU
874 F354 B7 ORA A ; JE ZAPISOVY STATUS AKTIVNI ?
875 F355 CC F758 CZ BREA1 ; NENI - CHYBA
876 F358 36 00 ERR14: MVI M,0 ; PASIVACE STATUSU ZAPISU
877 F35A CD F842 CALL IMTXT
878 F35D 0D 0A 43 4C DB CR,LF,'CLOSE','D' OR 80H ; TISK TEXTU 'CLOSED'
879 F361 4F 53 45 C4
880 F365 CD F7B9 CALL GETPNB ; V <DE> ADRESA BUFFERU
881 F368 E5 PUSH H
882 F369 EB XCHG
883 F36A CD F7D3 CALL GETPPO ; V <A> OBSAH UKAZATELE DEROVACE
884 F36D 6F MOV L,A
885 F36E 26 00 MVI H,0 ; V <HL> UKAZATEL
886 F370 EB XCHG
887 F371 19 DAD D ; V <HL> ADRESA POSLEDNIHO ULOZENEHO BYTU
888 F372 1C INR E
889 F373 CA F37D JZ CLOS1 ; SKOK PRI PLNEM BUFFERU
890 F376 23 CLOS0: INX H
891 F377 36 00 MVI M,BLANK ; NULOVANI ZBITKU BUFFERU
892 F379 1C INR E
893 F37A C2 F376 JNZ CLOS0 ; CELY BUFFER ZAPLNEN ?
894 F37D E1 CLOS1: POP H
895 F37E 36 04 MVI M,04H ; PRIZNAK KONCOVEHO BLOKU
896 F380 CD F398 CALL WRBUF ; ZAPIS BUFFERU
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-16
897 F383 E1 POP H
898 F384 C9 RET
899 ;
900 ;
901 ;
902 ; A P P E N D
903 ; ===========
904 ;
905 ; PODPROGRAM PRO ZAPIS BINARNIHO SOUBORU. MA STEJNE CHOVANI JAKO
906 ; PUT S TIM, ZE ZAPISUJE BEZPROSTREDNE BEZ VYHLEDAVANI.
907 ;
908 F385 CD F827 APEND: CALL EXPR ; VSTUP DVOU ADRES
909 F388 21 F227 LXI H,PUT1
910 F38B E5 PUSH H ; NAVRATOVA ADRESA SIMULOVANEHO CALL
911 F38C F5 PUSH PSW
912 F38D CD F7D9 CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU
913 F390 E5 PUSH H
914 F391 CD F7E5 CALL GETPBC ; V <HL> ADRESA CITACE SOUBORU DEROVACE
915 F394 34 INR M ; INKREMENTACE CITACE SOUBORU
916 F395 C3 F487 JMP OPAPP ; SKOK DO OPEN ZA VYHLEDAVANI
917 ;
918 ;
919 ;
920 ;################################################################
921 ;
922 ; OBLAST PODPROGRAMU BLOKOVE UROVNE
923 ; *********************************
924 ;
925 ;
926 ;
927 ; W R B U F
928 ; =========
929 ;
930 ; PODPROGRAM SLOUZI K ZAPISU OBSAHU BUFFERU PRO ZAPIS PNBUF
931 ; NA KAZETU.
932 ;
933 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L
934 ;
935 F398 21 01B6 WRBUF: LXI H,PBLKC
936 F39B 3E 0F MVI A,PC7SET
937 F39D D3 0B OUT ADRCT ; ZAPNUTI LED ZAPISU
938 F39F CD F7C2 CALL GETC0
939 F3A2 34 INR M ; INKREMENTACE CITACE BLOKU
940 F3A3 5E MOV E,M ; CITAC BLOKU V <E>
941 F3A4 23 INX H ; V <HL> ADRESA CITACE SOUBORU
942 F3A5 56 MOV D,M ; CITAC SOUBORU V <D>
943 F3A6 CD F7CD CALL GETNM2 ; V <HL> ADRESA OBLASTI NAME2
944 F3A9 E5 PUSH H ; ADRESA OBLASTI S NAZVEM SOUBORU
945 F3AA CD F7B9 CALL GETPNB ; V <HL> JE ADESA BUFFERU
946 F3AD E5 PUSH H
947 F3AE CD F7BF CALL GETRST ; V <HL> ADRESA V <A> OBSAH STATUSU CTENI
948 F3B1 B7 ORA A ; JE AKTIVOVAN STATUS CTENI ?
949 F3B2 C4 F793 CNZ RECTX ; ANO - VYPIS 'RECORD DONE ?' A CEKEJ NA KLAVESU
950 F3B5 E1 POP H ; V <HL> ADRESA BUFFERU
951 F3B6 CD F741 CALL BREAK ; PRERUSIT ?
952 F3B9 CD F770 CALL SETTR ; SPUSTENI MOTORKU
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-17
953 F3BC 3E 02 MVI A,PC1RES
954 F3BE D3 0B OUT ADRCT ; ODBLOKOVANI CITACU MODEMU
955 F3C0 01 0B40 LXI B,G1LEN
956 F3C3 CD F5BA CALL WRGAP ; ZAPIS MEZERI (G1LEN) BITU '1' [73/65]
957 F3C6 3E 10 MVI A,10H ; PREAMBLE [7]
958 F3C8 CD F693 CALL BYTOUT ; [103/50]
959 F3CB 3E 10 MVI A,10H ; DRUHY PREAMBLE [7]
960 F3CD CD F693 CALL BYTOUT ; [103/50]
961 F3D0 3E 10 MVI A,10H ; TRETI PREAMBLE [7]
962 F3D2 CD F693 CALL BYTOUT ; [103/50]
963 F3D5 01 0000 LXI B, (BUFLEN+1) AND 0FFH ; 0 -> <B>; DELKA -> <C> [10]
964 F3D8 CD F6FF CALL WRMEM ; ZAPIS Z PAMETI [125/66]
965 F3DB E1 POP H ; ADRESA NAZVU [10]
966 F3DC 0E 0B MVI C,NAMLEN ; DELKA JMENA [7]
967 F3DE CD F6FF CALL WRMEM ; ZAPIS JMENA [125/66]
968 F3E1 7B MOV A,E ; [5]
969 F3E2 CD F693 CALL BYTOUT ; CISLO BLOKU [103/50]
970 F3E5 7A MOV A,D ; [5]
971 F3E6 CD F693 CALL BYTOUT ; CISLO SOUBORU [103/50]
972 F3E9 78 MOV A,B ; [5]
973 F3EA CD F693 CALL BYTOUT ; KONTROLNI SOUCET [103/50]
974 F3ED 3E 10 MVI A,10H ; [7]
975 F3EF CD F693 CALL BYTOUT ; PREAMBLE [103/50]
976 F3F2 AF XRA A ; [4]
977 F3F3 CD F693 CALL BYTOUT ; ZAPIS 00H [103/50]
978 F3F6 01 00A0 LXI B,G2LEN ; [7]
979 F3F9 CD F5BA CALL WRGAP ; ZAPIS MEZERY (G2LEN) BITU '1' [73/65]
980 F3FC C3 F765 JMP RESTR ; ZASTAV MAGNETOFON
981 ;
982 ;
983 ;
984 ; R D B U F
985 ; =========
986 ;
987 ; PODPROGRAM PRO CTENI Z PASKY BLOKU A ULOZENI HO DO BUFFERU
988 ; DANEHO ODSTUPEM V <HL>. FF-C UDAVA, ZDA JDE O CTENI (FF-C = 1)
989 ; NEBO O ZAPIS (FF-C = 0). BLOK MA PEVNOU STRUKTURU:
990 ;
991 ; M,P,P,P,X,D,J,B,S,K,P,M,...
992 ;
993 ; KDE M JE MEZERA DELKY 0,8 S
994 ; P JE PREAMBLE HODNOTY 10H
995 ; X JE PRIZNAK BLOKU S VYZNAMEM:
996 ; 3AH ... NAZEV KAZETY
997 ; 41H ... ASCII BLOK
998 ; 42H ... BINARNI BLOK
999 ; 01H ... NAZEV SOUBORU A POZNAMKA
1000 ; 04H ... POSLEDNI BLOK SOUBORU
1001 ; D JE 255 BYTU DAT
1002 ; J JE NAZEV DELKY (NAMLEN) ZNAKU ASCII
1003 ; B JE CISLO BLOKU (1-255)
1004 ; S JE CISLO SOUBORU (1-255)
1005 ; K JE KONTROLNI SOUCET (OD X PO B)
1006 ;
1007 ;
1008 ; POSKOZENE REGISTRY: A,F,B,C,H,L
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-18
1009 ;
1010 F3FF D5 RDBUF: PUSH D
1011 F400 E5 PUSH H
1012 F401 3E 0B MVI A,PC5SET
1013 F403 D3 0B OUT ADRCT
1014 F405 21 01B8 LXI H,RBLKC
1015 F408 DA F40E JC RDBU3 ; SKOK PRO CTENI
1016 F40B 21 01B6 LXI H,PBLKC
1017 F40E CD F7C2 RDBU3: CALL GETC0
1018 F411 34 INR M ; INKREMENTACE CITACE BLOKU (PRVNI BLOK ... 1)
1019 F412 5E MOV E,M ; V <E> CITAC BLOKU
1020 F413 23 INX H ; V <HL> ADRESA CITACE SOUBORU (PRVNI SOUBOR ... 0)
1021 F414 56 MOV D,M ; V <D> CITAC SOUBORU
1022 F415 CD F7DF CALL GETTMP ; ADRESA POMOCNE OBLASTI
1023 F418 E3 XTHL ; V <HL> ODSTUP ADRESY BLOKU
1024 F419 CD F526 CALL NAMIA ; V <HL> ADRESA BLOKU
1025 F41C E5 PUSH H
1026 F41D CD F7D9 CALL GETPST ; V <A> STATUS ZAPISU
1027 F420 B7 ORA A ; JE ZAPISOVY STATUS AKTIVNI ?
1028 F421 C4 F787 CNZ PLAYTX ; ANO - VYPIS 'PLAY DONE ?' A CEKEJ NA KLAVESU
1029 F424 E1 POP H ; V <HL> ADRESA BUFFERU
1030 F425 CD F741 CALL BREAK ; PRERUSIT ?
1031 F428 CD F770 CALL SETTR ; SPUSTENI MOTORKU MAGNETOFONU
1032 F42B CD F5C8 RDBU0: CALL SRGAP ; NAJDI MEZERU [79/114]
1033 F42E 0E 03 MVI C,3 ; POCET PREAMBLU [7]
1034 F430 CD F6CA RDBU1: CALL BYTIN ; CTI BYTE [69/89]
1035 F433 FE 10 CPI 10H ; JDE O PREAMBLE ? [7]
1036 F435 C2 F42B JNZ RDBU0 ; NE - HLEDEJ ZNOVU MEZERU [10]
1037 F438 0D DCR C ; VSECHNY BYTY PREAMBLU ? [5]
1038 F439 C2 F430 JNZ RDBU1 ; NE - CTI DALSI BYTE [10]
1039 F43C 01 0000 LXI B,(BUFLEN+1) AND 0FFH ; NULUJ <B>, DELKA DO <C> [10]
1040 F43F CD F709 CALL RDMEM ; CTI DATA DO BUFFERU [86/122]
1041 F442 E1 POP H ; V <HL> ADRESA POMOCNE OBLASTI [10]
1042 F443 0E 0D MVI C,NAMLEN+2 ; DELKA NAZVU + CITACU [7]
1043 F445 CD F709 CALL RDMEM ; CTI JMENO A CITACE DO POM. OBLASTI [86/122]
1044 F448 48 MOV C,B ; KONTROLNI SOUCET DO <C> [5]
1045 F449 CD F6CA CALL BYTIN ; [69/89]
1046 F44C 91 SUB C ; KONTROLNI SOUCET SHODY ? [4]
1047 F44D F5 PUSH PSW ; SCHOVEJ PRIZNAK [11]
1048 F44E CD F6CA CALL BYTIN ; [69/89]
1049 F451 FE 10 CPI 10H ; PREAMBLE ?
1050 F453 C4 F758 CNZ BREA1 ; NE - CHYBA
1051 F456 F1 ERR15: POP PSW ; KONTROLNI SOUCTY SHODNE ?
1052 F457 C4 F758 CNZ BREA1 ; NE - CHYBA
1053 F45A D1 ERR16: POP D
1054 F45B C3 F765 JMP RESTR ; ZASTAV MOTOREK MAGNETOFONU
1055 ;
1056 ;
1057 ;
1058 ; O P E N
1059 ; =======
1060 ;
1061 ; PODPROGRAM SLOUZI K OTEVIRANI SOUBORU PRO ZAPIS. PRO VYHLE-
1062 ; DAVANI SOUBORU SE POUZIVA BUFFER PRO ZAPIS, TAKZE BUFFER PRO
1063 ; CTENI NENI POSKAZEN. UMOZNUJE TO SIMULTANNI NEZAVISLY ZAPIS
1064 ; PRI JIZ PROBIHAJICIM CTENI.
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-19
1065 ;
1066 ; POSKOZENE REGISTRY: H,L
1067 ;
1068 F45E F5 OPEN: PUSH PSW
1069 F45F CD F7D9 CALL GETPST ; V <HL> ADRESA, V <A> OBSAH STATUSU ZAPISU
1070 F462 B7 ORA A ; JE STATUS ZAPISU PASIVNI ?
1071 F463 C4 F758 CNZ BREA1 ; NE - CHYBA
1072 F466 E5 ERR17: PUSH H
1073 F467 CD F842 CALL IMTXT
1074 F46A 0D 0A 4C 41 DB CR,LF,'LAST',0A0H
1075 F46E 53 54 A0
1076 F471 AF XRA A
1077 F472 CD F4E7 CALL NAMIN ; VSTUP JMENA POSLEDNIHO SOUBORU
1078 F475 CD F787 CALL PLAYTX ; ZOBRAZ 'PLAY DONE ?' A CEKEJ NA KLAVESU
1079 F478 21 01B0 LXI H,PNADR
1080 F47B AF XRA A ; NULOVANI FF-C (ZAPIS)
1081 F47C CD F60B CALL SEARCH ; VYHLEDEJ KONEC POSL. SOUBORU
1082 F47F CD F7E5 CALL GETPBC ; NULOVANI CITACE BLOKU, V <HL> ADR. CIT. SOUB.
1083 F482 CD F7EF CALL GETCTN ; OBSAH CITACE SOUBORU DO <A>
1084 F485 77 MOV M,A
1085 F486 34 INR M ; INKREMENTACE CITACE SOUBORU
1086 F487 CD F842 OPAPP: CALL IMTXT
1087 F48A 0D 0A 4E 45 DB CR,LF,'NEW',0A0H
1088 F48E 57 A0
1089 F490 AF XRA A
1090 F491 CD F4E7 CALL NAMIN ; VSTUP JMENA NOVEHO SOUBORU
1091 F494 E1 POP H
1092 F495 35 DCR M ; AKTIVACE PRIZNAKU ZAPISU
1093 F496 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU
1094 F499 E5 PUSH H
1095 F49A 36 01 MVI M,01H ; PRIZNAK NAZNU SOUBORU
1096 F49C CD F7BF CALL GETRST
1097 F49F B7 ORA A ; JE STATUS ZAPISU PASIVNI ?
1098 F4A0 CC F793 CZ RECTX ; ANO - VYPIS 'RECORD DONE ?' A CEKEJ NA KLAVESU
1099 F4A3 CD F398 CALL WRBUF ; ZAPIS BLOKU SE JMENEM SOUBORU
1100 F4A6 AF XRA A ; NULOVANI FF-C
1101 F4A7 CD F5A2 CALL NULBUF ; VYNULUJ ZAPISOVY BUFFER
1102 F4AA E1 POP H
1103 F4AB 36 41 MVI M,'A' ; PRIZNAK ASCII BLOKU
1104 F4AD CD F7D3 CALL GETPPO ; V <HL> ADRESA UKAZATELE
1105 F4B0 36 00 MVI M,0 ; VYNULOVANI UKAZATELE DEROVACE
1106 F4B2 F1 POP PSW
1107 F4B3 C9 RET
1108 ;
1109 ;
1110 ;
1111 ; F I N D
1112 ; =======
1113 ;
1114 ; PODPROGRAM SLOZI PRI VYHLADANI SOUBORU PRI CTENI.
1115 ;
1116 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L,SP
1117 ;
1118 F4B4 CD F7BF FIND: CALL GETRST ; V <HL> ADRESA, V <A> OBSAH STATUSU CTENI
1119 F4B7 B7 ORA A ; JE PRIZNAK CTENI PASIVNI ?
1120 F4B8 C4 F758 CNZ BREA1 ; NE - CHYBA
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-20
1121 F4BB 35 ERR18: DCR M ; AKTIVACE PRIZNAKU CTENI
1122 F4BC CD F824 CALL CRLF
1123 F4BF 37 STC
1124 F4C0 CD F4E7 CALL NAMIN ; VSTUP JMENA SOUBORU
1125 F4C3 CD F7D9 CALL GETPST
1126 F4C6 B7 ORA A ; JE AKTIVNI PRIZNAK ZAPISU ?
1127 F4C7 CC F787 CZ PLAYTX ; NE - VYPIS 'PLAY DONE ?' A CEKEJ NA KLAVESU
1128 F4CA 21 01B5 LXI H,RDPOI
1129 F4CD CD F84E CALL GETADR
1130 F4D0 36 FF MVI M,0FFH ; POC. HODNOTA UKAZATELE BUFFERU SNIMACE
1131 F4D2 21 01B3 LXI H,RDADR
1132 F4D5 37 STC ; NASTAVENI FF-C (CTENI)
1133 F4D6 CD F60B CALL SEARCH ; HLEDEJ SOUBOR
1134 F4D9 21 01B8 LXI H,RBLKC
1135 F4DC CD F84E CALL GETADR ; V <HL> ADRESA CITACE BLOKU
1136 F4DF 36 01 MVI M,1 ; ULOZENI POC. HODNOTY
1137 F4E1 23 INX H ; V <HL> ADRESA CITACE SOUBORU
1138 F4E2 CD F7EF CALL GETCTN ; V <A> CISLO NALEZENEHO SOUBORU
1139 F4E5 77 MOV M,A ; NASTAVENI CITACE SOUBORU
1140 F4E6 C9 RET
1141 ;
1142 ;
1143 ;
1144 ; N A M I N
1145 ; =========
1146 ;
1147 ; PODPROGRAM PRO VSTUP NAZVU SOUBORU A POZNAMKY. VSTUPNIM
1148 ; PARAMETREM JE FF-C. POKUT JE NULOVY, JEDNA SE O ZAPIS
1149 ; A DO ZAPISOVEHO BUFFERU SE UKLADA JMENO A POZNAMKA V
1150 ; CELKOVE DELCE (COMLEN). SOUCASNE PVNICH (NAMLEN) ZNAKU SE
1151 ; POVAZUJE ZA JMENO A UKLADA SE DO OBLASTI NAME2. JE-LI
1152 ; FF-C JEDNICKOVY, JEDNA SE O CTENI A UKLADA SE POUZE
1153 ; (NAMLEN) ZNAKU DO OBLASTI NAME1.
1154 ;
1155 ; POSKOZENE REGISTRY: - - -
1156 ;
1157 F4E7 C5 NAMIN: PUSH B
1158 F4E8 D5 PUSH D
1159 F4E9 E5 PUSH H
1160 F4EA F5 PUSH PSW
1161 F4EB CD F592 CALL NULNAM ; VYNULUJ OBLAST NAME1/NAME2
1162 F4EE CD F842 CALL IMTXT
1163 F4F1 4E 41 4D 45 DB 'NAME',CR,LF,':' OR 80H
1164 F4F5 0D 0A BA
1165 F4F8 06 0B MVI B,NAMLEN ; PAAMETRY PRO CTENI
1166 F4FA CD F7C7 CALL GETNM1 ; V <HL> ADRESA OBLASTI NAME1
1167 F4FD F1 POP PSW
1168 F4FE F5 PUSH PSW
1169 F4FF DA F50B JC NAMI3 ; POKUT CTENI - SKOC
1170 F502 CD F5A2 CALL NULBUF ; VYNULOVANI BUFFERU PRO ZAPIS
1171 F505 06 EF MVI B,COMLEN ; PARAMETRY PRO ZAPIS
1172 F507 CD F7B9 CALL GETPNB ; V <HL> ADRESA ZAPIS. BUFFERU
1173 F50A 23 INX H ; PRI ZAPISE VYNECH MISTO NA PRIZNAK
1174 F50B CD F65A NAMI3: CALL ASCIN ; NACTI NAZEV/POZNAMKU
1175 F50E F1 POP PSW
1176 F50F F5 PUSH PSW
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-21
1177 F510 DA F521 JC NAMI1 ; PRI CTENI - NAVRAT
1178 F513 EB XCHG ; V <DE> ADRESA ULOZENI NAZVU
1179 F514 CD F7CD CALL GETNM2 ; V <HL> ADRESA OBLASTI NAME2
1180 F517 06 0B MVI B,NAMLEN ; CITAC ZNAKU
1181 F519 1A NAMI2: LDAX D ; CTI PISMENO NAZVU
1182 F51A 77 MOV M,A ; ULOZ JE DO OBLASTI NAME2
1183 F51B 13 INX D
1184 F51C 23 INX H
1185 F51D 05 DCR B ; VSECHNY ZNAKY ULOZENY ?
1186 F51E C2 F519 JNZ NAMI2 ; NE - ULOZ DALSI ZNAK
1187 F521 F1 NAMI1: POP PSW
1188 F522 E1 POP H
1189 F523 D1 POP D
1190 F524 C1 POP B
1191 F525 C9 RET
1192 ;
1193 F526 CD F84E NAMIA: CALL GETADR
1194 F529 7E MOV A,M ; [/<HL>/] -> <HL>
1195 F52A 23 INX H
1196 F52B 66 MOV H,M
1197 F52C 6F MOV L,A
1198 F52D C9 RET
1199 ;
1200 ;
1201 ;
1202 ; C M P N A M
1203 ; ===========
1204 ;
1205 ; PODPROGRAM SLOUZI KE SROVNANI DVOU JMEN PRI VYHLEDAVANI.
1206 ; HLAVNIM PRIZNAKEM RIDICIM CINNOST JE FF-C. JE-LI NULOVY,
1207 ; JDE O SROVNANI PRO ZAPIS, JE-LI JEDNICKOVY, JDE O SROVNANI
1208 ; PRO CTENI. PRI SROVNANI PRO ZAPIS SE SROVNAVAJI JMENA
1209 ; UMISTENA V POLI NAME2 (VZOR) A BUFFERU PNADR (OD 2 BYTU).
1210 ; PRI SROVNAVANI PRO CTENI SE SROVNAVAJI JMENA UMISTENA V
1211 ; POLI NAME1 (VZOR) A V BUFFERU RDADR (OD 2 BYTU). CELKEM
1212 ; SE SROVNAVA MAX. NAMLEN PISMEN. POKUT SE VE VZORU VYSKYTNE
1213 ; HVEZDICKA (*), PAK JSOU ZBIVAJICI PISMENA VE JMENECH PROGRAMU
1214 ; NEVYZNAMNA A STACI POUZE SCHODA PRDCHAZEJICICH. HVEZDICKA
1215 ; MUZE BYT I NA PRVEM MISTE. PRI JEJIM VYSKYTU A SPLNENI
1216 ; CASTECNE SHODY SE VYPISE NALEZENE JMENO A DOTAZ (?), VYZA-
1217 ; DUJICI POTVRZENI PISMENEM 'Y' NEBO ZAMITNUTI LIBOVOLNOU
1218 ; JINOU KLAVESOU. VYSLEDEK SROVNANI JE V <FF-Z>.
1219 ;
1220 ; POSKOZENE REGISTRY: A,F
1221 ;
1222 F52E C5 CMPNAM: PUSH B
1223 F52F E5 PUSH H
1224 F530 D5 PUSH D
1225 F531 06 0B MVI B,NAMLEN ; POCET PISMEN JMENA
1226 F533 CD F7C7 CALL GETNM1
1227 F536 11 01B3 LXI D,RDADR
1228 F539 DA F542 JC CMPN0
1229 F53C CD F7CD CALL GETNM2
1230 F53F 11 01B0 LXI D,PNADR
1231 F542 EB CMPN0: XCHG
1232 F543 CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU, V <DE> ADRESA VZORU
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-22
1233 F546 23 CMPN1: INX H ; UKAZATEL NAZVU
1234 F547 1A LDAX D ; CTI PISMENO ZE VZORU
1235 F548 FE 2A CPI '*' ; JE VA VZORU '*' ?
1236 F54A CA F55E JZ CMPN2 ; ANO - UKONCI SROVNAVANI - DOTAZ NA POTVRZENI
1237 F54D FE A0 CPI ETX
1238 F54F CA F564 JZ CMPN3 ; JE NAZEV KRATSI NEZ NAMLEN ?
1239 F552 BE CMP M ; SROVNANI DALSIHO PISMENA
1240 F553 C2 F564 JNZ CMPN3 ; NESHODA - UKONCI SROVNANI
1241 F556 13 INX D ; UKAZATEL VZORU
1242 F557 05 DCR B ; CITAC PISMEN
1243 F558 C2 F546 JNZ CMPN1 ; DALSI PISMENO
1244 F55B C3 F564 JMP CMPN3
1245 F55E CD F5DD CMPN2: CALL MAMTX ; ZOBRAZ NAZEV
1246 F561 CD F7A6 CALL REQTX ; DOTAZ Y/COKOLI
1247 F564 D1 CMPN3: POP D
1248 F565 E1 POP H
1249 F566 C1 POP B
1250 F567 C9 RET
1251 ;
1252 ;
1253 ;
1254 ; C M P B U F
1255 ; ===========
1256 ;
1257 ; PODPROGRAM PRO ZOBRAZENI NAZVU PRECTENEHO BLOKU PODPROGRAMEM
1258 ; RDBUF DO POMOCNE OBLASTI TMPAR, PRO KONTROLU SOUHLASU CISLA
1259 ; BLOKU A SOUBORU PRECTENICH A OBSAZENYCH V INTERNICH CITACICH.
1260 ;
1261 ; POSKOZENE REGISTRY: - - -
1262 ;
1263 F568 E5 CMPBUF: PUSH H
1264 F569 D5 PUSH D
1265 F56A C5 PUSH B
1266 F56B F5 PUSH PSW
1267 F56C CD F5F2 CALL NAMNUM ; ZOBRAZ NAZEV, CISLO BLOKU A SOUBORU
1268 F56F 2B DCX H ; V <HL> ADRESA CISLA BLOKU
1269 F570 EB XCHG
1270 F571 F1 POP PSW
1271 F572 F5 PUSH PSW
1272 F573 21 01B8 LXI H,RBLKC ; CITAC BLOKU PRI CTENI
1273 F576 DA F57C JC CMPBU0 ; PRI CTENI SKOC
1274 F579 21 01B6 LXI H,PBLKC ; CITAC BLOKU PRI ZAPISU
1275 F57C CD F84E CMPBU0: CALL GETADR ; V <HL> ADRESA CITACE BLOKU
1276 F57F 46 MOV B,M
1277 F580 1A LDAX D
1278 F581 B8 CMP B ; JE PRECTENO CISLO BLOKU SHODNE S OBSAHEM CITACE ?
1279 F582 C4 F758 CNZ BREA1 ; NE - CHYBA
1280 F585 23 ERR19: INX H ; V <HL> ADRESA CISLA SOUBORU
1281 F586 13 INX D ; V <DE> ADRESA CITACE SOUBORU
1282 F587 46 MOV B,M
1283 F588 1A LDAX D
1284 F589 B8 CMP B ; JE PRECTENE CISLO SOUBORU SHODNE S OBSAHEM CT. ?
1285 F58A C4 F758 CNZ BREA1 ; NE - CHYBA
1286 F58D F1 ERR20: POP PSW
1287 F58E C1 POP B
1288 F58F D1 POP D
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-23
1289 F590 E1 POP H
1290 F591 C9 RET
1291 ;
1292 ;
1293 ;
1294 ; N U L N A M
1295 ; ===========
1296 ; PODPROGRAM SPOUZI PRO VUPLNENI OBLASTI NAME1 (FF-C...1)
1297 ; NEBO NAME2 (FF-C...0) MEZERAMI.
1298 ;
1299 ; POSKOZENE REGISTRY: - - -
1300 ;
1301 F592 C5 NULNAM: PUSH B
1302 F593 E5 PUSH H
1303 F594 F5 PUSH PSW
1304 F595 06 0B MVI B,NAMLEN ; DELKA NAZVU
1305 F597 DC F7C7 CC GETNM1
1306 F59A D4 F7CD CNC GETNM2 ; V <HL> ADRESA OBLASTI S JMENEM
1307 F59D 3E 20 MVI A,' ' ; ZAPIS MEZERU
1308 F59F C3 F5B0 JMP NULB1
1309 ;
1310 ;
1311 ;
1312 ; N U L B U F
1313 ; ===========
1314 ;
1315 ; PODPROGRAM PRO VYPLNENI BUFFERU URCENEM <FF-C> BLANKY.
1316 ;
1317 F5A2 C5 NULBUF: PUSH B
1318 F5A3 E5 PUSH H
1319 F5A4 F5 PUSH PSW
1320 F5A5 06 FE MVI B,BUFLEN-1 ; DELKA BUFFERU - 1
1321 F5A7 DC F7B3 CC GETRDB
1322 F5AA D4 F7B9 CNC GETPNB ; V <HL> ADRESA BUFFERU
1323 F5AD 23 INX H ; NEMAZ PRIZNAK BLOKU
1324 F5AE 3E 00 MVI A,BLANK ; ZAPIS 00H
1325 F5B0 77 NULB1: MOV M,A
1326 F5B1 23 INX H
1327 F5B2 05 DCR B ; CELY BUFFER ZAOLNEN ?
1328 F5B3 C2 F5B0 JNZ NULB1 ; NE - DALSI BYTE
1329 F5B6 F1 POP PSW
1330 F5B7 E1 POP H
1331 F5B8 C1 POP B
1332 F5B9 C9 RET
1333 ;
1334 ;
1335 ;
1336 ; W R G A P [73/65]
1337 ; =========
1338 ;
1339 ; PODPROGRAM SLOUZI K ZAPISU MEZERY V DELCE <BC> BITU 01.
1340 ;
1341 ; POSKOZENE REGISTRY: A,F,B,C
1342 ;
1343 F5BA C5 WRGAP: PUSH B ; [11]
1344 F5BB 0E FF MVI C,0FFH ; [7]
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-24
1345 F5BD CD F6B4 CALL BITOUT ; ZAPIS JEDNICKY [38/30]
1346 F5C0 C1 POP B ; [10]
1347 F5C1 0B DCX B ; VSECHNY BYTY ZAPSANY ? [5]
1348 F5C2 78 MOV A,B ; [5]
1349 F5C3 B1 ORA C ; [4]
1350 F5C4 C8 RZ ; [5/11]
1351 F5C5 C3 F5BA JMP WRGAP ; NE - ZAPIS DALSI BIT [10]
1352 ;
1353 ;
1354 ;
1355 ; S R G A P [79/114]
1356 ; =========
1357 ;
1358 ; PODPROGRAM SLOUZI K VYHLEDAVANI MEZERY TAK, ZE CEKA
1359 ; NA SOUVISLOU POSLOUPNOST JEDNICEK V DELCE GAPBIT.
1360 ; NAJDE-LI NULU, HLEDA ZNOVU OD ZACATKU.
1361 ;
1362 ; POSKOZENE REGISTRY: A,F
1363 ;
1364 F5C8 C5 SRGAP: PUSH B ; [11]
1365 F5C9 01 0140 SRGA0: LXI B,GAPBIT ; POCET JEDNICKOVYCH BITU PRO 200 MS [10]
1366 F5CC CD F6F0 SRGA1: CALL BITIN ; [41/95]
1367 F5CF CC F741 CZ BREAK ; PRERUSIT ? [5/11]
1368 F5D2 CA F5C9 JZ SRGA0 ; NENI - HLEDEJ ZNOVU [10]
1369 F5D5 0B DCX B ; NALAZEN POZADOVANY POCET BITU ? [5]
1370 F5D6 78 MOV A,B ; [5]
1371 F5D7 B1 ORA C ; [4]
1372 F5D8 C2 F5CC JNZ SRGA1 ; NE - HLEDEJ ZNOVU [10]
1373 F5DB C1 POP B ; [10]
1374 F5DC C9 RET ; [10]
1375 ;
1376 ;
1377 ;
1378 ; N A M T X
1379 ; =========
1380 ;
1381 ; PODPROGRAM SLOUZI K ZOBRAZENI NAZVU Z POMOCNE OBLASTI
1382 ; TMPAR V DELCE (NAMLEN) ZNAKU.
1383 ;
1384 ; POSKOZENE REGISTRY: A,F,B,C,H,L
1385 ;
1386 F5DD 06 0B MAMTX: MVI B,NAMLEN ; DELKA JMEN
1387 F5DF CD F7DF CALL GETTMP ; V <HL> ADRESA OBLASTI TMPAR
1388 F5E2 CD F824 CALL CRLF
1389 F5E5 4E NAMT0: MOV C,M
1390 F5E6 7E MOV A,M
1391 F5E7 FE 20 CPI 20H
1392 F5E9 D4 F809 CNC CO ; ZOBRAZ ZNAK, IGNORUJ RIDICI ZNAKY
1393 F5EC 23 INX H
1394 F5ED 05 DCR B ; ZOBRAZENY VECHNY ZNAKY ?
1395 F5EE C2 F5E5 JNZ NAMT0 ; NE - ZOBRAZ DALSI
1396 F5F1 C9 RET
1397 ;
1398 ;
1399 ;
1400 ; N A M N U M
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-25
1401 ; ===========
1402 ;
1403 ; PODPROGRAM SLOUZI K ZABRAZENI JMENA SOUBORU Z POMOCNE OBLASTI
1404 ; PAMETI (TMPAR), CISLA BLOKU A CISLA SOUBORU. ZOBRAZUJE NA PRED-
1405 ; CHOZI RADEK.
1406 ;
1407 ; POSKOZENE REGISTRY: A,F,B,C,H,L
1408 ;
1409 F5F2 21 0035 NAMNUM: LXI H,LINECO
1410 F5F5 CD F84E CALL GETADR ; V <HL> ADRESA CITACE RADKU
1411 F5F8 35 DCR M ; SKOK NA PREDCHOZI RADEK
1412 F5F9 CD F5DD CALL MAMTX ; ZOBRAZENI NAZVU, NASTAVENI ADRESY DO <HL>
1413 F5FC CD F83C CALL SPACE
1414 F5FF 7E MOV A,M
1415 F600 CD F833 CALL DBYTE ; ZOBRAZ CISLO BLOKU
1416 F603 CD F83C CALL SPACE
1417 F606 23 INX H
1418 F607 7E MOV A,M
1419 F608 C3 F833 JMP DBYTE ; ZOBRAZ CISLO SOUBORU
1420 ;
1421 ;
1422 ;
1423 ; S E A R C H
1424 ; ===========
1425 ;
1426 ; PODPROGRAM SLOUZI K VYHLEDAVANI SOUBORU URCENEHO NAZVU.
1427 ; VSTUPNI PARAMETR JE FF-C, URCUJICI ZDA JDE O ZAPIS (PAK
1428 ; SE HLEDA KONEC UDANEHO SOUBORU) NEBO CTENI (PAK SE HLEDA
1429 ; PRVNI DATOVY BLOK SOUBORU). V <HL> JE ODSTUP ADRESY BUFFERU,
1430 ; DO KTEREHO SE NACITA PRI HLEDANI. HLEDANI SE DA PRERUSIT ESC.
1431 ; PRI HLEDANI SE ZOBRAZUJI U DATOVYCH BLOKU NAZEV A CISLO.
1432 ;
1433 ; POSKOZENE REGISTRY: A,F,H,L
1434 ;
1435 F60B F5 SEARCH: PUSH PSW
1436 F60C E5 PUSH H
1437 F60D D1 POP D ; V <DE> ODSTUP
1438 F60E D5 SEAR1: PUSH D
1439 F60F E1 POP H ; V <HL> ODSTUP
1440 F610 F1 POP PSW
1441 F611 F5 PUSH PSW
1442 F612 CD F3FF CALL RDBUF ; CTI BLOK DO BUFFERU
1443 F615 D5 PUSH D
1444 F616 E1 POP H ; V <HL> ODSTUP
1445 F617 CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU
1446 F61A 7E MOV A,M
1447 F61B FE 01 CPI 01H ; PRIZNAK NAZVU SOUBORU ?
1448 F61D CA F637 JZ SEAR2
1449 F620 FE 3A CPI ':' ; PRIZNAK NAZNU KAZETY ?
1450 F622 F5 PUSH PSW
1451 F623 C5 PUSH B
1452 F624 C4 F5F2 CNZ NAMNUM ; ZOBRAZ NAZEV SOUBORU, CISLO BLOKU A SOUBORU
1453 F627 C1 POP B
1454 F628 F1 POP PSW
1455 F629 C2 F60E JNZ SEAR1 ; NE - CTI DALSI BLOK
1456 F62C F1 POP PSW
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-26
1457 F62D F5 PUSH PSW
1458 F62E CD F52E CALL CMPNAM ; SROVNANI NAZVU PRO BLOK ':'
1459 F631 CA F658 JZ SEAR3 ; ZASTAVIT HNED ZA ?
1460 F634 C3 F60E JMP SEAR1 ; NE - CTI DALSI BLOKY
1461 F637 F1 SEAR2: POP PSW
1462 F638 F5 PUSH PSW
1463 F639 CD F52E CALL CMPNAM ; NAZVY JSOU ROVNY ?
1464 F63C C2 F60E JNZ SEAR1 ; NE - CTI DALSI NAZEV
1465 F63F F1 POP PSW
1466 F640 D8 RC ; PRI CTENI NAVRAT
1467 F641 D5 SEAR0: PUSH D
1468 F642 E1 POP H ; V <HL> ODSTUP
1469 F643 B7 ORA A ; PRIZNAK ZAPISU (FF-C=0)
1470 F644 CD F3FF CALL RDBUF ; CTI BLOK
1471 F647 C5 PUSH B
1472 F648 CD F5F2 CALL NAMNUM ; ZOBRAZ JMENO A CISLO
1473 F64B C1 POP B
1474 F64C D5 PUSH D
1475 F64D E1 POP H ; V <HL> ODSTUP
1476 F64E CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU
1477 F651 3E 04 MVI A,04H ; PRIZNAK KONCOVEHO BLOKU
1478 F653 BE CMP M ; JDE O KONCOVY BLOK ?
1479 F654 C2 F641 JNZ SEAR0 ; NE - CTI DALSI BLOK
1480 F657 C9 RET
1481 ;
1482 F658 F1 SEAR3: POP PSW
1483 F659 C9 RET ; NAVRAT PRO BLOK S NAZVEM KAZETY
1484 ;
1485 ;
1486 ;
1487 ;################################################################
1488 ;
1489 ; OBLAST PODPROGRAMU BYTOVE A BITOVE UROVNE
1490 ; *****************************************
1491 ;
1492 ;
1493 ; A S C I N
1494 ; =========
1495 ;
1496 ; PODPROGRAM PRO VSTUP ASCII ZNAKU V POCTU <B> A JEJICH
1497 ; ULOZENI POCINAJE ADRESOU <HL>. UKLADANI LZE PREDCASNE
1498 ; UKONCIT ZNAKEM CR, DO MONITORU LZE SKOCIT PO STISKNUTI
1499 ; ZNAKU ESC (CTRL [), CHYBNE ZNAKY LZE VYMAZAT ZNAKEM
1500 ; BS (08H). JAKO POSLEDNI ZNAK SE VKLADA ZNAK ETX.
1501 ;
1502 ; POSKOZENE REGISTRY: A,F
1503 ;
1504 F65A C5 ASCIN: PUSH B
1505 F65B E5 PUSH H
1506 F65C 48 MOV C,B ; POCET ZNAKU
1507 F65D CD F803 ASCI0: CALL CI ; VSTUP ZNAKU
1508 F660 FE 0D CPI CR ; JDE O 'CR' ?
1509 F662 CA F68E JZ ASCI3 ; ANO - PREDCASNE UKONCI VKLADANI
1510 F665 FE 1B CPI ESC ; JDE O 'ESC' ?
1511 F667 CC F752 CZ BREA2 ; ANO - SKOC DO MONITORU
1512 F66A FE 08 CPI BS ; JDE O 'BS'
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-27
1513 F66C C2 F682 JNZ ASCI2 ; ANO=VYMAZ, NE=ULOZ ZNAK
1514 F66F 79 ASCI1: MOV A,C
1515 F670 B8 CMP B ; VSECHNY ZNAKY VYMAZANY ?
1516 F671 CA F65D JZ ASCI0 ; ANO - VSTUP DALSIHO ZNAKU
1517 F674 2B DCX H ; UKAZATEL NA STARY ZNAK
1518 F675 04 INR B ; OPRAVA CITACE ZNAKU
1519 F676 CD F857 CALL BACST
1520 F679 CD F83C CALL SPACE
1521 F67C CD F857 CALL BACST ; VYMAZ ZNAKU I NA OBRAZOVCE
1522 F67F C3 F65D JMP ASCI0 ; VSTUP DALSIHO ZNAKU
1523 F682 77 ASCI2: MOV M,A ; ULOZ NOVY ZNAK DO PAMETI
1524 F683 23 INX H ; UKAZATEL
1525 F684 C5 PUSH B
1526 F685 4F MOV C,A
1527 F686 CD F809 CALL CO ; ZOBRAZENI ZNAKU
1528 F689 C1 POP B
1529 F68A 05 DCR B ; CITAC
1530 F68B C2 F65D JNZ ASCI0 ; VSECHNY ZNAKY ULOZENY ?
1531 F68E 36 A0 ASCI3: MVI M,ETX ; PRIZNAK KONCE
1532 F690 E1 POP H
1533 F691 C1 POP B
1534 F692 C9 RET
1535 ;
1536 ;
1537 ;
1538 ; B Y T O U T [103/50]
1539 ; ===========
1540 ;
1541 ; PODPROGRAM PRO ZAPIS BYTU <A> NA KAZETU. BYTE MA TVAR:
1542 ; 0,D7,D6,D5,D4,D3,D2,D1,D0,1,1
1543 ; V <B> SE VYTVARI KONTROLNI SOUCET.
1544 ;
1545 ; POSKOZENE REGISTRY: B,A,F
1546 ;
1547 F693 F5 BYTOUT: PUSH PSW ; [11]
1548 F694 80 ADD B ; [4]
1549 F695 47 MOV B,A ; KONTROLNI SOUCET [5]
1550 F696 F1 POP PSW ; [10]
1551 F697 C5 PUSH B ; [11]
1552 F698 0E 00 MVI C,0 ; [7]
1553 F69A CD F6B4 CALL BITOUT ; START BIT [38/30]
1554 F69D 4F MOV C,A ; [5]
1555 F69E 06 08 MVI B,8 ; CITAC BITU [7]
1556 F6A0 CD F6B4 BYTO0: CALL BITOUT ; [38/30]
1557 F6A3 79 MOV A,C ; [5]
1558 F6A4 0F RRC ; [4]
1559 F6A5 4F MOV C,A ; [5]
1560 F6A6 05 DCR B ; VSECHNY BITY ? [5]
1561 F6A7 C2 F6A0 JNZ BYTO0 ; NE - DALSI BIT [10]
1562 F6AA 0E FF MVI C,0FFH ; [7]
1563 F6AC CD F6B4 CALL BITOUT ; [38/30]
1564 F6AF CD F6B4 CALL BITOUT ; DVA STOP BITY [38/30]
1565 F6B2 C1 POP B ; [10]
1566 F6B3 C9 RET ; [10]
1567 ;
1568 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-28
1569 ;
1570 ; B I T O U T [38/30]
1571 ; ===========
1572 ;
1573 ; PODROGRA PRO ZAPIS BITU <C0> NA KAZETU. BIT SE ZAPISUJE
1574 ; INVERZNE (VYSSI FREKVENCE ODPOVIDA PC0=1).
1575 ;
1576 ; POSKOZENE REGISTRY: - - -
1577 ;
1578 F6B4 F5 BITOUT: PUSH PSW ; [11]
1579 F6B5 DB 08 BITO0: IN ADRPA ; [10]
1580 F6B7 E6 02 ANI 2 ; JE PA1 JEDNICKOVY ? [7]
1581 F6B9 CA F6B5 JZ BITO0 ; NE - CEKEJ NA VZESTUPNOU HRANU [10]
1582 F6BC DB 08 BITO1: IN ADRPA ; [10]
1583 F6BE E6 02 ANI 2 ; JE PA1 NULOVY ? [7]
1584 F6C0 C2 F6BC JNZ BITO1 ; NE - CEKEJ NA SESTUPNOU HRANU [10]
1585 F6C3 79 MOV A,C ; [5]
1586 F6C4 E6 01 ANI 1 ; VYBER <C0> [7]
1587 F6C6 D3 0B OUT ADRCT ; INSTRUKCE NASTAVENI/NULOVANI PC0 [10]
1588 F6C8 F1 POP PSW ; [10] (NYNI INTERFACE ZAPISUJE AUT. DRUHY KMYT)
1589 F6C9 C9 RET ; [10]
1590 ;
1591 ;
1592 ;
1593 ; B Y T I N [69/94]
1594 ; =========
1595 ;
1596 ; PODPROGRAM PRO VSTUP JEDNOHO BYTU Z KAZETY. BYTE MA TVAR:
1597 ;
1598 ; 0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1 , 1
1599 ; D7 D6 D5 D4 D3 D2 D1 D0
1600 ; START BIT 2 X STOP BIT
1601 ;
1602 ; POSKOZENE REGISTRY: A,F
1603 ;
1604 F6CA C5 BYTIN: PUSH B ; [11]
1605 F6CB CD F6F0 BYTI2: CALL BITIN ; CTI BIT [41/59]
1606 F6CE C2 F6CB JNZ BYTI2 ; CEKEJ NA NULOVY START BIT [10]
1607 F6D1 01 0800 LXI B,0800H ; CITAC BITU V <B>, POM. BUNKA V <C> [10]
1608 F6D4 CD F6F0 BYTI0: CALL BITIN ; CTI BIT [41/59]
1609 F6D7 B1 ORA C ; SKLADEJ BYTE [4]
1610 F6D8 0F RRC ; [4]
1611 F6D9 4F MOV C,A ; [5]
1612 F6DA 05 DCR B ; VSECH 8 BITU DAT PRECTENO ? [5]
1613 F6DB C2 F6D4 JNZ BYTI0 ; NE - CTI DALSI BIT [10]
1614 F6DE CD F6F0 CALL BITIN ; CTI BIT [41/59]
1615 F6E1 CC F741 CZ BREAK ; NEJDE O JEDNICKOVY STOP BIT - PRERUSIT ? [5/11]
1616 F6E4 CA F6CB JZ BYTI2 ; NULOVY STOP BIT - SPLACHNI BYTE [10]
1617 F6E7 CD F6F0 CALL BITIN ; CTI BIT [41/59]
1618 F6EA CA F6CB JZ BYTI2 ; NEJDE O JEDNICKOVY STOP BIT - SPLACHNI BYTE [10]
1619 F6ED 79 MOV A,C ; V <A> DATA [5]
1620 F6EE C1 POP B ; [10]
1621 F6EF C9 RET ; SPRAVNY NAVRAT - FF-C = 0 [10]
1622 ;
1623 ;
1624 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-29
1625 ; B I T I N [41/60]
1626 ; =========
1627 ;
1628 ; PODPROGRAM PRO CTENI BITU Z KAZETY. BIT SE CTE INVERZNE, TZN.
1629 ; VYSSI KMITOCET MA BIT 0.
1630 ;
1631 ; POSKOZENE REGISTRY: A,F
1632 ;
1633 F6F0 DB 08 BITIN: IN ADRPA ; [10]
1634 F6F2 B7 ORA A ; JE PA7 JEDNICKOVY ? [4]
1635 F6F3 F2 F6F0 JP BITIN ; NE - CEKEJ NA VZESTUPNOU HRANU [10]
1636 F6F6 DB 08 BITI0: IN ADRPA ; [10]
1637 F6F8 B7 ORA A ; JE PA7 NULOVY ? [4]
1638 F6F9 FA F6F6 JM BITI0 ; NE - CEKEJ NA SESTUPNOU HRANU [10]
1639 F6FC E6 01 ANI 01H ; VYBER DATOVY PA0 [7]
1640 F6FE C9 RET ; [10]
1641 ;
1642 ;
1643 ;
1644 ; W R M E M [125/66]
1645 ; =========
1646 ;
1647 ; PODPROGRAM PRO ZAPIS OBLASTI PAMETI, ZACINAJICI ADRESOU
1648 ; V <HL> A DELKY <C> BYTU.
1649 ;
1650 ; POSKOZENE REGISTRY: A,F,B,C,H,L
1651 ;
1652 F6FF 7E WRMEM: MOV A,M ; CTI BYTE Z PAMETI [5]
1653 F700 CD F693 CALL BYTOUT ; ZAPIS NA KAZETU [103/50]
1654 F703 0D DCR C ; VSECHNY BYTY ZAPSANY ? [5]
1655 F704 C8 RZ ; ANO - NAVRAT [5/11]
1656 F705 23 INX H ; [5]
1657 F706 C3 F6FF JMP WRMEM ; NE - ZAPIS DALSI BYTE [10]
1658 ;
1659 ;
1660 ;
1661 ; R D M E N [86/122]
1662 ; =========
1663 ;
1664 ; PODPROGRAM KE CTENI DAT V POCTU <C> BUTU A JEJICH ULOZENI
1665 ; DO PAMETI POCINAJE ADRESOU <HL>. KONTROLNI SOUCET VYTVARI V <B>.
1666 ;
1667 ; POSKOZENE REGISTRY: A,F,B,C,H,L
1668 ;
1669 F709 CD F6CA RDMEM: CALL BYTIN ; CTI BYTE Z KAZETY [69/89]
1670 F70C 77 MOV M,A ; ULOZ DO PAMETI [7]
1671 F70D 80 ADD B ; [5]
1672 F70E 47 MOV B,A ; KONTR. SOUCET DO <B> [5]
1673 F70F 0D DCR C ; VSECHNY RYTY PRECTENY ? [5]
1674 F710 C8 RZ ; ANO - NAVRAT [5/11]
1675 F711 23 INX H ; [5]
1676 F712 C3 F709 JMP RDMEM ; NE - CTI DALSI BYTE [10]
1677 ;
1678 ;
1679 ;
1680 ; P U N C H
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-30
1681 ; =========
1682 ;
1683 ; PODPROGRAM VYDEROVANI BYTU DAT A VYTVORENI KONTROLNIHO SOUCTU.
1684 ;
1685 ; POSKOZENE REGISTRY: A,B,F
1686 F715 CD F741 PUNCH: CALL BREAK ; PRERUSIT ?
1687 F718 79 MOV A,C
1688 F719 80 ADD B
1689 F71A 47 MOV B,A ; VYTVORENI KONTROLNIHO SOUCTU
1690 F71B CD F80C CALL PO
1691 F71E DC F758 CC BREA1 ; CHYBA ?
1692 F721 C9 ERR22: RET
1693 ;
1694 ;
1695 ;
1696 ; D P U N C H
1697 ; ===========
1698 ;
1699 ; PODPROGRAM VYDEROVANI DVOU BYTE DAT Z <HL>.
1700 ;
1701 ; POSKOZENE REGISTRY: A,B,F
1702 ;
1703 F722 4D DPUNCH: MOV C,L
1704 F723 CD F715 CALL PUNCH
1705 F726 4C MOV C,H
1706 F727 C3 F715 JMP PUNCH
1707 ;
1708 ;
1709 ;
1710 ; R I N C H
1711 ; =========
1712 ;
1713 ; PODPROGRAM PRECTENI BYTU DAT A VYTVORENI KONTROLNIHO SOUCTU.
1714 ;
1715 F72A CD F741 RINCH: CALL BREAK ; PRERUSIT ?
1716 F72D CD F806 CALL RI
1717 F730 F5 PUSH PSW
1718 F731 80 ADD B
1719 F732 47 MOV B,A ; VYTVORENI KONTROLNI SOUCET
1720 F733 F1 POP PSW
1721 F734 C9 RET
1722 ;
1723 ;
1724 ;
1725 ; D R I N C H
1726 ; ===========
1727 ;
1728 ; PODPROGRAM PRO PRECTENI DVOU BYTU A ULOZENI DO <HL>.
1729 ;
1730 ; POSKOZENE REGISTRY: A,H,L
1731 ;
1732 F735 CD F72A DRINCH: CALL RINCH
1733 F738 6F MOV L,A
1734 F739 CD F72A CALL RINCH
1735 F73C 67 MOV H,A
1736 F73D C9 RET
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-31
1737 F73E FE 41 CPI 'A' ; JDE A ASCII BLOK ?
1738 F740 C9 RET
1739 ;
1740 ;
1741 ;
1742 ;################################################################
1743 ;
1744 ; OBLAST POMOCNYCH PODPROGRAMU
1745 ; ****************************
1746 ;
1747 ;
1748 ;
1749 ; B R E A K
1750 ; =========
1751 ;
1752 ; PODPROGRAM BREAK SLEDUJE, ZDA BYLA STISKNUTA KLAVESA CTRL [
1753 ; TJ. ESC. POKUT NE, PROVEDE NAVRAT BEZ POSKOZENI REGISTRU.
1754 ; POKUT ANO, PROVEDE INICIACI MAGNETOFONU, VYPISE '#', SKOCI
1755 ; DO OBSLUHY PRUSENI (VYPISE OBSAH REGISTRU) A SKOCI DO
1756 ; MONITORU. NAVIC SE PRI CHYBE ROZNE PRISLUSNA LED.
1757 ;
1758 ; POSKOZENE REGISTRY: - - -
1759 ;
1760 F741 F5 BREAK: PUSH PSW
1761 F742 CD F812 CALL CSTS
1762 F745 C4 F74A CNZ BREA0
1763 F748 F1 POP PSW
1764 F749 C9 RET
1765 ;
1766 F74A CD F803 BREA0: CALL CI
1767 F74D FE 1B CPI ESC ; JDE O 'ESC' = CTRL [
1768 F74F C0 RNZ ; NE - NAVRAT
1769 F750 F1 POP PSW
1770 F751 F1 POP PSW ; NA VRCHOL ZASOBNIKU PUVODNI NANR. ADRESA
1771 F752 CD F758 BREA2: CALL BREA1 ; ZOBRAZ KOD CHYBY
1772 F755 C3 F839 ERR21: JMP NEXT ; SKOK DO MONITORU
1773 ;
1774 F758 F5 BREA1: PUSH PSW
1775 F759 CD F82A CALL ERROR ; ZOBRAZ "#"
1776 F75C CD F824 CALL CRLF
1777 F75F 3E 0D MVI A,PC6SET
1778 F761 D3 0B OUT ADRCT ; ROZNUTI LED CHYBA
1779 F763 F1 POP PSW
1780 F764 C9 RET
1781 ;
1782 ;
1783 ;
1784 ; R E S T R
1785 ; =========
1786 ;
1787 ; PODPROGRAM PRO VYPNUTI MOTORKU MAGNETOFONU A ZABLOKOVANI
1788 ; MODEMU. NEOVLIVNI STAV LED CHYBA.
1789 ;
1790 ; POSKOZENE REGISTRY: - - -
1791 ;
1792 F765 F5 RESTR: PUSH PSW
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-32
1793 F766 DB 0A IN ADRPC
1794 F768 E6 40 ANI 01000000B ; VYBER PRIZNAK CHYBY
1795 F76A F6 10 ORI 00010000B ; PASIVACE INTRFACE MAGNETOFONU
1796 F76C D3 0A OUT ADRPC
1797 F76E F1 POP PSW
1798 F76F C9 RET
1799 ;
1800 ;
1801 ;
1802 ; S E T T R
1803 ; =========
1804 ;
1805 ; PODPROGRAM PRO SPOSTENI MOTORKU MAGNETOFONU, PO SPOSTENI
1806 ; CEKA WAITTR MS NA ROZBEHNUTI.
1807 ;
1808 ; POSKOZENE REGISTRY: - - -
1809 ;
1810 F770 F5 SETTR: PUSH PSW
1811 F771 C5 PUSH B
1812 F772 3E 07 MVI A,PC3SET
1813 F774 D3 0B OUT ADRCT ; SPOSTENI MOTORKU
1814 F776 01 0064 LXI B,WAITTR
1815 F779 CD F84B CALL TIMER ; CEKEJ
1816 F77C DB 0A IN ADRPC
1817 F77E E6 E0 ANI 11100000B ; VYBER PRIZNAK CHYBY, CTENI A ZAPISU
1818 F780 F6 0F ORI 00001111B ; NASTAV GENERACI JEDNICKY
1819 F782 D3 0A OUT ADRPC ; GENERACE '1'
1820 F784 C1 POP B
1821 F785 F1 POP PSW
1822 F786 C9 RET
1823 ;
1824 ;
1825 ;
1826 ; P L A Y T X
1827 ; ===========
1828 ;
1829 ; PODPROGRAM SLOUZI K VYPSANI TEXTU 'PLAY '
1830 ;
1831 ; POSKOZENE REGISTRY: A,F,C,H,L
1832 ;
1833 F787 CD F842 PLAYTX: CALL IMTXT
1834 F78A 0D 0A 50 4C DB CR,LF,'PLA','Y' OR 80H ; ZOBRAZ TEXT
1835 F78E 41 D9
1836 F790 C3 F79E JMP DONETX ; ZOBRAZ 'DONE'
1837 ;
1838 ;
1839 ;
1840 ; R E C T X
1841 ; =========
1842 ;
1843 ; PODPROGRAM SLOUZI K ZOBRAZENI TEXTU 'RECORD '.
1844 ;
1845 ; POSKOZENE REGISTRY: A,F,C,H,L
1846 ;
1847 F793 CD F842 RECTX: CALL IMTXT
1848 F796 0D 0A 52 45 DB CR,LF,'RECOR','D' OR 80H ; ZOBRAZ TEXT
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-33
1849 F79A 43 4F 52 C4
1850 ;
1851 ;
1852 ;
1853 ; D O N E T X
1854 ; ===========
1855 ;
1856 ; PODPROGRAM SLOUZI K ZOBRAZENI TEXTU 'DONE '.
1857 ;
1858 ; POSKOZENE REGISTRY: A,F,C,H,L
1859 ;
1860 F79E CD F842 DONETX: CALL IMTXT
1861 F7A1 20 44 4F 4E DB ' DON','E' OR 80H ; ZOBRAZ TEXT
1862 F7A5 C5
1863 ;
1864 ;
1865 ;
1866 ; R E Q T X
1867 ; =========
1868 ;
1869 ; PODPROGRAM K ZOBRAZENI '?' A CEKANI NA KLAVESU. ZNAK SROVNA
1870 ; S 'Y' A NASTAVY <FF-Z>.
1871 ;
1872 ; POSKOZENE REGISTRY: A,F,C,H,L
1873 ;
1874 F7A6 CD F842 REQTX: CALL IMTXT
1875 F7A9 20 3F 3A 87 DB ' ?:',BELL OR 80H ; ZOBRAZ '?:'
1876 F7AD CD F854 CALL ECHO ; VSTUP A ZOBRAZENI ZNAKU
1877 F7B0 FE 59 CPI 'Y' ; JDE O 'Y'
1878 F7B2 C9 RET
1879 ;
1880 ;
1881 ;
1882 ; G E T R D B
1883 ; ===========
1884 ;
1885 ; PODPROGRAM ULOZI DO <HL> ADRESU BUFFERU SNIMACE.
1886 ;
1887 ; POSKOZENE REGISTRY: H,L
1888 ;
1889 F7B3 21 01B3 GETRDB: LXI H,RDADR
1890 F7B6 C3 F526 JMP NAMIA
1891 ;
1892 ;
1893 ;
1894 ; G E T P N B
1895 ; ===========
1896 ;
1897 ; PODPROGRAM ULOZI DO <HL> ADRESU BUFFERU DEROVACE.
1898 ;
1899 ; POSKOZENE REGISTRY: H,L
1900 ;
1901 F7B9 21 01B0 GETPNB: LXI H,PNADR
1902 F7BC C3 F526 JMP NAMIA
1903 ;
1904 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-34
1905 ;
1906 ; G E T R S T
1907 ; ===========
1908 ;
1909 ; PODPROGRAM ULOZI ADRESU STATUSU CTENI DO <HL> A JEHO HODNOTU
1910 ; DO <A>.
1911 ;
1912 ; POSKOZENE REGISTRY: H,L,A,F
1913 ;
1914 F7BF 21 01BB GETRST: LXI H,RDSTS
1915 F7C2 CD F84E GETC0: CALL GETADR
1916 F7C5 7E MOV A,M
1917 F7C6 C9 RET
1918 ;
1919 ;
1920 ;
1921 ; G E T N M 1
1922 ; ===========
1923 ;
1924 ; PODPROGRAM ULOZI ADRESU OBLASTI NAME1 DO <HL>.
1925 ;
1926 ; POSKOZENE REGISTRY: H,L
1927 ;
1928 F7C7 21 0130 GETNM1: LXI H,NAME1
1929 F7CA C3 F84E JMP GETADR
1930 ;
1931 ;
1932 ;
1933 ; G E T N M 2
1934 ; ===========
1935 ;
1936 ; PODPROGRAM ULOZI ADRESU OBLASTI NAME2 DO <HL>
1937 ;
1938 ; POSKOZENE REGISTRY: H,L
1939 ;
1940 F7CD 21 0170 GETNM2: LXI H,NAME2
1941 F7D0 C3 F84E JMP GETADR
1942 ;
1943 ;
1944 ;
1945 ; G E T P P O
1946 ; ===========
1947 ;
1948 ; PODPROGRAM ULOZI ADRESU UKAZATELE DEROVACE DO <HL>, JEHO
1949 ; OBSAH DO <A>.
1950 ;
1951 ; POSKOZENE REGISTRY: A,F,H,L
1952 ;
1953 F7D3 21 01B2 GETPPO: LXI H,PNPOI
1954 F7D6 C3 F7C2 JMP GETC0
1955 ;
1956 ;
1957 ;
1958 ; G E T P S T
1959 ; ===========
1960 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-35
1961 ; PODPROGRAM ULOZI ADRESU STATUSU ZAPISU DO <HL> A JEHO
1962 ; HODNOTU DO <A>.
1963 ;
1964 ; POSKOZENE REGISTRY: A,F,H,L
1965 F7D9 21 01BA GETPST: LXI H,PNSTS
1966 F7DC C3 F7C2 JMP GETC0
1967 ;
1968 ;
1969 ;
1970 ; G E T T M P
1971 ; ===========
1972 ;
1973 ; PODPROGRAM UMISTI DO <HL> ADRESU POMOCNE OBLASTI TMPAR
1974 ;
1975 ; POSKOZENE REGISTRY: H,L
1976 ;
1977 F7DF 21 01F0 GETTMP: LXI H,TMPAR
1978 F7E2 C3 F84E JMP GETADR
1979 ;
1980 ;
1981 ;
1982 ; G E T P B C
1983 ; ===========
1984 ;
1985 ; PODPROGRAM VYNULUJE CITACE BLOKU A DO <HL> ULOZI ADRESU CITACE
1986 ; SOUBORU.
1987 ;
1988 ; POSKOZENE REGISTRY: A,F,H,L
1989 ;
1990 F7E5 21 01B6 GETPBC: LXI H,PBLKC
1991 F7E8 CD F84E CALL GETADR
1992 F7EB 36 00 MVI M,0
1993 F7ED 23 INX H
1994 F7EE C9 RET
1995 ;
1996 ;
1997 ;
1998 ; G E T C T N
1999 ; ===========
2000 ;
2001 ; PODPROGRAM ULOZI CISLO SOUBORU NAPOSLED PRECTENEHO BLOKU
2002 ; POPROGRAMEM RDBUF DO <A>.
2003 ;
2004 ; POSKOZENE REGISTRY: A,F
2005 ;
2006 F7EF E5 GETCTN: PUSH H
2007 F7F0 D5 PUSH D
2008 F7F1 CD F7DF CALL GETTMP ; ADRESA POMOCNE OBLASTI
2009 F7F4 11 000C LXI D,12 ; ODSTUP CISLA SOUBORU
2010 F7F7 19 DAD D
2011 F7F8 7E MOV A,M
2012 F7F9 D1 POP D
2013 F7FA E1 POP H
2014 F7FB C9 RET
2015 ;
2016 ;
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-36
2017 ;
2018 ;################################################################
2019 ;
2020 ;
2021 ;
2022 F7FC FF FF FF FF DB 0FFH,0FFH,0FFH,0FFH
2023 .DEPHASE
2024 END
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
0004 ADRCIN 000B ADRCT 0000 ADRDCT
F845 ADRKUR 0008 ADRPA 0009 ADRPB
000A ADRPC F385 APEND F65D ASCI0
F66F ASCI1 F682 ASCI2 F68E ASCI3
F65A ASCIN F82D ASHEX F857 BACST
0007 BELL F6F6 BITI0 F6F0 BITIN
F6B5 BITO0 F6BC BITO1 F6B4 BITOUT
0000 BLANK F74A BREA0 F758 BREA1
F752 BREA2 F741 BREAK 0008 BS
00FF BUFLEN F6D4 BYTI0 F6CB BYTI2
F6CA BYTIN F6A0 BYTO0 F693 BYTOUT
F803 CI F83F CINCR F376 CLOS0
F37D CLOS1 F350 CLOSE F57C CMPBU0
F568 CMPBUF F542 CMPN0 F546 CMPN1
F55E CMPN2 F564 CMPN3 F52E CMPNAM
F809 CO F800 COLDST 00EF COMLEN
000D CR F824 CRLF F812 CSTS
0092 CTRLWD F830 DADR F833 DBYTE
007F DEL F266 DIR F270 DIR0
F28E DIR1 F285 DIR2 F79E DONETX
F722 DPUNCH F735 DRINCH F854 ECHO
F0AA EER1 F1EE EER10 F1F7 EER11
F213 EER12 F21B EER13 F358 EER14
F456 EER15 F45A EER16 F466 EER17
F4BB EER18 F585 EER19 F032 EER2
F58D EER20 F755 EER21 F721 EER22
F0EA EER3 F0F5 EER4 F10A EER5
F139 EER6 F170 EER7 F1D9 EER8
F1DF EER9 F13C EOF 0003 EOT
F0AA ERR1 F1EE ERR10 F1F7 ERR11
F213 ERR12 F21B ERR13 F358 ERR14
F456 ERR15 F45A ERR16 F466 ERR17
F4BB ERR18 F585 ERR19 F032 ERR2
F58D ERR20 F755 ERR21 F721 ERR22
F0EA ERR3 F0F5 ERR4 F10A ERR5
F139 ERR6 F170 ERR7 F1D9 ERR8
F1DF ERR9 F82A ERROR 001B ESC
00A0 ETX F827 EXPR F4B4 FIND
0B40 G1LEN 00A0 G2LEN 7D00 G3LEN
0140 GAPBIT F84E GETADR F7C2 GETC0
F7EF GETCTN F7C7 GETNM1 F7CD GETNM2
F7E5 GETPBC F7B9 GETPNB F7D3 GETPPO
F7D9 GETPST F7B3 GETRDB F7BF GETRST
F7DF GETTMP F836 HILO F848 HXASC
F842 IMTXT F1B0 INI0 F1B3 INI1
F1B6 INI2 F821 INTER F815 IOCHK
F81E IODEF F818 IOSET F155 JOIN
F18C JOIN0 F2DB KI F306 KI0
F312 KI1 F316 KI2 F322 KO
F33D KO0 000A LF 0035 LINECO
F80F LO F25D LOAD F5DD MAMTX
F81B MEMCK 0130 NAME1 0170 NAME2
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE S-1
F521 NAMI1 F519 NAMI2 F50B NAMI3
F526 NAMIA F4E7 NAMIN 000B NAMLEN
F5F2 NAMNUM F5E5 NAMT0 F839 NEXT
F5B0 NULB1 F5A2 NULBUF F592 NULNAM
F487 OPAPP F45E OPEN 0010 PASWD
F06C PBEG 01B6 PBLKC F089 PBYTE
0000 PC0RES 0001 PC0SET 0002 PC1RES
0003 PC1SET 0006 PC3RES 0007 PC3SET
0008 PC4RES 0009 PC4SET 000A PC5RES
000B PC5SET 000C PC6RES 000D PC6SET
000E PC7RES 000F PC7SET 01B7 PFILC
F787 PLAYTX 01B0 PNADR 01B2 PNPOI
01BA PNSTS F80C PO F0A4 POC
F715 PUNCH F221 PUT F247 PUT0
F227 PUT1 F200 QUA0 F1D9 QUA1
F1BE QUAFF 01B8 RBLKC 01B3 RDADR
F42B RDBU0 F430 RDBU1 F40E RDBU3
F3FF RDBUF F709 RDMEM 01B5 RDPOI
01BB RDSTS 0008 RDYCIN F0AB READ
F0B4 READ1 F0B6 READ2 F0F8 READ3
F0E2 READ4 F11A READ5 F793 RECTX
F7A6 REQTX F765 RESTR 01B9 RFILC
F806 RI F133 RIC F72A RINCH
F641 SEAR0 F60E SEAR1 F637 SEAR2
F658 SEAR3 F60B SEARCH F770 SETTR
F83C SPACE 0020 SPC F5C9 SRGA0
F5CC SRGA1 F5C8 SRGAP F851 STJMB
001A SUBS F000 TAPREC F84B TIMER
01F0 TMPAR F29E UNNAM 0031 UREND
0064 WAITTR F398 WRBUF F5BA WRGAP
F039 WRIT1 F04E WRIT2 F051 WRIT3
F05A WRIT4 F02B WRITE F6FF WRMEM
No Fatal error(s)
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1
1 TITLE 'PLAN80A TINY BASIC V3Q'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
24 ;X X
25 ;X X
26 ;X PLAN-80A V.3.Q 27.09.88 X
27 ;X X
28 ;X T I N Y B A S I C X
29 ;X X
30 ;X X
31 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-1
57 ;*************************************************
58 ;
59 ; ZAKLADNI ADRESY
60 ;
61 0006 UZIRAM EQU 0006H ; ZACATEK UZIVATELSKE RAM
62 0004 RAMEND EQU 0004H ; ADR. OBSAHUJICI KONEC RAM
63 E000 BASIC EQU 0E000H ; POCATECNI ADRESA TINY BASICU
64 F028 TCLOSE EQU 0F028H ; UZAVRI SOUBOR
65 F004 JOIN0 EQU 0F004H ; INICIUJ MAGNETOFON
66 F000 ADRTPR EQU 0F000H ; POCATECNI ADRESA PROGRAMU MAGNETOFONU
67 ;
68 ; SPOJOVACI ADRESY NA MONITOR
69 ;
70 F803 CI EQU 0F803H ; VSTUP Z KONZOLY (A)
71 F809 COM EQU 0F809H ; VYSTUP NA KONZOLU (C)
72 F806 RI EQU 0F806H ; VSTUP ZE SNIMACE (MAGNETOFONU) (A)
73 F80C PO EQU 0F80CH ; VYSTUP NA DEROVAC (MAGNETOFON) (C)
74 F80F LO EQU 0F80FH ; VYSTUP NA TISKARNU (C)
75 F812 CSTS EQU 0F812H ; STAV KONZOLY (A)
76 F81B MEMCHK EQU 0F81BH ; KONEC UZIVATELSKE RAM (B,A)
77 F839 NEXTM EQU 0F839H ; TEPLY START MONITORU
78 F83C SPACE EQU 0F83CH ; ZOBRAZ MEZERU
79 F830 DADR EQU 0F830H ; VYPIS (HL) JAKO ASCII
80 F833 DBYTE EQU 0F833H ; VYPIS (A) JAKO ASCII
81 F82D ASHEX EQU 0F82DH ; ASCII NA HEX NIBBLE
82 F845 ADRKUR EQU 0F845H ; ADRESA KURZORU (HL)
83 F84B TIMER EQU 0F84BH ; PODPROGRAM CEKANI <BC> MS
84 ;
85 ; DEFINICE KONSTANT
86 ;
87 000D CR EQU 0DH ; CR
88 000A LF EQU 0AH ; LF
89 0003 CTRLC EQU 03H ; CTRL C
90 0018 CTRLX EQU 18H ; CTRL X
91 0004 CTRLD EQU 04H ; CTRL D
92 0019 CTRLY EQU 19H ; CTRL Y
93 0013 CTRLS EQU 13H ; CTRL S
94 0018 DOWN EQU 18H ; SIPKA DOLU
95 0008 LEFT EQU 08H ; SIPKA VLEVO
96 0004 RIGHT EQU 04H ; SIPKA VPRAVO
97 007F RUB EQU 7FH ; VYMAZ (DEL)
98 001A SUBS EQU 1AH ; SUB
99 0008 BS EQU 08H ; ZPETNY POSUV
100 0200 KILO EQU 512 ; KONSTANTA PRO RAM < 1 KBYTE
101 000C FF EQU 0CH ; NOVA STRANKA
102 0007 BELL EQU 07H ; ZVONEK
103 001B ESC EQU 1BH ; CTRL [
104 001D HOME EQU 1DH ; LEVY HORNI ROH OBRAZOVKY
105 001E DL EQU 1EH ; VYMAZ RADKY
106 001F DSCR EQU 1FH ; VYMAZ OBRAZOVKY
107 001A SUBS EQU 1AH ; CTRL Z
108 0035 LINECO EQU 35H ; CITAC LINEK
109 0055 KEYTPR EQU 55H ; PRIZNAK MAGNETOFONU
110 ;
111 ;*************************************************
112 ;
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-2
113 ;
114 .PHASE BASIC
115 ;
116 E000 C3 E01B BASPET: JMP START ; STUDENY START BASIC
117 E003 C3 E03E JMP RSTART ; TEPLY START BASIC
118 ;
119 E006 33 INTSTA: INX SP ; START PO BREAKU - RST 7
120 E007 33 INX SP ; OBNOVENI SP
121 E008 C3 E03E JMP RSTART
122 ;
123 E00B 2A 003B TOP: LHLD TXTUNF
124 E00E 23 INX H
125 E00F C9 RET
126 ;
127 E010 2A 0006 LENGHT: LHLD LEGT
128 E013 2B DCX H
129 E014 C9 RET
130 ;
131 E015 CD E7CF BEND: CALL ENDCHK
132 E018 C3 E03E JMP RSTART
133 ;
134 ; START
135 ;
136 E01B F3 START: DI
137 E01C 2A 0004 LHLD RAMEND ; KONEC PROGRAMOVE RAM V <HL>
138 E01F 2B DCX H
139 E020 2B DCX H
140 E021 F9 SPHL ; NASTAV SP
141 E022 CD EB81 CALL DISP ; CO:=CO
142 E025 AF XRA A ; A:=0
143 E026 32 0026 STA MODE ; FORMAT ZNAKU:= OBYCEJNY
144 E029 11 E0D8 LXI D,MSG1
145 E02C CD E893 CALL PRTSTG ; OHLASENI BASICU
146 E02F 21 009B LXI H,TXTBGN
147 E032 22 003B SHLD TXTUNF ; INICIACE UKAZATELE KONCE PROGRAMU
148 E035 CD E0CF CALL USREND ; V <HL> KONEC UZIVATELSKE OBLASTI RAM
149 E038 C3 E9F5 JMP RAM1 ; NASTAV RAM V BASICU
150 E03B 22 0027 START1: SHLD TXTEND
151 ;
152 ; RSTART - PRIHRATY START
153 ;
154 E03E CD E974 RSTART: CALL CRLF
155 E041 2A 0004 RSTAR1: LHLD RAMEND
156 E044 2B DCX H
157 E045 2B DCX H ; V <HL> (KONEC PROGRAMOVE RAM -2)
158 E046 F9 SPHL ; NASTAV SP
159 E047 3E C3 MVI A,0C3H ; OBSLUHA RST 7 TO RAM
160 E049 32 0038 STA RST7RA
161 E04C 21 E006 LXI H,INTSTA
162 E04F 22 0039 SHLD RST7RA+1
163 E052 11 E33D LXI D,OK ; DE:=ADR TEXTU 'READY'
164 E055 97 SUB A ; A:=0
165 E056 32 0026 STA MODE
166 E059 2F CMA ; A:=0FFH
167 E05A 32 000F STA MASKIN
168 E05D CD E893 CALL PRTSTG ; 'READY' NA OBRAZOVKU
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-3
169 E060 21 E067 LXI H,ST2+1
170 E063 22 0010 SHLD CURRNT
171 E066 21 0000 ST2: LXI H,0
172 E069 22 0018 SHLD LOPVAR ; POINTER PRO 'FOR':=0
173 E06C 22 0012 SHLD STKGOS
174 E06F 06 5C ST3: MVI B,5CH ; 5CH JAKO PROMT NA ZACATKU RADKU
175 E071 CD E811 CALL GETLN ; PREVEZMI RADEK BASIC Z KLAVESNICE
176 E074 D5 ST5: PUSH D ; V <DE> ADRESA POSL. ZNAKU + 1
177 E075 CD E9D8 CALL DBUFF ; V <DE> ADRESA BUFFERU
178 E078 CD E307 CALL TSTNUM ; VSTUP CISLA DO <HL>, V <DE> ADR. DAL. ZN.
179 E07B CD E2B0 CALL IGNB ; VYNECH MEZERY
180 E07E 7C MOV A,H
181 E07F B5 ORA L ; JE CISLO NULOVE
182 E080 C1 POP B ; V <BC> ADRESA POSL. ZNAKU + 1
183 E081 CA E9A5 JZ DIRECT ; PRI NULOVEM CISLE PROVED IHNED
184 E084 1B DCX D
185 E085 7C MOV A,H
186 E086 12 STAX D
187 E087 1B DCX D
188 E088 7D MOV A,L
189 E089 12 STAX D ; ZAPIS CISLO RADKU BINARNE
190 E08A C5 EDIST: PUSH B
191 E08B D5 PUSH D
192 E08C 79 MOV A,C
193 E08D 93 SUB E
194 E08E F5 PUSH PSW ; V <A> POCET ZNAKU
195 E08F CD E869 CALL FNDLN ; NAJDI ADRESU RADKU <HL>
196 E092 D5 PUSH D
197 E093 C2 E0A6 JNZ ST4 ; TAKOVY RADEK JESTE NENI - SKOC
198 E096 D5 PUSH D
199 E097 CD E887 CALL FNDNXT ; NAJDI ADRESU DALSIHO RADKU
200 E09A C1 POP B
201 E09B 2A 003B LHLD TXTUNF ; V <HL> ADRESA KONCE PROGRAMU
202 E09E CD E90F CALL MVUP ; STARY RADEK ZNIC
203 E0A1 60 MOV H,B
204 E0A2 69 MOV L,C
205 E0A3 22 003B SHLD TXTUNF ; NOVY KONEC PROGRAMU
206 E0A6 C1 ST4: POP B
207 E0A7 2A 003B LHLD TXTUNF
208 E0AA F1 POP PSW ; V <A> POCET ZNAKU
209 E0AB E5 PUSH H
210 E0AC FE 03 CPI 3 ; PRAZDNY RADEK ?
211 E0AE CA E03E JZ RSTART ; ANO - RESTART
212 E0B1 85 ADD L
213 E0B2 6F MOV L,A
214 E0B3 3E 00 MVI A,0
215 E0B5 8C ADC H
216 E0B6 67 MOV H,A ; NOVY KONEC PROGRAMU V <HL>
217 E0B7 CD E9E0 CALL DTXTE ; MAXIMALNI ADRESA V <DE>
218 E0BA CD E2AA CALL COMP ; PRETECENI ?
219 E0BD D2 E80A JNC QSORRY ; ANO - CHYBA
220 E0C0 22 003B SHLD TXTUNF ; NOVY KONEC PROGRAMU V <HL>
221 E0C3 D1 POP D ; ADRESA RADKU V <DE>
222 E0C4 CD E91A CALL MVDOWN ; VLOZ RADEK
223 E0C7 D1 POP D
224 E0C8 E1 POP H
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-4
225 E0C9 CD E90F CALL MVUP
226 E0CC C3 E06F JMP ST3
227 ;
228 ; ZJISTENI KONCE UZIVATELSKE OBLASTI PAMETI RAM
229 ;
230 E0CF C5 USREND: PUSH B
231 E0D0 CD F81B CALL MEMCHK
232 E0D3 60 MOV H,B
233 E0D4 6F MOV L,A
234 E0D5 2B DCX H
235 E0D6 C1 POP B
236 E0D7 C9 RET
237 ;
238 E0D8 20 20 54 49 MSG1: DB ' TINY BASIC V3Q',0
239 E0DC 4E 59 20 42
240 E0E0 41 53 49 43
241 E0E4 20 56 33 51
242 E0E8 00
243 ;
244 ; TABULKA KLICOVICH SLOV
245 ;
246 E0E9 4C 49 53 54 TAB1: DB 'LIST',0
247 E0ED 00
248 E0EE E39B DW LIST
249 E0F0 4C 4C 49 53 DB 'LLIST',0
250 E0F4 54 00
251 E0F6 E398 DW LLIST
252 E0F8 52 55 4E 00 DB 'RUN',0
253 E0FC E358 DW RUN
254 E0FE 4E 45 57 00 DB 'NEW',0
255 E102 E34F DW NEW
256 E104 4D 4F 4E 49 TXMON: DB 'MONITOR',0
257 E108 54 4F 52 00
258 E10C EBB1 DW MONIT
259 E10E 52 41 4D 00 DB 'RAM',0
260 E112 E9F2 DW RAM
261 E114 4C 4F 41 44 DB 'LOAD',0
262 E118 00
263 E119 EEEC DW LOAD
264 E11B 53 41 56 45 DB 'SAVE',0
265 E11F 00
266 E120 EF1E DW SAVE
267 E122 4E 45 58 54 TAB2: DB 'NEXT',0
268 E126 00
269 E127 E4ED DW NEXT
270 E129 4C 45 54 00 DB 'LET',0
271 E12D E5FE DW LET
272 E12F 43 4C 53 00 DB 'CLS',0
273 E133 E991 DW CLS
274 E135 43 4C 45 41 DB 'CLEAR',0
275 E139 52 00
276 E13B E55D DW CLEAR
277 E13D 48 41 52 44 DB 'HARD',0
278 E141 00
279 E142 E38C DW HARD
280 E144 44 49 53 50 DB 'DISPL',0
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-5
281 E148 4C 00
282 E14A E392 DW DISPL
283 E14C 49 46 00 DB 'IF',0
284 E14F E571 DW IFF
285 E151 47 4F 54 4F DB 'GOTO',0
286 E155 00
287 E156 E37B DW GOTO
288 E158 47 4F 53 55 DB 'GOSUB',0
289 E15C 42 00
290 E15E E44B DW GOSUB
291 E160 52 45 54 55 DB 'RETURN',0
292 E164 52 4E 00
293 E167 E46D DW RETURN
294 E169 52 45 4D 00 DB 'REM',0
295 E16D E54E DW REM
296 E16F 46 4F 52 00 DB 'FOR',0
297 E173 E488 DW FOR
298 E175 49 4E 50 55 DB 'INPUT',0
299 E179 54 00
300 E17B E58C DW INPUT
301 E17D 50 52 49 4E DB 'PRINT',0
302 E181 54 00
303 E183 E3E9 DW PRINT
304 E185 4C 50 52 49 DB 'LPRINT',0
305 E189 4E 54 00
306 E18C E3E6 DW LPRINT
307 E18E 45 4E 44 00 DB 'END',0
308 E192 E015 DW BEND
309 E194 53 54 4F 50 DB 'STOP',0
310 E198 00
311 E199 EB65 DW STOP
312 E19B 43 41 4C 4C DB 'CALL',0
313 E19F 00
314 E1A0 EA18 DW BCALL
315 E1A2 4F 55 54 43 DB 'OUTCHAR',0
316 E1A6 48 41 52 00
317 E1AA EB13 DW OUTCHR
318 E1AC 4F 55 54 00 DB 'OUT',0
319 E1B0 EA25 DW BOUT
320 E1B2 4F 24 00 DB 'O$',0
321 E1B5 EA84 DW O
322 E1B7 49 24 00 DB 'I$',0
323 E1BA EA91 DW I
324 E1BC 57 41 49 54 DB 'WAIT',0
325 E1C0 00
326 E1C1 EBB4 DW WAIT
327 E1C3 42 45 45 50 DB 'BEEP',0
328 E1C7 00
329 E1C8 EBC1 DW BEEP
330 E1CA 50 4F 4B 45 DB 'POKE',0
331 E1CE 00
332 E1CF EAC9 DW POKE
333 E1D1 4D 41 53 4B DB 'MASK',0
334 E1D5 00
335 E1D6 E9E8 DW MASK
336 E1D8 54 41 42 00 DB 'TAB',0
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-6
337 E1DC EA4B DW TAB
338 E1DE 42 59 54 45 DB 'BYTE',0
339 E1E2 00
340 E1E3 EADE DW BYTE
341 E1E5 57 4F 52 44 DB 'WORD',0
342 E1E9 00
343 E1EA EAE8 DW WORD
344 E1EC 50 55 54 00 DB 'PUT',0
345 E1F0 EF5D DW PUT
346 E1F2 43 4C 4F 53 DB 'CLOSE',0
347 E1F6 45 00
348 E1F8 EF70 DW CLOSE
349 E1FA 49 4E 49 54 DB 'INIT',0
350 E1FE 00
351 E1FF EF80 DW INIT
352 E201 50 4C 4F 54 DB 'PLOT',0
353 E205 00
354 E206 EBE6 DW PLOT
355 E208 44 52 41 57 DB 'DRAW',0
356 E20C 00
357 E20D EC92 DW DRAW
358 E20F 4D 4F 56 45 DB 'MOVE',0
359 E213 00
360 E214 ED6F DW MOVE
361 E216 43 55 52 53 DB 'CURS',0
362 E21A 00
363 E21B ED95 DW CURS
364 E21D 45 44 49 54 DB 'EDIT',0
365 E221 00
366 E222 EDC3 DW EDIT
367 E224 00 DB 0
368 E225 E5F8 DW DEFLT
369 E227 52 4E 44 00 TAB4: DB 'RND',0
370 E22B E71C DW RND
371 E22D 41 42 53 00 DB 'ABS',0
372 E231 E74F DW ABS
373 E233 53 49 5A 45 DB 'SIZE',0
374 E237 00
375 E238 E758 DW SIZE
376 E23A 50 45 45 4B DB 'PEEK',0
377 E23E 00
378 E23F EAC2 DW PEEK
379 E241 49 4E 43 48 DB 'INCHAR',0
380 E245 41 52 00
381 E248 EB1D DW INCHAR
382 E24A 48 45 58 00 DB 'HEX',0
383 E24E EB29 DW HEX
384 E250 49 4E 4D 00 DB 'INM',0
385 E254 EA61 DW INM
386 E256 49 4E 00 DB 'IN',0
387 E259 EA5C DW BIN
388 E25B 27 00 DB 27H,0 ; UVOZOVKA '
389 E25D EB05 DW QUOTE
390 E25F 54 4F 50 00 DB 'TOP',0
391 E263 E00B DW TOP
392 E265 41 52 45 4D DB 'AREM',0
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-7
393 E269 00
394 E26A E559 DW AREM
395 E26C 4C 45 4E 00 DB 'LEN',0
396 E270 E010 DW LENGHT
397 E272 47 45 54 00 DB 'GET',0
398 E276 EF54 DW GET
399 E278 00 DB 0
400 E279 E6FA DW XP40
401 E27B 54 4F 00 TAB5: DB 'TO',0
402 E27E E498 DW FR1
403 E280 00 DB 0
404 E281 E7D5 DW QWHAT
405 E283 53 54 45 50 TAB6: DB 'STEP',0
406 E287 00
407 E288 E4A4 DW FR2
408 E28A 00 DB 0
409 E28B E4AA DW FR3
410 E28D 3E 3D 00 TAB8: DB '>=',0
411 E290 E616 DW XP11
412 E292 23 00 DB '#',0
413 E294 E61C DW XP12
414 E296 3E 00 DB '>',0
415 E298 E622 DW XP13
416 E29A 3D 00 DB '=',0
417 E29C E631 DW XP15
418 E29E 3C 3D 00 DB '<=',0
419 E2A1 E629 DW XP14
420 E2A3 3C 00 DB '<',0
421 E2A5 E637 DW XP16
422 E2A7 00 DB 0
423 E2A8 E63D DW XP17
424 ;
425 ; COMP POROVNANI <HL> A <DE>
426 ; <HL> < <DE> ... CARRY
427 ; <HL> = <DE> ... ZERO
428 ;
429 E2AA 7C COMP: MOV A,H
430 E2AB BA CMP D
431 E2AC C0 RNZ
432 E2AD 7D MOV A,L
433 E2AE BB CMP E
434 E2AF C9 RET
435 ;
436 ; IGNB VYNECHANI MAEZER PODLE <DE>
437 ;
438 E2B0 1A IGNB: LDAX D
439 E2B1 FE 20 CPI ' '
440 E2B3 C0 RNZ
441 E2B4 13 INX D
442 E2B5 C3 E2B0 JMP IGNB
443 ;
444 ; FINI
445 ;
446 E2B8 F1 FINI: POP PSW
447 E2B9 CD E7BC CALL FIN
448 E2BC C3 E7D5 JMP QWHAT
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-8
449 ;
450 ; INDEXOVANA PROMENA
451 ;
452 E2BF CD E2B0 TSTV: CALL IGNB
453 E2C2 D6 40 SUI 40H
454 E2C4 D8 RC
455 E2C5 C2 E2E3 JNZ TV1
456 E2C8 13 INX D
457 E2C9 CD E70B CALL PARN
458 E2CC 29 DAD H
459 E2CD DA E331 JC QHOW
460 E2D0 D5 PUSH D
461 E2D1 EB XCHG
462 E2D2 CD E758 CALL SIZE
463 E2D5 CD E2AA CALL COMP
464 E2D8 DA E80B JC ASORRY
465 E2DB 2A 0027 LHLD TXTEND
466 E2DE CD E77B CALL SUBDE
467 E2E1 D1 POP D
468 E2E2 C9 RET
469 ;
470 ; VYPOCET ADRESY ULOZENI PROMENE
471 ;
472 E2E3 FE 1B TV1: CPI 1BH
473 E2E5 3F CMC
474 E2E6 D8 RC
475 E2E7 13 INX D
476 E2E8 21 0065 LXI H,VARBGN
477 E2EB 07 RLC
478 E2EC 85 ADD L
479 E2ED 6F MOV L,A
480 E2EE 3E 00 MVI A,0
481 E2F0 8C ADC H
482 E2F1 67 MOV H,A
483 E2F2 C9 RET
484 ;
485 ; TSTC POROVNANI TEXTU PODLE <DE> SE ZNAKEM
486 ; KTERY JE ZA CALL+3. JE-LI SHODNY POKRACUJE
487 ; SE NA CALL+5, JINAK NA ADRESE CALL+N+2.
488 ; N JE NA ADRESE CALL...+4
489 ;
490 E2F3 E3 TSTC: XTHL
491 E2F4 CD E2B0 CALL IGNB
492 E2F7 BE CMP M
493 E2F8 23 INX H
494 E2F9 CA E303 JZ TC2
495 E2FC C5 PUSH B
496 E2FD 4E MOV C,M
497 E2FE 06 00 MVI B,0
498 E300 09 DAD B
499 E301 C1 POP B
500 E302 1B DCX D
501 E303 13 TC2: INX D
502 E304 23 INX H
503 E305 E3 XTHL
504 E306 C9 RET
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-9
505 ;
506 ; TSTNUM PREVOD ASCII CISLA Z BUFFERU
507 ; NA BINARNI CISLO V <HL>, V <DE> ADRESA DALSIHO ZNAKU.
508 ;
509 E307 21 0000 TSTNUM: LXI H,0
510 E30A 44 MOV B,H
511 E30B CD E2B0 CALL IGNB ; VYNECH MEZERY
512 E30E FE 30 TN1: CPI '0' ; NULA ?
513 E310 D8 RC
514 E311 FE 3A CPI 3AH
515 E313 D0 RNC
516 E314 3E F0 MVI A,0F0H
517 E316 A4 ANA H
518 E317 C2 E331 JNZ QHOW
519 E31A 04 INR B
520 E31B C5 PUSH B
521 E31C 44 MOV B,H
522 E31D 4D MOV C,L
523 E31E 29 DAD H
524 E31F 29 DAD H
525 E320 09 DAD B
526 E321 29 DAD H
527 E322 1A LDAX D
528 E323 13 INX D
529 E324 E6 0F ANI 0FH
530 E326 85 ADD L
531 E327 6F MOV L,A
532 E328 3E 00 MVI A,0
533 E32A 8C ADC H
534 E32B 67 MOV H,A
535 E32C C1 POP B
536 E32D 1A LDAX D
537 E32E F2 E30E JP TN1
538 ;
539 ; QHOW OTAZKA HOW
540 ;
541 E331 D5 QHOW: PUSH D
542 E332 11 E338 AHOW: LXI D,HOW
543 E335 C3 E7D9 JMP ERROR
544 ;
545 ; TEXTY OTAZEK
546 ;
547 E338 48 4F 57 3F HOW: DB 'HOW?',CR
548 E33C 0D
549 E33D 52 45 41 44 OK: DB 'READY',CR
550 E341 59 0D
551 E343 57 48 41 54 WHAT: DB 'WHAT?',CR
552 E347 3F 0D
553 E349 53 4F 52 52 SORRY: DB 'SORRY',CR
554 E34D 59 0D
555 ;
556 ; NEW
557 ;
558 E34F CD E7CF NEW: CALL ENDCHK
559 E352 21 009B LXI H,TXTBGN
560 E355 22 003B SHLD TXTUNF
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-10
561 ;
562 ; RUN
563 ;
564 E358 CD E7CF RUN: CALL ENDCHK
565 E35B 11 009B LXI D,TXTBGN
566 E35E 21 0000 RUNNXL: LXI H,0
567 E361 CD E871 CALL FNDLP
568 E364 DA E03E JC RSTART
569 E367 EB RUNTSL: XCHG
570 E368 22 0010 SHLD CURRNT
571 E36B EB XCHG
572 E36C 13 INX D
573 E36D 13 INX D
574 E36E AF RUNSML: XRA A
575 E36F 32 0026 STA MODE ; NORMALNI ZNAK
576 E372 CD EB57 CALL CONT
577 E375 21 E121 LXI H,TAB2-1
578 E378 C3 E9A8 JMP EXEC
579 ;
580 ; GOTO
581 ;
582 E37B CD E60C GOTO: CALL EXPR
583 E37E D5 PUSH D
584 E37F CD E7CF CALL ENDCHK
585 E382 CD E869 CALL FNDLN
586 E385 C2 E332 JNZ AHOW
587 E388 F1 POP PSW
588 E389 C3 E367 JMP RUNTSL
589 ;
590 ; HARD
591 ;
592 E38C CD EB7A HARD: CALL PRNTST
593 E38F CD E2B8 CALL FINI
594 ;
595 ; DISPL
596 ;
597 E392 CD EB81 DISPL: CALL DISP
598 E395 CD E2B8 CALL FINI
599 ;
600 ; LIST
601 ;
602 E398 CD EB7A LLIST: CALL PRNTST
603 E39B CD E307 LIST: CALL TSTNUM
604 E39E 3E FF MVI A,0FFH
605 E3A0 32 000B STA LISTC
606 E3A3 CD E2B0 CALL IGNB
607 E3A6 FE 0D CPI CR
608 E3A8 C2 E3C9 JNZ LS4
609 E3AB CD E869 LS0: CALL FNDLN
610 E3AE DA E3E0 LS1: JC LS6
611 E3B1 3A 000B LDA LISTC
612 E3B4 FE FF CPI 0FFH
613 E3B6 CA E3BD JZ LS5
614 E3B9 3D DCR A
615 E3BA CA E03E JZ RSTART
616 E3BD 32 000B LS5: STA LISTC
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-11
617 E3C0 CD E8FA LS3: CALL PRTLN
618 E3C3 CD E871 CALL FNDLP
619 E3C6 C3 E3AE JMP LS1
620 E3C9 FE 2B LS4: CPI '+'
621 E3CB C2 E3AB JNZ LS0
622 E3CE 13 INX D
623 E3CF CD E2B0 CALL IGNB
624 E3D2 E5 PUSH H
625 E3D3 CD E307 CALL TSTNUM
626 E3D6 7D MOV A,L
627 E3D7 3C INR A
628 E3D8 3C INR A
629 E3D9 32 000B STA LISTC
630 E3DC E1 POP H
631 E3DD C3 E3AB JMP LS0
632 E3E0 CD EB81 LS6: CALL DISP
633 E3E3 C3 E041 JMP RSTAR1
634 ;
635 ; PRINT
636 ;
637 E3E6 CD EB7A LPRINT: CALL PRNTST
638 E3E9 0E 08 PRINT: MVI C,8
639 E3EB CD E2F3 CALL TSTC ; JDE O ":" ?
640 E3EE 3A DB ':'
641 E3EF 09 DB 9
642 E3F0 CD E974 CALL CRLF ; ANO - VICENASOBNY PRIKAZ
643 E3F3 CD EB81 CALL DISP
644 E3F6 C3 E36E JMP RUNSML
645 E3F9 CD E2F3 PR1: CALL TSTC ; JDE O CR ?
646 E3FC 0D DB CR
647 E3FD 09 DB 9
648 E3FE CD E974 CALL CRLF ; ANO - KONEC PRIKAZU
649 E401 CD EB81 PR6: CALL DISP
650 E404 C3 E35E JMP RUNNXL
651 E407 CD E2F3 PR0: CALL TSTC ; JDE O "*" ?
652 E40A 2A DB '*'
653 E40B 0E DB 14
654 E40C CD E60C CALL EXPR ; ANO - VSTUP PARAMETRU ZOBRAZENI
655 E40F 7D MOV A,L
656 E410 0F RRC
657 E411 0F RRC
658 E412 E6 C0 ANI 0C0H
659 E414 32 0026 STA MODE ; NASTAV REZIM ZOBRAZENI (0-NORM, 1-INVER)
660 E417 C3 E42C JMP PR3
661 E41A CD E2F3 CALL TSTC ; JDE O "#" ?
662 E41D 23 DB '#'
663 E41E 07 DB 7
664 E41F CD E60C CALL EXPR ; ANO - VSTUP PARAMETU IND. PROMENNE
665 E422 4D MOV C,L
666 E423 C3 E42C JMP PR3
667 E426 CD E8A1 CALL QTSTG
668 E429 C3 E440 JMP PR8
669 E42C CD E2F3 PR3: CALL TSTC ; JDE O "," ?
670 E42F 2C DB ','
671 E430 06 DB 6
672 E431 CD E7BC CALL FIN ; ANO - DALSI ARGUMENT
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-12
673 E434 C3 E407 JMP PR0
674 E437 CD E974 CALL CRLF
675 E43A CD EB81 CALL DISP
676 E43D CD E2B8 CALL FINI
677 E440 CD E60C PR8: CALL EXPR ; ZOBRAZ CISLO
678 E443 C5 PUSH B
679 E444 CD E8B6 CALL PRTNUM
680 E447 C1 POP B
681 E448 C3 E42C JMP PR3
682 ;
683 ; GOSUB
684 ;
685 E44B CD E945 GOSUB: CALL PUSHA
686 E44E CD E60C CALL EXPR
687 E451 D5 PUSH D
688 E452 CD E869 CALL FNDLN
689 E455 C2 E332 JNZ AHOW
690 E458 2A 0010 LHLD CURRNT
691 E45B E5 PUSH H
692 E45C 2A 0012 LHLD STKGOS
693 E45F E5 PUSH H
694 E460 21 0000 LXI H,0
695 E463 22 0018 SHLD LOPVAR
696 E466 39 DAD SP
697 E467 22 0012 SHLD STKGOS
698 E46A C3 E367 JMP RUNTSL
699 ;
700 ; RETURN
701 ;
702 E46D CD E7CF RETURN: CALL ENDCHK
703 E470 2A 0012 LHLD STKGOS
704 E473 7C MOV A,H
705 E474 B5 ORA L
706 E475 CA E7D5 JZ QWHAT
707 E478 F9 SPHL
708 E479 E1 POP H
709 E47A 22 0012 SHLD STKGOS
710 E47D E1 POP H
711 E47E 22 0010 SHLD CURRNT
712 E481 D1 POP D
713 E482 CD E929 CALL POPA
714 E485 CD E2B8 CALL FINI
715 ;
716 ; FOR
717 ;
718 E488 CD E945 FOR: CALL PUSHA
719 E48B CD E7A3 CALL SETVAL
720 E48E 2B DCX H
721 E48F 22 0018 SHLD LOPVAR
722 E492 21 E27A LXI H,TAB5-1
723 E495 C3 E9A8 JMP EXEC
724 ;
725 E498 CD E60C FR1: CALL EXPR
726 E49B 22 001C SHLD LOPLMT
727 E49E 21 E282 LXI H,TAB6-1
728 E4A1 C3 E9A8 JMP EXEC
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-13
729 ;
730 E4A4 CD E60C FR2: CALL EXPR
731 E4A7 C3 E4AD JMP FR4
732 ;
733 E4AA 21 0001 FR3: LXI H,1
734 E4AD 22 001A FR4: SHLD LOPINC
735 E4B0 2A 0010 LHLD CURRNT
736 E4B3 22 001E SHLD LOPLN
737 E4B6 EB XCHG
738 E4B7 22 0020 SHLD LOPPT
739 E4BA 01 000A LXI B,LF
740 E4BD 2A 0018 LHLD LOPVAR
741 E4C0 EB XCHG
742 E4C1 60 MOV H,B
743 E4C2 68 MOV L,B
744 E4C3 39 DAD SP
745 E4C4 3E DB 3EH
746 E4C5 09 FR7: DAD B
747 E4C6 7E MOV A,M
748 E4C7 23 INX H
749 E4C8 B6 ORA M
750 E4C9 CA E4E6 JZ FR8
751 E4CC 7E MOV A,M
752 E4CD 2B DCX H
753 E4CE BA CMP D
754 E4CF C2 E4C5 JNZ FR7
755 E4D2 7E MOV A,M
756 E4D3 BB CMP E
757 E4D4 C2 E4C5 JNZ FR7
758 E4D7 EB XCHG
759 E4D8 21 0000 LXI H,0
760 E4DB 39 DAD SP
761 E4DC 44 MOV B,H
762 E4DD 4D MOV C,L
763 E4DE 21 000A LXI H,LF
764 E4E1 19 DAD D
765 E4E2 CD E91A CALL MVDOWN
766 E4E5 F9 SPHL
767 E4E6 2A 0020 FR8: LHLD LOPPT
768 E4E9 EB XCHG
769 E4EA CD E2B8 CALL FINI
770 ;
771 ; NEXT
772 ;
773 E4ED CD E2BF NEXT: CALL TSTV
774 E4F0 DA E7D5 JC QWHAT
775 E4F3 22 0014 SHLD VARNXT
776 E4F6 D5 NX0: PUSH D
777 E4F7 EB XCHG
778 E4F8 2A 0018 LHLD LOPVAR
779 E4FB 7C MOV A,H
780 E4FC B5 ORA L
781 E4FD CA E7D6 JZ AWHAT
782 E500 CD E2AA CALL COMP
783 E503 CA E510 JZ NX3
784 E506 D1 POP D
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-14
785 E507 CD E929 CALL POPA
786 E50A 2A 0014 LHLD VARNXT
787 E50D C3 E4F6 JMP NX0
788 E510 5E NX3: MOV E,M
789 E511 23 INX H
790 E512 56 MOV D,M
791 E513 2A 001A LHLD LOPINC
792 E516 E5 PUSH H
793 E517 7C MOV A,H
794 E518 AA XRA D
795 E519 7A MOV A,D
796 E51A 19 DAD D
797 E51B FA E522 JM NX4
798 E51E AC XRA H
799 E51F FA E546 JM NX5
800 E522 EB NX4: XCHG
801 E523 2A 0018 LHLD LOPVAR
802 E526 73 MOV M,E
803 E527 23 INX H
804 E528 72 MOV M,D
805 E529 2A 001C LHLD LOPLMT
806 E52C F1 POP PSW
807 E52D B7 ORA A
808 E52E F2 E532 JP NX1
809 E531 EB XCHG
810 E532 CD E79A NX1: CALL CKHLDE
811 E535 D1 POP D
812 E536 DA E548 JC NX2
813 E539 2A 001E LHLD LOPLN
814 E53C 22 0010 SHLD CURRNT
815 E53F 2A 0020 LHLD LOPPT
816 E542 EB XCHG
817 E543 CD E2B8 CALL FINI
818 E546 E1 NX5: POP H
819 E547 D1 POP D
820 E548 CD E929 NX2: CALL POPA
821 E54B CD E2B8 CALL FINI
822 ;
823 ; REM
824 ;
825 E54E EB REM: XCHG
826 E54F 22 0024 SHLD ARMM
827 E552 EB XCHG
828 E553 21 0000 LXI H,0
829 E556 C3 E574 JMP IFFR
830 ;
831 ; AREM
832 ;
833 E559 2A 0024 AREM: LHLD ARMM
834 E55C C9 RET
835 ;
836 ;
837 ; CLEAR
838 ;
839 E55D 21 0065 CLEAR: LXI H,VARBGN
840 E560 D5 PUSH D
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-15
841 E561 11 0036 LXI D,54
842 E564 36 00 NULD20: MVI M,0 ; ZAPLN PROSTOR PRO PROMENNE 0
843 E566 23 INX H
844 E567 1B DCX D
845 E568 7A MOV A,D
846 E569 B3 ORA E
847 E56A C2 E564 JNZ NULD20
848 E56D D1 POP D
849 E56E CD E2B8 CALL FINI
850 ;
851 ; IF
852 ;
853 E571 CD E60C IFF: CALL EXPR
854 E574 7C IFFR: MOV A,H
855 E575 B5 ORA L
856 E576 C2 E36E JNZ RUNSML
857 E579 CD E889 CALL FNDSKP
858 E57C D2 E367 JNC RUNTSL
859 E57F C3 E03E JMP RSTART
860 ;
861 ; CHYBA VSTUPU
862 ;
863 E582 2A 0016 INPERR: LHLD STKINP
864 E585 F9 SPHL
865 E586 E1 POP H
866 E587 22 0010 SHLD CURRNT
867 E58A D1 POP D
868 E58B D1 POP D
869 ;
870 ; INPUT
871 ;
872 E58C INPUT:
873 E58C D5 IP1: PUSH D
874 E58D CD E8A1 CALL QTSTG
875 E590 C3 E59C JMP IP2
876 E593 CD E2BF CALL TSTV
877 E596 DA E5EC JC IP4
878 E599 C3 E5AE JMP IP3
879 E59C D5 IP2: PUSH D
880 E59D CD E2BF CALL TSTV
881 E5A0 DA E7D5 JC QWHAT
882 E5A3 1A LDAX D
883 E5A4 4F MOV C,A
884 E5A5 97 SUB A
885 E5A6 12 STAX D
886 E5A7 D1 POP D
887 E5A8 CD E893 CALL PRTSTG
888 E5AB 79 MOV A,C
889 E5AC 1B DCX D
890 E5AD 12 STAX D
891 E5AE D5 IP3: PUSH D
892 E5AF EB XCHG
893 E5B0 2A 0010 LHLD CURRNT
894 E5B3 E5 PUSH H
895 E5B4 21 E58C LXI H,IP1
896 E5B7 22 0010 SHLD CURRNT
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-16
897 E5BA 21 0000 LXI H,0
898 E5BD 39 DAD SP
899 E5BE 22 0016 SHLD STKINP
900 E5C1 D5 PUSH D
901 E5C2 06 3A MVI B,':'
902 E5C4 CD E811 CALL GETLN ; VYTISKNI NA OBRAZOVKU ':'
903 ; A PREVZEMI Z KLAVESNICE RADEK
904 E5C7 CD E9D8 CALL DBUFF ; DE:=ADR. ZACATKU RADKU S REAKCI
905 ; NA INPUT
906 E5CA 1A LDAX D ; A:=PRVNI ZNAK REAKCE
907 E5CB FE 1B CPI ESC ; IF <>ESC THEN
908 E5CD C2 E5DC JNZ NOBRK ; VYHODNOCENI VYRAZU
909 E5D0 D1 POP D ; ELSE OBNOV DE
910 E5D1 EB XCHG ; HL:=DE
911 E5D2 73 MOV M,E ; ULOZ
912 E5D3 23 INX H
913 E5D4 72 MOV M,D
914 E5D5 E1 POP H ; HL:=CURRNT
915 E5D6 22 0010 SHLD CURRNT ; ULOZ
916 E5D9 C3 EB6B JMP BREAK1 ; BREAK
917 E5DC CD E60C NOBRK: CALL EXPR ; VYHODNOCENI VYRAZU
918 E5DF D1 POP D
919 E5E0 EB XCHG
920 E5E1 73 MOV M,E
921 E5E2 23 INX H
922 E5E3 72 MOV M,D
923 E5E4 E1 POP H
924 E5E5 22 0010 SHLD CURRNT
925 E5E8 CD EB57 CALL CONT
926 E5EB D1 POP D
927 E5EC F1 IP4: POP PSW
928 E5ED CD E2F3 CALL TSTC
929 E5F0 2C DB ','
930 E5F1 03 DB 3
931 E5F2 C3 E58C JMP IP1
932 E5F5 CD E2B8 CALL FINI
933 ;
934 ;
935 ;
936 E5F8 1A DEFLT: LDAX D
937 E5F9 FE 0D CPI CR
938 E5FB CA E609 JZ LT1
939 ;
940 ; LET
941 ;
942 E5FE CD E7A3 LET: CALL SETVAL
943 E601 CD E2F3 CALL TSTC
944 E604 2C DB ','
945 E605 03 DB 3
946 E606 C3 E5FE JMP LET
947 E609 CD E2B8 LT1: CALL FINI
948 ;
949 ; EXPR VYHODNOCENI VYRAZU
950 ;
951 E60C CD E654 EXPR: CALL EXPR2
952 E60F E5 PUSH H
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-17
953 E610 21 E28C EXPR1: LXI H,TAB8-1
954 E613 C3 E9A8 JMP EXEC
955 E616 CD E63F XP11: CALL XP18
956 E619 D8 RC
957 E61A 6F MOV L,A
958 E61B C9 RET
959 E61C CD E63F XP12: CALL XP18
960 E61F C8 RZ
961 E620 6F MOV L,A
962 E621 C9 RET
963 E622 CD E63F XP13: CALL XP18
964 E625 C8 RZ
965 E626 D8 RC
966 E627 6F MOV L,A
967 E628 C9 RET
968 E629 CD E63F XP14: CALL XP18
969 E62C 6F MOV L,A
970 E62D C8 RZ
971 E62E D8 RC
972 E62F 6C MOV L,H
973 E630 C9 RET
974 E631 CD E63F XP15: CALL XP18
975 E634 C0 RNZ
976 E635 6F MOV L,A
977 E636 C9 RET
978 E637 CD E63F XP16: CALL XP18
979 E63A D0 RNC
980 E63B 6F MOV L,A
981 E63C C9 RET
982 E63D E1 XP17: POP H
983 E63E C9 RET
984 E63F 79 XP18: MOV A,C
985 E640 E1 POP H
986 E641 C1 POP B
987 E642 E5 PUSH H
988 E643 C5 PUSH B
989 E644 4F MOV C,A
990 E645 CD E654 CALL EXPR2
991 E648 EB XCHG
992 E649 E3 XTHL
993 E64A CD E79A CALL CKHLDE
994 E64D D1 POP D
995 E64E 21 0000 LXI H,0
996 E651 3E 01 MVI A,1
997 E653 C9 RET
998 E654 CD E2F3 EXPR2: CALL TSTC
999 E657 2D DB '-'
1000 E658 06 DB 6
1001 E659 21 0000 LXI H,0
1002 E65C C3 E686 JMP XP26
1003 E65F CD E2F3 CALL TSTC
1004 E662 2B DB '+'
1005 E663 00 DB 0
1006 E664 CD E690 CALL EXPR3
1007 E667 CD E2F3 XP23: CALL TSTC
1008 E66A 2B DB '+'
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-18
1009 E66B 15 DB 15H
1010 E66C E5 PUSH H
1011 E66D CD E690 CALL EXPR3
1012 E670 EB XP24: XCHG
1013 E671 E3 XTHL
1014 E672 7C MOV A,H
1015 E673 AA XRA D
1016 E674 7A MOV A,D
1017 E675 19 DAD D
1018 E676 D1 POP D
1019 E677 FA E667 JM XP23
1020 E67A AC XRA H
1021 E67B F2 E667 JP XP23
1022 E67E C3 E331 JMP QHOW
1023 E681 CD E2F3 CALL TSTC
1024 E684 2D DB '-'
1025 E685 92 DB 92H
1026 E686 E5 XP26: PUSH H
1027 E687 CD E690 CALL EXPR3
1028 E68A CD E785 CALL CHGSGN
1029 E68D C3 E670 JMP XP24
1030 E690 CD E6F4 EXPR3: CALL EXPR4
1031 E693 CD E2F3 XP31: CALL TSTC
1032 E696 2A DB '*'
1033 E697 2D DB 2DH
1034 E698 E5 PUSH H
1035 E699 CD E6F4 CALL EXPR4
1036 E69C 06 00 MVI B,0
1037 E69E CD E782 CALL CHKSGN
1038 E6A1 E3 XTHL
1039 E6A2 CD E782 CALL CHKSGN
1040 E6A5 EB XCHG
1041 E6A6 E3 XTHL
1042 E6A7 7C MOV A,H
1043 E6A8 B7 ORA A
1044 E6A9 CA E6B2 JZ XP32
1045 E6AC 7A MOV A,D
1046 E6AD B2 ORA D
1047 E6AE EB XCHG
1048 E6AF C2 E332 JNZ AHOW
1049 E6B2 7D XP32: MOV A,L
1050 E6B3 21 0000 LXI H,0
1051 E6B6 B7 ORA A
1052 E6B7 CA E6E6 JZ XP35
1053 E6BA 19 XP33: DAD D
1054 E6BB DA E332 JC AHOW
1055 E6BE 3D DCR A
1056 E6BF C2 E6BA JNZ XP33
1057 E6C2 C3 E6E6 JMP XP35
1058 E6C5 CD E2F3 CALL TSTC
1059 E6C8 2F DB '/'
1060 E6C9 4E DB 4EH
1061 E6CA E5 PUSH H
1062 E6CB CD E6F4 CALL EXPR4
1063 E6CE 06 00 MVI B,0
1064 E6D0 CD E782 CALL CHKSGN
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-19
1065 E6D3 E3 XTHL
1066 E6D4 CD E782 CALL CHKSGN
1067 E6D7 EB XCHG
1068 E6D8 E3 XTHL
1069 E6D9 EB XCHG
1070 E6DA 7A MOV A,D
1071 E6DB B3 ORA E
1072 E6DC CA E332 JZ AHOW
1073 E6DF C5 PUSH B
1074 E6E0 CD E765 CALL DIVIDE
1075 E6E3 60 MOV H,B
1076 E6E4 69 MOV L,C
1077 E6E5 C1 POP B
1078 E6E6 D1 XP35: POP D
1079 E6E7 7C MOV A,H
1080 E6E8 B7 ORA A
1081 E6E9 FA E331 JM QHOW
1082 E6EC 78 MOV A,B
1083 E6ED B7 ORA A
1084 E6EE FC E785 CM CHGSGN
1085 E6F1 C3 E693 JMP XP31
1086 E6F4 21 E226 EXPR4: LXI H,TAB4-1
1087 E6F7 C3 E9A8 JMP EXEC
1088 E6FA CD E2BF XP40: CALL TSTV
1089 E6FD DA E705 JC XP41
1090 E700 7E MOV A,M
1091 E701 23 INX H
1092 E702 66 MOV H,M
1093 E703 6F MOV L,A
1094 E704 C9 RET
1095 E705 CD E307 XP41: CALL TSTNUM
1096 E708 78 MOV A,B
1097 E709 B7 ORA A
1098 E70A C0 RNZ
1099 E70B CD E2F3 PARN: CALL TSTC
1100 E70E 28 DB '('
1101 E70F 09 DB 09
1102 E710 CD E60C CALL EXPR
1103 E713 CD E2F3 CALL TSTC
1104 E716 29 DB ')'
1105 E717 01 DB 1
1106 E718 C9 RET
1107 E719 C3 E7D5 JMP QWHAT
1108 ;
1109 ;
1110 ;
1111 ; GENERATOR NAHODNICH CISEL
1112 ;
1113 ; PRO PRACI POUZIVA PARAMETR RANPNT. PRINCIPEM CINNOSTI
1114 ; JE GENERACE TOHOTO PARAMETRU NACITANIM OBLASTI PAMETI,
1115 ; V NIZ JE NAHRAN INTERPRET. NAHODNA HODNOTA JE ZBITKEM
1116 ; PO DELENI PARAMETRU RANPNT UDANOU MAXIMALNI HODNOTOU.
1117 ;
1118 E71C CD E70B RND: CALL PARN ; HL:=MAX. HODNOTA
1119 E71F 7C MOV A,H
1120 E720 B7 ORA A
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-20
1121 E721 FA E331 JM QHOW ; IF ZAPORNA ERROR
1122 E724 B5 ORA L
1123 E725 D5 PUSH D
1124 E726 23 INX H
1125 E727 E5 PUSH H
1126 E728 C2 E731 JNZ RA2 ; IF 0 --> INICIUJ
1127 E72B 21 E000 LXI H,BASPET
1128 E72E 22 0022 SHLD RANPNT
1129 E731 2A 0022 RA2: LHLD RANPNT ; PARAMETR
1130 E734 11 EBB1 LXI D,MONIT
1131 E737 CD E2AA CALL COMP ; PARAMETR MIMO INTERPRET ?
1132 E73A DA E740 JC RA1
1133 E73D 21 E000 LXI H,BASPET ; ANO - INICIUJ
1134 E740 5E RA1: MOV E,M
1135 E741 23 INX H
1136 E742 56 MOV D,M
1137 E743 22 0022 SHLD RANPNT ; NOVY PARAMETR
1138 E746 E1 POP H ; MAX. HODNOTA DO <DE>
1139 E747 EB XCHG ; PSEUDONAHODNE CISLO DO <HL>
1140 E748 C5 PUSH B
1141 E749 CD E765 CALL DIVIDE ; <HL>/<DE> ... ZBITEK V <HL>
1142 E74C C1 POP B
1143 E74D D1 POP D
1144 E74E C9 RET
1145 ;
1146 ;
1147 ;
1148 ; ABS
1149 ;
1150 E74F CD E70B ABS: CALL PARN
1151 E752 1B DCX D
1152 E753 CD E782 CALL CHKSGN
1153 E756 13 INX D
1154 E757 C9 RET
1155 ;
1156 ; SIZE
1157 ;
1158 E758 2A 003B SIZE: LHLD TXTUNF
1159 E75B D5 PUSH D
1160 E75C EB XCHG
1161 E75D 2A 0027 LHLD TXTEND
1162 E760 CD E77B CALL SUBDE
1163 E763 D1 POP D
1164 E764 C9 RET
1165 ;
1166 ; DIVIE <HL>/<DE> --> <BC>, ZBITEK V <HL>
1167 ;
1168 E765 E5 DIVIDE: PUSH H
1169 E766 6C MOV L,H
1170 E767 26 00 MVI H,0
1171 E769 CD E770 CALL DV1
1172 E76C 41 MOV B,C
1173 E76D 7D MOV A,L
1174 E76E E1 POP H
1175 E76F 67 MOV H,A
1176 E770 0E FF DV1: MVI C,0FFH
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-21
1177 E772 0C DV2: INR C
1178 E773 CD E77B CALL SUBDE
1179 E776 D2 E772 JNC DV2
1180 E779 19 DAD D
1181 E77A C9 RET
1182 E77B 7D SUBDE: MOV A,L
1183 E77C 93 SUB E
1184 E77D 6F MOV L,A
1185 E77E 7C MOV A,H
1186 E77F 9A SBB D
1187 E780 67 MOV H,A
1188 E781 C9 RET
1189 ;
1190 E782 7C CHKSGN: MOV A,H
1191 E783 B7 ORA A
1192 E784 F0 RP
1193 E785 7C CHGSGN: MOV A,H ; ZMENA ZNAMENKA
1194 E786 B5 ORA L
1195 E787 C8 RZ ; CISLO JE NULA !
1196 E788 7C MOV A,H
1197 E789 F5 PUSH PSW
1198 E78A 2F CMA
1199 E78B 67 MOV H,A ; INVERZE HIGH BYTE
1200 E78C 7D MOV A,L
1201 E78D 2F CMA
1202 E78E 6F MOV L,A ; INVERZE LOW BYTE
1203 E78F 23 INX H ; PRICTENI 1
1204 E790 F1 POP PSW
1205 E791 AC XRA H
1206 E792 F2 E331 JP QHOW ; PRETECENI
1207 E795 78 MOV A,B
1208 E796 EE 80 XRI 80H ; INVERZE D7 V <B>
1209 E798 47 MOV B,A
1210 E799 C9 RET
1211 ;
1212 E79A 7C CKHLDE: MOV A,H
1213 E79B AA XRA D
1214 E79C F2 E7A0 JP CK1
1215 E79F EB XCHG
1216 E7A0 C3 E2AA CK1: JMP COMP
1217 ;
1218 ; SETVAL
1219 ;
1220 E7A3 CD E2BF SETVAL: CALL TSTV
1221 E7A6 DA E7D5 JC QWHAT
1222 E7A9 E5 PUSH H
1223 E7AA CD E2F3 CALL TSTC
1224 E7AD 3D DB '='
1225 E7AE 0A DB LF
1226 E7AF CD E60C CALL EXPR
1227 E7B2 44 MOV B,H
1228 E7B3 4D MOV C,L
1229 E7B4 E1 POP H
1230 E7B5 71 MOV M,C
1231 E7B6 23 INX H
1232 E7B7 70 MOV M,B
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-22
1233 E7B8 C9 RET
1234 E7B9 C3 E7D5 JMP QWHAT
1235 ;
1236 ; FIN
1237 ;
1238 E7BC CD E2F3 FIN: CALL TSTC
1239 E7BF 3A DB ':'
1240 E7C0 04 DB 4
1241 E7C1 F1 POP PSW
1242 E7C2 C3 E36E JMP RUNSML
1243 E7C5 CD E2F3 CALL TSTC
1244 E7C8 0D DB CR
1245 E7C9 04 DB 4
1246 E7CA F1 POP PSW
1247 E7CB C3 E35E JMP RUNNXL
1248 E7CE C9 RET
1249 ;
1250 ; ENDCHK
1251 ;
1252 E7CF CD E2B0 ENDCHK: CALL IGNB
1253 E7D2 FE 0D CPI CR
1254 E7D4 C8 RZ
1255 E7D5 D5 QWHAT: PUSH D
1256 E7D6 11 E343 AWHAT: LXI D,WHAT
1257 E7D9 97 ERROR: SUB A
1258 E7DA 32 0026 STA MODE ; NORMALNI ZOBRAZENI
1259 E7DD CD E893 CALL PRTSTG
1260 E7E0 CD EB81 CALL DISP
1261 E7E3 D1 POP D
1262 E7E4 1A LDAX D
1263 E7E5 F5 PUSH PSW
1264 E7E6 97 SUB A
1265 E7E7 12 STAX D
1266 E7E8 2A 0010 LHLD CURRNT
1267 E7EB E5 PUSH H
1268 E7EC 7E MOV A,M
1269 E7ED 23 INX H
1270 E7EE B6 ORA M
1271 E7EF D1 POP D
1272 E7F0 CA E03E JZ RSTART
1273 E7F3 7E MOV A,M
1274 E7F4 B7 ORA A
1275 E7F5 FA E582 JM INPERR
1276 E7F8 CD E8FA CALL PRTLN
1277 E7FB 1B DCX D
1278 E7FC F1 POP PSW
1279 E7FD 12 STAX D
1280 E7FE 3E 3F MVI A,03FH
1281 E800 CD E976 CALL OUTC
1282 E803 97 SUB A
1283 E804 CD E893 CALL PRTSTG
1284 E807 C3 E03E JMP RSTART
1285 E80A D5 QSORRY: PUSH D
1286 E80B 11 E349 ASORRY: LXI D,SORRY
1287 E80E C3 E7D9 JMP ERROR
1288 ;
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-23
1289 ;
1290 ;
1291 ; GETLN
1292 ;
1293 ; ULOZ RADEK DO BUFFERU, V <DE> ADRESA POSLRNIHO ZNAKU + 1
1294 ;
1295 E811 78 GETLN: MOV A,B ; VYTISKNI (B) - VESMES 5CH
1296 E812 CD E976 CALL OUTC
1297 E815 CD E9D8 CALL DBUFF ; DE:=UKAZATEL NA ZACATEK
1298 ; VYROVNAVACI PAMETI RADKU
1299 E818 CD F803 GL1: CALL CI ; A:= ZNAK Z KLAVESNICE
1300 E81B FE 1B CPI ESC
1301 E81D CA E818 JZ GL1 ; IGNORUJ ZNAK ESC
1302 E820 FE 7F CPI RUB ; IF RUB OUT THEN
1303 E822 CA E841 JZ GL3 ; OPRAV POSLEDNI ZNAK
1304 E825 FE 08 CPI BS ; IF BACK SPACE THEN
1305 E827 CA E841 JZ GL3 ; OPRAV POSLEDNI ZNAK
1306 E82A FE 18 CPI CTRLX ; IF CTRL X THEN
1307 E82C CA E851 JZ GL4 ; ZRUS RADEK
1308 E82F CD E976 CALL OUTC ; ECHO ZNAK NA OBRAZOVKU
1309 E832 12 STAX D ; ULOZ ZNAK DO VYROVNAVACI PAMETI
1310 ; RADKU
1311 E833 13 INX D ; INKREMENTUJ UKAZATEL VYROVNAVACI
1312 ; PAMETI RADKU
1313 E834 FE 0D CPI CR ; IF POSLEDNI ZNAK (CR) THEN
1314 E836 C8 RZ ; NAVRAT
1315 E837 7B MOV A,E ; ELSE A:=NIZSI BYTE UKAZATELE
1316 ; VYROVNAVACI PAMETI RADKU
1317 E838 E5 CXBUFE: PUSH H ; USCHOVEJ HL
1318 E839 2A 002B LHLD BUFEND ; HL:=ADR. KONEC VYROVNAVACI
1319 ; PAMETI RADKU
1320 E83C BD CMP L ; IF UKAZATEL VYROVNAVACI PAMETI <>
1321 ; ADR. KONCE RADKU THEN
1322 E83D E1 POP H ; OBNOV HL
1323 E83E C2 E818 JNZ GL1 ; PREVEZMI DALSI ZNAK Z KLAVESNICE
1324 ; ELSE OPRAVUJ POSLEDNI ZNAK A CEKEJ
1325 ; NA (CR)
1326 ; OPRAV POSLEDNI ZNAK
1327 E841 7B GL3: MOV A,E ; A:=NIZSI BYTE UKAZATELE VYROVNAVACI
1328 ; PAMETI RADKU
1329 E842 E5 CXBUFA: PUSH H ; USCHOVEJ HL
1330 E843 2A 0029 LHLD BUFFER ; HL:=ADR. ZACATKU VYROVNAVACI PAMETI
1331 ; RADKU
1332 E846 BD CMP L ; IF UKAZATEL NA ZACATKU VYROV. PAMETI
1333 E847 E1 POP H ; THEN OBNOV HL
1334 E848 CA E851 JZ GL4 ; NASTAV ZACATEK RADKU
1335 E84B CD E859 CALL GL5 ; ELSE ZRUS POSLEDNI ZNAK
1336 E84E C3 E818 JMP GL1 ; PREVEZMI DALSI ZNAK Z KLAVESNICE
1337 ; ZRUS RADEK
1338 E851 CD E974 GL4: CALL CRLF ; VYTISKNI NA OBRAZOVKU (CR),(LF)
1339 E854 06 5C MVI B,5CH ; VYTISKNI 5CH
1340 E856 C3 E811 JMP GETLN ; PREVEZMI Z KLAVESNICE NOVY RADEK
1341 ; OPRAV POSLEDNI ZNAK
1342 E859 1B GL5: DCX D ; DEKREMENTUJ UKAZATEL VYROVNAVACI
1343 ; PAMETI RADKU NA POSLEDNI
1344 ; PLATNY ZNAK
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-24
1345 E85A 3E 08 MVI A,8 ; A:=BACK SPACE
1346 E85C CD E976 CALL OUTC ; POSUN KURZORU O 1 MISTO VLEVO
1347 E85F 3E 20 MVI A,' ' ; A:=MEZERA
1348 E861 CD E976 CALL OUTC ; VYTISKNI NA MISTO NEPLATNEHO ZNAKU
1349 ; MEZERU
1350 E864 3E 08 MVI A,8 ; POSUN KURZORU ZPET NA MEZERU
1351 E866 C3 E976 JMP OUTC ; NAVRAT RETURNEM Z OUTC
1352 ;
1353 ;
1354 ;
1355 ; FNDLN
1356 ;
1357 ; NAJDI ADRESU RADKU S CISLEM <HL> A ULOZ JI DO <DE>
1358 ; NASTAV PRIZNAK FF-Z PRI ROVNOSTI. FF-C PRI NEEXISTENCI
1359 ;
1360 E869 7C FNDLN: MOV A,H
1361 E86A B7 ORA A
1362 E86B FA E331 JM QHOW
1363 E86E 11 009B LXI D,TXTBGN
1364 E871 E5 FNDLP: PUSH H
1365 E872 2A 003B LHLD TXTUNF
1366 E875 2B DCX H
1367 E876 CD E2AA CALL COMP
1368 E879 E1 POP H
1369 E87A D8 RC
1370 E87B 1A LDAX D
1371 E87C 95 SUB L
1372 E87D 47 MOV B,A
1373 E87E 13 INX D
1374 E87F 1A LDAX D
1375 E880 9C SBB H
1376 E881 DA E888 JC FL2
1377 E884 1B DCX D
1378 E885 B0 ORA B
1379 E886 C9 RET
1380 ;
1381 ;
1382 ;
1383 ; FNDNXT
1384 ;
1385 ; NAJDI KONEC RADKU, DO <HL> ULOZ ADRESU DALSIHO RADKU
1386 ;
1387 E887 13 FNDNXT: INX D
1388 E888 13 FL2: INX D
1389 E889 1A FNDSKP: LDAX D
1390 E88A FE 0D CPI CR
1391 E88C C2 E888 JNZ FL2
1392 E88F 13 INX D
1393 E890 C3 E871 JMP FNDLP
1394 ;
1395 ; PRTSTG
1396 ;
1397 E893 47 PRTSTG: MOV B,A
1398 E894 1A PS1: LDAX D
1399 E895 13 INX D
1400 E896 B8 CMP B
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-25
1401 E897 C8 RZ
1402 E898 CD E976 CALL OUTC
1403 E89B FE 0D CPI CR
1404 E89D C2 E894 JNZ PS1
1405 E8A0 C9 RET
1406 ;
1407 ; QTSTG
1408 ;
1409 E8A1 CD E2F3 QTSTG: CALL TSTC
1410 E8A4 22 DB '"'
1411 E8A5 0F DB 0FH
1412 E8A6 3E 22 MVI A,'"'
1413 E8A8 CD E893 QT1: CALL PRTSTG
1414 E8AB FE 0D CPI CR
1415 E8AD E1 POP H
1416 E8AE CA E401 JZ PR6
1417 E8B1 23 QT2: INX H
1418 E8B2 23 INX H
1419 E8B3 23 INX H
1420 E8B4 E9 PCHL
1421 E8B5 C9 RET
1422 ;
1423 ; PRTNUM
1424 ;
1425 E8B6 06 00 PRTNUM: MVI B,0
1426 E8B8 CD E782 CALL CHKSGN
1427 E8BB F2 E8C1 JP PN1
1428 E8BE 06 2D MVI B,2DH
1429 E8C0 0D DCR C
1430 E8C1 D5 PN1: PUSH D
1431 E8C2 11 000A LXI D,0AH ; PREVOD BIN --> DEC
1432 E8C5 D5 PUSH D
1433 E8C6 0D DCR C
1434 E8C7 C5 PUSH B
1435 E8C8 CD E765 PN2: CALL DIVIDE
1436 E8CB 78 MOV A,B
1437 E8CC B1 ORA C
1438 E8CD CA E8D8 JZ PN3
1439 E8D0 E3 XTHL
1440 E8D1 2D DCR L
1441 E8D2 E5 PUSH H
1442 E8D3 60 MOV H,B
1443 E8D4 69 MOV L,C
1444 E8D5 C3 E8C8 JMP PN2
1445 E8D8 C1 PN3: POP B
1446 E8D9 0D PN4: DCR C
1447 E8DA 79 MOV A,C
1448 E8DB B7 ORA A
1449 E8DC FA E8E7 JM PN5
1450 E8DF 3E 20 MVI A,20H
1451 E8E1 CD E976 CALL OUTC
1452 E8E4 C3 E8D9 JMP PN4
1453 E8E7 78 PN5: MOV A,B
1454 E8E8 B7 ORA A
1455 E8E9 C4 E976 CNZ OUTC
1456 E8EC 5D MOV E,L
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-26
1457 E8ED 7B PN6: MOV A,E
1458 E8EE FE 0A CPI LF
1459 E8F0 D1 POP D
1460 E8F1 C8 RZ
1461 E8F2 C6 30 ADI 30H
1462 E8F4 CD E976 CALL OUTC
1463 E8F7 C3 E8ED JMP PN6
1464 ;
1465 ;
1466 ;
1467 ; PRTLN
1468 ;
1469 ; ZOBRAZ RADEK VCETNE CISLA, V <DE> ADRESA LOW CISLA RADKU
1470 ;
1471 E8FA 1A PRTLN: LDAX D
1472 E8FB 6F MOV L,A
1473 E8FC 13 INX D
1474 E8FD 1A LDAX D
1475 E8FE 67 MOV H,A
1476 E8FF 13 INX D
1477 E900 0E 04 MVI C,4
1478 E902 CD E8B6 CALL PRTNUM
1479 E905 3E 20 MVI A,20H
1480 E907 CD E976 CALL OUTC
1481 E90A 97 SUB A
1482 E90B CD E893 CALL PRTSTG
1483 E90E C9 RET
1484 ;
1485 ;
1486 ;
1487 ; MVUP
1488 ;
1489 ; POSUN PAMETI OD <DE> PO <HL> NA <BC> (DOPREDU)
1490 ;
1491 E90F CD E2AA MVUP: CALL COMP
1492 E912 C8 RZ
1493 E913 1A LDAX D
1494 E914 02 STAX B
1495 E915 13 INX D
1496 E916 03 INX B
1497 E917 C3 E90F JMP MVUP
1498 ;
1499 ;
1500 ;
1501 ; MVDOWN
1502 ;
1503 ; POSUN PAMET Z <DE> PO <BC> NA <HL> (POZPATKU)
1504 ;
1505 E91A 78 MVDOWN: MOV A,B
1506 E91B 92 SUB D
1507 E91C C2 E922 JNZ MD1
1508 E91F 79 MOV A,C
1509 E920 93 SUB E
1510 E921 C8 RZ
1511 E922 1B MD1: DCX D
1512 E923 2B DCX H
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-27
1513 E924 1A LDAX D
1514 E925 77 MOV M,A
1515 E926 C3 E91A JMP MVDOWN
1516 ;
1517 ; POPA
1518 ;
1519 E929 C1 POPA: POP B
1520 E92A E1 POP H
1521 E92B 22 0018 SHLD LOPVAR
1522 E92E 7C MOV A,H
1523 E92F B5 ORA L
1524 E930 CA E943 JZ PP1
1525 E933 E1 POP H
1526 E934 22 001A SHLD LOPINC
1527 E937 E1 POP H
1528 E938 22 001C SHLD LOPLMT
1529 E93B E1 POP H
1530 E93C 22 001E SHLD LOPLN
1531 E93F E1 POP H
1532 E940 22 0020 SHLD LOPPT
1533 E943 C5 PP1: PUSH B
1534 E944 C9 RET
1535 ;
1536 ; PUSHA
1537 ;
1538 E945 D5 PUSHA: PUSH D ; USCHOVEJ DE
1539 E946 2A 0004 LHLD RAMEND
1540 E949 11 FFC4 LXI D,0FFC4H ; DVOJKOVY DOPLNEK (64-5)
1541 E94C 19 DAD D ; HL:=KONEC STACKU +5
1542 E94D D1 POP D ; OBNOV DE
1543 E94E CD E785 CALL CHGSGN ; ZMEN ZNAMENKO <HL>
1544 E951 C1 POP B
1545 E952 39 DAD SP ; PREKROCENI ZASOBNIKU?
1546 E953 D2 E80A JNC QSORRY ; ANO - CHYBA
1547 E956 2A 0018 LHLD LOPVAR
1548 E959 7C MOV A,H
1549 E95A B5 ORA L
1550 E95B CA E971 JZ PU1 ; JDE O CYKLUS ?
1551 E95E 2A 0020 LHLD LOPPT
1552 E961 E5 PUSH H
1553 E962 2A 001E LHLD LOPLN
1554 E965 E5 PUSH H
1555 E966 2A 001C LHLD LOPLMT
1556 E969 E5 PUSH H
1557 E96A 2A 001A LHLD LOPINC
1558 E96D E5 PUSH H
1559 E96E 2A 0018 LHLD LOPVAR
1560 E971 E5 PU1: PUSH H ; ULOZ PARAMETRY PROMENNE
1561 E972 C5 PUSH B
1562 E973 C9 RET
1563 ;
1564 ; CRLF , OUTC
1565 ;
1566 E974 3E 0D CRLF: MVI A,CR
1567 E976 F5 OUTC: PUSH PSW
1568 E977 FE 0D CPI CR
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-28
1569 E979 CA E981 JZ LINEF
1570 E97C CD 000C CALL CO
1571 E97F F1 H2: POP PSW
1572 E980 C9 RET
1573 E981 CD E987 LINEF: CALL CROUT
1574 E984 C3 E97F JMP H2
1575 E987 3E 0D CROUT: MVI A,CR
1576 E989 CD 000C CALL CO
1577 E98C 3E 0A MVI A,LF
1578 E98E C3 000C JMP CO
1579 ;
1580 ; NULOVANI DISPLEJE
1581 ;
1582 E991 C5 CLS: PUSH B
1583 E992 3E 0C MVI A,FF
1584 E994 CD 000C CALL CO
1585 E997 3E 1D MVI A,HOME
1586 E999 CD 000C CALL CO
1587 E99C 3E 1F MVI A,DSCR
1588 E99E CD 000C CALL CO
1589 E9A1 C1 POP B
1590 E9A2 CD E2B8 CALL FINI
1591 ;
1592 ; DIRECT MODUL
1593 ;
1594 E9A5 21 E0E8 DIRECT: LXI H,TAB1-1
1595 E9A8 CD E2B0 EXEC: CALL IGNB
1596 E9AB D5 PUSH D
1597 E9AC 1A EX1: LDAX D
1598 E9AD 13 INX D
1599 E9AE FE 2E CPI '.'
1600 E9B0 CA E9CA JZ EX3
1601 E9B3 23 INX H
1602 E9B4 BE CMP M
1603 E9B5 CA E9AC JZ EX1
1604 E9B8 3E 00 MVI A,0
1605 E9BA 1B DCX D
1606 E9BB BE CMP M
1607 E9BC CA E9D1 JZ EX5
1608 E9BF 23 EX2: INX H
1609 E9C0 BE CMP M
1610 E9C1 C2 E9BF JNZ EX2
1611 E9C4 23 INX H
1612 E9C5 23 INX H
1613 E9C6 D1 POP D
1614 E9C7 C3 E9A8 JMP EXEC
1615 E9CA 3E 00 EX3: MVI A,0
1616 E9CC 23 EX4: INX H
1617 E9CD BE CMP M
1618 E9CE C2 E9CC JNZ EX4
1619 E9D1 23 EX5: INX H
1620 E9D2 7E MOV A,M
1621 E9D3 23 INX H
1622 E9D4 66 MOV H,M
1623 E9D5 6F MOV L,A
1624 E9D6 F1 POP PSW
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-29
1625 E9D7 E9 PCHL
1626 ;
1627 ; DBUFF
1628 ;
1629 E9D8 E5 DBUFF: PUSH H
1630 E9D9 2A 0029 LHLD BUFFER
1631 E9DC 54 MOV D,H
1632 E9DD 5D MOV E,L
1633 E9DE E1 POP H
1634 E9DF C9 RET
1635 ;
1636 ;
1637 ;
1638 ; DTXTE
1639 ;
1640 E9E0 E5 DTXTE: PUSH H
1641 E9E1 2A 0027 LHLD TXTEND
1642 E9E4 54 MOV D,H
1643 E9E5 5D MOV E,L
1644 E9E6 E1 POP H
1645 E9E7 C9 RET
1646 ;
1647 ;
1648 ;
1649 ; MASKA
1650 ;
1651 E9E8 CD E60C MASK: CALL EXPR
1652 E9EB 7D MOV A,L
1653 E9EC 32 000F STA MASKIN
1654 E9EF CD E2B8 CALL FINI
1655 ;
1656 ; RAM
1657 ;
1658 E9F2 CD E60C RAM: CALL EXPR ; VSTUP PARAMETRU DO <HL>
1659 E9F5 EB RAM1: XCHG ; SCHOVEJ <HL> DO <DE>
1660 E9F6 21 00BB LXI H,TXTE ; MINIMALNI ADRESA KONCE PROGRAMU
1661 E9F9 CD E2AA CALL COMP
1662 E9FC D2 E80B JNC ASORRY ; CHYBA V PODTECENI MOZNE PROGRAMOVE RAM
1663 E9FF CD E0CF CALL USREND ; MAXIMALNI ADRESA KONCE PROGRAMU
1664 EA02 CD E2AA CALL COMP
1665 EA05 DA E80B JC ASORRY ; CHYBA V PRETECENI MOZNE PROGRAMOVE RAM
1666 EA08 EB XCHG ; OBNOV <HL>
1667 EA09 22 002B SHLD BUFEND ; NASTAVENI KONCE BUFFERU
1668 EA0C 11 FFC0 LXI D,0FFC0H ; DNOJKOVY DOPLNEK 64
1669 EA0F 19 DAD D ; PRO BUFFER VYHRAZENO 64 BYTE
1670 EA10 22 0029 SHLD BUFFER ; NASTAVENI UKAZATELE ZACATKU BUFFERU
1671 EA13 2B DCX H
1672 EA14 2B DCX H
1673 EA15 C3 E03B JMP START1
1674 ;
1675 ; CALL
1676 ;
1677 EA18 CD E60C BCALL: CALL EXPR
1678 EA1B D5 PUSH D
1679 EA1C 01 EA21 LXI B,HERE
1680 EA1F C5 PUSH B
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-30
1681 EA20 E9 PCHL
1682 EA21 D1 HERE: POP D
1683 EA22 CD E2B8 CALL FINI
1684 ;
1685 ; OUT
1686 ;
1687 EA25 CD E60C BOUT: CALL EXPR
1688 EA28 E5 PUSH H
1689 EA29 CD E2F3 CALL TSTC
1690 EA2C 2C DB ','
1691 EA2D 1A DB 1AH
1692 EA2E CD E60C CALL EXPR
1693 EA31 45 MOV B,L
1694 EA32 3E D3 MVI A,0D3H
1695 EA34 32 0008 STA IOBUFA
1696 EA37 E1 POP H
1697 EA38 7D MOV A,L
1698 EA39 32 0009 STA IOBUFB
1699 EA3C 3E C9 MVI A,0C9H
1700 EA3E 32 000A STA IOBUFC
1701 EA41 78 MOV A,B
1702 EA42 CD 0008 CALL IOBUFA
1703 EA45 CD E2B8 CALL FINI
1704 EA48 C3 E7D5 JMP QWHAT
1705 ;
1706 ;
1707 ; TAB
1708 ;
1709 EA4B CD E70B TAB: CALL PARN
1710 EA4E 7C A1: MOV A,H
1711 EA4F B5 ORA L
1712 EA50 CC E2B8 CZ FINI
1713 EA53 2B DCX H
1714 EA54 3E 20 MVI A,20H
1715 EA56 CD 000C CALL CO
1716 EA59 C3 EA4E JMP A1
1717 ;
1718 ; IN , INM
1719 ;
1720 EA5C CD EA6B BIN: CALL INEM
1721 EA5F 6F MOV L,A
1722 EA60 C9 RET
1723 EA61 CD EA6B INM: CALL INEM
1724 EA64 6F MOV L,A
1725 EA65 3A 000F LDA MASKIN
1726 EA68 A5 ANA L
1727 EA69 6F MOV L,A
1728 EA6A C9 RET
1729 EA6B CD E70B INEM: CALL PARN
1730 EA6E E5 PUSH H
1731 EA6F 3E DB MVI A,0DBH
1732 EA71 32 0008 STA IOBUFA
1733 EA74 E1 POP H
1734 EA75 7D MOV A,L
1735 EA76 32 0009 STA IOBUFB
1736 EA79 3E C9 MVI A,0C9H
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-31
1737 EA7B 32 000A STA IOBUFC
1738 EA7E CD 0008 CALL IOBUFA
1739 EA81 26 00 MVI H,0
1740 EA83 C9 RET
1741 ;
1742 ; O$
1743 ;
1744 EA84 CD E60C O: CALL EXPR
1745 EA87 D5 PUSH D
1746 EA88 EB XCHG
1747 EA89 AF XRA A
1748 EA8A CD E893 CALL PRTSTG
1749 EA8D D1 ZZZ4: POP D
1750 EA8E CD E2B8 CALL FINI
1751 ;
1752 ; I$
1753 ;
1754 EA91 CD E60C I: CALL EXPR
1755 EA94 D5 PUSH D
1756 EA95 EB XCHG
1757 EA96 2A 003B LHLD TXTUNF
1758 EA99 EB XCHG
1759 EA9A CD E2AA CALL COMP
1760 EA9D DA E80B JC ASORRY
1761 EAA0 CD E9D8 CALL DBUFF
1762 EAA3 CD E818 CALL GL1
1763 EAA6 44 MOV B,H
1764 EAA7 4D MOV C,L
1765 EAA8 EB XCHG
1766 EAA9 2B DCX H
1767 EAAA CD E9D8 CALL DBUFF
1768 EAAD D5 PUSH D
1769 EAAE CD E90F CALL MVUP
1770 EAB1 AF XRA A
1771 EAB2 02 STAX B
1772 EAB3 D1 POP D
1773 EAB4 23 INX H
1774 EAB5 CD E77B CALL SUBDE
1775 EAB8 EB XCHG
1776 EAB9 21 0006 LXI H,LEGT
1777 EABC 73 MOV M,E
1778 EABD 23 INX H
1779 EABE 72 MOV M,D
1780 EABF C3 EA8D JMP ZZZ4
1781 ;
1782 ; PEEK
1783 ;
1784 EAC2 CD E70B PEEK: CALL PARN
1785 EAC5 6E MOV L,M
1786 EAC6 26 00 MVI H,0
1787 EAC8 C9 RET
1788 ;
1789 ; POKE
1790 ;
1791 EAC9 CD E60C POKE: CALL EXPR
1792 EACC E5 PUSH H
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-32
1793 EACD CD E2F3 CALL TSTC
1794 EAD0 2C DB ','
1795 EAD1 09 DB 9
1796 EAD2 CD E60C CALL EXPR
1797 EAD5 7D MOV A,L
1798 EAD6 E1 POP H
1799 EAD7 77 MOV M,A
1800 EAD8 CD E2B8 CALL FINI
1801 EADB C3 E7D5 JMP QWHAT
1802 ;
1803 ; BYTE
1804 ;
1805 EADE CD E70B BYTE: CALL PARN
1806 EAE1 7D MOV A,L
1807 EAE2 CD EAF1 CALL WRIT2
1808 EAE5 CD E2B8 CALL FINI
1809 ;
1810 ;
1811 ;
1812 ; WORD
1813 ;
1814 EAE8 CD E70B WORD: CALL PARN
1815 EAEB CD F830 CALL DADR
1816 EAEE CD E2B8 CALL FINI
1817 ;
1818 ;
1819 ;
1820 ; WRIT2
1821 ;
1822 EAF1 F5 WRIT2: PUSH PSW
1823 EAF2 0F RRC
1824 EAF3 0F RRC
1825 EAF4 0F RRC
1826 EAF5 0F RRC
1827 EAF6 CD EAFA CALL IST
1828 EAF9 F1 POP PSW
1829 EAFA E6 0F IST: ANI 0FH
1830 EAFC C6 90 ADI 90H
1831 EAFE 27 DAA
1832 EAFF CE 40 ACI 40H
1833 EB01 27 DAA
1834 EB02 C3 E976 JMP OUTC
1835 ;
1836 ;
1837 ;
1838 ; QUOTE
1839 ;
1840 EB05 1A QUOTE: LDAX D
1841 EB06 13 INX D
1842 EB07 6F MOV L,A
1843 EB08 26 00 MVI H,0
1844 EB0A CD E2F3 CALL TSTC
1845 EB0D 27 DB 27H
1846 EB0E 01 DB 1
1847 EB0F C9 RET
1848 EB10 C3 E7D5 JMP QWHAT
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-33
1849 ;
1850 ; OUTCHAR
1851 ;
1852 EB13 CD E60C OUTCHR: CALL EXPR
1853 EB16 7D MOV A,L
1854 EB17 CD 000C CALL CO
1855 EB1A CD E2B8 CALL FINI
1856 ;
1857 ; INCHAR
1858 ;
1859 EB1D 21 0000 INCHAR: LXI H,0
1860 EB20 CD F812 CALL CSTS
1861 EB23 C8 RZ
1862 EB24 CD F803 CALL CI
1863 EB27 6F MOV L,A
1864 EB28 C9 RET
1865 ;
1866 ; HEX
1867 ;
1868 EB29 C5 HEX: PUSH B
1869 EB2A 21 0000 LXI H,0
1870 EB2D CD E2F3 CALL TSTC
1871 EB30 28 DB '('
1872 EB31 1D DB 1DH
1873 EB32 1A HNXTH: LDAX D
1874 EB33 FE 0D CPI CR
1875 EB35 CA E7D5 JZ QWHAT
1876 EB38 CD F82D CALL ASHEX
1877 EB3B DA E7D5 JC QWHAT
1878 EB3E 29 DAD H
1879 EB3F 29 DAD H
1880 EB40 29 DAD H
1881 EB41 29 DAD H
1882 EB42 06 00 MVI B,0
1883 EB44 4F MOV C,A
1884 EB45 09 DAD B
1885 EB46 13 INX D
1886 EB47 CD E2F3 CALL TSTC
1887 EB4A 29 DB ')'
1888 EB4B 03 DB 3
1889 EB4C C3 EB55 JMP POPRET
1890 EB4F C3 EB32 JMP HNXTH
1891 EB52 C3 E7D5 JMP QWHAT
1892 EB55 C1 POPRET: POP B
1893 EB56 C9 RET
1894 ;
1895 ;
1896 ;
1897 ; TEST TLACITKA BREAK
1898 ;
1899 EB57 CD F812 CONT: CALL CSTS ; IF KLAVESA VESTISKNUTA
1900 EB5A B7 ORA A ; THEN POKRACUJ
1901 EB5B C8 RZ
1902 EB5C CD F803 CALL CI
1903 EB5F FE 03 CPI CTRLC ; IF <> CTRL-C THEN
1904 EB61 C0 RNZ ; POKRACUJ
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-34
1905 EB62 C3 EB68 JMP BREAK ; ELSE BREAK
1906 ;
1907 EB65 CD E7CF STOP: CALL ENDCHK
1908 EB68 2A 0010 BREAK: LHLD CURRNT
1909 EB6B EB BREAK1: XCHG
1910 EB6C CD E974 CALL CRLF
1911 EB6F 3E 2A MVI A,'*'
1912 EB71 CD E976 CALL OUTC
1913 EB74 CD E8FA CALL PRTLN
1914 EB77 C3 E03E JMP RSTART
1915 ;
1916 ;
1917 ;
1918 ; ZMENA VYSTUPU
1919 ;
1920 EB7A 21 EB8C PRNTST: LXI H,LO1
1921 EB7D 22 000D SETCO: SHLD CO+1
1922 EB80 C9 RET
1923
1924 EB81 3E C3 DISP: MVI A,0C3H
1925 EB83 32 000C STA CO
1926 EB86 21 EB93 LXI H,OUTDIS
1927 EB89 C3 EB7D JMP SETCO
1928
1929 EB8C C5 LO1: PUSH B ; USCHOVEJ POCITADLO
1930 EB8D 4F MOV C,A
1931 EB8E CD F80F CALL LO
1932 EB91 C1 POP B ; OBNOV POCITADLO
1933 EB92 C9 RET
1934
1935 EB93 C5 OUTDIS: PUSH B ; USCHOVEJ POCITADLO
1936 EB94 4F MOV C,A
1937 EB95 CD EB9A CALL ECOM
1938 EB98 C1 POP B ; OBNOV POCITADLO
1939 EB99 C9 RET
1940 ;
1941 EB9A F5 ECOM: PUSH PSW
1942 EB9B 3A 0026 LDA MODE
1943 EB9E B7 ORA A
1944 EB9F CA EBAC JZ ECOM0 ; ZOBRAZ INVERZNE ?
1945 EBA2 79 MOV A,C
1946 EBA3 FE 20 CPI 20H
1947 EBA5 DA EBAC JC ECOM0 ; RIDICI ZNAKY NORMALNE
1948 EBA8 3E 80 MVI A,80H
1949 EBAA B1 ORA C
1950 EBAB 4F MOV C,A
1951 EBAC CD F809 ECOM0: CALL COM
1952 EBAF F1 POP PSW
1953 EBB0 C9 RET
1954 ;
1955 ;
1956 ; SKOK DO MONITORU
1957
1958 EBB1 C3 F839 MONIT: JMP NEXTM ; TEPLY START MONITORU
1959 ;
1960 ;
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-35
1961 ;
1962 ;*********************************************
1963 ;
1964 ; DOPLNUJICI CAST PRO PLAN80A
1965 ;
1966 ;*********************************************
1967 ;
1968 ;
1969 ; WAIT
1970 ;
1971 EBB4 CD E60C WAIT: CALL EXPR
1972 EBB7 C5 PUSH B ; USCHOVEJ BC
1973 EBB8 4D MOV C,L
1974 EBB9 44 MOV B,H
1975 EBBA CD F84B CALL TIMER ; CEKEJ <HL> MILISEKUND
1976 EBBD C1 POP B ; OBNOV BC
1977 EBBE CD E2B8 CALL FINI
1978 ;
1979 ;
1980 ;
1981 ; BEEP
1982 ;
1983 EBC1 CD E60C BEEP: CALL EXPR
1984 EBC4 C5 PUSH B ;USCHOVEJ PRACOVNI REGISTRY
1985 EBC5 D5 PUSH D
1986 EBC6 7C MOV A,H
1987 EBC7 B7 ORA A
1988 EBC8 FA E331 JM QHOW ; IF ZAPORNA ERROR
1989 EBCB B5 ORA L
1990 EBCC CA E331 JZ QHOW ; IF 0 ERROR
1991 EBCF EB XCHG ; <DE> POCET PIPNUTI DELKY 0.1 S
1992 EBD0 3E 07 BEEP0: MVI A,07H
1993 EBD2 CD 000C CALL CO
1994 EBD5 01 0064 LXI B,100
1995 EBD8 CD F84B CALL TIMER ; CEKEJ 100 MILISEKUND
1996 EBDB 1B DCX D
1997 EBDC 7A MOV A,D
1998 EBDD B3 ORA E ; VSECHNA PIPNUTI PROVEDENA ?
1999 EBDE C2 EBD0 JNZ BEEP0 ; NE - ZNOVU
2000 EBE1 D1 POP D ; OBNOV REGISTRY
2001 EBE2 C1 POP B
2002 EBE3 CD E2B8 CALL FINI
2003 ;
2004 ;
2005 ;
2006 ;
2007 ; PLOT
2008 ;
2009 ; PRIKAZ KRESLENI PLOT X,Y
2010 ;
2011 EBE6 CD E60C PLOT: CALL EXPR ; VSTUP 1. PARAMETRU ... X
2012 EBE9 C5 PUSH B
2013 EBEA E5 PUSH H
2014 EBEB 7D MOV A,L
2015 EBEC FE 90 CPI 144 ; X MAX?
2016 EBEE D2 E331 JNC QHOW
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-36
2017 EBF1 CD E2F3 CALL TSTC
2018 EBF4 2C DB ','
2019 EBF5 1B DB PLTF-$
2020 EBF6 CD E60C CALL EXPR ; VSTUP 2. PARAMETRU ... Y
2021 EBF9 7D MOV A,L
2022 EBFA 32 002E STA YKUR
2023 EBFD FE 40 CPI 64 ; Y MAX?
2024 EBFF D2 E331 JNC QHOW
2025 EC02 7D MOV A,L
2026 EC03 32 002D STA XKUR
2027 EC06 65 MOV H,L
2028 EC07 C1 POP B
2029 EC08 69 MOV L,C
2030 EC09 CD EC13 CALL PIXL ; VYKRESLI BOD NA <L>=X, <H>=Y
2031 EC0C C1 POP B
2032 EC0D CD E2B8 CALL FINI
2033 EC10 C3 E7D5 PLTF: JMP QWHAT
2034 ;
2035 ;
2036 ;
2037 ; PIXL
2038 ;
2039 ; PODPROGRAM ZOBRAZENI PIXLU GRAFIKY <H>=Y, <L>=X
2040 ;
2041 EC13 F5 PIXL: PUSH PSW
2042 EC14 C5 PUSH B
2043 EC15 D5 PUSH D
2044 EC16 E5 PUSH H
2045 EC17 7C MOV A,H ; Y - SOURADNICE
2046 EC18 B7 ORA A
2047 EC19 1F RAR ; Y/2
2048 EC1A 6F MOV L,A
2049 EC1B 26 00 MVI H,0
2050 EC1D 29 DAD H
2051 EC1E 29 DAD H
2052 EC1F 29 DAD H
2053 EC20 29 DAD H
2054 EC21 29 DAD H
2055 EC22 29 DAD H ; Y/2 * 64
2056 EC23 EB XCHG
2057 EC24 2A 0004 LHLD RAMEND
2058 EC27 23 INX H ; ADRESA PRVNIHO ZNAKU DISPLAYE
2059 EC28 19 DAD D ; Y/2 * 64 + ADRDIS
2060 EC29 EB XCHG
2061 EC2A E1 POP H
2062 EC2B E5 PUSH H
2063 EC2C 7D MOV A,L ; X - SOURADNICE
2064 EC2D CD EC87 CALL DIVTRI ; X/3
2065 EC30 69 MOV L,C
2066 EC31 26 00 MVI H,0
2067 EC33 19 DAD D ; Y/2*64 + ADRDIS + X/3 ... ADRESA ZNAKU
2068 EC34 7E MOV A,M
2069 EC35 E6 60 ANI 60H
2070 EC37 FE 60 CPI 60H ; JDE O GRAFICKY SYMBOL ?
2071 EC39 CA EC3E JZ PIXL0
2072 EC3C 36 20 MVI M,20H ; NE - VYMAZ ZNAKU
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-37
2073 EC3E E3 PIXL0: XTHL ; V <HL> SOURADNICE
2074 EC3F 7C MOV A,H ; Y - SOURADNICE
2075 EC40 E6 01 ANI 01H ; Y MOD 2
2076 EC42 47 MOV B,A
2077 EC43 3E 01 MVI A,1
2078 EC45 90 SUB B ; 1 - (Y MOD 2)
2079 EC46 47 MOV B,A
2080 EC47 87 ADD A
2081 EC48 80 ADD B ; (1 - (Y MOD 2)) * 3
2082 EC49 47 MOV B,A
2083 EC4A 7D MOV A,L ; X - SOURADNICE
2084 EC4B E1 POP H ; V <HL> ADRESA ZNAKU
2085 EC4C E5 PUSH H
2086 EC4D CD EC87 CALL DIVTRI ; X MOD 3
2087 EC50 80 ADD B ; (1 - (Y MOD 2))*3 + (X MOD 3)
2088 EC51 FE 05 CPI 5 ; JDE O NEPOKRITY PIXL ?
2089 EC53 CA EC79 JZ NEPOK ; ANO - SKOK
2090 ;
2091 EC56 47 POK: MOV B,A
2092 EC57 3E 80 MVI A,80H
2093 EC59 07 POK0: RLC
2094 EC5A 05 DCR B
2095 EC5B F2 EC59 JP POK0 ; GENERUJ MASKU POKRITEHO PIXLU
2096 EC5E 47 MOV B,A
2097 EC5F 7E MOV A,M
2098 EC60 B7 ORA A
2099 EC61 FA EC6E JM POK1 ; JE NASTAVEN D7=1 ?
2100 EC64 78 MOV A,B
2101 EC65 B6 ORA M
2102 EC66 E6 1F ANI 1FH
2103 EC68 F6 60 ORI 60H
2104 EC6A 77 MOV M,A ; NASTAVENI PIXLU 0 - 4 BEZ PIXLU 5
2105 EC6B C3 EC82 JMP PIXL1
2106 EC6E E6 1F POK1: ANI 1FH
2107 EC70 2F CMA
2108 EC71 B0 ORA B
2109 EC72 2F CMA
2110 EC73 F6 E0 ORI 0E0H
2111 EC75 77 MOV M,A ; NASTAVENI PIXLU 0 - 4 PRI PIXLU 5
2112 EC76 C3 EC82 JMP PIXL1
2113 ;
2114 EC79 7E NEPOK: MOV A,M
2115 EC7A B7 ORA A
2116 EC7B FA EC82 JM PIXL1 ; PIXL 5 JIZ NASTAVEN
2117 EC7E E6 1F ANI 1FH
2118 EC80 2F CMA
2119 EC81 77 MOV M,A ; NASTAVENI PIXLU 5
2120 ;
2121 EC82 E1 PIXL1: POP H
2122 EC83 D1 POP D
2123 EC84 C1 POP B
2124 EC85 F1 POP PSW
2125 EC86 C9 RET
2126 ;
2127 EC87 0E FF DIVTRI: MVI C,0FFH
2128 EC89 0C DIVT0: INR C
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-38
2129 EC8A D6 03 SUI 3
2130 EC8C D2 EC89 JNC DIVT0
2131 EC8F C6 03 ADI 3
2132 EC91 C9 RET
2133 ;
2134 ;
2135 ;
2136 ; DRAW - PRIKAZ SPOJENI DVOU BODU PRIMKOU
2137 ; XKUR,YKUR ... STARY BOD
2138 ; PARAMETRY ... NOVY BOD
2139 ;
2140 EC92 CD E60C DRAW: CALL EXPR
2141 EC95 C5 PUSH B
2142 EC96 E5 PUSH H
2143 EC97 7D MOV A,L
2144 EC98 FE 90 CPI 144 ; XNEW MAX?
2145 EC9A D2 E331 JNC QHOW
2146 EC9D CD E2F3 CALL TSTC
2147 ECA0 2C DB ','
2148 ECA1 14 DB DRAF-$
2149 ECA2 CD E60C CALL EXPR
2150 ECA5 7D MOV A,L
2151 ECA6 FE 40 CPI 64 ; YNEW MAX?
2152 ECA8 D2 E331 JNC QHOW
2153 ECAB 65 MOV H,L
2154 ECAC C1 POP B
2155 ECAD 69 MOV L,C ; <H> = YNEW, <L> = XNEW
2156 ECAE CD ECB8 CALL INTERP ; POMOCI INTERPOLATORU KRESLI
2157 ECB1 C1 POP B
2158 ECB2 CD E2B8 CALL FINI ; XKUR = XNEW, YKUR = YNEW
2159 ECB5 C3 E7D5 DRAF: JMP QWHAT
2160 ;
2161 ;
2162 ; INTERPOL - PODPROGRAM INTERPOLATOTU Z PMD-85
2163 ; <H> = YNEW, <L> = XNEW
2164 ;
2165 ECB8 F5 INTERP: PUSH PSW
2166 ECB9 C5 PUSH B
2167 ECBA D5 PUSH D
2168 ECBB E5 PUSH H
2169 ;
2170 ECBC 3A 002D LDA XKUR
2171 ECBF BD CMP L ; SVISLI SMER?
2172 ECC0 CA ED45 JZ INPO9 ; ANO - SKOK
2173 ECC3 DA ED51 JC INPO11 ; XOLD < XNEW ... SKOK
2174 ;
2175 ; XOLD > XNEW
2176 ;
2177 ECC6 95 SUB L
2178 ECC7 5F MOV E,A ; XOLD - XNEW
2179 ECC8 0E FF MVI C,0FFH ; SMER INTERPOLACE
2180 ECCA 3A 002E INPO1: LDA YKUR ; YOLD
2181 ECCD BC CMP H ; VODOROVNY SMER?
2182 ECCE CA ED4B JZ INPO10 ; ANO - SKOK
2183 ECD1 DA ED5A JC INPO12 ; YOLD < YNEW ... SKOK
2184 ;
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-39
2185 ; YOLD > YNEW
2186 ;
2187 ECD4 94 SUB H
2188 ECD5 57 MOV D,A ; YOLD - YNEW
2189 ECD6 06 FF MVI B,0FFH ; SMER INTERPOLACE
2190 ECD8 7B INPO2: MOV A,E
2191 ECD9 32 002F STA DELTAX ; ROZDIL X SOURADNIC
2192 ECDC 7A MOV A,D
2193 ECDD 32 0030 STA DELTAY ; ROZDIL Y SOURADNIC
2194 ECE0 BB CMP E ; DELTAX < DELTAY?
2195 ECE1 DA ED63 JC INPO13 ; ANO - SKOK
2196 ;
2197 ; DELTAX > DELTAY
2198 ;
2199 ECE4 63 MOV H,E
2200 ECE5 5A MOV E,D ;DELTAY
2201 ECE6 54 MOV D,H ;DELTAX
2202 ECE7 A7 ANA A
2203 ECE8 1F RAR
2204 ECE9 67 MOV H,A ; DELTAY / 2
2205 ;
2206 ; VLASTNI INTERPOLACE
2207 ;
2208 ECEA 2E 00 INPO3: MVI L,0 ; CITAC
2209 ECEC 7D INPO4: MOV A,L
2210 ECED BB CMP E ; KOMEC?
2211 ECEE CA ED6A JZ INPO14 ; ANO - NAVRAT Z PODPROGRAMU
2212 ECF1 2C INR L ; INKR. CITAC
2213 ECF2 7C MOV A,H
2214 ECF3 82 ADD D
2215 ECF4 67 MOV H,A ; DELTAX + DELTAY/2
2216 ECF5 DA ED34 JC INPO8 ; >255 ... SKOK
2217 ECF8 BB CMP E ; =>DELTAY ?
2218 ECF9 CA ED39 JZ INPOEX ; ROVNO ... SKOK
2219 ECFC D2 ED39 JNC INPOEX ; VETSI ... SKOK
2220 ECFF 3A 002F LDA DELTAX
2221 ED02 BB CMP E ; POSUN VE SMERU X?
2222 ED03 C2 ED0D JNZ INPO5 ; NE - SKOK
2223 ED06 3A 002D LDA XKUR ; XOLD
2224 ED09 81 ADD C
2225 ED0A 32 002D STA XKUR ; PROVET POSUN X
2226 ED0D 3A 0030 INPO5: LDA DELTAY
2227 ED10 BB CMP E ; POSUN VE SMERU Y?
2228 ED11 C2 ED1B JNZ INPO7 ; NE - SKOK
2229 ;
2230 ED14 3A 002E INPO6: LDA YKUR ; YOLD
2231 ED17 80 ADD B
2232 ED18 32 002E STA YKUR ; PROVED POSUN Y
2233 ED1B E5 INPO7: PUSH H
2234 ED1C F5 PUSH PSW
2235 ED1D 2A 002D LHLD XKUR
2236 ED20 7C MOV A,H
2237 ED21 FE 40 CPI 64
2238 ED23 D2 ED2F JNC INPO15
2239 ED26 7D MOV A,L
2240 ED27 FE 90 CPI 144
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-40
2241 ED29 D2 ED2F JNC INPO15
2242 ED2C CD EC13 CALL PIXL ; ZOBRAZ BOD [XKUR,YKUR]
2243 ED2F F1 INPO15: POP PSW
2244 ED30 E1 POP H
2245 ED31 C3 ECEC JMP INPO4 ; DALSI BOD
2246 ;
2247 ; DELTAX + DELTA/2 > 255
2248 ;
2249 ED34 7B INPO8: MOV A,E
2250 ED35 2F CMA
2251 ED36 84 ADD H
2252 ED37 67 MOV H,A ; BY JUMP HERE IS: LDA 6793
2253 ED38 3A DB 3AH ; BY JUMP HERE IS: SUB E
2254 ;
2255 ; DELTAX + DELTAY/2 => DELTAY
2256 ;
2257 ED39 93 INPOEX: SUB E
2258 ED3A 67 MOV H,A
2259 ED3B 3A 002D LDA XKUR ; XOLD
2260 ED3E 81 ADD C
2261 ED3F 32 002D STA XKUR ; XOLD
2262 ED42 C3 ED14 JMP INPO6
2263 ;
2264 ; XOLD = XNEW
2265 ;
2266 ED45 AF INPO9: XRA A
2267 ED46 5F MOV E,A
2268 ED47 4F MOV C,A
2269 ED48 C3 ECCA JMP INPO1
2270 ;
2271 ; YOLD = YNEW
2272 ;
2273 ED4B AF INPO10: XRA A
2274 ED4C 57 MOV D,A
2275 ED4D 47 MOV B,A
2276 ED4E C3 ECD8 JMP INPO2
2277 ;
2278 ; XOJD < XNEW
2279 ;
2280 ED51 5F INPO11: MOV E,A
2281 ED52 7D MOV A,L
2282 ED53 93 SUB E
2283 ED54 5F MOV E,A
2284 ED55 0E 01 MVI C,1
2285 ED57 C3 ECCA JMP INPO1
2286 ;
2287 ; YOLD < YNEW
2288 ;
2289 ED5A 57 INPO12: MOV D,A
2290 ED5B 7C MOV A,H
2291 ED5C 92 SUB D
2292 ED5D 57 MOV D,A
2293 ED5E 06 01 MVI B,1
2294 ED60 C3 ECD8 JMP INPO2
2295 ;
2296 ; DELTAX < DELTAY
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-41
2297 ;
2298 ED63 A7 INPO13: ANA A
2299 ED64 7B MOV A,E
2300 ED65 1F RAR
2301 ED66 67 MOV H,A
2302 ED67 C3 ECEA JMP INPO3
2303 ;
2304 ; UKONCENI INTERPOLACE
2305 ;
2306 ED6A E1 INPO14: POP H
2307 ED6B D1 POP D
2308 ED6C C1 POP B
2309 ED6D F1 POP PSW
2310 ED6E C9 RET
2311 ;
2312 ;
2313 ;
2314 ; MOVE - PRIKAZ POSUNU GRAFICKEHO KURZORU
2315 ;
2316 ED6F CD E60C MOVE: CALL EXPR
2317 ED72 C5 PUSH B
2318 ED73 E5 PUSH H
2319 ED74 7D MOV A,L
2320 ED75 FE 90 CPI 144 ; X MAX?
2321 ED77 D2 E331 JNC QHOW
2322 ED7A CD E2F3 CALL TSTC
2323 ED7D 2C DB ','
2324 ED7E 14 DB MOVF-$
2325 ED7F CD E60C CALL EXPR
2326 ED82 7D MOV A,L
2327 ED83 FE 40 CPI 64 ; Y MAX?
2328 ED85 D2 E331 JNC QHOW
2329 ED88 65 MOV H,L
2330 ED89 C1 POP B
2331 ED8A 69 MOV L,C
2332 ED8B 22 002D SHLD XKUR ; X --> XKUR, Y --> YKUR
2333 ED8E C1 POP B
2334 ED8F CD E2B8 CALL FINI
2335 ED92 C3 E7D5 MOVF: JMP QWHAT
2336 ;
2337 ;
2338 ;
2339 ; CURS
2340 ; ====
2341 ;
2342 ; PRIKAZ PRO NASTAVENI KURZORU.
2343 ;
2344 ED95 CD E60C CURS: CALL EXPR
2345 ED98 C5 PUSH B
2346 ED99 E5 PUSH H
2347 ED9A 7D MOV A,L
2348 ED9B FE 30 CPI 48
2349 ED9D D2 E331 JNC QHOW
2350 EDA0 CD E2F3 CALL TSTC
2351 EDA3 2C DB ','
2352 EDA4 1C DB CURF - $
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-42
2353 EDA5 CD E60C CALL EXPR
2354 EDA8 7D MOV A,L
2355 EDA9 FE 20 CPI 20H
2356 EDAB D2 E331 JNC QHOW
2357 EDAE D5 PUSH D
2358 EDAF 11 0035 LXI D,LINECO
2359 EDB2 2A 0004 LHLD RAMEND
2360 EDB5 23 INX H
2361 EDB6 19 DAD D
2362 EDB7 D1 POP D
2363 EDB8 77 MOV M,A
2364 EDB9 23 INX H
2365 EDBA C1 POP B
2366 EDBB 71 MOV M,C
2367 EDBC C1 POP B
2368 EDBD CD E2B8 CALL FINI
2369 EDC0 C3 E7D5 CURF: JMP QWHAT
2370 ;
2371 ;
2372 ;
2373 ; EDIT
2374 ;
2375 ; PRIKAZ PRO EDITACI JEDNOHO RADKU PROGRAMU.
2376 ;
2377 ; POSUN KURZORU VLRVO: BS, CTRL-S, SIPKA VLEVO
2378 ; POSUN KURZORU VPRAVO: CTRL-D, SIPKA VPRAVO
2379 ; VYMAZ ZNAKU VPRAVO OD KURZORU: CTRL-X,DEL
2380 ; UKONCENI EDITACE: CR
2381 ; PRERUSENI PRIKAZU: ESC,CS,CTRL-[
2382 ; VLOZENI ZNAKU VLEVO OD KURZORU: JINE ZNAKY > 20H
2383 ;
2384 EDC3 CD E307 EDIT: CALL TSTNUM ; PREVOD ASCII Z BUFFERU NA BIN V <HL>
2385 EDC6 CD E2B0 CALL IGNB ; VYNECH MEZERY
2386 EDC9 FE 0D CPI CR
2387 EDCB C2 E7D5 JNZ QWHAT ; CHYBA PRIKAZU
2388 EDCE CD E869 CALL FNDLN ; NAJDI ADRESU RADKU <DE>
2389 EDD1 DA E331 JC QHOW ; NENI TAKOVY ANI VETSI RADEK
2390 ;
2391 ; PRESUN RADEK Z PROGRAMU DO BUFFERU
2392 ;
2393 EDD4 D5 PUSH D
2394 EDD5 CD E887 CALL FNDNXT
2395 EDD8 EB XCHG ; V <HL> ADRESA NASL. RADKU
2396 EDD9 CD E9D8 CALL DBUFF
2397 EDDC D5 PUSH D
2398 EDDD C1 POP B ; V <BC> ADRESA BUFFERU
2399 EDDE D1 POP D ; V <DE> ADRESA EDITOVANEHO RADKU
2400 EDDF CD E90F CALL MVUP ; PRESUN EDIT. RADEK DO BUFFERU
2401 EDE2 3E 02 MVI A,2
2402 EDE4 32 0031 STA EDKUR ; POC. HODNOTA KURZORU
2403 EDE7 3E 5F MVI A,'_'
2404 EDE9 CD EE59 CALL VSUN
2405 ;
2406 ; ZOBRAZ RADEK
2407 ;
2408 EDEC 3E 1D EDIT0: MVI A,HOME
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-43
2409 EDEE CD 000C CALL CO ; NA ZACETAK OBRAZOVKY
2410 EDF1 3E 1F MVI A,DSCR
2411 EDF3 CD 000C CALL CO ; VYMAZ OBRAZOVKY
2412 EDF6 CD E9D8 CALL DBUFF
2413 EDF9 CD E8FA CALL PRTLN ; ZOBRAZ RADEK Z BUFFERU
2414 ;
2415 ; VSTUP PRIKAZU
2416 ;
2417 EDFC CD F803 EDIT2: CALL CI
2418 EDFF FE 08 CPI LEFT ; SIPKA VLEVO
2419 EE01 CA EE71 JZ VLEVO
2420 EE04 FE 13 CPI CTRLS ; STRL S
2421 EE06 CA EE71 JZ VLEVO
2422 EE09 FE 04 CPI RIGHT ; SIPKA VLEVO
2423 EE0B CA EE8A JZ VPRAVO
2424 EE0E FE 04 CPI CTRLD ; CTRL D
2425 EE10 CA EE8A JZ VPRAVO
2426 EE13 FE 18 CPI DOWN ; SIPKA DOLU
2427 EE15 CA EEAE JZ VYMAZ
2428 EE18 FE 18 CPI CTRLX ; CTRL X
2429 EE1A CA EEAE JZ VYMAZ
2430 EE1D FE 7F CPI RUB ; DEL
2431 EE1F CA EEAE JZ VYMAZ
2432 EE22 FE 1B CPI ESC ; ESC (CTRL [)
2433 EE24 CA E03E JZ RSTART
2434 EE27 FE 0D CPI CR ; CR
2435 EE29 C2 EE47 JNZ VLOZ
2436 ;
2437 ; UKONCENI EDITACE
2438 ;
2439 EE2C CD EED6 CALL VYHOD
2440 EE2F D5 PUSH D
2441 EE30 C1 POP B ; V <BC> ADRESA POSL. ZNAKU + 1
2442 EE31 CD E9D8 CALL DBUFF ; V <DE> ADRESA BUFFERU
2443 EE34 1A LDAX D
2444 EE35 6F MOV L,A
2445 EE36 13 INX D
2446 EE37 1A LDAX D
2447 EE38 67 MOV H,A
2448 EE39 1B DCX D ; V <HL> CISLO RADKU
2449 EE3A 3E 1D MVI A,HOME
2450 EE3C CD 000C CALL CO
2451 EE3F 3E 1F MVI A,DSCR
2452 EE41 CD 000C CALL CO
2453 EE44 C3 E08A JMP EDIST ; VLOZ EDITOVANY RADEK DO PROGRAMU
2454 ;
2455 ; VSUN ZNAK
2456 ;
2457 EE47 FE 20 VLOZ: CPI 20H
2458 EE49 DA EDEC JC EDIT0
2459 EE4C CD EE59 CALL VSUN
2460 EE4F 3A 0031 LDA EDKUR
2461 EE52 3C INR A
2462 EE53 32 0031 STA EDKUR
2463 EE56 C3 EDEC JMP EDIT0
2464 ;
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-44
2465 EE59 F5 VSUN: PUSH PSW
2466 EE5A 2A 0029 LHLD BUFFER
2467 EE5D 06 00 MVI B,0
2468 EE5F 3A 0031 LDA EDKUR
2469 EE62 4F MOV C,A
2470 EE63 09 DAD B ; V <HL> ADRESA KURZORU
2471 EE64 F1 POP PSW
2472 EE65 4E VSU0: MOV C,M
2473 EE66 77 MOV M,A
2474 EE67 79 MOV A,C
2475 EE68 FE 0D CPI CR
2476 EE6A 23 INX H
2477 EE6B C2 EE65 JNZ VSU0 ; VLOZ ZNAK
2478 EE6E 77 MOV M,A ; VLOZ CR
2479 EE6F 13 INX D
2480 EE70 C9 RET
2481 ;
2482 ; POSUN KURZORU VLEVO
2483 ;
2484 EE71 3A 0031 VLEVO: LDA EDKUR
2485 EE74 FE 03 CPI 3
2486 EE76 DA EDEC JC EDIT0
2487 EE79 F5 PUSH PSW
2488 EE7A CD EED6 CALL VYHOD
2489 EE7D F1 POP PSW
2490 EE7E 3D DCR A
2491 EE7F 32 0031 STA EDKUR
2492 EE82 3E 5F MVI A,'_'
2493 EE84 CD EE59 CALL VSUN
2494 EE87 C3 EDEC JMP EDIT0
2495 ;
2496 ; POSUN KURZOR VPRAVO
2497 ;
2498 EE8A 2A 0029 VPRAVO: LHLD BUFFER
2499 EE8D 3A 0031 LDA EDKUR
2500 EE90 4F MOV C,A
2501 EE91 06 00 MVI B,0
2502 EE93 09 DAD B ; V <HL> ADRESA KURZORU
2503 EE94 23 INX H
2504 EE95 23 INX H ; ZAHRN I ZNAK CR NA KONCI RADKU
2505 EE96 CD E2AA CALL COMP ; NA KONCI RADKU?
2506 EE99 D2 EDEC JNC EDIT0 ; ANO - DAL NEPOSOUVEJ
2507 EE9C CD EED6 VPRA0: CALL VYHOD
2508 EE9F 3A 0031 LDA EDKUR
2509 EEA2 3C INR A
2510 EEA3 32 0031 STA EDKUR
2511 EEA6 3E 5F MVI A,'_'
2512 EEA8 CD EE59 CALL VSUN
2513 EEAB C3 EDEC JMP EDIT0
2514 ;
2515 ; VYMAZ ZNAKU
2516 ;
2517 EEAE 2A 0029 VYMAZ: LHLD BUFFER
2518 EEB1 3A 0031 LDA EDKUR
2519 EEB4 4F MOV C,A
2520 EEB5 06 00 MVI B,0
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-45
2521 EEB7 09 DAD B ; V <HL> ADRESA KURZORU
2522 EEB8 CD E2AA CALL COMP
2523 EEBB 23 INX H
2524 EEBC 23 INX H
2525 EEBD 23 INX H
2526 EEBE 23 INX H ; ZAHRN I ZNAK CR MA KONCI RADKU
2527 EEBF D2 EDEC JNC EDIT0 ; KONEC RADKU - SKOK
2528 EEC2 3A 0031 LDA EDKUR
2529 EEC5 3C INR A
2530 EEC6 32 0031 STA EDKUR
2531 EEC9 CD EED6 CALL VYHOD
2532 EECC 3A 0031 LDA EDKUR
2533 EECF 3D DCR A
2534 EED0 32 0031 STA EDKUR
2535 EED3 C3 EDEC JMP EDIT0
2536 ;
2537 EED6 2A 0029 VYHOD: LHLD BUFFER
2538 EED9 3A 0031 LDA EDKUR
2539 EEDC 4F MOV C,A
2540 EEDD 06 00 MVI B,0
2541 EEDF 09 DAD B ; V <HL> ADRESA KURZORU
2542 EEE0 23 VYH0: INX H
2543 EEE1 7E MOV A,M
2544 EEE2 2B DCX H
2545 EEE3 77 MOV M,A
2546 EEE4 23 INX H
2547 EEE5 FE 0D CPI CR
2548 EEE7 C2 EEE0 JNZ VYH0
2549 EEEA 1B DCX D
2550 EEEB C9 RET
2551 ;
2552 ;
2553 ;
2554 ; LOAD
2555 ;
2556 ; SNIMAC A DEROVAC (=>MODEM+MAGNETOFON)
2557 ;
2558 EEEC 11 009B LOAD: LXI D,TXTBGN
2559 EEEF CD F806 LOA1: CALL RI
2560 EEF2 FE 00 CPI 00H
2561 EEF4 CA EEEF JZ LOA1
2562 EEF7 FE 24 CPI '$'
2563 EEF9 C2 EEEF JNZ LOA1
2564 EEFC CD F806 CALL RI
2565 EEFF 6F MOV L,A
2566 EF00 CD F806 CALL RI
2567 EF03 67 MOV H,A
2568 EF04 19 DAD D ; KONCOVA ADRESA
2569 EF05 22 003B SHLD TXTUNF
2570 EF08 EB XCHG
2571 EF09 CD F806 LOA0: CALL RI
2572 EF0C 77 MOV M,A
2573 EF0D 23 INX H
2574 EF0E CD E2AA CALL COMP
2575 EF11 C2 EF09 JNZ LOA0
2576 EF14 D5 PUSH D
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-46
2577 EF15 C5 PUSH B
2578 EF16 CD F004 CALL JOIN0
2579 EF19 C1 POP B
2580 EF1A D1 POP D
2581 EF1B C3 E03E JMP RSTART
2582 ;
2583 ;
2584 ;
2585 ; SAVE
2586 ;
2587 EF1E 0E 24 SAVE: MVI C,'$'
2588 EF20 CD F80C CALL PO
2589 EF23 2A 003B LHLD TXTUNF
2590 EF26 EB XCHG ; V <DE> KONEC PROGRAMU
2591 EF27 21 009B LXI H,TXTBGN ; V <HL> ZACATEK PROGRAMU
2592 EF2A 7B MOV A,E
2593 EF2B 95 SUB L
2594 EF2C 4F MOV C,A
2595 EF2D 7A MOV A,D
2596 EF2E 9C SBB H
2597 EF2F 47 MOV B,A
2598 EF30 CD F80C CALL PO ; POCET BYTU LOW
2599 EF33 48 MOV C,B
2600 EF34 CD F80C CALL PO ; POCET BYTU HIGH
2601 EF37 CD E2AA SAVE1: CALL COMP
2602 EF3A CA EF45 JZ SAVE2
2603 EF3D 4E MOV C,M
2604 EF3E CD F80C CALL PO
2605 EF41 23 INX H
2606 EF42 C3 EF37 JMP SAVE1
2607 EF45 0E 1A SAVE2: MVI C,SUBS
2608 EF47 CD F80C CALL PO
2609 EF4A D5 PUSH D
2610 EF4B C5 PUSH B
2611 EF4C CD F028 CALL TCLOSE
2612 EF4F C1 POP B
2613 EF50 D1 POP D
2614 EF51 C3 E03E JMP RSTART
2615 ;
2616 ;
2617 ;
2618 ; GET
2619 ;
2620 EF54 CD F806 GET: CALL RI
2621 EF57 6F MOV L,A
2622 EF58 CD F806 CALL RI
2623 EF5B 67 MOV H,A
2624 EF5C C9 RET
2625 ;
2626 ;
2627 ;
2628 ; PUT
2629 ;
2630 EF5D CD E70B PUT: CALL PARN
2631 EF60 C5 PUSH B
2632 EF61 4D MOV C,L
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-47
2633 EF62 CD F80C CALL PO
2634 EF65 4C MOV C,H
2635 EF66 CD F80C CALL PO
2636 EF69 C1 POP B
2637 EF6A CD E2B8 CALL FINI
2638 EF6D C3 E7D5 JMP QWHAT
2639 ;
2640 ;
2641 ;
2642 ; CLOSE
2643 ;
2644 EF70 CD EF90 CLOSE: CALL CHKTPR ; JE PRIPOJEN MAGNETOFON ?
2645 EF73 D5 PUSH D
2646 EF74 C5 PUSH B
2647 EF75 CD F028 CALL TCLOSE
2648 EF78 C1 POP B
2649 EF79 D1 POP D
2650 EF7A CD E2B8 CALL FINI
2651 EF7D C3 E7D5 JMP QWHAT
2652 ;
2653 ;
2654 ;
2655 ; INIT
2656 ;
2657 EF80 CD EF90 INIT: CALL CHKTPR ; JE PRIPOJEN MAGNETOFON ?
2658 EF83 D5 PUSH D
2659 EF84 C5 PUSH B
2660 EF85 CD F004 CALL JOIN0
2661 EF88 C1 POP B
2662 EF89 D1 POP D
2663 EF8A CD E2B8 CALL FINI
2664 EF8D C3 E7D5 JMP QWHAT
2665 ;
2666 ;
2667 ; CHKTPR - TEST PRITOMNOSTI MAGNETOFONU
2668 ;
2669 EF90 3A F000 CHKTPR: LDA ADRTPR
2670 EF93 FE 55 CPI KEYTPR
2671 EF95 C2 E7D5 JNZ QWHAT
2672 EF98 C9 RET
2673 ;
2674 .DEPHASE
2675 ;
2676 ;*********************************************
2677 ;
2678 ; DEFINICE RAM
2679 ;
2680 ;*********************************************
2681 ;
2682 .PHASE UZIRAM
2683 ;
2684 0006 LEGT: DS 2
2685 0008 IOBUFA: DS 1
2686 0009 IOBUFB: DS 1
2687 000A IOBUFC: DS 1
2688 000B LISTC: DS 1
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE 1-48
2689 000C CO: DS 3 ; SKUTECNA ADR. CO OR LO
2690 000F MASKIN: DS 1 ; MASKA PRO FUNKCI 'INM'
2691 0010 CURRNT: DS 2 ; PRAVE ZPRACOVAVANY RADEK PROGRAM
2692 0012 STKGOS: DS 2 ; POINTER PRO GOSUB
2693 0014 VARNXT: DS 2
2694 0016 STKINP: DS 2
2695 0018 LOPVAR: DS 2 ; POINTER PRO FOR
2696 001A LOPINC: DS 2
2697 001C LOPLMT: DS 2
2698 001E LOPLN: DS 2
2699 0020 LOPPT: DS 2
2700 0022 RANPNT: DS 2 ; PARAMETR PRO RANDOM
2701 0024 ARMM: DS 2
2702 0026 MODE: DS 1 ; REZIM ZOBRAZENI (0-PRIMO, 1-INVERZNE)
2703 0027 TXTEND: DS 2 ; MAXIMALNI ADR. PRO BASIC PROGRAMU
2704 0029 BUFFER: DS 2 ; POINTER NA RADKONY BUFFER
2705 002B BUFEND: DS 2 ; POINTER NA KONEC RADKOVEHO BUFFERU
2706 002D XKUR: DS 1 ; X SOURADNICE GRAF. KURZORU
2707 002E YKUR: DS 1 ; Y SOURADNICE GRAF. KURZORU
2708 002F DELTAX: DS 1 ; POMOCNA PROMENA INTRPOLATORU
2709 0030 DELTAY: DS 1 ; POMOCNA PROMENA INTRPOLATORU
2710 0031 EDKUR: DS 1 ; KURZOR EDITORU
2711 .DEPHASE
2712 ;
2713 ; OBSLUHA TVRDEHO BREAKU - RST 7
2714 ;
2715 .PHASE 38H
2716 ;
2717 0038 RST7RA: DS 3
2718 ;
2719 003B TXTUNF: DS 2 ; POINTER NA KONEC PROGRAMU BASIC
2720 003D DS 40
2721 0065 VARBGN: DS 54 ; PROSTOR PRO PROMENE V BASICU
2722 009B TXTBGN: DS 32 ; MINIMALNI PROSTOR PRO PROGRAM V BASICU
2723 00BB TXTE: DS 1 ; KONEC MINIMALNIHO PROGRAMU
2724 ;
2725 .DEPHASE
2726 ;
2727 END
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
EA4E A1 E74F ABS F845 ADRKUR
F000 ADRTPR E332 AHOW E559 AREM
0024 ARMM F82D ASHEX E80B ASORRY
E7D6 AWHAT E000 BASIC E000 BASPET
EA18 BCALL EBC1 BEEP EBD0 BEEP0
0007 BELL E015 BEND EA5C BIN
EA25 BOUT EB68 BREAK EB6B BREAK1
0008 BS 002B BUFEND 0029 BUFFER
EADE BYTE E785 CHGSGN E782 CHKSGN
EF90 CHKTPR F803 CI E7A0 CK1
E79A CKHLDE E55D CLEAR EF70 CLOSE
E991 CLS 000C CO F809 COM
E2AA COMP EB57 CONT 000D CR
E974 CRLF E987 CROUT F812 CSTS
0003 CTRLC 0004 CTRLD 0013 CTRLS
0018 CTRLX 0019 CTRLY EDC0 CURF
0010 CURRNT ED95 CURS E842 CXBUFA
E838 CXBUFE F830 DADR E9D8 DBUFF
F833 DBYTE E5F8 DEFLT 002F DELTAX
0030 DELTAY E9A5 DIRECT EB81 DISP
E392 DISPL E765 DIVIDE EC89 DIVT0
EC87 DIVTRI 001E DL 0018 DOWN
ECB5 DRAF EC92 DRAW 001F DSCR
E9E0 DTXTE E770 DV1 E772 DV2
EB9A ECOM EBAC ECOM0 E08A EDIST
EDC3 EDIT EDEC EDIT0 EDFC EDIT2
0031 EDKUR E7CF ENDCHK E7D9 ERROR
001B ESC E9AC EX1 E9BF EX2
E9CA EX3 E9CC EX4 E9D1 EX5
E9A8 EXEC E60C EXPR E610 EXPR1
E654 EXPR2 E690 EXPR3 E6F4 EXPR4
000C FF E7BC FIN E2B8 FINI
E888 FL2 E869 FNDLN E871 FNDLP
E887 FNDNXT E889 FNDSKP E488 FOR
E498 FR1 E4A4 FR2 E4AA FR3
E4AD FR4 E4C5 FR7 E4E6 FR8
EF54 GET E811 GETLN E818 GL1
E841 GL3 E851 GL4 E859 GL5
E44B GOSUB E37B GOTO E97F H2
E38C HARD EA21 HERE EB29 HEX
EB32 HNXTH 001D HOME E338 HOW
EA91 I E571 IFF E574 IFFR
E2B0 IGNB EB1D INCHAR EA6B INEM
EF80 INIT EA61 INM E582 INPERR
ECCA INPO1 ED4B INPO10 ED51 INPO11
ED5A INPO12 ED63 INPO13 ED6A INPO14
ED2F INPO15 ECD8 INPO2 ECEA INPO3
ECEC INPO4 ED0D INPO5 ED14 INPO6
ED1B INPO7 ED34 INPO8 ED45 INPO9
ED39 INPOEX E58C INPUT ECB8 INTERP
E006 INTSTA 0008 IOBUFA 0009 IOBUFB
000A IOBUFC E58C IP1 E59C IP2
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE S-1
E5AE IP3 E5EC IP4 EAFA IST
F004 JOIN0 0055 KEYTPR 0200 KILO
0008 LEFT 0006 LEGT E010 LENGHT
E5FE LET 000A LF 0035 LINECO
E981 LINEF E39B LIST 000B LISTC
E398 LLIST F80F LO EB8C LO1
EF09 LOA0 EEEF LOA1 EEEC LOAD
001A LOPINC 001C LOPLMT 001E LOPLN
0020 LOPPT 0018 LOPVAR E3E6 LPRINT
E3AB LS0 E3AE LS1 E3C0 LS3
E3C9 LS4 E3BD LS5 E3E0 LS6
E609 LT1 E9E8 MASK 000F MASKIN
E922 MD1 F81B MEMCHK 0026 MODE
EBB1 MONIT ED6F MOVE ED92 MOVF
E0D8 MSG1 E91A MVDOWN E90F MVUP
EC79 NEPOK E34F NEW E4ED NEXT
F839 NEXTM E5DC NOBRK E564 NULD20
E4F6 NX0 E532 NX1 E548 NX2
E510 NX3 E522 NX4 E546 NX5
EA84 O E33D OK E976 OUTC
EB13 OUTCHR EB93 OUTDIS E70B PARN
EAC2 PEEK EC13 PIXL EC3E PIXL0
EC82 PIXL1 EBE6 PLOT EC10 PLTF
E8C1 PN1 E8C8 PN2 E8D8 PN3
E8D9 PN4 E8E7 PN5 E8ED PN6
F80C PO EC56 POK EC59 POK0
EC6E POK1 EAC9 POKE E929 POPA
EB55 POPRET E943 PP1 E407 PR0
E3F9 PR1 E42C PR3 E401 PR6
E440 PR8 E3E9 PRINT EB7A PRNTST
E8FA PRTLN E8B6 PRTNUM E893 PRTSTG
E894 PS1 E971 PU1 E945 PUSHA
EF5D PUT E331 QHOW E80A QSORRY
E8A8 QT1 E8B1 QT2 E8A1 QTSTG
EB05 QUOTE E7D5 QWHAT E740 RA1
E731 RA2 E9F2 RAM E9F5 RAM1
0004 RAMEND 0022 RANPNT E54E REM
E46D RETURN F806 RI 0004 RIGHT
E71C RND 0038 RST7RA E041 RSTAR1
E03E RSTART 007F RUB E358 RUN
E35E RUNNXL E36E RUNSML E367 RUNTSL
EF1E SAVE EF37 SAVE1 EF45 SAVE2
EB7D SETCO E7A3 SETVAL E758 SIZE
E349 SORRY F83C SPACE E066 ST2
E06F ST3 E0A6 ST4 E074 ST5
E01B START E03B START1 0012 STKGOS
0016 STKINP EB65 STOP E77B SUBDE
001A SUBS EA4B TAB E0E9 TAB1
E122 TAB2 E227 TAB4 E27B TAB5
E283 TAB6 E28D TAB8 E303 TC2
F028 TCLOSE F84B TIMER E30E TN1
E00B TOP E2F3 TSTC E307 TSTNUM
E2BF TSTV E2E3 TV1 E104 TXMON
009B TXTBGN 00BB TXTE 0027 TXTEND
003B TXTUNF E0CF USREND 0006 UZIRAM
0065 VARBGN 0014 VARNXT EE71 VLEVO
'PLAN80A TINY BASIC V3Q' MACRO-80 3.44 09-Dec-81 PAGE S-2
EE47 VLOZ EE9C VPRA0 EE8A VPRAVO
EE65 VSU0 EE59 VSUN EEE0 VYH0
EED6 VYHOD EEAE VYMAZ EBB4 WAIT
E343 WHAT EAE8 WORD EAF1 WRIT2
002D XKUR E616 XP11 E61C XP12
E622 XP13 E629 XP14 E631 XP15
E637 XP16 E63D XP17 E63F XP18
E667 XP23 E670 XP24 E686 XP26
E693 XP31 E6B2 XP32 E6BA XP33
E6E6 XP35 E6FA XP40 E705 XP41
002E YKUR EA8D ZZZ4
No Fatal error(s)
-------------------------------------------------------------
V.4. VYPIS OBSAHU EPROM GENERATORU ZNAKU PRO SEMIGRAFIKU
========================================================
VYPIS JE PORIZEN V HEXADECIMALNIM FORMA, KTERY MA
TVAR:
1) DVOJTECKA - JEDEN ZNAK
2) POCET BYTU DAT (HEXADECIMALNE) - DVA ZNAKY
3) ADRESA UMISTENI (ZDE OD 2000H) - CTYRI ZNAKY
4) PRIZNAK (ZDE 00) - DVA ZNAKY
5) DATA (HEXADECIMALNE PO BYTECH) - N x DVA ZNAKY
6) KONTROLNI SOUCET (POLOZKY 2-5) - DVA ZNAKY
POZN. PRED KAZDYM RADKEM SE NACHAZEJI "NEVIDITELNE" ZNAKY
"CR" A "LF" (NAVRAT VOZU A NOVY RADEK).
:1020000004080014140808100204000E12120E0036
:102010000A0400080E0808000A04000E10100E0042
:102020000A0402021E121E000A040C121E100C00EA
:102030000A040E100C021C000A04081C08080C00FC
:102040000204001212120E00040800101010080002
:102050000020203B020302000A04001E04081E00A8
:102060000C0C001212120E0000302037050705007C
:102070000A04001C121212000204000C12120C00BE
:10208000040822140808080004081C223E2222002A
:1020900014083C223C28240014081C2220221C0086
:1020A00014083C2222223C0014083E2038203E0026
:1020B00004083E2038203E0014083E0808080800A6
:1020C0000408222222221C0004081C0808081C0004
:1020D00002040C121E100E0014083E0408103E00EC
:1020E000140822322A26220004081C2222221C0064
:1020F0000C0C222222221C00000000000000000024
:1021000000000000000000000008080808000800A7
:10211000001414000000000000143E14143E1400CB
:10212000001E281C0A0A3C000032360C1836260015
:10213000001028102A241A000008080000000000DF
:102140000006081010080600001804020204180017
:1021500000082A1C1C2A0800000008083E08080085
:10216000000000000C0C1000000000003E00000009
:1021700000000000001818000000020408102000F1
:10218000001C262A2A321C0000040C1404041E0021
:10219000001C220408103E00001C220402221C0025
:1021A00000040810243E0400003E203C02221C00D3
:1021B000001C20203C221C00003E020408102000CD
:1021C000001C221C22221C00001C22221E021C00B9
:1021D000000018180018180000181800181820001F
:1021E00000000408100804000000003E003E00004B
:1021F0000000100804081000001C22040800080059
:10220000001C2A2420221C00001C22223E22220024
:10221000003C223C22223C00001C222020221C00E8
:10222000003C222222223C00003E203820203E009A
:10223000003E203820202000001C22202E221C00DE
:102240000022223E22222200001C080808081C004E
--------------------------- V.4 - 1 -------------------------
-------------------------------------------------------------
:10225000000E020202221C00002428302824220042
:102260000020202020203E000022362A22222200A8
:102270000022322A26222200001C222222221C00B6
:10228000003C22223C202000001C22222A261C0086
:10229000003C223C28242200001C201C02023C009E
:1022A000003E0808080808000022222222221C0002
:1022B00000222214140808000022222A2A141400E2
:1022C000002214080814220000221408080808003C
:1022D000003E040810203E00003C202020203C004E
:1022E0000000201008040200001E020202021E006C
:1022F0000008142200000000000000000000003E62
:1023000000000000000000000000000E12120E008D
:102310000010101C12121C000000000E10100E0005
:102320000002020E12120E0000000C121E100C0011
:10233000000C081C0808080000000E12120E020C07
:10234000001010101C1212000008000808080400F9
:10235000000200020202120C0010101014181400E7
:102360000018080808081C00000000342A2A2A0067
:102370000000001C121212000000000C12120C00CF
:102380000000001C121C10100000000E120E0202B1
:10239000000000080E08080000000E100C021C00CF
:1023A0000000081C08080C000000001212120E00A9
:1023B0000000002222140800000000222A2A140033
:1023C0000000221408142200000000141408081051
:1023D0000000001E04081E0000040808100808047D
:1023E000000808080808080000080404020404089B
:1023F0000000102A0400000055AA55AA55AA55AAA3
:00000001FF
--------------------------- V.4 - 2 -------------------------
-------------------------------------------------------------
V.5. VYPIS OBSAHU EPROM GENERATORU ZNAKU S MALYMI PISMENY
=========================================================
VYPIS JE PORIZEN V HEXADECIMALNIM FORMATU, KTERY MA
TVAR:
1) DVOJTECKA - JEDEN ZNAK
2) POCET BYTU DAT (HEXADECIMALNE) - DVA ZNAKY
3) ADRESA UMISTENI (ZDE OD 2400H) - CTYRI ZNAKY
4) PRIZNAK (ZDE 00) - DVA ZNAKY
5) DATA (HEXADECIMALNE PO BYTECH) - N X DVA ZNAKY
6) KONTROLNI SOUCET (POLOZKY 2-5) - DVA ZNAKY
POZN. PRED KAZDYM RADKEM SE NACHAZFJI "NEVIBITELNE" ZNAKY
"CR" A "LF" (NAVRAT VOZU A NOVY RADEK).
:1024000000081C2A080800000004023F0204000023
:102410000008082A1C080000003F212121213F005C
:1024200000001E12121E00000000000C0C00000034
:10243000AA55AA55AA55AA55001E213F12330000DD
:102440000008103F1008000028382800070202008A
:102450002020380007060400282810000702020088
:102460003830200007060400382038000E0E09001E
:1024700038200838070507000C0C3F0C0C1221000F
:10248000787887877878878700000000F808080840
:1024900008080808FF0808080C1E3F33333F1E0CCD
:1024A00008080808F8080808080808080F080808B5
:1024B00008080808FF00000000000000FF080808E6
:1024C00000000000FF0000000808080808080808CD
:1024D000080808080F000000000000000F080808A6
:1024E00008080808F8000000003C30282402010019
:1024F000003F213F213F0000003F312925233F00BD
:1025000000000000000000000008080808000800A3
:10251000001414000000000000143E14143E1400C7
:10252000001E281C0A0A3C000032360C1836260011
:10253000001028102A241A000008080000000000DB
:102540000006081010080600001804020204180013
:1025500000082A1C1C2A0800000008083E08080081
:10256000000000000C0C1000000000003E00000005
:1025700000000000001818000000020408102000ED
:10258000001C262A2A321C0000040C1404041E001D
:10259000001C220408103E00001C220402221C0021
:1025A00000040810243E0400003E203C02221C00CF
:1025B000001C20203C221C00003E020408102000C9
:1025C000001C221C22221C00001C22221E021C00B5
:1025D0000000181800181800000C0C000C0C10005B
:1025E00000000408100804000000003E003E000047
:1025F0000000100804081000001C220C080008004D
:10260000001C2A2420221C00001C22223E22220020
:10261000003C223C22223C00001C222020221C00E4
:10262000003C222222223C00003E203820203E0096
:10263000003E203C20202000001C22202E221C00D6
:102640000022223E22222200001C080808081C004A
:10265000000E020202221C0000242830282422003E
--------------------------- V.5 - 1 -------------------------
-------------------------------------------------------------
:102660000020202020203E000022362A2A2222009C
:102670000022322A26222200001C222222221C00B2
:10268000003C22223C202000001C22222A261C0082
:10269000003C223C28242200001C201C02023C009A
:1026A000003E0808080808000022222222221C00FE
:1026B00000222214140808000022222A2A141400DE
:1026C0000022140808142200002214080808080038
:1026D000003E040810203E00001E101010101E00C6
:1026E0000000201008040200001E020202021E0068
:1026F0000008142200000000000000000000003E5E
:102700000000000000000000000000003030303009
:10271000000000000C0C0C0C000000003C3C3C3C99
:1027200000000000030303030000000033333333D1
:10273000000000000F0F0F0F000000003F3F3F3F61
:102740003030303000000000303030303030303049
:10275000303030300C0C0C0C303030303C3C3C3CD9
:102760003030303003030303303030303333333311
:10277000303030300F0F0F0F303030303F3F3F3FA1
:102780000C0C0C0C000000000C0C0C0C3030303029
:102790000C0C0C0C0C0C0C0C0C0C0C0C3C3C3C3CB9
:1027A0000C0C0C0C030303030C0C0C0C33333333F1
:1027B0000C0C0C0C0F0F0F0F0C0C0C0C3F3F3F3F81
:1027C0003C3C3C3C000000003C3C3C3C3030303069
:1027D0003C3C3C3C0C0C0C0C3C3C3C3C3C3C3C3CF9
:1027E0003C3C3C3C030303033C3C3C3C3333333331
:1027F0003C3C3C3C0F0F0F0F3C3C3C3C3F3F3F3FC1
:00000001FF
--------------------------- V.5 - 2 -------------------------
P L A N 8 0 A
ROZPIS SOUCASTEK PRO VERZI V.3.3
DATUM VYPISU: 27/09/88
PRI PROVADENI SEZNAMU SOUCASTEK ZAHRNOUT:
ZAKLADNI VERZI PROCESOROVE DESKY, (A/N):N
PROCESOROVOU DESKU, (ANO/NE):A
DYNAMICKOU RAM, (ANO/NE):N
ZDROJ NAPETI, (ANO/NE):N
MODEM MAGNETOFONU, (ANO/NE):N
RADIC DISKET, (ANO/NE):N
ASCII KLAVESNICI, (ANO/NE):N
VF MODULATOR, (ANO/NE):N
KAPACITNI KLAVESNICI, (ANO/NE):N
VYTVORIT OBJEDNAVKOVE LISTY (ANO/NE):N
VYPSAT CENY JEDNOTLIVYCH VERZI, (ANO/NE) ."N
PAGE NO, 00001 'SEZNAM SOUCASTEK PROCESOROVE DESKY'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
IO 1 UCY7486 - - - 17.50 NE ANO (K155LP5)
IO 2 MH74S00 - - - 17.50 NE ANO LZE POUZIT TEZ TYP MH7400, MH74ALS00
(K531LA3P,K155LA3)
IO 3 MH74S00 - - - 17.50 NE ANO LZE POUZIT TEZ TYP MH7400, MH74ALS00
(K531LA3P, K155LA3)
IO 4 MH74S04 - - - 19.00 NE ANO LZE POUZIT TEZ TYP MH7404, MH74ALS04
(K531LN1P,K155LN1)
IO 5 MH74S0O - - - 17.50 NE ANO LZE POUZIT TEZ TYP MH7400, MH74ALS00
(K531LA3P,K155LA3)
IO 6 MH7405 - - - 13.50 NE ANO (K155LN2)
IO 7 MH7410 - - - 13.50 NE ANO (K155LA4)
IO 8 MH7410 - - - 13.50 NE ANO (K155LA4)
IO 9 MH74164 - - - 30.00 NE ANO
IO 10 MH7496 - - - 26.00 NE ANO
IO 11 MH7496 - - - 26.00 NE ANO
IO 12 MHB8608 - - - 165.00 ANO ANO LZE POUZIT TYPY 2708 NEBO 2716
IO 13 HHB8282 - - - 72.00 NE ANO
IO 14 MH74S10 - - - 17.50 NE ANO (K531LA4P), LZE POUZIT MH74ALS10,
MH7410 MUZE SNIZIT STEJNOMERNOST PIXLU
OBRAZU
IO 15 MH7474 - - - 17.00 NE ANO (K155TM2)
IO 16 MH7493A - - - 17.00 NE ANO
IO 17 MH7493A - - - 17.00 NE ANO
IO 18 MH7493A - - - 17.00 NE ANO
IO 19 MH7493A - - - 17.00 NE ANO
IO 20 MHB2716C - - - 165.00 ANO ANO TAKE: I2708, MHB8608, I2716, I2732,
VYBER: K573RF2, (OBSAHUJE MONITOR)
IO 21 MHB2716C - - - 165.00 ANO ANO VIZ IO 20 (OBSAHUJE OVLADACI PROGRAM
PRO MODEM MAGNETOFONU)
IO 22 MHB2716C - - - 165.00 ANO ANO VIZ IO 20 (OBSAHUJE TINY-BASIC I)
IO 23 MHB8608 - - - 165.00 ANO NE
IO 24 MHB8608 - - - 165.00 ANO NE
IO 25 MHB2716C - - - 165.00 ANO ANO VIZ 10 20 (OBSAHUJE TINY-BASIC II)
IO 26 MH3205 - - - 32.00 NE ANO
IO 27 UCY7407 - - - 16.50 NE NE (K155LN4) NUTNE PRO EPROM TYPU 2716 A
2732 NEBO RAM TYPU 6116
IO 28 MH3205 - - - 32.00 NE ANO
IO 29 UCY7407 - - - 16.50 NE NE (K155LN4) NUTNE PRO EPROM TYPU 2716,
2732 NEBO RAM TYPU 6116
IO 30 MH74S04 - - - 19.00 NE ANO LZE POUZIT MH74ALS04, MH7404
(K531LN1P, K155LN1)
IO 31 MH74S20 - - - 17.50 NE ANO LZE POUZIT MH74ALS20, MH7420
(K531LA1P,KA155LA1)
IO 32 MH74S00 - - - 17.50 NE ANO LZE POUZIT MH74ALS00, MH7400
(K531LA3P, K155LA3)
IO 33 MH74S30 - - - 13.50 NE NE LZE POUZIT MH74ALS30, MH7430
(K155LA2,K531LA2P)
IO 34 MHB2114 - - - 115.00 NE ANO
IO 35 MHB2114 - - - 115.00 NE ANO
IO 36 MHB2114 - - - 115.00 NE ANO
IO 37 MHB2114 - - - 115.00 NE ANO
IO 38 MHB2114 - - - 115.00 NE ANO
IO 39 MHB2114 - - - 115.00 NE ANO
PAGE NO. 00002 'SEZNAM SOUCASTEK PROCESOROVE DESKY'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
IO 40 MHB2114 - - - 115.00 NE ANO
IO 41 MHB2114 - - - 115.00 NE ANO
IO 42 MHB8286 - - - 72.00 NE NE
IO 43 UCY74157 - - - 22.00 NE ANO V PRIPADE POUZITI STAVU HOLD JE NUTNE
POUZIT SN74LS257 (K555KP11)
IO 44 UCY74157 - - - 22.00 NE ANO VIZ IO 43
IO 45 UCY74157 - - - 22.00 NE ANO VIZ IO 43
IO 46 UCY74157 - - - 22.00 NE ANO VIZ IO 43
IO 47 MH7496 - - - 26.00 NE ANO
IO 48 MH8228 - - - 80.00 NE ANO
IO 49 MHB8080A - - - 110.00 NE ANO (KR580IK80)
IO 50 MHB8224 - - - 53.00 NE ANO
IO 51 MH74S74 - - - 26.00 NE ANO (K155TM2), LZE POUZIT MH74ALS74,
MH7474
IO 52 UCY7486 - - - 17.50 NE ANO (K155LP5)
IO 53 UCY74S08 - - - 13.50 NE ANO LZE POUZIT MH74ALS08, UCY7408
(K155LI1,K531LI1P)
IO 54 MH3205 - - - 32.00 NE ANO
IO 55 HH7404 - - - 13.50 NE ANO (K155LN1)
IO 56 MH74S00 - - - 17.50 NE ANO LZE POUZIT MH74ALS00, MH7400,
(K155LA3)
IO 57 MH7474 - - - 17.00 NE NE (K155TM2)
IO 58 MH7430 - - - 13.50 NE NE LZE POUZIT MH74ALS30, (K155LA2)
IO 59 MH7474 - - - 17.00 NE ANO (K155TM2)
IO 60 MH3214 - - - 61.00 NE NE (K589IK14)
IO 61 MH3216 - - - 30.00 NE ANO (K589AP16)
IO 62 MHB8286 - - - 72.00 NE NE
IO 63 MHB8286 - - - 72.00 NE NE V ZAKLADNI VERZI NAHRAZENO ODPORY (VIZ
TEXT)
IO 64 NHB8255A - - - 110.00 NE ANO NELZE POUZIT POMALE STARE VERZE ..8255
(BEZ "A")
IO 65 MHB8286 - - - 72.00 NE NE V ZAKLADNI VERZI NAHRAZENO ODPORY (VIZ
TEXT)
IO 66 MHB8286 - - - 72.00 NE NE VIZ IO-65
IO 67 MH3212 - - - 32.00 NE ANO (K589IK12)
IO 68 MH7430 - - - 13.50 NE NE (K155LA2)
D 1 KA206 - - - 1.90 - ANO
D 2 KA206 - - - 1.90 - ANO
D 3 KA206 - - - 1.90 - ANO PRO ZAKLADNI VERZI, ZATEMNENI CASTI
OBRAZOVKY
D 4 KA206 - - - 1.90 - ANO PRO ZAKL. VERZI. ZATEMNENI CASTI
OBRAZOVKY
D 5 KA206 - - - 1.90 - NE
D 6 KA206 - - - 1.90 - NE
D 7 KA206 - - - 1.90 - NE
D 8 KA206 - - - 1.90 - NE
D 9 LQ1101 - - - 2.70 - ANO KONTROLA NAPAJECIHO NAPETI -5V
D 10 LQ1401 - - - 3.50 - ANO KONTROLA NAPAJECIHO NAPETI +5V
D 11 LQ1701 - - - 3.50 - ANO KONTROLA NAPAJECIHO NAPETI +12V
D 12 KA206 - - - 1.90 - ANO
D 13 KA206 - 0 0 1.90 - ANO POUZE V ZAKLADNI VERZI
R 1 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 2 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
PAGE NO. 00003 'SEZNAM SOUCASTEK PROCESOROVE DESKY'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
R 3 TR212 10K - 0.125 0.30 - ANO LZE POUZIT TR213
R 4 TP008 2K2 - 0.125 15.00 - ANO TRIMR PRO NASTAVENI HLOUBKY MODULACE
VF SIGNALU
R 5 TR212 560R - 0.125 0.30 - ANO LZE POUZIT TR213
R 6 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 7 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 8 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 9 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 10 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 11 TR212 270R - 0.125 0.30 - ANO LZE POUZIT TR213
R 12 TR212 270R - 0.125 0.30 - ANO LZE POUZIT TR213
R 13 TR212 680R - 0.500 0.30 - ANO LZE POUZIT TR213
R 14 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 15 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 16 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 17 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 18 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 19 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 20 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 21 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 22 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 23 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 24 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 25 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 26 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 27 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 28 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 29 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 30 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 31 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 32 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 33 TR212 4K7 - 0.125 0.30 - ANO LZE POUZIT TR213
R 34 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 35 TR212 2K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 36 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 37 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 38 TR212 10K - 0.125 0.30 - ANO LZE POUZIT TR213
R 39 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 40 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 41 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 42 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 43 TR212 47R - 0.125 0.30 - ANO LZE POUZIT TR213
R 44 TR212 56K - 0.125 0.30 - ANO LZE POUZIT TR213
R 45 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 46 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 47 TR212 47K - 0.125 0.30 - ANO LZE POUZIT TR213
R 48 TR212 47R - 0.125 0.30 - ANO LZE POUZIT TR213
R 49 TR212 1K5 - 0.125 0.30 - ANO LZE POUZIT TR213
R 50 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 51 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 52 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 53 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
R 54 TR212 560R - 0.125 0.30 - ANO LZE POUZIT TR213
PAGE NO. 00004 'SEZNAM SOUCASTEK PROCESOROVE DESKY'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
R 55 TR212 560R - 0.125 0.30 - ANO LZE POUZIT TR213
R 56 TR212 470R - 0.125 0.30 - ANO LZE POUZIT TR213
R 57 TR212 1K2 - 0.125 0.30 - ANO LZE POUZIT TR213
C 1 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 2 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 3 TE133 15H 16 - 21.00 - ANO TANTALOVY KAPKOVY
C 4 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 5 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 6 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 7 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 8 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 9 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 10 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 11 TE131 47M 6 - 25.00 - ANO TANTALOVY KAPKOVY
C 12 TK782 33K 16 - 1.00 - ANO LZE POUZIT TK783
C 13 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 14 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 15 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 16 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 17 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 18 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 19 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 20 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 21 TE133 15M 16 - 21.00 - ANO TANTALOVY KAPKOVY
C 22 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 23 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 24 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 25 TE131 47M 6 - 25.00 - ANO TANTALOVY KAPKOVY
C 26 TK782 33K 16 - 1.00 - ANO LZE POUZIT TK783
C 27 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 28 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 29 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 30 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 31 TK656 10P 12 - 1.00 - ANO LZE POUZIT TK676, TK696, TK754, TK755
C 32 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 33 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 34 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 35 TE131 47M 6 - 25.00 - ANO TANTALOVY KAPKOVY
C 36 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 37 TE133 15M 16 - 21.00 - ANO TANTALOVY KAPKOVY
C 38 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 39 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 40 TE132 22M 10 - 23.00 - ANO TANTALOVY KAPKOVY
C 41 TE133 15M 16 - 21.00 - ANO TANTALOVY KAPKOVY
C 42 TK782 33K 12 - 1.00 - ANO LZE POUZIT TK783
C 43 TK782 33K 12' - 1.00 - ANO LZE POUZIT TK783
C 44 TK764 33K 6 - 1.00 - ANO LZE POUZIT TK783
K 1 WK46205/N - - - 24.00 - ANO 12 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKTOR NAPAJENI)
K 2 WK46205/N - - - 24.00 - NE 12 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKTOR VIDEO MODULATORU)
K 3 UK46205/N - - - 24.00 - NE 12 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKTOR PROGRAMATORU)
PAGE NO. 00005 'SEZNAM SOUCASTEK PROCESOROVE DESKY'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
K 4 WK46203/N - - - 48.00 - ANO 36 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKTOR VSTUPNE/VYSTUPNI)
K 5 WK46203/N - - - 48.00 - NE 36 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKOR ROZSIREND
K 6 WK46265/N - - - 34.00 - ANO 24 POLU, ZLACENY, DO PLOSNYCH SPOJU,
VIDLICE (KONEKTOR KLAVESNICE)
K 7 WK46513/W - - - 65.00 - NE 36 POLU, ZLACENY, PRO OVIJENI, ZASUVKA
(KONEKTOR DYNAMICKE PAMETI RAM)
K 8 UK46513/W - - - 65.00 - ANO 36 POLU, ZLACENA, PRO OVIJENI, ZASUVKA
(PROPOJOVACI KABELY KLAVESNICE A
MODEMU)
K 9 WK46545/W - - - 34.00 - ANO 24 POLU, ZLACENA, PRO OVIJENI, ZASUVKA
(PROPOJOVACI KABEL KLAVSNICE)
O 1 - - - - 250.00 - ANO PIEZOELEKTIRICKY KRYSTAL 18,432 MHZ
O 2 WK55900 - - - 37.00 - ANO MIKROSPINAC RESTART
O 3 WK55900 - - - 37.00 - NE MIKROSPINAC INTERRUPT
O 4 - - - - 295.00 - ANO PLOSNY SPOJ PROCESOROVE DESKY S
PROKOVENYMI OTVORY, PLAN 80A V.3.3.
O 5 TS5220004 - - - 350.00 ANO ANO ALFANUMERICKA TLACITKOVA SOUPRAVA S 37
HMATNIKY
O 6 - - - - 50.00 - NE SKRINKA NA MIKROPOCITAC PLAN 80A V.3.3
(UMELA HMOTA)
** TOTAL **
5420.00
PAGE NO. 00001 'SEZNAM SOUCASTEK MODEMU MAGNETOFONU'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
IO 1 MAA741 - - - 17.00 NE NE
IO 2 MH7400 - - - 13.50 NE NE
IO 3 MH7442 - - - 17.00 NE NE
IO 4 MH7490 - - - 17.00 NE NE
IO 5 MH7400 - - - 13.50 NE NE
IO 6 MH7474 - - - 17.00 NE NE
IO 7 MH7493 - - - 17.00 NE NE
IO 8 MH7493A - - - 17.00 NE NE
T 1 KC509 - - - 9.00 - NE
T 2 KC509 - - - 9.00 - NE
D 1 LQ1701 - - - 3.50 - NE ZELENA
D 2 LQ1401 - - - 2.50 - NE ZLUTA
D 3 LQ1101 - - - 3.50 - NE CERVENA
D 4 LQ1401 - - - 3.50 - NE ZLUTA
C 1 TE131 47M 6 - 25.00 - NE TANTALOVY KAPKOVY
C 2 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 3 TK782 M15 6 - 1.00 - NE LZE POUZIT TK783
C 4 TK782 470P 6 - 1.00 - NE LZE POUZIT TK783
C 5 TK782 2K2 6 - 1.00 - NE LZE POUZIT TK783
C 6 TK782 470P 6 - 1.00 - NE LZE POUZIT TK783
C 7 TK782 M1 6 - 1.00 - NE LZE POUZIT TK783
C 8 TK782 22K 6 - 1.00 - NE LZE POUZIT TK783
C 9 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 10 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 11 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 12 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 13 TE131 47M 6 - 25.00 - NE TANTALOVY KAPKOVY
C 14 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 15 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 16 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 17 TK782 33K 6 - 1.00 - NE LZE POUZIT TK783
C 18 TK782 M1 6 - 1.00 - NE LZE POUZIT TK783
C 19 TK782 M1 6 - 1.00 - NE LZE POUZIT TK783
C 20 TE131 47M 6 - 25.00 - NE TANTALOVY KAPKOVY
R 1 TR212 3R3 - 0.125 0.30 - NE LZE POUZIT TR213
R 2 TR212 6K8 - 0.125 0.30 - NE LZE POUZIT TR213
R 3 TR212 820R - 0.125 0.30 - NE LZE POUZIT TR213
R 4 TR212 470K - 0.125 0.30 - NE LZE POUZIT TR213
R 5 TR212 2K2 - 0.125 0.30 - NE LZE POUZIT TR213
R 6 TR212 10K - 0.125 0.30 - NE LZE POUZIT TR213
R 7 TR212 390R - 0.125 0.30 - NE LZE POUZIT TR213
R 8 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 9 TR212 4K7 - 0.125 0.30 - NE LZE POUZIT TR213
R 10 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 11 TR212 680R - 0.125 0.30 - NE LZE POUZIT TR213
R 12 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 13 TR212 390R - 0.125 0.30 - NE LZE POUZIT TR213
R 14 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 15 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 16 TR212 470R - 0.125 0.30 - NE LZE POUZIT TR213
R 17 TR212 10K - 0.125 0.30 - NE LZE POUZIT TR213
R 18 TR212 3K9 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1%
R 19 TR212 10K - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1%
PAGE NO. 00002 'SEZNAM SOUCASTEK MODEMU MAGNETOFONU'
25/10/88
-----------------------------------------------------------------------------
DRUH C. TYP HOD. U[V] P[W] CENA SOKL Z.V. P O Z N A M K A
R 20 TR212 82K - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1%
R 21 TR212 82K - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 22 TR212 10K - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 23 TR212 3K9 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1%
R 24 TR212 2K2 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 25 TR212 1K8 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 26 TR212 1K8 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 27 TR212 2K2 - 0.125 0.30 - NE LZE POUZIT TR213, +/- 1 %
R 28 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 29 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 30 TR212 1K - 0.125 0.30 - NE LZE POUZIT TR213
R 31 TR212 33R - 0.125 0.30 - NE LZE POUZIT TR213
R 32 TR212 33R - 0.125 0.30 - NE LZE POUZIT TR213
K 1 WK46265/N - - - 34.00 - NE 24 POLU, ZLACENA, DO PLOSNYCH SPOJU,
VIDLICE (NA PLOSNEM SPOJI MODEMU)
K 2 WK46545/W - - - 34.00 - NE 24 POLU, ZLACENA, PRO OVIJENI, ZASUVKA
(PROPOJOVACI KABEL MODEMU MAGNETOFONU)
O 1 6AF89777 - - - 5.60 - NE VIDLICE POHYBLIVA MAGNETOFONOVA 5
KOLIKOVA (DIN)
O 2 ISOSTAT - - - 42.00 - NE 4 SEGMENTOVY PREPINAC ZAVISLY, KULATE
HMATNIKY
O 3 K-5 - - - 26.00 - NE UNIVERZALNI KRABICKA PRO MODEM
MAGNETOFONU
O 4 - - - - 0.80 - NE GUMOVE ZARAZKY DO DVERI POUZITE JAKO
NOZKY KRABICKY MODEMU
O 5 - - - - 3.90 - NE 35 CM KABEL STINENY SE TREMI ZIVYMI A
JEDNIM STINICIM VODICEM
O 6 ISOSTAT - - - 22.00 - NE 2 SEGMENTOVY NEZAVISLY SAMOSTATNE ARETOVANY
PREPINAC, KULATE HMATNIKY
O 7 - - - - 48.00 - NE PLOSNY SPOJ MODEMU MAGNETOFONU V.3.3
** TOTAL **
477.90
PAGE NO. 00001 ***********************************************************
25/10/88
INTEGROVANE OBVODY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP POCET CENA
MAA741 1 17.00
MH3205 3 96.00
MH3212 1 32.00
MH3216 1 30.00
MH7400 2 27.00
MH7404 1 13.50
MH7405 1 13.50
MH7410 2 27.00
MH74164 1 30.00
HH7442 1 17.00
HH7474 3 51.00
MH7490 1 17.00
HH7493 1 17.00
MH7493A 5 85.00
MH7496 3 78.00
MH74S00 5 87.50
MH74S04 2 38.00
MH74S10 1 17.50
MH74S20 1 17.50
HH74S74 1 26.00
MH8228 1 80.00
MHB2114 8 920.00
MHB2716C 4 660.00
MHB8080A 1 110.00
MHB8224 1 53.00
MHB8255A 1 110.00
HHB8282 1 72.00
HHB8608 1 165.00
UCY74157 4 88.00
UCY7486 9 35.00
UCY74S08 1 13.50
** TOTAL **
62 3044.00
PAGE NO. 00001 ***********************************************************
25/10/88
TRANZISTORY, TYRISTORY A DIODY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP POCET CENA
KA206 6 11.40
KC509 2 18.00
LQ1101 2 6.20
LQ1401 3 9.50
LQ1701 2 7.00
** TOTAL **
15 52.10
PAGE NO. 00001 ***********************************************************
25/10/88
KONDENZATORY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP HODNO POCET CENA
TA
TK656 10P 1 1.00
TE133 15M 4 84.00
TK782 22K 1 1.00
TE132 22M 1 23.00
TK782 2K2 1 1.00
TK782 33K 43 43.00
TK782 33K 1 1.00
TK782 470P 9 2.00
TE131 47M 6 150.00
TK782 M1 3 3.00
TK782 M15 1 1.00
** TOTAL **
64 310.00
PAGE NO. 00001 ***********************************************************
25/10/86
REZISTORY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP HODN. POCET CENA
TR212 10K 6 1.80
TR212 1K 8 2.40
TR212 1K2 29 8.70
TR212 1K5 4 1.20
TR212 1K8 2 0.60
TR212 1K5 8 2.40
TR212 270R 2 0.60
TP008 2K2 5 16.20
TR212 33R 9 0.60
TR212 390R 2 0.60
TR212 3K9 2 0.60
TR212 3R3 1 0.30
TR212 470K 1 0.30
TR212 470R 9 0.60
TR212 47K 1 0.30
TR212 47R 2 0.60
TR212 4K7 9 0.60
TR212 560R 3 0.90
TR212 56K 1 0.30
TR212 680R 2 0.60
TR212 6K8 1 0.30
TR212 820R 1 0.30
TR212 82K 2 0.60
** TOTAL **
89 41.40
PAGE NO. 00001 ***********************************************************
25/10/88
KONEKTORY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP POCET CENA P O Z N A M K A
WK46203/N 1 48.00 36 POLU, ZLACENY, DO PLOSNYCH SPOJU, VIDLICE (KONEKTOR
VSTUPNE/VYSTUPNI)
WK46205/N 1 24.00 12 POLU, ZLACENY, DO PLOSNYCH SPOJU, VIDLICE (KONEKTOR NAPAJENI
WK46265/N 2 68.00 24 POLU, ZLACENY, DO PLOSNYCH SPOJU, VIDLICE (KONEKTOR
KLAVESNICE)
WK46513/U 1 65.00 36 POLU, ZLACENA, PRO OVIJENI, ZASUVKA (PROPOJOVACI KABELY
KLAVESNICE A MODEMU)
WK46545/W 2 68.00 24 POLU, ZLACENA, PRO OVIJENI, ZASUVKA (PROPOJOVACI KABEL
KLAVSNICE)
** TOTAL **
7 273.00
PAGE NO. 00001 ***********************************************************
25/10/88
OSTATNI SOUCASTKY PRO PLAN 80A, OBJEDNAVKOVY LIST
TYP POCET CENA P O Z N A M K A
- 1 250.00 PIEZOELEKTIRICKY KRYSTAL 18,432 MHZ
- 1 295.00 PLOSNY SPOJ PROCESOROVE DESKY S PROKOVENYMI OTVORY, PLAN 80A
V.3.3.
- 1 0.80 GUMOVE ZARAZKY DO DVERI POUZITE JAKO NOZKY KRABICKY MODEMU
- 1 3.90 35 CM KABEL STINENY SE TREMI ZIVYMI A JEDNIM STINICIM VODICEM
- 1 48.00 PLOSNY SPOJ MODEMU MAGNETOFONU V.3.3
6AF89777 1 5.60 VIDLICE POHYBLIVA MAGNETOFONOVA 5 KOLIKOVA (DIN)
ISOSTAT 1 42.00 4 SEGMENTOVY PREPINAC ZAVISLY, KULATE HMATNIKY
ISOSTAT 1 22.00 2 SEGMENTOVY NEZAVISLY SAMOSTATNE ARETOVANY PREPINAC, KULATE
HMATNIKY
K-5 1 26.00 UNIVERZALNI KRABICKA PRO MODEM MAGNETOFONU
TS5220004 1 350.00 ALFANUMERICKA TLACITKOVA SOUPRAVA S 37 HMATNIKY
WK55900 1 37.00 MIKROSPINAC RESTART
** TOTAL. **
11 1080.30
PAGE NO. 00001 ***********************************************************
25/10/88
SOKLY PRO PLAN 80A, OBJEDNAVKOVY LIST
POCET NA IO
TYPU:
4 MHB2716C
1 MHB8608
1 TS5220004
** TOTAL **
6
.
.
P L A N 80 A
Návod na stavbu a užití mikropočítače
-------------------------------------
Vydalo: Středisko technických informací potravinářského
průmyslu VÚPP V Praze 2, Londýnská 55 V listopadu
1988 mimo řadu nákladem v. d. DRUKOV, Jakubské n. l
656 56 B r n o.
Tisk: STI potravinářského průmyslu, Praha
Rozsah: 297 S. (přílohy)
Formát: A4
Vydání: první
.
ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000