--------------------------------------------------------------------------------
		Programovatelný paralelní interfejs  I8255
--------------------------------------------------------------------------------
1. Řídící registr,	adresa - mód 700 : 0E003H ( paměťové adresování )
   pouze pro zápis	adresa - mód 800 : 0D3H

Volba módu činnosti bran :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  0 ... bity 0 - 3 brány C výstupní
  |  |  |  |  |  |  |  1 ... bity 0 - 3 brány C vstupní
  |  |  |  |  |  |  |
  |  |  |  |  |  |  0 ... brána B výstupní
  |  |  |  |  |  |  1 ... brána B vstupní
  |  |  |  |  |  |
  |  |  |  |  |  0 ... brána B v módu 0
  |  |  |  |  |  1 ... brána B v módu 1 ( strobovaný vstup/výstup )
  |  |  |  |  |
  |  |  |  |  0 ... bity 4 - 7 brány C výstupní
  |  |  |  |  1 ... bity 4 - 7 brány C vstupní
  |  |  |  |
  |  |  |  0 ... brána A výstupní
  |  |  |  1 ... brána A vstupní
  |  |  |
  |  0  0 ... brána A v módu 0
  |  0  1 ... brána A v módu 1 ( strobovaný vstup/výstup )
  |  1  X ... brána A v módu 2 ( obousměrný strobovaný vstup/výstup )
  1

Nastavení ROM monitorem - řídící slovo : 8AH

	brána A : výstupní v módu 0
	brána B : vstupní v módu 0
	brána C , bity b0 - b3 : výstupní
	brána C , bity b4 - b7 : vstupní

Nastavování jednotlivých bitů brány C :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  0 ... určený bit bude nastaven na úroveň 0
  |  |  |  |  |  |  |  1 ... určený bit bude nastaven na úroveň 1
  |  |  |  |  |  |  |
  |  |  |  |  0  0  0 ... bit b0 brány C
  |  |  |  |  0  0  1 ... bit b1 brány C
  |  |  |  |  0  1  0 ... bit b2 brány C
  |  |  |  |  0  1  1 ... bit b3 brány C
  |  |  |  |  1  0  0 ... bit b4 brány C
  |  |  |  |  1  0  1 ... bit b5 brány C
  |  |  |  |  1  1  0 ... bit b6 brány C
  |  |  |  |  1  1  1 ... bit b7 brány C
  0  X  X  X

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2. Brána A 		adresa - mód 700 : 0E000H ( paměťové adresování )
			adresa - mód 800 : 0D0H

Zápis signálů pro ovládání periferií :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  0  0  0  0 ... aktivace řádku 0 klávesnice
  |  |  |  |  0  0  0  1 ... aktivace řádku 1 klávesnice
  |  |  |  |  0  0  1  0 ... aktivace řádku 2 klávesnice
  |  |  |  |  0  0  1  1 ... aktivace řádku 3 klávesnice
  |  |  |  |  0  1  0  0 ... aktivace řádku 4 klávesnice
  |  |  |  |  0  1  0  1 ... aktivace řádku 5 klávesnice
  |  |  |  |  0  1  1  0 ... aktivace řádku 6 klávesnice
  |  |  |  |  0  1  1  1 ... aktivace řádku 7 klávesnice
  |  |  |  |  1  0  0  0 ... aktivace řádku 8 klávesnice
  |  |  |  |  1  0  0  1 ... aktivace řádku 9 klávesnice
  |  |  |  |  1  0  1  X ... není aktivován žádný řádek
  |  |  |  |  1  1  X  X ... není aktivován žádný řádek
  |  |  |  |
  |  |  |  0 ... aktivace joysticku 1
  |  |  |  1 ... joystick 1 není aktivován
  |  |  |
  |  |  0 ... aktivace joysticku 2
  |  |  1 ... joystick 2 není aktivován
  |  X
  0 ... nulování generátoru signálu pro blikání kursoru
  1 ... signál pro blikání kursoru je generován

--------------------------------------------------------------------------------
3. Brána B		adresa - mód 700 : 0E001H ( paměťové adresování )
			adresa - mód 800 : 0D1H

Čtení aktivovaného řádku klávesnice :

