Apple II User Manual

Page of 257
2275   EF17 E0 3C       OUTD1A CPX #60         ;LAST CHAR FOR DISP?
2276   EF19 90 05              BCC OUTD2
2277   EF1B 20 AC EB           JSR PLXY        ;GO BACK
2278   EF1E 68                 PLA             ;DO NOT STORE
2279   EF1F 60                 RTS
2280   EF20 9D 38 A4    OUTD2  STA DIBUFF,X    ;PUT CHAR IN BUFF
2281   EF23 EE 15 A4           INC CURPO2      ;INC POINTER
2282   EF26 E0 14              CPX #20         ;DISPLAY FULL?
2283   EF28 90 1E              BCC OUTD4
2284   EF2A 20 2F EF           JSR OUTD2A      ;THIS WAY SCROLL IS A SUBR
2285   EF2D 30 47              BMI OUTD7       ;EXIT DISP
2286   EF2F             ;YES, SCROLL CHARS TO THE LEFT
2287   EF2F 8A          OUTD2A TXA             ;X---> Y
2288   EF30 A8                 TAY
2289   EF31 A2 13              LDX #19         ;ADDR FOR DISP DO NOT
2290   EF33 8E 27 A4    OUTD3  STX STIY        ;DECREM IN BINARY
2291   EF36 B9 38 A4           LDA DIBUFF,Y    ;FROM BUFFER TO DISP
2292   EF39 09 80              ORA #$80        ;NO CURSOR
2293   EF3B 20 7B EF           JSR OUTDD1      ;CONVERT X INTO REAL ADDR
2294   EF3E 88                 DEY
2295   EF3F CE 27 A4           DEC STIY
2296   EF42 AE 27 A4           LDX STIY
2297   EF45 10 EC              BPL OUTD3       ;AGAIN UNTIL WHOLE DISP
2298   EF47 60                 RTS
2299   EF48 48          OUTD4  PHA
2300   EF49 09 80              ORA #$80        ;NO CURSOR
2301   EF4B 20 7B EF           JSR OUTDD1      ;X=<$19 ,CONVRT TO REAL ADDR
2302   EF4E 68                 PLA
2303   EF4F 29 80              AND #$80        ;IF MSB=0 CLEAR REST OF DISPLAY
2304   EF51 D0 23              BNE OUTD7
2305   EF53 AE 15 A4           LDX CURPO2
2306   EF56             ;CLEAR DISP TO THE RIGHT
2307   EF56 E0 14       OUTD5  CPX #20
2308   EF58 B0 1C              BCS OUTD7
2309   EF5A 8E 27 A4           STX STIY
2310   EF5D A9 A0              LDA #' '+$80    ;<SPACE>
2311   EF5F 20 7B EF           JSR OUTDD1      ;CONVRT TO REAL ADDR
2312   EF62 EE 27 A4           INC STIY
2313   EF65 AE 27 A4           LDX STIY
2314   EF68 D0 EC              BNE OUTD5       ;GO NEXT
2315   EF6A 4C 76 EF           JMP OUTD7
2316   EF6D EA                 NOP
2317   EF6E EA                 NOP
2318   EF6F EA                 NOP
2319   EF70 EA                 NOP
2320   EF71 EA                 NOP
2321   EF72 EA                 NOP
2322   EF73 EA                 NOP
2323   EF74 EA                 NOP
2324   EF75 EA                 NOP
2325   EF76 20 AC EB    OUTD7  JSR PLXY        ;REST ,SO PRINTR INDEPEN
2326   EF79 68                 PLA
2327   EF7A 60                 RTS
2328   EF7B
2329   EF7B             ;CONVERT X INTO REAL ADDR FOR DISPLAY
2330   EF7B             ;AND OUTPUT IT  PB=DATA ; PA=W,CE ,A0 A1 (6520)
2331   EF7B 48          OUTDD1 PHA             ;SAVE DATA
2332   EF7C 8A                 TXA
2333   EF7D 48                 PHA             ;SAVE X
2334   EF7E 4A                 LSR A           ;DIVIDE X BY 4
2335   EF7F 4A                 LSR A           ;TO GET CHIP SELECT
2336   EF80 AA                 TAX             ;BACK TO X