@CT 1
@LM 1
@RM 66
@PL 64
@TB ------------------T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----
@MT 0
@MB 0
@PO 6
@PN 1
@OP 
@LH 6












@LH 3

@LH 6
           O P E R A  N    S Y S T  M





@LH 3

@LH 6
                         POTAE





@LH 3

@LH 6
                    M   A      O  -  1

@LH 3

@LH 6































1. Klvesnice
-------------

   dc klvesy

   Ŀ  Ŀ Peazova. Po dobu stisku plat dal vznam kl-
   SHF  CNT klves. SHiFt zpstupuje horn vznam klvesy,
      CoNTrol doln, stisk obou nem vznam.

          Ŀ ReSeT systmu. Uplatn se pouze pi souasnm
          RST stisku klvesy CNT.
          

         Ŀ Uivatelsk klvesa, peruuje vykonvn povel
         STOP nap. DUMP, MGLD, uplatn se zj. v uivatelskch
          programech.

          Ŀ Potvrzen pkazu, tj. odesln pkazovho dku
          EOL ke zpracovn.
          

   Znakov klvesy

   Ŀ  Ŀ generuj ASCII kd pslunho znaku. Pro horn
    A    Z  vznam nutno stisknout SHF, pro doln CNT.
     

   Editan klvesy

   Ŀ  Ŀ
   <--  --> posuv kurzoru vlevo i vpravo o jeden znak
     
   Ŀ  Ŀ
   BGNL  ENDL posuv kurzoru na zatek / konec dku
     
   Ŀ  Ŀ
   <--  --> se SHiFtem posouv obsah dku vi kurzoru
     
   Ŀ  Ŀ
   DELT  INST zruen / vloen znaku na pozici kurzoru
     
   Ŀ
   CLL vmaz celho dku
   
   Ŀ
   DELL vmaz dku od kurzoru do konce
   
   Ŀ
   RCL optn vyvoln naposled odeslanho dku
   
   Ŀ
   C-D optn vyvoln poslednho chybovho hlen
   
   Ŀ
   WRK klvesa pro zpis do kl K0-K11
   
   Ŀ tzv. softwarov kle /K0-K11/, pro kadou klvesu lze
   K10 stiskem klvesy WRK nadefinovat text max. 80 znak,
    stiskem kle se obsah vype do editanho dku
   Ŀ
   PTL vypn / zapn opis odeslanho dku do obrazovky
   


   Ŀ
   BEEP vypn / zapn akust. signalizaci stisku klvesy
   
   Ŀ
   CLS smae obrazovku
   
   Ŀ
   INVR vypn / zapn inverzn zobrazovn
   
   Ŀ
   MON ped zen operanmu systmu, pouv se pro vstup
    z uivatelskho programu - BASIC apod.

2. Obrazovka
------------

     Obrazovku tvo st pamti oznaen jako VIDEORAM - ta je
   stle zobrazovna na pipojenm monitoru. Z byte pamti jsou
   viditeln pouze bity 0-5, bit videoram v log.1 bude na obra-
   zovce zobrazen jako svtc bod. Z jednotlivch bod je takto
   sloen cel obraz.  /viz. Pam؜ potae/

   Dialogov dek
     Slou pro zpis a editaci pkaz, u obou formt zobrazen
   je umstn na dolnm okraji obrazu pod pracovn st.

   Alfanumerick formt
     Zobrazuje  25  dk  po 48 znacch.  Jsou-li dky del,
   systm automaticky pejde na dal dek, ppadn odroluje
   obrazovku o dek vzhru.

   Grafick formt
     Zobrazuje  256  dk po 288 bodech. Pro zrychlen grafickch
   operac si systm z obrazovku jen na 256 bod, pi pouvn
   slueb  systmu  lze  tedy pmo ovldat jen 256 bod v dku a
   243 dk - systm ignoruje dialogov dek. /INPOL, POINT/

@LH 3
   Ŀ
    FF  0. dek alfanum. formt 48x25                 F 
@LH 6
    F   1. dek                                          
                                                           
   0.zn alfanum. formtu                                47.zn
                                                           
                                                           
                                                             
                                                           
       <>      
                                                           
         grafick formt                                     
               48x6=288 x 256   /255x243/                  
   <>
                                                           
                                                             
         24. dek                         v                
         oddlova alf. form. - 19 . TV rozkladu           
   Ĵ
         dialogov /editan/ dek                v           
   




3. Pam؜ potae
-----------------

     Pam؜ slou  k uchovn daj nutnch pro probhajc lohu.
   V potai MAO je osazeno celkem 64 kB pamti, z toho 32 kB od
   adresy 0000 a po 7FFF je RWM - obsah lze  programov mnit, od
   adr. 8000 a BFFF je 16 kB EPROM - obsah  lze zmnit jen pomoc
   specilnho ppravku, zbytek C000-FFFF  je  opt RWM,  st je
   pouita  pro zpisnk  sytmu  /systmov  promnn/  a  zbytek
   obsluhuje vidoeprocesor jako VIDEORAM.

   0000H Ŀ
          zde pracuje interpret BASIC-G, pokud ho nech-
          ceme vyuvat, lze i zde pst program        
         Ĵ 23FFH
   2400H                                               
                                                       
          zde je nejvhodnj msto pro psan programu 
                                                       
                                                       
                                                        7EFFH
   7F00H Ĵ
          zsobnk, buffer dial. ., prog. kle        7FFFH
   8000H Ĵ
          sluby Monitoru, tab. tvar znak, tab. p- 
          kaz, tab. obslunch klves atd.             8FFFH
   9000H Ĵ
          oblast v EPROM pro doprogramovn uivatelem  97FFH
   9800H Ĵ
          interpreter jazyka BASIC-G, demonstran     
          program                                       BFFFH
   C000H Ĵ
          VIDEORAM - toto je viditeln st    systm.
          pamti, pomoc n Monitor zobrazuje prom.   C1FFH
   C200H       formt videodaje               Ĵ
         Ŀ     toto je
          D7 D6 D5 D4 D3 D2 D1 D0     3kB ze
              m niko
                                     ho, pro
                viditeln bity             toe je
               atribut polojasu            nespoji
            atribut blikn             t     
   FFBFH  FFFFH

