Konference: SAPI-1 a československé mikropočítače

Od: Roman Bórik
Datum: 19.9.2010 21: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)]


[2010 (676)] [2011 (586)] [2012 (976)] [2013 (538)]