Apple II 사용자 설명서

다운로드
페이지 257
2213   EEA4 30 FB              BMI CKF4
2214   EEA6 10 D9              BPL CKF2        ;GO GET TIMING
2215   EEA8
2216   EEA8             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2217   EEA8             ;OUTPUT ACC TO TTY SUBROUTINE
2218   EEA8             ;X,Y ARE PRESERVED
2219   EEA8 48          OUTTTY PHA             ;SAVE A
2220   EEA9 20 9E EB           JSR PHXY        ;PUSH X
2221   EEAC 8D 27 A4           STA STIY        ;PUT CHAR HERE
2222   EEAF 20 0F EC           JSR DELAY       ;STOP BIT FROM LAST CHAR
2223   EEB2 AD 00 A8           LDA DRB
2224   EEB5 29 FB              AND #$FB        ;START BIT PB2=0
2225   EEB7 8D 00 A8           STA DRB         ;TTO=PB2
2226   EEBA 8D 28 A4           STA STIY+1      ;SAVE THIS PATTERN
2227   EEBD 20 0F EC           JSR DELAY
2228   EEC0 A2 08              LDX #$08        ;8 BITS
2229   EEC2 2E 27 A4           ROL STIY        ;GET FIRST LSB INTO BIT 2
2230   EEC5 2E 27 A4           ROL STIY
2231   EEC8 2E 27 A4           ROL STIY
2232   EECB 6E 27 A4    OUTT1  ROR STIY
2233   EECE AD 27 A4           LDA STIY
2234   EED1 29 04              AND #$04        ;GET ONLY BIT 2 FOR PB2
2235   EED3 0D 28 A4           ORA STIY+1      ;PUT BIT INTO PATTERN
2236   EED6 8D 00 A8           STA DRB         ;NOW TO TTY
2237   EED9 08                 PHP             ;PRESERVE CARRY FOR ROTATE
2238   EEDA 20 0F EC           JSR DELAY
2239   EEDD 28                 PLP
2240   EEDE CA                 DEX
2241   EEDF D0 EA              BNE OUTT1
2242   EEE1 A9 04              LDA #$04        ;STOP BIT
2243   EEE3 0D 28 A4           ORA STIY+1
2244   EEE6 8D 00 A8           STA DRB
2245   EEE9 20 0F EC           JSR DELAY       ;STOP BIT
2246   EEEC 20 AC EB           JSR PLXY        ;PULL X
2247   EEEF 68                 PLA
2248   EEF0 C9 0A              CMP #LF
2249   EEF2 F0 07              BEQ OUTT2
2250   EEF4 C9 FF              CMP #NULLC
2251   EEF6 F0 03              BEQ OUTT2
2252   EEF8 4C 05 EF           JMP OUTDIS      ;USE THAT BUFF
2253   EEFB 60          OUTT2  RTS
2254   EEFC
2255   EEFC             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2256   EEFC             ;OUTPUT A CHR TO D/P SUBR (SINGLE ENTRY FOR BOTH SUBR)
2257   EEFC             ;IF CHAR=<CR> CLEAR DISPLAY & PRINTER
2258   EEFC 20 00 F0    OUTDP  JSR OUTPRI      ;FIRST TO PRI THEN TO DISP
2259   EEFF EA                 NOP
2260   EF00 EA                 NOP
2261   EF01 EA                 NOP
2262   EF02 6C 06 A4    OUTDP1 JMP (DILINK)    ;HERE HE COULD ECHO SOMEWHERE ELSE`
2263   EF05
2264   EF05             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2265   EF05             ;OUTPUT ACC TO DISPLAY SUBROUTINE
2266   EF05             ;IF SIGN BIT (MSB)=1 DISP DO NOT CLR TO THE RIGHT
2267   EF05 48          OUTDIS PHA             ;SAVE A
2268   EF06 20 9E EB           JSR PHXY        ;PUSH X
2269   EF09 C9 0D              CMP #CR         ;<CR> ?
2270   EF0B D0 07              BNE OUTD1
2271   EF0D A2 00              LDX #0          ;YES
2272   EF0F 8E 15 A4           STX CURPO2      ;CLEAR DISP POINTER
2273   EF12 F0 42              BEQ OUTD5       ;GO CLEAR DISP
2274   EF14 4C 9C FE    OUTD1  JMP PATCH4