Apple ii Battery Charger User Manual


 
1469 E973 ;READ AND ECHO A CHAR FROM KB OR TTY
1470 E973 20 83 FE REDOUT JSR CUREAD
1471 E976 C9 0D RED2 CMP #CR
1472 E978 F0 C1 BEQ RCHT1 ;DO NOT ECHO <CR>
1473 E97A
1474 E97A ;OUTPUTS A CHAR TO EITHER TTY OR D/P
1475 E97A 48 OUTPUT PHA ;SAVE IT
1476 E97B AD 11 A4 OUT1 LDA PRIFLG ;IF LSB=1 OUTPUT ONLY TO DISP
1477 E97E 29 01 AND #$01
1478 E980 F0 04 BEQ OUT1A
1479 E982 68 PLA
1480 E983 4C 02 EF JMP OUTDP1 ;ONLY TO DISPL
1481 E986 20 42 E8 OUT1A JSR TTYTST ;TTY OR KB ?
1482 E989 D0 04 BNE OUT2
1483 E98B 68 PLA
1484 E98C 4C A8 EE JMP OUTTTY ;TO TTY
1485 E98F 68 OUT2 PLA
1486 E990 4C FC EE JMP OUTDP ;TO DISP & PRINTR
1487 E993
1488 E993 ;GET A CHR FROM CURRENT INPUT DEVICE (SET ON INFLG)
1489 E993 AD 12 A4 INALL LDA INFLG
1490 E996 C9 54 CMP #'T'
1491 E998 D0 03 BNE *+5
1492 E99A 4C 3B ED JMP TIBYTE ;CHAR FROM BUFFER
1493 E99D C9 4B CMP #'K' ;WITH KIM FORMAT
1494 E99F D0 03 BNE *+5
1495 E9A1 4C 29 EE JMP GETTAP ;DIRECTLY FROM TAPE
1496 E9A4 C9 4D CMP #'M' ;MEMORY FOR ASM?
1497 E9A6 D0 03 BNE *+5
1498 E9A8 4C D0 FA JMP MREAD
1499 E9AB C9 55 CMP #'U' ;USER ROUTINE?
1500 E9AD D0 04 BNE *+6
1501 E9AF 38 SEC ;SET FLG FOR NORMAL INPUT
1502 E9B0 6C 08 01 JMP (UIN)
1503 E9B3 C9 4C CMP #'L' ;TO LOAD PPR TAPE
1504 E9B5 D0 A8 BNE RDRUP
1505 E9B7 4C DB EB JMP GETTTY ; FROM TTY
1506 E9BA
1507 E9BA ;.FILE A2
1508 E9BA A9 3B SEMI LDA #SEMICOLON ;OUTPUT A ";"
1509 E9BC ;WRITE A CHR TO OUTPUT DEVICE (SET ON OUTFLG)
1510 E9BC 48 OUTALL PHA
1511 E9BD AD 13 A4 LDA OUTFLG
1512 E9C0 ;TAPE BY BLOCKS
1513 E9C0 C9 54 CMP #'T' ;TAPES ?
1514 E9C2 D0 04 BNE OUTA1
1515 E9C4 68 PLA
1516 E9C5 4C 8B F1 JMP TOBYTE ;OUTPUT ONE CHAR TO TAPE BUFFER
1517 E9C8 ;TAPE KIM FORMAT
1518 E9C8 C9 4B OUTA1 CMP #'K' ;KIM-1 ?
1519 E9CA D0 04 BNE OUTA2
1520 E9CC 68 PLA
1521 E9CD 4C 4A F2 JMP OUTTAP
1522 E9D0 ;PRINTER
1523 E9D0 C9 50 OUTA2 CMP #'P' ;PRINTER ?
1524 E9D2 D0 0E BNE OUTA3
1525 E9D4 38 SEC ;TURN PRINTER ON
1526 E9D5 6E 11 A4 ROR PRIFLG
1527 E9D8 68 PLA
1528 E9D9 08 PHP
1529 E9DA 20 00 F0 JSR OUTPRI
1530 E9DD 28 PLP