4. Operan systm MONITOR
--------------------------

   je  zkladn program  trvale  umstn  v pevn  pamti /EPROM/
 potae.   Obsluhuje  klvesnici,   obrazovou  pam؜   videoram,
 magnetofon,  zajiuje  editaci  dialogovho  dku  a  provdn
 zkladnch pkaz  uivatele, o jejich  prbhu podv uivateli
 hlen v dialogovm dku.

   Pkazy MONITORu

   SUB aaaa data  - zmna obsahu pamti, po  odesln platnch dat
                se  zobraz  pk.   SUB  s  nsledujc  adresou,
                ukonuje se klvesou CLL
   MEM  aaaa  - zobrazen  16B  pamti k  editaci,pkaz samoinn
                pechz v pkaz SUB
   DUMP aaaa  - vpis   obsahu  pamti  hexadecimln  a  ASCII,
                ukon se klvesou STOP, pozastavit lze kl. SHF


   JUMP  aaaa - start  programu  od  zadan  adresy, zen pln
                pebr sputn program, Monitor dle nezodpovd
                za prbh innosti !!!
   MGSV nn;aaaa-kkkk;jmno - zpis pamti do souboru na magnetofon

   MGLD nn    - naten souboru z magnetofonu do pamti, lze pe-
            ruit STOP, neshoduje-li se nn, ek na dal hlaviku
   MGEND nn   - kontrola sprvnosti zznamu souboru na magnetofonu
                pracuje jako MGLD, ale soubor neulo do pamti
   BASIC      - sputn vestavnho interpreteru jazyka BASIC-G

   JOB rrrrllllaaaa  - penos souboru z  ROM-modulu pipojenho na
                konektor K2 a sputn danho souboru
   COPY     - provede skok do neosazen sti EPROM, pravdpodobn
                m slouit pro uivatelem doprogramovanou rutinu
   GO         - provede skok na zatek prv nahranho souboru,
                pracuje sprvn jen pro prv nahran program !!!
   DEMO       - nate do operan pamti Basic s demonstranm
                programem, lze jej spustit povelem Basicu RUN

   aaaa  - poten /startovac/ adresa, tymstn hexadecimln
   kkkk  - koncov /posledn/ adresa
   llll  - dlka souboru zven o 0100H
   nn    - slo souboru dvoumstn decimln 00-63, je-li nn=00,
           systm nn nebude rozliovat
   jmno - text max. 8 znak,  je-li prvnm znakem *, soubor se po
           naten z magnetofonu spust od adresy aaaa
   data  - dvoucifern  hexadecimln sla,  jednotliv data  lze
           oddlovat mezerami,  ppadn lze zadvat  cel etzce
           ASCII uzaven v apostrofech.

   Pklady

     SUB 61F0 3E41CD0085 C3 40 8C 'MATO'
     MGSV 07;0000-5FFF;*GAME

   Hlen operanho systmu a jejich adresy v pamti

   ++ NO COMMAND ++      8392 - nejedn se o pkaz Monitoru
   ++ ERROR IN ADDRES ++ 8346 - chybn adresa aaaa
   ++ ERROR IN DATA ++   8291 - chybn zadan data
   ++ EXECUTIVE ++       827D - systm pln pedal zen programu
   ++ MG STOP! ++        8DB4 - soubor uloen, vypnte magnetofon
   ++ FILE ERROR ++      835C - ten soubor je chybn
   ++ READING OK ++      8F93 - soubor byl vpodku naten
   ++ MEMORY OVERFLOW ++ 837C - pro dal kl nesta pam؜
   ** OS READY **        836D - Monitor potvrdil pipravenost
   nn/? jmno    C1B2 - natena hlavika souboru, znak za lomtkem
                     udv typ souboru /? monitor,> basic,K karel/

     Mimo standardn pkazy meme vyuvat adu slueb operan-
   ho systmu,  kter jsou dle popsny.  V popisu je vdy pomocn
   nvt, volac adresa  a strun popis  funkce sluby systmu.
   U nich  jsou  popsny  potebn vstupn daje a vstupn daje.
   ada slueb po proveden akce zni obsahy registr.  Registry,
   kter  se zni,  jsou uvedeny.  Pokud uvedeny  nejsou, ru se
   vechny mimo SP,PC /tzn.  BC,DE,HL,PSW/. Hexadecimln slo je
   oznaeno  jako  HEX.  Pro  systmov  promnn,  kter  monitor
   pouv, jsou  tak  zavedena  nvt,  a  tyto jsou dle tak
   popsny.  Nkres  rozdlen  pamti  Vm  usnadn  vytvoit  si
   pedstavu,  kde se  nachz videoram,  kde je  monitor a kde m
   promnn a kam mete pst svj program.
@LH 3