[   b7   b6   b5   b4   b3   b2   b1   b0   ] - 0 ... klávesa stištěna
    |    |    |    |    |    |    |    |        1 ... klávesa nestištěna

    BL GRAPH  1) ALPHA TAB   ;    :    CR  ... řádek 0 , 1) šipka dolu

    Y    Z    @    [    ]                  ... řádek 1

    Q    R    S    T    U    V    W    X   ... řádek 2

    I    J    K    L    M    N    O    P   ... řádek 3

    A    B    C    D    E    F    G    H   ... řádek 4

    1    2    3    4    5    6    7    8   ... řádek 5

    \    2)   -    SP   0    9    ,    .   ... řádek 6 , 2) šipka nahoru

   INST DEL   3)   4)   5)   6)   ?    /   ... řádek 7 , 3)-6) kursorové kl.
							       3) nahoru
   ESC  CTRL			     SHIFT ... řádek 8	       4) dolu
							       5) vpravo
    F1   F2   F3   F4   F5   		   ... řádek 9         6) vlevo

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
4. Brána C		adresa - mód 700 : 0E002H ( paměťové adresování )
			adresa - mód 800 : 0D2H

Zápis signálů pro ovládání periferií :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  0 ... výstup čítače 0 I8253 odpojen od akustického výstupu
  |  |  |  |  |  |  |  1 ... výstup čítače 0 I8253 připojen na akustický výstup
  |  |  |  |  |  |  |
  |  |  |  |  |  |  signál zapisovaný na kazetu
  |  |  |  |  |  |
  |  |  |  |  |  0 ... přerušení z výstupu čítače 2 I8253 blokováno
  |  |  |  |  |  1 ... přerušení ( mód IM1 ) z výstupu čítače 2 I8253 povoleno
  |  |  |  |  |
  |  |  |  |  přechod z 0 na 1 rozběhne/zastaví motor magnetofonu
  X  X  X  X

Čtení signálů z periferií :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  X  X  X  X ... kopíruje výstupní signály
  |  |  |  |
  |  |  |  0 ... motor magnetofonu stojí
  |  |  |  1 ... motor magnetofonu běží
  |  |  |
  |  |  signál čtený z kazety,klidová úroveň 0,polarita shodná se zápisem
  |  |
  |  signál pro blikání kursoru , f=1,5 Hz , při nulování má úroveň 0
  |
  vertikální zatemňovací impulsy, aktivní 0 , T=7,2 ms , f=50 Hz

--------------------------------------------------------------------------------
		Pomocný řídící port
--------------------------------------------------------------------------------
			adresa - mód 700 : 0E008H ( paměťové adresování )
				 mód 800 : port nepřístupný

Zápis - nastavení signálu GATE čítače 0 I8253 :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  přivedeno na vstup GATE čítače 0 I8253
  X  X  X  X  X  X  X

Čtení časovacích signálů :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  periodický signál pro tempo hudby , f=35 Hz
  |  0  0  0  0  0  0
  |
  horizontální zatemňovací impulsy , aktivní 0 , f=15611 Hz

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
		Programovatelné čítače I8253
--------------------------------------------------------------------------------
1. Řídící registr,	adresa - mód 700 : 0E007H ( paměťové adresování )
   pouze pro zápis	adresa - mód 800 : 0D7H

Volba módu činnosti čítačů :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  0 ... binární čítání
  |  |  |  |  |  |  |  1 ... dekadické čítání
  |  |  |  |  |  |  |
  |  |  |  |  0  0  0 ... mód 0
  |  |  |  |  0  0  1 ... mód 1
  |  |  |  |  X  1  0 ... mód 2
  |  |  |  |  X  1  1 ... mód 3
  |  |  |  |  1  0  0 ... mód 4
  |  |  |  |  1  0  1 ... mód 5
  |  |  |  |
  |  |  0  1 ... čtení / zápis jen vyšších slabik obsahu čítačů
  |  |  1  0 ... čtení / zápis jen nižších slabik obsahu čítačů
  |  |  1  1 ... čtení / zápis obou slabik v pořadí nižší - vyšší
  |  |
  0  0 ... čítač 0
  0  1 ... čítač 1
  1  0 ... čítač 2

Nastavení ROM monitorem - řídící slova : 36H , 74H , 0B0H

	čítač 0 : mód 3 , čtení/zápis obou slabik , binární čítání
	čítač 1 : mód 2 , čtení/zápis obou slabik , binární čítání
	čítač 2 : mód 0 , čtení/zápis obou slabik , binární čítání

Vzorkování obsahu běžícího čítače před čtením jeho obsahu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  0  0  X  X  X  X
  |  |
  0  0 ... čítač 0
  0  1 ... čítač 1
  1  0 ... čítač 2

