Apple II User Manual

Page of 257
0852   E4EE 20 BA E9           JSR SEMI        ;OUTPUT ';'
0853   E4F1 A2 02              LDX #2
0854   E4F3 A9 00              LDA #0          ;OUTPUT # OF BYTES (0-LAST RECORD)
0855   E4F5 20 3B E5           JSR OUTCK1
0856   E4F8 AD 07 01    DU10A  LDA S2+1        ;OUTPUT RECORD COUNT
0857   E4FB 20 3B E5           JSR OUTCK1      ;CHECKCUM IS THE SAME
0858   E4FE AD 06 01           LDA S2
0859   E501 20 3B E5           JSR OUTCK1
0860   E504 CA                 DEX
0861   E505 D0 F1              BNE DU10A
0862   E507 20 F0 E9           JSR CRLF
0863   E50A             ;CLOSE TAPE BLOCK IF ACTIVE
0864   E50A AD 13 A4    DU11   LDA OUTFLG
0865   E50D C9 54              CMP #'T'
0866   E50F D0 0F              BNE DU13        ;NO ,BRANCH
0867   E511 AD 37 A4    DU12   LDA TAPTR2      ;TAP OUTPUT BUFF PTR
0868   E514 C9 01              CMP #1          ;BECAUSE FIRST ONE IS BLK CNT
0869   E516 F0 08              BEQ DU13        ;NO DATA TO WRITE
0870   E518 A9 00              LDA #0          ;FILL REST BUFF ZEROS
0871   E51A 20 8B F1           JSR TOBYTE      ;OUTPUT TO BUFF
0872   E51D 4C 11 E5           JMP DU12        ;FINISH THIS BLOCK
0873   E520 20 13 EA    DU13   JSR CRLOW
0874   E523 18                 CLC             ;ENABLE INTERR
0875   E524 A9 00              LDA #T1I        ;T1 FROM FREE RUNNING TO 1 SHOT
0876   E526 8D 0B A8           STA ACR
0877   E529 A9 34       DU14   LDA #$34        ;SET BOTH TAPES ON
0878   E52B 8D 00 A8           STA DRB
0879   E52E 4C FE E8           JMP LL
0880   E531
0881   E531             ;GET CHAR SPECIFIED BY START ADDR (S1)
0882   E531 A9 1A       OUTCKS LDA #S1
0883   E533 A0 00              LDY #0
0884   E535 20 58 EB           JSR LDAY
0885   E538
0886   E538             ;ADD TO CHECKSUM AND PRINT
0887   E538 20 4E E5    OUTCK  JSR CHEKA       ;CHCKSUM
0888   E53B 48          OUTCK1 PHA
0889   E53C AD 13 A4           LDA OUTFLG      ;IF TAPE DO NOT CNVRT
0890   E53F C9 54              CMP #'T'        ;TO TWO ASCII CHRS
0891   E541 D0 04              BNE OUTCK2
0892   E543 68                 PLA
0893   E544 4C 8B F1           JMP TOBYTE      ;OUTPUT TO TAP BUFF
0894   E547 68          OUTCK2 PLA
0895   E548 4C 46 EA           JMP NUMA        ;TWO ASCII REPRE
0896   E54B
0897   E54B 20 FD E3    CHEKAR JSR RBYTE       ;TWO ASCII CHR---> 1 BYTE
0898   E54E 48          CHEKA  PHA             ;ADD TO CHECKSUM
0899   E54F 18                 CLC
0900   E550 6D 1E A4           ADC CKSUM
0901   E553 8D 1E A4           STA CKSUM
0902   E556 90 03              BCC *+5
0903   E558 EE 1F A4           INC CKSUM+1
0904   E55B 68                 PLA
0905   E55C 60                 RTS
0906   E55D
0907   E55D             ;ADD ONE TO START ADDR (S1)
0908   E55D EE 1A A4    ADDS1  INC S1
0909   E560 D0 03              BNE ADD1
0910   E562 EE 1B A4           INC S1+1
0911   E565 60          ADD1   RTS
0912   E566
0913   E566 EE 06 01    INCS2  INC S2          ;INCR VERTICAL COUNT