@LH 6
   Systmov promnn

   BUF     C030 zatek bufferu dialogovho dku
   DIAL    C032 zatek vpisu dial. dku na obrazovce
   DLZRAD  C034 konec bufferu dial. dku
   DCUR    C036 pozice kurzoru v bufferu
   RPOS    C038 prvn vypisovan znak z bufferu na obrazovku
   COLOR   C03A atribut zobrazen
   BEEPPOS C03B pozice v bufferu pro ppnut ped koncem dku
   CURSOR  C03E adresa kurzoru na obrazovce
   SPVAL   C070 adresa vrcholu zsobnku
   CURCH   C072 nastaven pi analze bufferu
   MESS    C074 zatek textu hlen
   RETCLL  C076 nvratov adresa pro ENTER
   ODLOZ   C078 adr. uloen textu po EOL v ENTER
   RETSP   C07A adr. zsobnku pro nvrat z ENTER
   SPEED   C07C konstanta rychlosti ten z magnetofonu
   ITABDIR C07E zatel tabulky pkaz monitoru
   TSRTAB  C0B0 tabulka vektor instalovanch ovlada /driver/
   SBEEP   C0BF pznak ppnut pi stisku klvesy
   RAM     C0F0 vektor modifikace MGLD, MGSV, MGEND
   IIROLL  C0F4 poet posouvanch linek displeje
   RSIRRAD C0F5 poet mazanch linek
   POROLL  C0F6 posledn dek
   CURROLL C0F8 adresa psan dal dky
   VYSKA   C0FA
   ENLNW   C0FB
   RADSIR  C0FC rozte dk
   DLZR    C0FE poet znak pro vpis edit bufferu
   DLZP    C0FF
   BEEDT   C130 adr. tabulky standardnho ppnut pro BEEP
   KDIR    C132 adr. tabulky adres podprogram dcch klves
   ASCII   C134 znak naten z klvesnice z INKLAV
   SWRK    C135 pznak WRK
   MGCHAR  C136 typ souboru pro MGSV, MGLD, MGEND
   SPTL    C137 pznak PTL
   MONX    C138 nvratov adresa pro JUMP
   CDBUF   C13A adr. C-D bufferu
   LSTR    C13C
   STACK   C13E msto pro odkldn ukazatele zsobnku
   X1      C170 souadnice X potenho bodu
   Y1      C172 Y po. bodu
   X2      C173 X konc. bodu
   Y2      C174 Y konc. bodu
   DCUROLD C175
   DELKA   C177
   OLDKEY  C178 pomocn promnn pro autorepeat klvesnice
   BCUR    C17A ukazatel na testovan byte videoram
   KEYEND  C17C adresa kl
   KEYTOP  C17E rdoby hranice pamti pro kle
   FINDNR  C1B0 poadovan slo souboru
   FINDTP  C1B1 poadovan typ souboru
   HEAD    C1B2 tabulka hlaviky souboru
   NUMFIL  C1B2 slo souboru
   TYPFIL  C1B3 typ souboru
   ADRFIL  C1B4 adresa zatku dat souboru
   LENFIL  C1B6 dlka souboru - 1
   NAMFIL  C1B8 8 znak nzvu souboru
   OCHR    C1F1 pokus o ochranu soubor, * => chrnno
   POC     C1F2
   VYSTUP  C1F4
   MODIFY  C1FA md grafiky /nastaven, negace, mazn/
   OUTPOINTC1FE adresa pro styk s uivatelskm programem


   Popis slueb operanho systmu

   START   8000 vstupn bod po RESETu, studen start

   MON     803B vstup do MONITORu z uivatelskho programu
     vst.:  vstoup do Monitoru a pod zprvu ** OS READY **

   MAIN    8054 vstup do hlavn smyky MONITORu

   ROLL    8088 posun obrazu smrem vzhru o 1 dek
     vstup:  IIROLL C0F4
           nelze pout s povolenm peruenm !!!

   HEX     80E0 vstupn hex konverze 4 bity
     vstup:  A=ASCII pevdnho znaku
     vst.:  pevede ASCII do hex
           CY= nen to hex slice /chyba/
           NC= je to hex slice, A= 0..15

   PAIRIN  80F7 vstupn hex konverze 8 bit
     vstup:  HL= adr. textu - dv hex slice
     vst.:  CY= chyba
             NC= sprvn pevedeno, A=0..255
     zni:  HL, B, PSW

   ADRIN   8109 vstupn hex konverze 16 bit
     vstup:  HL= adr. textu - 4 hex slice
     vst.:  CY= chyba
             NC= sprvn, DE= 0..65535
     zni:  HL, DE, B, PSW

   PREVOD1 8125 vstupn hex konverze 8 bit s vpisem
     vstup:  A= 0..255
     vst.:  vol PRTOUT 8500 - vsledek vypisuje na obrazovku
     zni:  B, PSW

   PREVOD2 813B vstupn hex konverze 8 bit
     vstup:  A= 0..255
             HL= adresa bufferu pro vstup - 2 znaky
     vst.:  konverze A na adrese HL
     zni:  HL, B, PSW

   RADR    814B vstupn hex konverze 16 bit s vpisem chyby
     vstup:  CURCH C072= adresa textu
     vst.:  NC= sprvn, DE= 0..65535
             CY= vype ++ ERROR IN ADDRES ++, sko do MAIN

   CURPOS  815E vpoet adresy aktulnho znaku v edit. bufferu
     vst.:  HL= adresa akt. znaku

   TEXTSP  81C5 penos textu s doplnnm mezer do potu
     vstup:  HL= text konc CR
             DE= buffer pro clov text
             B = max. poet znak
     vst.:  penese text, na konec dopln mezery
     pozn.:  k penosu hlaviky HEAD se pouije TEXTHEAD 81C0

   INKLAV  84A1 naten znaku z klvesnice s eknm na stisk
     vstup:  SBEEP C0BF = m / nem pi stisku klvesy puknout
     vst.:  A= ASCII kd klvesy, vol SCAN 8C03
     zni:  PSW



   PRTOUT  8500 vpis znaku do obrazovky
     vstup:  CURSOR C03E= pozice kurzoru, A= znak: 1C= cls,
           0D= nov dek, 0A= ignorovat, 08= kurz. o pozici zpt,
           COLOR C03A= atribut vpisu znaku - polojas, blikn
     vst.:  vol WRCHAR 854A
     zni:  PSW

   WRCHAR  854A rozkreslen znaku do displeje
     vstup:  HL= adresa kurzoru 2 linky pod znakem
             A= kd znaku: netititeln znak= vype achovnici 95
             COLOR C03A= atribut vpisu znaku - polojas, blikn
     vst.:  rozkresl znak, nelze pout s povolenm peruenm !

   SYST1   8579 proveden pkazu Monitoru

   MODNEG  859F zapnut/vypnut inverznho tisku + vmaz obrazovky
     vst.:  COLOR C03A, vol ERASE 85A7

   ERASE   8597 smazn obrazovky
     vstup:  COLOR C03A= m mazat
     vst.:  vol SWIND 85B3

   SWIND   85B3 vymazn sti obrazovky - okno
     vstup:  HL= adr. kurzoru
             DE= konec nejvy mazan linky+1
             B= poet mazanch linek
             COLOR C03A= m mazat, nelze pout s peruenm !!!

   RPOINT  85E6 test rozsvcen bodu obrazovky
     vstup:  X1 C170, Y1 C172 = souadnice bodu ve videoram
     vst.:  Z, A=0 nesvt
             NZ, A=1 svt

   EDIT    8800 proveden zmny v editanm dku
     vstup:  ASCII C134= kd znaku nebo povelu
     vst.:  zmnn editan buffer je vypsn na obrazovku

   WRLINE  8855 vpis editanho bufferu do dialogovho dku
     vstup:  RPOS C038 prvn vypisovan znak
             DIAL C032 pozice pro vpis na obrazovce
             DLZR C0FE poet znak pro vpis

   PREVOD0 886B vstupn hex konverze 4 bity
     vstup:  A= bity 0..3= slo
     vst.:  A= hex.

   BEEP    88A3 standardn ppnut
     vstup:  BEEDT C130 adresa tabulky ppnut
     vst.:  vol BELL 88A6

   BELL    88A6 generuje tny podle tabulky
     vstup:  HL= adresa tabulky /dlka,vka,....,dlka,vka,FF/
     vst.:  zahraje melodii podle tabulky

   WAITS   88B5 ekac smyka
     vstup:  DE= zpodn
     vst.:  vykon asov zpodn
     zni:  DE

   XCUR    8A7D vykreslen/smazn kurzoru
     vstup:  CURSOR C03E= pozice kurzoru



  PRTTEXT 8A89 ppnut a tisk hlen
     vstup:  MESS C074= adr. textu hlen ukonenho 0D
             DIAL= pozice dial. dku na obrazovce
     vst.:  provede vpis, vol BEEP /8A8C nezavol BEEP/

   OCHRAN  8B1C ochrana proti prohlen pamti
     vstup:  OCHR C1F1= kd ochrany, 2A= chrnno
     vst.:  je-li  pam؜  chrnna,  smae celou pam؜  a provede
           reset systmu.  Tato sluba je volna  po resetu, take
           ji sputn chrnn program je resetem vymazn

   ERROR   8B31 vpis chybovho hlen
     vstup: MESS C074= adr. textu

   ENDLN   8B46 vyhledn poslednho znaku v editanm bufferu
     vstup:  DLZRAD C034= konec textu
     vst.:  HL= adresa poslednho platnho znaku

   ENTER   8BEE vstup dky s editac
     vstup:  RETCLL C076= nvrat po EOL
             ODLOZ C078= adr. uloen textu po EOL
             RETSP C07A= adr. odloen zsobnku
     vst.:  vol INKLAV 84A1,  zajiuje  sprvnou  korespondenci
           mezi  uivatelskm  programem   a  Monitorem.  Umouje
           odloen vrcholu zsobnku, vlastn nastav na 7FFF

   SCAN    8C03 letm test klvesnice
     vst.:  Z= nic nen stisknuto, A=00
             NZ, A= kd stisknut klvesy

   DOKEY   8C43 proveden zmny v editanm bufferu
     vstup:  ASCII C134 dc nebo grafick znak
     vst.:  zmnn text  v bufferu

   STOP    8C74 test klvesy STOP
     vst.:  Z, A=03 STOP stisknuto
             NZ, A=40 STOP nestisknuto

   POINT   8C7D vykreslen bodu v danm grafickm mdu
     vstup:  X1 C170, Y1 C172 = souadnice bodu
             MODIFY C1FA= md zobrazen /AB negace, AF zhen,
             B0 rozvcovn/,  COLOR C03A= atribut /barva/
     vst.:  vykresl bod vypoten ze zadanch souadnic vzhledem
             ke strojov nule C000
     zni:  PSW

   POSPOINT8C94 vpoet adresy v displeji+ bitov maska vykreslen
     vstup:  L= souadnice X, H= souadnice Y
     vst.:  HL= adresa byte v displeji
             B= bitov maska (1,2,4,8,10,20,40,80)

   TAPEOUT 8D6C zpis bloku dat na magnetofon
     vstup:  HL= zatek dat
             DE= poet byte-1
     vst.:  zapsan blok dat

   LOAD    8DC2 naten bloku dat z magnetofonu
     vstup:  HL= adresa kam ukldat
             DE= poet byte-1
     vst.:  Z= blok dat v pamti je vpodku naten
             NZ= chyba pi ten nebo bylo stisknuto STOP
     zni:  DE, BC, PSW


   SHEAD   8DE2 vyhledn a naten souboru z magnetofonu
     vstup: FINDNR C1B0, FINDTP C1B1= slo, typ hledanho souboru
             RAM C0F0 modifikace daj po naten hlaviky
     vst.:  HEAD C1B2= hlavika nalezenho souboru
             C,NZ= chyba, vype ++ FILE ERROR ++
             NC,Z= sprvn nateno, vype ++ READING OK ++
             pi nalezen jinho souboru vype jmno, hled dl
             vol LOAD 8DC2, ERROR 8B31

   DECPAR  8E3E naten sla souboru
     vst.:  nate slo souboru, pevede ho na dekadick slo

   BINBCD  8E73 konverze BCD kd na binrn
     vstup:  A= BCD kd
     vst.:  A= binrn kd
     zni:  HL, B, PSW

   SYNC    8EBE naten synchrosmsi pro ten dat z magnetofonu
     vst.:  zasynchronizovn systmu pro HEADIN 8EE4

   HEADIN  8EE4 naten hlaviky souboru
     vst.:  HEAD C1B2= hlavika souboru

   OUTSYNC 8F2D zpis synchrosmsi ped hlavikou na magnetofon

   DTSYNC  8F38 zpis synchrosmsi pro zpis dat na magnetofon

   PRGOUT  8F60 zpis bloku dat do souboru na magnetofon
     vstup:  HEAD C1B2= slo, typ, potek, dlka, nzev
             RAM C0F0= modifikace zpisu po uloen hlaviky

   TRANSFER8FA4 naten bloku dat z ROM modulu pipojenho na K2
     vstup:  parametry se  ukldaj  v  programu tsn  za volnm
           sluby  CALL TRANSFER  : adresa  zatku v  ROM modulu,
           poet tench byte-1, adresa uloen v RAM

   SSKIP   8FB1 peskoit mezery v textu
     vstup: HL= adresa textu
     vst.: HL= adresa textu za mezerami