---------------------------------------------------------------------------------
2. Čítač 0		adresa - mód 700 : 0E004H ( paměťové adresování )
			adresa - mód 800 : 0D4H

Hodiny CLK : periodický signál , f=1108405 Hz

Hradlování GATE : mód 700 ... nastaveno bitem b0 výstupního portu 0E008H
		  mód 800 ... trvale 1

Výstup OUT : a) akustický výstup,je-li bit b0 brány C I8255 nastaven na 1.
	     b) negace tohoto signálu je přivedena na bit b4 brány A Z80-PIO.

Tabulka hodnot předvolby pro frekvence temperované oktávy :

C   ... 4232H		E   ... 348AH		GIS ... 29B4H
CIS ... 3E7BH		F   ... 3197H		A   ... 275CH
D   ... 3AFAH		FIS ... 2ECFH		AIS ... 2527H
DIS ... 37AAH		G   ... 2C2EH		H   ... 2311H

Tabulka odpovídá druhé nejnižší celé generovatelné oktávě ( A=110 Hz ),
pro každou následující vyšší oktávu je nutné hodnoty dělit dvěma.

--------------------------------------------------------------------------------
3. Cítač 1		adresa - mód 700 : 0E005H ( paměťové adresování )
			adresa - mód 800 : 0D5H

Hodiny CLK : horizontální synchronizační impulsy , f=15611 Hz

Hradlování GATE : trvale 1

Výstup OUT : přiveden na vstup CLK čítače 2

--------------------------------------------------------------------------------
4. čítač 2		adresa - mód 700 : 0E006H ( paměťové adresování )
			adresa - mód 800 : 0D6H

Hodiny CLK : přivedeny z výstupu OUT čítače 1

Hradlování GATE : trvale 1

Výstup OUT : při úrovni 1 generuje přerušení ( mód IM1 ),je-li bit b2
             brány C I8255 nastaven na 1.

--------------------------------------------------------------------------------
5. Módy činnosti čítačů

Mód 0 :

	Po nastavení módu i během zápisu předvolby je výstup OUT na úrovni 0.
Po proběhnutí nastaveného počtu period hodin CLK za ukončením předvolby přejde
výstup OUT na úroveň 1.Na té zůstane až do zápisu nové předvolby,po které 
začne další odpočítávání s výstupem OUT na úrovni 0.
	Zápis první slabiky před koncem nastaveného intervalu zastaví čítání,
zápis druhé slabiky odstartuje čítání s novým obsahem čítače.
	Hradlování GATE na úrovni 0 blokuje čítání.

Mód 1 :

	Po nastavení módu i během zápisu předvolby je výstup OUT na úrovni 1.
Čítání,během něhož je výstup OUT na úrovni 0,se startuje vzestupnou hranou
signálu GATE.Po proběhnutí nastaveného počtu period hodin CLK se výstup OUT
vrátí do úrovně 1,na které zůstane až do dalšího odstartování přes GATE.
	Zápis nové předvolby v průběhu čítání se uplatní až po nejbližší
vzestupné hraně signálu GATE.
	Hradlování GATE při přechodu z 0 na 1 startuje čítání s naposledy
nastavenou předvolbou.Úroveň 0 čítání neovlivňuje !

Mód 2 :

	Po nastavení módu i běhěm zápisu předvolby je výstup OUT na úrovni 1.
Po proběhnutí nastaveného počtu period hodin CLK je automaticky provedeno nové
odstartování a v začátku opakujícího se čítání přejde výstup OUT na dobu
jedné periody hodin CLK do úrovně 0.
	Zápis nové předvolby v průběhu čítání se uplatní až v další periodě
výstupního signálu.
	Hradlování GATE na úrovni 0 blokuje čítání a nastavuje výstup OUT
na úroveň 1.Přechod z 0 na 1 startuje čítání s naposledy nastavenou předvolbou.

Mód 3:

	Po nastavení módu je výstup OUT na úrovni 1.Po ukončení předvolby
začne čítač odpočítávat daný počet period hodin CLK a v druhé polovině čítaného 
intervalu přejde výstup OUT na úroveň 0.Při liché předvolbě je první část 
o jednotku delší.Po dočítání je automaticky provedeno nové odstartování
a čítání se opakuje.	
	Zápis nové předvolby v průběhu čítání se uplatní až v další půlperiodě
výstupního signálu.
	Hradlování GATE na úrovni 0 blokuje čítání a nastavuje výstup OUT
