Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Roman Bórik Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Nuž, tá rutina mi jednak pripadá trošku divne, ale zároveň mi je divné aj
<img src="BODY_IMAGES_WRAP_GIF"> 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
<img src="BODY_IMAGES_WRAP_GIF">niečo uniká?

Druhá vec je, prečo je strobovanie do log.1. Signál STROBE býva zvyčajne
<img src="BODY_IMAGES_WRAP_GIF">aktívny v nule. Ale môžem sa mýliť a možno to záleží aj od zapojenia
<img src="BODY_IMAGES_WRAP_GIF">samotných portov a bižutérie okolo.

Ak by sme ale mali naďalej predpokladať prístup k portom pomocou IN a OUT,
<img src="BODY_IMAGES_WRAP_GIF">/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


<span class="replyquote1">&gt; Ještě pro pořádek - tohle by měla být tisknoucí rutina v ELISU:
&gt; ; rutina LIST - vystup znaku (z A !!!) na tiskarnu
&gt; ;
&gt; LIST: out 3 ; f44b  d3 03 vystup znaku na port tiskarny (Centronics)
&gt; Xf44d: in 3 ; f44d  db 03 nacteni stavu tiskarny
&gt; ani 40h ; f44f  e6 40 maskuj BUSY
&gt; jz Xf44d ; f451  ca 4d f4 je BUSY opakuj
&gt; mvi a,2 ; f454  3e 02 neni BUSY, priprav 1 do STROBE
&gt; out 2 ; f456  d3 02 nahod STROBE
&gt; Xf458: in 3 ; f458  db 03 cti status
&gt; ani 40h ; f45a  e6 40 maskuj BUSY
&gt; jnz Xf458 ; f45c  c2 58 f4 je BUSY opakuj
&gt; mvi a,0 ; f45f  3e 00 priprav 0 do STROBE
&gt; out 2 ; f461  d3 02 shod STROBE
&gt; ret ; f463  c9 navrat s nulou ve stradaci!!!
&gt; ;
&gt; a tohle zapojení kabelu:
&gt;   K6313                SAPI-1          SIGNAL
&gt;   ===========================================
&gt; KONEKTOR                JPR-1, X3
&gt; XS11                    FRB-30
&gt;   B5  -------------------  3           DAT1 ;P2-OUT0
&gt;   B6  -------------------  5           DAT2 ;P2-OUT1
&gt;   B7  -------------------  6           DAT3 ;P2-OUT2
&gt;   B8  -------------------  8           DAT4 ;P2-OUT3
&gt;   B9  ------------------- 10           DAT5 ;P2-OUT4
&gt;   B10 -------------------  2           DAT6 ;P2-OUT5
&gt;   B11 -------------------  4           DAT7 ;P2-OUT6
&gt;   B12 -------------------  7           DAT8 ;P2-OUT7
&gt;   B2  ------------------- 26           STROBE ;P1-OUT1
&gt;   C11 ------------------- 15           BUSY ;P2-IN6
&gt; A10 AZ A12 --------------- 11           ZEM
&gt;   C5  ------------------- 11           ZEM
&gt; C6 AZ C9 ----------------- 21           ZEM
&gt; 
&gt; nevidím (jako obvykle), v čem je problém.---------------------
</span>
</pre>