6. Popis vybranch tabulek Monitoru
-----------------------------------

   80D2 definice standardnho ppnut pro BEEP, kon FFH
   80F4 definice puknut pi stisku klvesy, kon FFH
   8089 definice melodie pi resetu systmu, kon FFH
   8231 inicializan data  -  pen se do oblasti zpisnku
   83F2 mapovn kd klvesnice
   82B2 tabulka podprogram editanch klves, kon 00H
   82EC tabulka pkaz Monitoru, kon FFH
   8600 tabulka tvar znak s kdy 20H-5FH, kon FFH
   88B8 tabulka tvar znak s kdy 60H-7FH


5. Pevodn tabulka adres slueb mezi PMD 85-1,2 -> Mao
   Jsou zde uvedeny pouze ty nejpodstatnj.

   Nvt   85-1   85-2   Mao    charakteristika

   MONIT     8C40   805A   8054    vstup do monitoru
   ROLL      ----   808E   8088    posun obrazu o 1.


   TEXTHEAD  ----   81D8   81C0    penos hlaviky souboru
   TEXTSP    ----   81DD   81C5    penos textu s doplnnm mezer
   BECLR     ----   81EE   8170    vypnout pukn klvesnice
   JUMP      81F5   81F5   81D6    povel JUMP
   DUMP      8205   8205   81E6    povel DUMP
   KEYMAP    ????   82D0   83F2    tab. kd klves
   XCHUR     ????   8481   8A7D    vykreslen/smazn kurzoru
   WRK       ----   8493   83C1    pznak zpisu do kl
   PTL       8499   8499   83C7    pznak rolovn dial. dku
   LEADER    ????   886B   8F2D    inicializace I/O
   HOME      ????   8880   85F6    nastaven kurzoru na 1. znak
   PRE00     ----   8888   886B    vst. konverze 4.bity
   SCAN      ----   89C0   8C03    ohmat klvesnici
   DECPAR    ----   8A54   8E3E    naten sla souboru
   BYTE      ????   8B6C   8EFA    naten byte z magnetofonu
   MGLD      ????   8B9C   8873    povel MGLD
   MGEND     ????   8BA0   8879    MGEND
   WAITS     88B5   8BCB   88B5    asov smyka
   OCHRAN    ----   8BD8   8B1C    pokus o ochranu
   TRANSFER  8C00   8C00   8FA4    penos z ROM modulu z K2
   MGOUT     ????   8D7E   8DA2    zpis byte na MG
   ERROR     ????   8E43   8B31    vpis ch. hlen do dial.
   ENDLN     ----   8E5D   8B46    vyhledn konce textu
   I/O INI   8F4F   8F4F   8C6B    nastaven interf. desky
   JOB       ????   8F94   8FD7    povel JOB

   Adresy ostatnch podprogram jsou shodn nebo chyb.