na úroveň 1.Přechod z 0 na 1 startuje čítání s naposledy nastavenou předvolbou.

Mód 4 : 

	Po nastavení módu i během zápisu předvolby je výstup OUT na úrovni 1.
Po proběhnutí nastaveného počtu period hodin CLK za ukončením předvolby přejde
výstup OUT na dobu jedné periody do úrovně 0.Další čítání začne až po zapsání
nové předvolby.
	Změna předvolby v průběhu čítání nemá vliv na délku probíhajícího 
intervalu.
	Hradlování GATE na úrovni 0 blokuje čítání.

Mód 5 :

	Po nastavení módu i během zápisu předvolby je výstup OUT na úrovni 1.
Čítání se startuje vzestupnou hranou signálu GATE.Po proběhnutí nastaveného
počtu period hodin CLK přejde výstup OUT na dobu jedné periody do úrovně 0.
Další čítání začne až po novém odstartování přes GATE.
	Zápis nové předvolby v průběhu čítání se uplatní až po nejbližší
vzestupné hraně signálu GATE.
	Hradlování GATE při přechodu z 0 na 1 startuje čítání s naposledy
nastavenou předvolbou.Úroveň 0 čítání neovlivňuje !

Pozn. : Aktivní hranou signálu CLK je hrana sestupná,t.j.přechod z úrovně 1
        na úroveň 0.

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
		Programovatelný paralelní interfejs Z80-PIO
--------------------------------------------------------------------------------
1. Řídící registr,	adresa pro oba módy - kanál A : 0FCH
   pouze pro zápis	adresa pro oba módy - kanál B : 0FDH

Přerušovací vektor ( mód přerušení IM2 ) :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  V7 V6 V5 V4 V3 V2 V1 0 ... spolu s registrem I jako vyšší slabikou udává,kde
			     v paměti je uložena adresa obslužného programu.

Volba režimu činnosti kanálu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  X  X  1  1  1  1
  |  |
  0  0 ... kanál výstupní
  0  1 ... kanál vstupní
  1  0 ... kanál obousměrný ( jen pro kanál A , kanál B pak musí být v bitový )
  1  1 ... bitový mód kanálu,následuje zápis bytu určujícího
	   rozdělení linek kanálu na vstupy a výstupy :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |  
  L7 L6 L5 L4 L3 L2 L1 L0 - 0 ... výstupní
			    1 ... vstupní

Volba zdroje přerušení :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  0  1  1  1
  |  |  |  0 ... maska se nezapisuje
  |  |  |  1 ... následuje zápis bytu masky
  |  |  |
  |  |  0 ... přerušení při úrovni 0
  |  |  1 ... přerušení při úrovni 1
  |  |
  |  0 ... vazba jednotlivých linek OR
  |  1 ... vazba jednotlivých linek AND
  |
  0 ... přerušení zakázáno
  1 ... přerušení povoleno

Maskování přerušení od jednotlivých linek kanálu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  M7 M6 M5 M4 M3 M2 M1 M0 - 0 ... přerušení nemaskováno
			    1 ... přerušení maskováno

Povolení / zákaz přerušení :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  X  X  X  0  0  1  1
  |
  0 ... přerušení zakázáno
  1 ... přerušení povoleno

Nastavení monitorem BASICu 800 :

	řídící slova pro kanál A : 0FCH , 0FFH , 3FH , 17H , 0EFH
	řídící slova pro kanál B : 0FEH , 0FH

	kanál A : v bitovém módu,bity b6,b7 výstupní,přerušovací vektor 0FCH,
	          přerušení při úrovni 0 na bitu b4,po nastavení zakázáno.
	kanál B : výstupní,přerušovací vektor 0FEH,přerušení zakázáno.
		  ( Pozn.: v registru I je hodnota 0FH )

--------------------------------------------------------------------------------
2. Kanál A		adresa pro oba módy : 0FEH

Zápis signálů pro řízení tiskárny :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  X  X  X  X  X  X
  |  |
  |  0 ... neaktivní
  |  1 ... inicializace tiskárny ( MZ ... IRT , Centr. ... INIT )
  |
  0 ... neaktivní
  1 ... zápis dat do tiskárny ( MZ ... RDP , Centr. ... STB ),
        smí přijít,jen pokud je signál BUSY/RDA na úrovni 0,a pro MZ by měl
        trvat až do přechodu BUSY/RDA na úroveň 1.

