Ú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