5. Porty a ppojn msta potae
----------------------------------

   Zobrazovac jednotka /K4/

     Jako  zobrazovac jednotka  se  k  potai pouije  bاn TV
   pijma. Pota generuje pln televizn signl modulovan na
   nosn signl v  televiznm psmu VHF - 9.  kanl. Antnn vodi
   televizoru  zapojme  do  konektoru  K3  potae  a  televizor
   naladme na 9. kanl.  Videoprocesor je v potai MAO zapojen
   napevno,  dn  programov  modifikace  jeho  vlastnost  nen
   mon.  Zpis informace  pro  zobrazen  se provd  jako pm
   zpis do dan sti pamti /viz. Obrazovka, Pam؜ potae/

   Vnj pam؜ - magnetofon /K3/

     Pota je  vybaven ppojkou pro vnj  pam؜ - magnetofon,
   obvykle bاn kazetov, lze vak pout i jin typ magnetofonu.
   Propojovac   ru  magnetofonu   zapojme  do   konektoru  K4
   potae,   tm   je   pota   pipraven   pro  spoluprci  s
   magnetofonem  pomoc  standardnch  pkaz  MONITORu. Nkdy se
   vyskytne  zvada,  kdy  soubor  uloen  na  magnetofonu  nelze
   nast  do  potae.  Vyloume-li  bاn  piny, jako nap.
   pokozen mgf  psek, zneitn snmac hlava  mgf nebo patn؍
   nastaven  kolmost  snmac  hlavy,  pak  se  nejspe  jedn o
   pevrcenou polaritu  pivdnho signlu z  magnetofonu. Pomoc
   spov  v prohozen  vodi  2,3  propojovac ry  na stran؍
   potae,  vvod 1  odpojme. Tuto  ru lze  pout pouze pro
   ten z magnetofonu do potae, nicmn se hod ji mt po ruce
   pro ppad,  e dostaneme kazetu,  kter byla nahrna  na jinm
   typu  magnetofonu  -  tehdy  nejastji  dochz  k  pevrcen
   polarity signlu, s kterm si pak pota neum poradit.
     Magnetofon je obsluhovn pomoc systmovho portu F6.


            2                               2
            GND                GND
     Ŀ                       Ŀ
   1   \   /   3                   1   \   /   3
     K3   DATAIN      K4  
                          
     DATAOUT     TVOUT

   Klvesnice

     je pipojena pomoc systmovch port F4, F5, F6.
   Klvesy  SHF, CNT,  STOP, EOL  jsou pipojeny  samostatn a lze
   tedy jejich stav snmat z portu. Klvesa RST je pipojena
   odlinm  zpsobem a  jej stav  snmat nelze.  Ostatn klvesy
   jsou  zapojeny v  matici, take  pro naten  jedn klvesy  je
   nutn  nejprve  zakzat  ady  matice,  v  kterch  se  klvesa
   nevyskytuje a pot st sloupec, v kterm se klvesa nachz.

   Reproduktor

     slou  ke generovn  akustickch nvt,  melodi, pazvuk
     apod. Je pipojen na systmov port F6, a proto meme bznm
     zpsobem nastavit jen dva stavy.  Tn se generuje jako rychl
     pepnn  mezi  tmito  stavy.  Tmto  zpsobem  je  zapojen
     i  vstup dat  na  magnetofon,  je mon  generovanou melodii
     zavdt  jak  na  vestavn  reproduktor,  tak  souasn i na
     vstup  pro magnetofon,  kam potom  msto magnetofonu  meme
     pipojit   zesilova  pro   hlasitj  poslech  generovanch
     melodi.

   Systmov port a obsluha pipojench zazen

     Systmov  port  je  realizovn  obvodem  INTEL  8255A, kter
     obsahuje  ti osmibitov  brny /PA,PB,PC/  a dc  registr
     /CWR/ urujc reim vstupu/vstupu jednotlivch bran.

   PA vstupn / adresa F4
     zpisem log.1 na nkter bit zakeme ten dan ady klves,
   zapeme-li  na  nkter  bit  log.0,  vybereme  tm danou adu
   klves  ke  ten.  U  jednotlivch  bit  jsou vypsny klvesy
   pipojen v dan ad a konstanta, kterou vybrme danou adu.

   Ŀ
   PA7PA6PA5PA4PA3PA2PA1PA0
   
                           FEH  1  2  3  4  5  6  7
                        FDH  Q  W  E  R  T  Z  U
                     FBH  A  S  D  F  G  H  J
                  F7H  Y  X  C  V  B  N  M
               EFH  =  0  ^  8  ,  K  I
            DFH  P  ?  +  9  .  L  O
         BFH up dn spc @      *
      tento bit je nezapojen

   PB vstupn / adresa F5
     petenm  bytu  a  vymaskovnm  danho  bitu  peteme stav
     klvesy pipojen  v danm sloupci. U  jednotlivch bit jsou
     vypsny klvesy v danm sloupci  a konstanty, kterm je roven
     stav natenho  byte, pokud povolen klvesa  v danm sloupci
     byla stisknuta.




   Ŀ
   PB7PB6PB5PB4PB3PB2PB1PB0
   
                           FEH  1  Q  A  Y  =  P  dn
                        FDH  2  W  S  X  0  ?  up
                     FBH  3  E  D  C  ^  + spc
                  F7H  4  R  F  V  8  9  *
               EFH  5  T  G  B  ,  .  
            DFH  6  Z  H  N  K  L  
         BFH  7  U  J  M  I  O  *
      7FH  EOL se nevybr v matici

   Pklad naten klvesy M

   MVI A,F7  vybrn /povolen/ ady klves obsahujc M
   OUT F4    vyslat na port ad matice klvesnice F4
   IN  F5    peten sloupc z portu F5
   CPI BF    porovnat, zda byla stisknuta klvesa ve sloupci s M
   JZ  bylo stisknuto
     nebo
   ANI 40    vymaskovat 6. bit sloupce s klvesou M
   JZ bylo  stisknuto, tento druh  zpsob je lep,  protoe test
            nen ovlivnn stiskem vce klves souasn

   PCL vstupn  PCH vstupn / adresa F6

   Ŀ
   PC7PC6PC5PC4PC3PC2PC1PC0
   
                          
                           vstup dat na magnetofon
                        vst. na vestavn repro.
                     nezapojeno, mono vyvst na K2
                  pepn polaritu signlu z mgf
               klvesa STOP /aktivn v log.0/
            klvesa  SHF
         klvesa  CNT
      ten dat z magnetofonu

   Pklad naten klvesy STOP

   IN  F6  naten portu F6
   ANI 10  vymaskovat bezvznamn bity, zbude jen bit 4
   JZ  byl STOP

   Pklad gerovn tnu na vstupu mgf a repro najednou

   LXI B,0020 dlka tnu
   *01:
   LXI D,0400 vka tnu /zpodn/
   CALL WAITS zavolat slubu vykonajc zpodn
   IN  F6  sejmout stav vstupnho portu
   XRI 03  invertovat bity 0 a 1
   OUT F6  vyslat nov stav na port
   DCX B   snit BC o 1
   MOV A,B test BC na nulu
   ORA C
   JNZ *01 nen-li BC=0, generuje se dle
   JMP MON nvrat do monitoru

   CWR dc registr systmovho portu / adresa F7
   viz. obvod 8255


   Aplikan konektor K2

     slou k pipojovn  dalch vstupnch a vstupnch zazen
   k potai MAO. Obsahuje plnou datovou sbrnici, vybran bity
   adresov sbrnice, vstup pro hardwarov peruen, vstup hodin
   potae, extern reset a body pro monost napjen pipojenho
   zazen  z potae.  Pomoc tohoto  konektoru meme pipojit
   nap. extern pam؜, diskovou jednotku, interface pro pipojen
   tiskrny, joysticku apod.



   Ŀ
   GND+5V-5V12VxRD A0 A1 A7 A6 A4 A3 A2CLK D6 NC
   Ĵ
   GND+5V-5V12V A5xWRRST D0 D1 D2 D3 D4 D5INT D7
   

   GND spolen bod, 0V
   +5V vvod napt zdroje +5V, max. odbr 100 mA
   -5V napt zdroje -5V, max. odbr 15 mA /nedoporuuji pouvat/
   12V napt zdroje +12V, max. odbr 30 mA
   A0-A7 ni bity adresn sbrnice pro adresaci I/O zazen
   D0-D7 bity datov sbrnice pro pesun dat mezi zazenm a CPU
   xWR signl mikroprocesoru /CPU/ pro zpis dat do zazen /OUT/
   xRD signl CPU pro naten dat ze zazen /IN/
   INT vstup peruen CPU, nepipojen je v log. 0  /viz. CPU/
   CLK vstup hodin /taktovac kmitoet/
   NC  nezapojen, meme pes rezistor 180R vyvst bit PC2 sys.
   RST extern reset systmu

   x-  oznaen negovanho signlu /aktivn v log. 0/


6. Pipojen dalch zazen
-----------------------------

     Chcete-li  pipojovat dal  zazen, jste  jist zkuenj硍
   uivatel,  proto  Vm  doporuuji  nsledujc pravy potae,
   kter zlep jeho funkci.
   1.  zapojte  propojku  mezi  vvod  INT  /14  mikroprocesoru  a
   rezistor  R16  dle  schematu  potae.  Toto  m bt zapojeno,
   skutenost je takov, e veker potae, kter jsem dostal do
   opravy  toto  propojen  nemly.  Tm  zstv  vstup peruen
   mikroprocesoru  "v  luft",  co  zpsobuje  nahodil  hroucen
   systmu pi sputn jinho program ne je BASIC.
   2. Citlivost klvesnice zlepte  zvtenm rezistor R27-R37 z
   11k na 120k.
   3.   Vodivost  nevodivho   "vodivho"  elastomeru   klvesnice
   zlepte  vlepenm  koleka z peliv  vyrovnanho  alobalu  na
   plochu  "vodivho"  elastomeru  v  tlatku.  Koleko  vyrobte
   pomoc  kancelsk drovaky.  K vlepen  do tlatka pouijte
   Chemopren.  Vyjmut   tlatko  s  vlepenm   kolekem  alobalu
   zasadte  zpt  do  klvesnice  a  z  druh  strany zcela lehce
   zakpnete Purocelem.

   Paraleln interface

     Vyuije se pro pipojen tiskrny, zapisovae, joysticku ap.
   Z mnoha variant je nejefektnj konstrukce interface s obvodem
   INTEL  8255A.  Ke   konstrukci  potebujeme  univerzln  desku
   plonch  spoj,  konektor  FRB   30  pin  /2x,  samec,samice/,
   spojovac vodie, obvod 8255 - vhodn je NEC 8255AC, MHB 8255,
   KR 580NB 55, a obvod 7400 - MH 7400, SN 7400 /bude slouit jako
   invertor  pro  pipojen  zazen  s  nestandardnmi  dcmi
   signly/. Obvod 8255 se pipoj pmo na sbrnice potae pes
   konektor  K2  potae  Mao.  Dleit  je  sprvn  propojen
   adresnch a vbrovch signl, aby  nedochzelo ke  kolizm na
   sbrnici potae. Uveden zapojen  toto spluje, navc adresy
   port interface  jsou zvoleny tak  jako u potae  PMD-85 a to
   pro ob rozhran PMD-85 /GPIO  4CH-4FH, IMS-2 7CH-7FH/, tj. pro
   adresaci interface lze vyut dvojho adresovn. V novch nmi
   psanch  programech  pouijeme  vy  adresu  /7CH-7FH/, ni硍
   adresa by mohla zpsobit kolizi  pi pipojen vce zazen na
   sbrnici,  to  vak  v  naem  ppad  nen mon. Akceptovn
   ni adresy  je vhodn, protoe programy  z PMD-85 nen nutn
   upravovat a t  je mon vyut povely jazyku  BASIC. /kanl 7
   IMS-2 se potom chov stejn jako kanl 4, jenom nen invertovn
   vstup dat/.  Pro toto zapojen  jsou psny i  m programy, tj.
   bude sprvn fungovat joystick ap./2/ Konektor interface budeme
   nazvat K5.


   Adresy: PA 7CH /4CH/, PB 7BH /4BH/, PC 7DH /4DH/, CWR 7FH/4FH/
   Tabulka instrukc PIO

   Md 0 /vechny brny/     Md 1 /handshake/ pouze
                           v PA /+PC3-7/ a PB /+PC0-PC2/
   CWR   PA  PB PCl PCh    CWR  PA  PB  PCi

   80H  out out out out    A0H out ... PC7=xOBF PC6=xACK PC3=INTa
   81H  out out out  in
   82H  out  in out out    B0H  in ... PC4=xSTB PC5=IBF  PC3=INTa
   83H  out  in out  in
   88H  out out  in out    84H ... out PC1=xOBF PC2=xACK PC0=INTb
   89H  out out  in  in
   8AH  out  in  in out    86H ...  in PC2=xSTB PC1=IBF  PC0=INTb
   8BH  out  in  in  in
   90H   in out out  out      + kombinace s mdem 0
   91H   in out out  in
   92H   in  in out out
   93    in  in out  in
   98H   in out  in out
   99H   in out  in  in
   9AH   in  in  in out

