Apple II User Manual

Page of 257
FD26: 91 28     767           STA   (BASL),Y   ;REPLACE FLASHING SCREEN
FD28: AD 00 C0  768           LDA   KBD        ;GET KEYCODE
FD2B: 2C 10 C0  769           BIT   KBDSTRB    ;CLR KEY STROBE
FD2E: 60        770           RTS
FD2F: 20 0C FD  771  ESC      JSR   RDKEY      ;GET KEYCODE
FD32: 20 2C FC  772           JSR   ESC1       ;  HANDLE ESC FUNC.
FD35: 20 0C FD  773  RDCHAR   JSR   RDKEY      ;READ KEY
FD38: C9 9B     774           CMP   #$9B       ;ESC?
FD3A: F0 F3     775           BEQ   ESC        ;  YES, DON'T RETURN
FD3C: 60        776           RTS
FD3D: A5 32     777  NOTCR    LDA   INVFLG
FD3F: 48        778           PHA
FD40: A9 FF     779           LDA   #$FF
FD42: 85 32     780           STA   INVFLG     ;ECHO USER LINE
FD44: BD 00 02  781           LDA   IN,X       ;  NON INVERSE
FD47: 20 ED FD  782           JSR   COUT
FD4A: 68        783           PLA
FD4B: 85 32     784           STA   INVFLG
FD4D: BD 00 02  785           LDA   IN,X
FD50: C9 88     786           CMP   #$88       ;CHECK FOR EDIT KEYS
FD52: F0 1D     787           BEQ   BCKSPC     ;  BS, CTRL-X
FD54: C9 98     788           CMP   #$98
FD56: F0 0A     789           BEQ   CANCEL
FD58: E0 F8     790           CPX   #$F8       ;MARGIN?
FD5A: 90 03     791           BCC   NOTCR1
FD5C: 20 3A FF  792           JSR   BELL       ;  YES, SOUND BELL
FD5F: E8        793  NOTCR1   INX              ;ADVANCE INPUT INDEX
FD60: D0 13     794           BNE   NXTCHAR
FD62: A9 DC     795  CANCEL   LDA   #$DC       ;BACKSLASH AFTER CANCELLED LINE
FD64: 20 ED FD  796           JSR   COUT
FD67: 20 8E FD  797  GETLNZ   JSR   CROUT      ;OUTPUT CR
FD6A: A5 33     798  GETLN    LDA   PROMPT
FD6C: 20 ED FD  799           JSR   COUT       ;OUTPUT PROMPT CHAR
FD6F: A2 01     800           LDX   #$01       ;INIT INPUT INDEX
FD71: 8A        801  BCKSPC   TXA              ;  WILL BACKSPACE TO 0
FD72: F0 F3     802           BEQ   GETLNZ
FD74: CA        803           DEX
FD75: 20 35 FD  804  NXTCHAR  JSR   RDCHAR
FD78: C9 95     805           CMP   #PICK      ;USE SCREEN CHAR
FD7A: D0 02     806           BNE   CAPTST     ;  FOR CTRL-U
FD7C: B1 28     807           LDA   (BASL),Y
FD7E: C9 E0     808  CAPTST   CMP   #$E0
FD80: 90 02     809           BCC   ADDINP     ;CONVERT TO CAPS
FD82: 29 DF     810           AND   #$DF
FD84: 9D 00 02  811  ADDINP   STA   IN,X       ;ADD TO INPUT BUF
FD87: C9 8D     812           CMP   #$8D
FD89: D0 B2     813           BNE   NOTCR
FD8B: 20 9C FC  814           JSR   CLREOL     ;CLR TO EOL IF CR
FD8E: A9 8D     815  CROUT    LDA   #$8D
FD90: D0 5B     816           BNE   COUT
FD92: A4 3D     817  PRA1     LDY   A1H        ;PRINT CR,A1 IN HEX
FD94: A6 3C     818           LDX   A1L
FD96: 20 8E FD  819  PRYX2    JSR   CROUT
FD99: 20 40 F9  820           JSR   PRNTYX
FD9C: A0 00     821           LDY   #$00
FD9E: A9 AD     822           LDA   #$AD       ;PRINT '-'
FDA0: 4C ED FD  823           JMP   COUT
FDA3: A5 3C     824  XAM8     LDA   A1L
FDA5: 09 07     825           ORA   #$07       ;SET TO FINISH AT
FDA7: 85 3E     826           STA   A2L        ;  MOD 8=7
FDA9: A5 3D     827           LDA   A1H
FDAB: 85 3F     828           STA   A2H