Čtení signálů z tiskárny a časování :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  0 ... tiskárna připravena pro příjem dat
  |  |  |  |  |  |  |  1 ... tiskárna nepřipravena pro příjem dat
  |  |  |  |  |  |  |	     ( MZ ... RDA , Centr. ... BUSY )
  |  |  |  |  |  |  |
  |  |  |  |  |  |  0 ... závada tiskárny
  |  |  |  |  |  |  1 ... tiskárna vpořádku
  |  |  |  |  |  |	  ( MZ ... STA , Centr. ... ERROR )
  |  |  |  |  0  0
  |  |  |  |
  |  |  |  přes invertor přivedený výstup čítače 0 I8253
  |  |  |
  |  |  vertikální zatemňovací impulsy , aktivní 0 , T=7,2 ms , f=50 Hz
  |  |
  X  X ... kopíruje výstupní signály

--------------------------------------------------------------------------------
3. Kanál B		adresa pro oba módy : 0FFH

Výstup dat na tiskárnu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  D7 D6 D5 D4 D3 D2 D1 D0 ... datové linky interfejsu tiskárny

Tento kanál generuje přerušení ( pokud je povoleno ) vždy po přijetí
dat tiskárnou ... přechodu signálu BUSY/RDA z úrovně 1 na úroveň 0.

--------------------------------------------------------------------------------
		Programovatelný zvukový generátor
--------------------------------------------------------------------------------
Pouze pro zápis		adresa pro oba módy : 0F2H

Nastavení frekvence tónového kanálu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  0  N3 N2 N1 N0 ... nižší bity nastavení frekvence
  |  |  |
  |  0  0 ... kanál 0
  |  0  1 ... kanál 1
  |  1  0 ... kanál 2
  1

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  0  X  N9 N8 N7 N6 N5 N4 ... vyšší bity nasatvení frekvnece

Pořadí těchto dvou bytů je nutné dodržet.
Frekvence f=110,84 KHz/N , pro N=0  f=108,24 Hz

Tabulka hodnot N pro frekvence temperované oktávy :

c   ... 034FH		e   ... 02A1H		gis ... 0216H
cis ... 0320H		f   ... 027BH		a   ... 01F8H
d   ... 02F3H		fis ... 0257H		ais ... 01DCH
dis ... 02C9H		g   ... 0236H		h   ... 01C1H

Hodnoty odpovídají nejnižší celé generovatelné oktávě ( a=220 Hz ),pro každou
následující vyšší oktávu je nutné N dělit dvěma.

Nastavení frekvence šumového kanálu :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  0  0 ... f=6,93 KHz
  |  |  |  |  |  |  0  1 ... f=3,46 KHz
  |  |  |  |  |  |  1  0 ... f=1,73 KHz
  |  |  |  |  |  |  1  1 ... f=f3/16 ( f3 ... frekvence tónového kanálu 3 )
  |  |  |  |  |  |
  |  |  |  |  |  0 ... synchronní šum
  |  |  |  |  |  1 ... bílý šum
  1  1  1  0  X

Nastavení hlasitosti kanálů :

[ b7 b6 b5 b4 b3 b2 b1 b0 ]
  |  |  |  |  |  |  |  |
  |  |  |  |  A3 A2 A1 A0 ... utlumení 1.26^A , pro A=15 je kanál odpojen
  |  |  |  1
  |  0  0 ... tónový kanál 0
  |  0  1 ... tónový kanál 1
  |  1  0 ... tónový kanál 2
  |  1  1 ... šumový kanál
  1

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
		Interfejs joysticků
--------------------------------------------------------------------------------
Pouze pro čtení		adresa pro oba módy - joystick 1 : 0F0H
			adresa pro oba módy - joystick 2 : 0F1H

Signály z aktivovaného joysticku :

[ b7 b6 b5 b4 b3 b2 b1 b0 ] - 0 ... spínač sepnut
  |  |  |  |  |  |  |  |      1 ... spínač nesepnut
  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  vpřed
  |  |  |  |  |  |  |
  |  |  |  |  |  |  vzad
  |  |  |  |  |  |
  |  |  |  |  |  vlevo
  |  |  |  |  |
  |  |  |  |  vpravo
  |  |  |  |
  |  |  |  spoušť 1
  |  |  |
  |  |  spoušť 2 ( kontakt 7 konektoru,některé joysticky zde vyžadují +5V )
  X  X

--------------------------------------------------------------------------------
lobeně se vrátil zpět do  své  kanceláře.  Potom  dlouho  na
v