K2                                                           K5

        PB7
         PB6
          PB5
           PB4
            PB3
            Ŀ
           Ĵ           PB2
          Ĵ           PB1
         Ĵ           PB0
        Ĵ           PC3
       Ĵ           PC2
+5V Ĵ+Ucc       PC1
 D7 XĴ           PC0
 D6 XĴ           PC4
 D5 XĴ   8255A   PC5
 D4 XĴ           PC6
 D3 XĴ           PC7
 D2 XĴ        A0Ŀ
 D1 XĴ        A1Ŀ 
 D0 XĴ       GNDĿ  
RST XĴRESET   CSĿ   
xWR XĴIOWR  IORDĿ    
        Ĵ          XXXXX PA0
         Ĵ          XXXXX PA1
          Ĵ    ڿ    XXXXX PA2
           Ĵ        XXXXX PA3
            1    
           XXXXX PA4
          XXXXX PA5
         XXXXX PA6
        XXXXX PA7
                                 
                                   +5V
xRD X  XXXX GND
 A7 X                 
GND X        
 A1 X       7400  
 A0 X    1 
              
                                                XOU
                                                XIN

   Konektor interface K5

   Ŀ
   GND+5VXINPA6PA4PA2PA0PC6PC4PC2PC0PB1PB3PB5PB7
   Ĵ
   GND+5VXOUPA7PA5PA3PA1PC7PC5PC3PC1PB0PB2PB4PB6
   

   PA0-PA7 vstupn/vstupn brna A    XIN vstup invertoru

   PB0-PB7 vstupn/vstupn brna B    XOU vstup invertoru

   PC0-PC7 vstupn/vstupn brna C


   Konektory PMD-85 pro pravu zapojen pro Mao

      PMD-85 zezadu
   Ŀ
    1.  2.      3.   4.   5.      6.  Vznam signl je stejn
   Ŀ Ŀ ĿĿĿĿ  jako u interface pro Mao
     ٳ
   

   5. GPIO AC /adr. 4C+4E, kanl 4/

   Ŀ
   XOUxINXoUREVPC6PC4PA0PA2PA4PA6
   Ĵ
   GNDxOUXINXiNPC7PC5PA1PA3PA5PA7
   
      REV - ovldn smru toku dat, log.0=PAvstup

   4. GPIO BC /adr. 4D+4E, kanl 4/

   Ŀ
   XOUxINXoUREVPC2PC0PB0PB2PB4PB6
   Ĵ
   GNDxOUXINXiNPC3PC1PB1PB3PB5PB7
   

   3. IMS-2 /adr. 7C-7E, kanl 7/

   Ŀ
   PC2 NC NCGNDPA3PA2PC0PC5PA1PC7PA7 ? PA4 NC NC
   Ĵ
    NCPC1PC3GND NCPB5PB7 NC NC NCPA0PA6PA5 NC NC
   

   6. Aplikan konektor
      Ml  by se  chovat stejn   jako K2  potae Mao,  m vak
      prohozen signly D6 a INT !!!.

   Joystick pro interface Mao

     Pouijeme libovoln joystick s alespo 5-ti spnanmi
   kontakty. K interface ho pipojme dle schematu.  Obvod
   je vhodn zapojit uvnit mechanizmu joysticku.

                  +5V
                            5x 8k2
                                    5x 10k
   DOWN                 
          XXXX   PA0
     UP                 
          XXX   PA1
  RIGHT                  
          XX   PA2
   LEFT                   
          X   PA3
   FIRE                    
             PA4
                 PA5
                    PA6
                       PA7
                    
                    
                      3x 18k
          GND
                              X- ken vodi
   Ovldn

   1. Naprogramovn interface

      3E 92    MVI A,92H   Basic:  OUT '7F,'92
      D3 7F    OUT 7FH      nebo   CONTROL 7,3,146

   2. Test ptomnosti joysticku

      DB 7C    IN  7CH    Basic: IF INP('7C)='1F THEN je ptomen
      FE 1F    CPI 1FH

      Z  -joystick je ptomen
      NZ -joystick nen ptomen

   3. Snmn stavu /princip viz. klvesnice/

      DB 7C    IN  7CH           Basic:
      E6 10    ANI 10H bit FIRE  A=BIT STATUS('7C),5
                                 IF A=0 THEN bylo stisknuto FIRE
      Z  -bylo stisknuto FIRE
      NZ -nebylo stisknuto FIRE



   Tiskrna BT-100

     K obsluze tiskrny je nutn obslun program.
   Pro obsluhu pomoc mho programu zapojte tiskrnu dle schematu.
   daje v zvorkch plat pro kazetopskovou jednotku SP 210.

                                                          K6

                  GND
                   psac hlava
   Ŀ       PA0
         Ŀ
          \   /        PA2 /SP 210T/
        I N 
         /   \  PA3 /SP 210T/
         posun papru
             PA4
             posun hlavy doprava
          PA5
               posun hlavy doleva
      PA7

                  GND
               
   Ŀ      PA6 /SP 210T/
         Ŀ       snma posuvu papru
          \   /         PC4
        OUT  snma souadnic bod
         /   \   PC6
               snma synchronizace
             PC7
                          snma dorazu vozku
          PC5
   
     PA1 /SP 210T/

   Tiskrna Gamacentrum 01

     Obsluhuje se pomoc programu.
                                                      K6
                        snma polohy
              PB4
                       hlava 2
   Ŀ       PC7
     Ŀ
      \   /         GND
       OUT  posun papru
      /   \   PC6
            posun vozku
          PC4
                       hlava 1
      PC5


   Tiskrna Consul 2111, 2112, 2113 /Zbrojovka Brno

   A    PB0
   B    PB1
   C    PB2
   D    PB3
   E    PB4
   F    PB5
   G    PB6
   H    PB7
   M    PC
   K    XOU
                                                   XIN
                                                   PC
   I,J,L,P,T,V    GND


   Tiskrna D100 /dovoz PLR

   D0    PB0
   D1    PB1
   D2    PB2
   D3    PB3
   D4    PB4
   D5    PB5
   D6    PB6
   D7    PB7
   xSTB    PC
   xACK    PC
   GND    GND


   Tiskrna PRT 80 GS /dovoz MLR
   Plotter DIDAKTIK Z2 /Didaktik Skalica

   D0    PB0
   D1    PB1
   D2    PB2
   D3    PB3
   D4    PB4
   D5    PB5
   D6    PB6
   D7    PB7
   xSTROBE    PC
   BUSY    XIN
                                                   XOU
                                                   PC
   GND    GND





   Pipojen monitoru

     Meme pipjit  monitor videosignlu - obvykle  TV pijma s
   videovstupem, nebo  monitor, kter zpracovv  obrazov signly
   oddlen /jas+synchro/.

     Vstup pro monitor videosignlu

   zapojme nejlpe na vvod .3 konektoru K4. Signl odebrme z
   vvodu .6 obvodu U11/3 - na konektor ho zavedeme pes rezistor
   390R.  Ppadn  vstup  audiosignlu  odebrme  z vvodu .16
   obvodu U36 pes  rezistor 22k, vhodn je zapojit  ho na vvod 5
   konektoru K4.

            2
              GND
                AUDIOOUT
       Ŀ
     1   \   /  3
       K4   VIDEOOUT
      
       TVOUT

     Vstup pro klasick monitor
   /po prav synchronizanch kmitot je mon pout i monitory
   od pota PC - vhodn jsou Hercules, CGA, EGA/.

   Pro  tento  monitor  nejlpe  nahradme  stvajc  konektor K3
   7-kolkovm  konektorem,  signly  zapojme  jako  v pedchozm
   ppad,  take  veker  funkce  zstanou  zachovny a pidme
   signly   jasov    sloky   a   vertikln    a   horizontln
   synchronizace.  Jasov signl  odebrme pes  rezistor 390R  z
   vvodu 8 obvodu U8/3, chceme-li  inverzn, pak z vvodu 9 tho
   obvodu,  ppadn zapojme  pepna. Vertikln  synchronizaci
   odebrme z vvodu 12 U10/2, horizontln z 9 U11/4, oboj pes
   390R.

                 GND
               
   Ŀ      AUDIOOUT
         Ŀ
          \   /        VIDEOOUT
         K4 
         /   \  VSYNC
        
            HSYNC
       
         TVOUT
   
     Y



















7. Instrukce mikroprocesoru INTEL 8080A
---------------------------------------

kd        op dl takt pznaky   popis

   Osmibitov aritmetika

ANI/XRI/ORI d8  2  7   #  log. souin, nonekvivalence, souet s A
ADI/SUI     d8  2  7   *  prost souet nebo rozdl s A
ACI/SBI     d8  2  7   *  souet n. rozdl vetn pznaku CY s A
CPI         d8  2  7   *  srovnn A s d8 /pznaky jako SUI/
ANA/XRA/ORA rm  1 4/7  #  log. souin, nonekvivalence, souet s A
ADD/SUB     rm  1 4/7  *  souet n. rozdl vetn pznaku CY s A
CMP         rm  1 4/7  *  srovnn A s rm /pznaky jako SUB/
INR/DCR     rm  1 5/10 "  zven/snen rm o 1 /modulo 2**8/
DAA             1  4   v  dekadick prava A
CMA             1  4   -  jednikov doplnk A /inverze/
RLC/RRC         1  4   !  rotace A /a krajn bit do CY/
RAL/RAR         1  4   !  rotace A a CY /9.bit/
STC/CMC         1  4   !  nastaven/inverze pznaku CY

    estnctibitov aritmetika

DAD         ps  1  10  !  piten ps k registrovmu pru HL
INX/DCX     ps  1  5   -  zven/snen ps o 1 /modulo 2**16/

    Osmibitov pesuny

MOV      rm,rm  1 5/7  -  pesun mezi registry nebo registry a rm
MVI      rm,d8  2 7/10 -  pm hodnota do rm
STAX/LDAX   px  1  7   -  A do/z M /adr. M v BC i DE !/
STA/LDA    a16  3  13  -  A do/z M /adr. M v operandu instrukce!/
OUT/IN      a8  2  10  -  vstup A na port / vstup z portu do A

   estnctibitov pesuny

LXI     ps,d16  3  10  -  pm hodnota do ps
SHLD/LHLD  a16  3  16  -  HL do/z pamti /adresa v instrukci/
PUSH/POP    pp  1 11/10 & ulo na zsobnk / vyber ze zsobnku
SPHL            1  5   -  HL do SP, zmna ukazatele zsobnku
PCHL            1  5   -  HL do PC, t.j. skok !!!
XCHG            1  4   -  vmna obsahu pru HL a DE
XTHL            1  18  -  vmna obsahu zsobnku a HL, nemn SP

   Skokov instrukce a zen procesu

JMP        a16  3  10  -  skok na a16
CALL       a16  3  17  -  voln podprogramu na a16
RET             1  10  -  nvrat z podprogramu i peruen
JNZ/JZ JNC/JC JPO/JPE JP/JM a16 3  10    - JMP podmnn pznaky
CNZ/CZ CNC/CC CPO/CPE CP/CM a16 3 17/11  - CALL podmnn pzn.
RNZ/RZ RNC/RC RPO/RPE RP/RM a16 1 11/5   - RET  podmnn pzn.
INT          n  1  11  -  voln obsluhy peruen /0-7/
DI/EI           1  4   -  zkaz/povolen peruen
HLT             1  7   -  zastaven mikroprocesoru
NOP             1  4   -  przdn instrukce

- nikdy nemn dn pznaky
v mn vechny pznaky
# mn vechny pznaky, vynuluje CY a AC
& POP PSW zmn pznaky obnovenm AF
! mn pouze CY
* mn vechny pznaky:
  -setn nastav CY=1 pro souet>255 /peteen/, jinak CY=0
  -odtn nastav CY=1 pro A <operand /podteen/, jinak CY=0
  - CMP,CPI nastav CY=1 pro A <operand, jinak  CY=0,
    Z=1 pro A=operand, jinak Z=0.
  -SBB,SBI 0. pite CY k operandu  -DAA 1. doln plbyte>9 nebo
  -SUB,SUI 1. dvojkov doplnk            AC=1 - pite 06H k A
           2. piten k A+CY            2. horn plbyte>9 nebo
           3. negace CY                   CY=1 - pite 60H k A

d8  data 8 bit     rm  registry nebo M   Takty dle operand:
pp  BC,DE,HL,PSW    pp  pr BC,DE,HL,PSW    registry/pam؜ nebo
a8  adresa portu    ps  pr BC,DE,HL,SP     PUSH/POP nebo
a16 adresa pamti   px  pr BC nebo DE      splnn/nesplnn
n   slo obsluhy                           podmnka /JZ apod./
    peruen 0-7

M  pseudoregistr,pomoc nho pracujeme s pamt, fyzickou adresu
   pamti pro M uruje HL
INT adresy podprogram obsluhy peruen jsou mapovny do pamti
   jako  0000H+n*08H, tj. INT 5 vyvol tot co CALL 0028H.
   HW peruen mikroprocesoru je mapovno jako INT 7.
HLT zastav innost mikroprocesoru, pokraovn nastane signlem
   HW peruen /na vstupu INT mikroprocesoru/, pokud nen zak-
   zno instrukc DI, jinak se innost obnov pouze Resetem.


8. Popis obvodu CPU INTEL 8080A
-------------------------------

   Registry

     Registry jsou pam؜ov msta pmo v mikroprocesoru. Slou
   ke  krtkodobmu   uschovvn  dat  pi  vpotu,  k provdn
   aritmetickch operac, a  k pedvn dat mezi mikroprocesorem,
   pamt  a  I/O  zazenmi,  ppadn  data  dleit  k zen
   prbhu procesu. Do datovch registr lze vkldat 8bitov data,
   ppadn  lze nkter  vyuvat spojen  jako dvojregistr, data
   pak  mohou  bt  16bitov.  Registry  pro  zen  procesu jsou
   16bitov.   Registry  maj   psmenn  oznaen,   pouvme-li
   dvojregistr,  pak je  oznaen obma  psmeny -  prvn je  vy硍
   byte, druh ni byte dvojbytovho registru.


  Ŀ   Ŀ   Ŀ
  8b  A   8b  F      8b  D   8b  E      16b    S P       
        

  Ŀ   Ŀ   Ŀ
  8b  B   8b  C      8b  H   8b  L      16b    P C       
        

  Ŀ
  8b  M   
  

   A  zkladn  registr,  zde  probhaj  vmny  dat mezi pamt,
      registry a I/O, a vpoty.  Nkdy se nazv stada, astji
      akumultor. Lze vyut pouze jako 8bitov.
   F  pznakov st reg. A. Pm zpis do  tohoto registru nen
      mon. Tento  registr slou k testovn  a zjiovn stavu
      vykonan  operace.  Stav  operace  je  indikovn  jako  tzv.
      pznaky. Kad  bit tohoto registru  udv uritou udlost,
      kter  nastala  pi  vpotu,  tj.  kad  bit je pznak. V
      zvislosti na pznacch je  potom mon rozhodnout o dalm
      prbhu  vpotu /JNZ,CNC,RZ..../.  Vjimkou jsou  instrukce
      RLC,RRC,RAL,RAR,STC,CMC, kter provd zpis do tohoto reg.

     Ŀ    S  0=kladn slo n. 0
      S Z 0AC 0 P 1CY       1=zporn slo
         Z  0=nenulov slo
                                     1=nulov slo
                                  P  0=lich parita /ODD/
                                     1=sud parita /EVEN/
                                  AC pom. penos z bitu 3
                                  CY penos z bitu 7 /peteen/

   B,C,D,E  datov registry,  pouvme pro  doasnou schovu dat,
      pro  zen  cykl.  Pr  BC,DE  pouvme  pro zen cykl
      pracujcch s pamt, je-li obsazen HL /STAX,LDAX/.
   H,L  tyto  datov  registry  se  zdka  pouvaj  samostatn.
      astji se  pouv pr HL,  protoe pomoc nho  definujeme
      adresu pamti pro pseudoregistr M. Jinak jako B,C,D,E.
   M  toto nen registr  v pravm slova smyslu. Tmto se dvme na
      pam؜ jako  na registr, co  zrychluje bh programu.  Adresu
      pamti  v ppad  uit tohoto  pseudoregistru uruje  HL !
      Jeho pouit je sloitj a vrazn rychlej ne STAX,LDA.
   SP obsahuje aktuln adresu  zsobnku tj. st pamti vymezen
      pro ukldn  nvratovch adres /CALL,INT/,  ppadn hodnot
      registr, kterch hodnoty nechceme ztratit a potebujeme je
      pout /PUSH/.Zsobnk  pi ukldn roste  smrem k zatku
      pamti, tj. pi  uloen do nj se adresa  sn. Vybrat ze
      zsobnku /POP,RET/  je nutno v  opanm poad ne  v jakm
      byly hodnoty vkldny, jinak se nm budou vracet data jinch
      registr.  Neprovedeme-li   POP  v  podprogramu,   kde  jsme
      provedli  PUSH,  podprogram  se  instrukc  RET  nevrt  na
      uloenou nvratovou adresu, ale na adresu uloenou instrukc
      PUSH,  co vede  k  nedefinovatelnm  efektm !!!  Systm si
      vtinou  sm  nastavuje  zsobnk  pi  startu, nemusme se
      proto pli starat o jeho hodnotu. /MAO: po RST SP=7FFFH/
   PC ukazuje na adresu pamti, kde se nachz prv zpracovvan
      instrukce.  Zmnou obsahu  provedeme  skok  na jin  msto v
      pamti, program bude pokraovat od zadan adresy /JMP,JZ/.
      Jin zmny obsahu nejsou mon.

   Sbrnice a vstupy, vstupy CPU

   D0-D7, A0-A15
     Tento obvod je vybaven  8bitovou datovou sbrnic a 16bitovou
   adresn sbrnic.  Datov sbrnice slou  pro penos dat  mezi
   registry mikroprocesoru, pamt a I/O. Adresn sbrnice uruje
   adresu  pipojen  pamti  s  kterou  se  bude  pracovat,  max.
   obsluhovan pam؜  je uren 16  bity tj. 64kB.  Dolnch 8 bit
   adresn sbrnice  slou k adresaci I/O  zazen, tj. zazen
   me bt 255. /viz. zapojen K2/

   IOWR,IORD,IORQ
     Na tchto  vstupech generuje mikroprocesor dost  o prci s
   I/O  zazenmi.  Pouze  pi  tomto  signlu  sm  bt  aktivn
   pipojen  I/O  zazen,  jinak  dojde  ke  kolizi  na  datov
   sbrnici a tm k havrii systmu.

   CLK
     Vstup  taktovacch  hodin  mikroprocesoru.  Kmitoet uruje 1
   takt vykonn instrukce. m je kmitoet vy, tm je vy i
   rychlost vykonvn instrukc, zven kmitotu nad uritou mez
   m  za nsledek  zastaven mikroprocesoru.  U potae  Mao je
   taktovac kmitoet /2.62 MHz/  generovn obvodem INTEL 8228A. Z
   tabulky  potu  takt  instrukc  je  mon  urit  dobu trvn
   instrukce i vpotu na potai Mao.

   INT
     Vstup   signlu  peruen.   Je-li  instrukc   EI  povoleno
   peruen, pak  signl log.1 piveden  na tento vstup  zpsob
   peruen  zpracovvanho  programu  provede  se voln obsluhy
   tohoto  peruen   /jako  CALL  0038H/.   Je-li  mikroprocesor
   zastaven  /HLT/, pak  lze signlem  peruen /je-li  povoleno/
   obnovit innost mikroprocesoru /obsluha peruen se nevol/.

   RST
     Signl pro  reset mikroprocesoru - provede  se skok na adresu
   vnucenou na adresn sbrnici. U potae Mao je to 8000H.

   Ucc,GND
     Pvody napjen +5V,-5V,12V potebnho pro napjen CPU.
   GND je spolen bod CPU.

9. Popis obvodu PIO INTEL 8255A
-------------------------------

     Paraleln  vstupn/vstupn obvod  zajiuje pevzet  dat ze
   zazen/datov sbrnice a penesen na sbrnici/zazen.
   Obsahuje ti  osmibitov brny z  nich kad me  pracovat ve
   vstupnm nebo ve vstupnm reimu,  mimoto posledn z nich me
   bt  rozdlena na  doln a  horn 4  bity, pro  kter lze  tak
   nastavit rzn reim. Obvod m 4 registry, prvn ti slou pro
   zpis  nebo ten  dat do/z  jednotlivch bran  /kad brna m
   svj registr/ a zbvajc slou pro zpis reimu  jednotlivch
   bran.  Registry se  oznauj jako   PA, PB,  PC -  brna tohoto
   registru me bt rozdlena=> PCL, PCH, CWR - registr pro zpis
   reimu obvodu.  Obvod m ti reimy  - mod 0-2. Mod  0 je bاn
   vstup/vstup.  Mod 1  je tzv.  strobovan vstup/vstup.  Slou
   k  vmn  dat  pes  brny  PA,PB  ve  spojen se strobovacmi
   impulzy nebo signly pro potvrzen z rozdlen brny PC.
   Mod 2 je strobovan obousmrn sbrnice, pouze pro PA. PB me
   bt v modu 0,1.

   Sbrnice a vstupy, vstupy PIO

   D0-D7
     datov sbrnice /viz. CPU/

   A0-A1
     adresn signly pro vbr registr PIO

   PA0-PA7,PB0-PB7,PC0-PC7

     bity vstupn/vstupnch bran

   CS
     signl aktivity I/O zazen

   IORD,IOWR
     signl dosti ten/zpisu do I/O

   RST
     reset obvodu


12. Doporuen literatura
-------------------------

   1. Pota a jeho programovn, J. Star
   2. Output/Enter - uivatelsk pruka PMD-85, TESLA Pieany