Konference: SAPI-1 a československé mikropočítače
Od: | Roman Bórik |
Datum: | 19.9.2010 18:27 |
Předmět: | Re: Tiskárna v CP/M |
Nuž, tá rutina mi jednak pripadá trošku divne, ale zároveň mi je divné aj
to, že sa používajú vstupno-výstupné inštrukcie IN a OUT.
Podľa popisu JPR-1 v ARB-83-01 sú porty adresované ako pamäť. Alebo mi
niečo uniká?
Druhá vec je, prečo je strobovanie do log.1. Signál STROBE býva zvyčajne
aktívny v nule. Ale môžem sa mýliť a možno to záleží aj od zapojenia
samotných portov a bižutérie okolo.
Ak by sme ale mali naďalej predpokladať prístup k portom pomocou IN a OUT,
/STB aktívne v nule a BUSY aktívne v log.1, napísal by som to takto:
LIST: MOV C,A ; odpamätaj posialaný byte
IN 3 ; test na pripravenosť tlačiarne
ANI 40h ; BUSY ?
JNZ LIST ; ano, čakaj
MOV A,C ; posielaný byte nazad do A
OUT 3 ; pošli na tlačiareň
XRA A ; vytvor impulz /STROBE
OUT 2
NOP ; počkáme chvíľu
MVI A,2 ; /STB nazad do log.1
OUT 2
RET
> Ještě pro pořádek - tohle by měla být tisknoucí rutina v ELISU:
> ; rutina LIST - vystup znaku (z A !!!) na tiskarnu
> ;
> LIST: out 3 ; f44b d3 03 vystup znaku na port tiskarny (Centronics)
> Xf44d: in 3 ; f44d db 03 nacteni stavu tiskarny
> ani 40h ; f44f e6 40 maskuj BUSY
> jz Xf44d ; f451 ca 4d f4 je BUSY opakuj
> mvi a,2 ; f454 3e 02 neni BUSY, priprav 1 do STROBE
> out 2 ; f456 d3 02 nahod STROBE
> Xf458: in 3 ; f458 db 03 cti status
> ani 40h ; f45a e6 40 maskuj BUSY
> jnz Xf458 ; f45c c2 58 f4 je BUSY opakuj
> mvi a,0 ; f45f 3e 00 priprav 0 do STROBE
> out 2 ; f461 d3 02 shod STROBE
> ret ; f463 c9 navrat s nulou ve stradaci!!!
> ;
> a tohle zapojení kabelu:
> K6313 SAPI-1 SIGNAL
> ===========================================
> KONEKTOR JPR-1, X3
> XS11 FRB-30
> B5 ------------------- 3 DAT1 ;P2-OUT0
> B6 ------------------- 5 DAT2 ;P2-OUT1
> B7 ------------------- 6 DAT3 ;P2-OUT2
> B8 ------------------- 8 DAT4 ;P2-OUT3
> B9 ------------------- 10 DAT5 ;P2-OUT4
> B10 ------------------- 2 DAT6 ;P2-OUT5
> B11 ------------------- 4 DAT7 ;P2-OUT6
> B12 ------------------- 7 DAT8 ;P2-OUT7
> B2 ------------------- 26 STROBE ;P1-OUT1
> C11 ------------------- 15 BUSY ;P2-IN6
> A10 AZ A12 --------------- 11 ZEM
> C5 ------------------- 11 ZEM
> C6 AZ C9 ----------------- 21 ZEM
>
> nevidím (jako obvykle), v čem je problém.---------------------
Ostatní příspěvky vlákna:
[2010/5 (266)] [2010/6 (85)] [2010/7 (24)] [2010/8 (95)] [2010/9 (126)] [2010/10 (60)] [2010/11 (12)] [2010/12 (8)]