

              		I/O PORT FR DIN AMIGA

Denna koppling r en IN/OUT enhet som ska anslutas till parallell porten. Denna krets kan man bygga ut till maximalt 56 i/o linjer, med mjlighet till dubbel riktad trafik.

Utgngarna Busy, Pout och Sel i parallell porten kan adresseras till en 3-bitars adresskod. Dessa linjer kopplas till ic 1 som r en binravkodare.

Ic 2 r en ingngsport d adressen 2 r vald. Ic 4 r en latch(ls) utgngsport d adressen 3 r vald. Ic 3 r en dubbelriktad enhet som lser vid adressen 1, och skriver vid adressen 0.
De terstende utgngarna som finns p ic 1 kan anvndas till ytterligare 24 i/o linjer. (3 adresslinjer x 8 datalinjer)
Linje nr 7 p ic 1 anvnds inte till adressering av ngon krets, utan till att indikera nr ingen av portarn anvnds. 
Ic 3 har ingen latch funktion, den r bara hg s lnge som det skrivs till den. Ic 4 r hg tills den gamla datororden skrivs ver.

Fljande instruktioner anvnder du nr du skriver egen mjukvara i AmigaBasic.

   a=1:n=123:GOSUB Wr <CR>

Detta komando skriver datorordet 123 (dec) till ic 3. Ic'n fungerar hr som en utgngs funktion.

   a=2:GOSUB Rd:PRINT n <CR>

Detta komando lser av det dataord som finns p ingngarna p ic 2, och skriver  informationen p skrmen.

Rutinen Init bevvs bara kallas p en gng.


Init:
 POKE 12571135&,199          Stter Busy,Sel och Pout till output
 POKE 12570624&,255          Adress 7 (Tnder Ready)
 POKE 12575489&,0            Stter porten till input
RETURN

Rd:
 POKE 12575489&,0            Stter porten till input
 POKE 12570624&,248+a	    Vljer adres a
 n=PEEK(12574977&)           Lser
 POKE 12570624&,255	    	    Tnder Ready
RETURN

Wr:
 POKE 12570624&,248+a	    Vljer adress a
 POKE 12575489&,255	  	    Stter porten till output 
 POKE 12574977&,n		    Skriver
 POKE 12570624&,255		    Tnder Ready
RETURN 	 