Apple ii Battery Charger User Manual


 
2647 F1D2 ;CHCK ACTIVE BUFFER AND LOAD A CHR
2648 F1D2 ;CARRY=0 IF ONLY 1 BUFFER ,C=1 IF 2 BUFFERS
2649 F1D2 AD 12 A4 CKBUFF LDA INFLG
2650 F1D5 CD 13 A4 CMP OUTFLG
2651 F1D8 D0 08 BNE CBUFF1
2652 F1DA C9 54 CMP #'T' ;SEE IF INFLG=OUTFLG = T
2653 F1DC D0 04 BNE CBUFF1
2654 F1DE 38 SEC ;USE PAGE 1 FOR OUTPUT BUFFER
2655 F1DF B5 AD LDA TABUF2,X
2656 F1E1 60 RTS
2657 F1E2 18 CBUFF1 CLC ;USE SAME BUFFER FOR I/O
2658 F1E3 BD 16 01 LDA TABUFF,X
2659 F1E6 60 RTS
2660 F1E7
2661 F1E7 ;COMPUTE BLOCK CHECKSUM & PUT IT
2662 F1E7 ;AT THE END OF ACTIVE BUFFER
2663 F1E7 A9 00 BKCKSM LDA #0 ;CLEAR BLK CKSUM LOCAT
2664 F1E9 8D 66 01 STA TABUFF+80
2665 F1EC 8D 67 01 STA TABUFF+81
2666 F1EF A2 4F LDX #79
2667 F1F1 20 D2 F1 BKCK1 JSR CKBUFF ;GET CHR FROM EITHER BUFFER
2668 F1F4 18 CLC
2669 F1F5 6D 66 01 ADC TABUFF+80 ;ADD TO CKSUM
2670 F1F8 8D 66 01 STA TABUFF+80
2671 F1FB 90 03 BCC *+5
2672 F1FD EE 67 01 INC TABUFF+81
2673 F200 CA DEX
2674 F201 10 EE BPL BKCK1 ;DO THE WHOLE BUFFER
2675 F203 A2 50 LDX #80
2676 F205 AD 66 01 LDA TABUFF+80 ;PUT CKSUM INTO RIGHT BUFFER
2677 F208 20 0F F2 JSR BKCK2
2678 F20B E8 INX
2679 F20C AD 67 01 LDA TABUFF+81
2680 F20F 48 BKCK2 PHA ;OUTPUT A CHAR TO RIGHT BUFFER
2681 F210 20 D2 F1 JSR CKBUFF ;GET WHICH BUFFER
2682 F213 68 PLA
2683 F214 B0 04 BCS BKCK3 ;BRNCH TO SECOND BUFFER
2684 F216 9D 16 01 STA TABUFF,X
2685 F219 60 RTS
2686 F21A 95 AD BKCK3 STA TABUF2,X ;TO PAG 1
2687 F21C 60 RTS
2688 F21D
2689 F21D ;SET TAPE (1 OR 2) FOR OUTPUT
2690 F21D 20 C0 F2 TAOSET JSR SETSPD ;SET UP SPEED (# OF HALF PULSES)
2691 F220 AD 35 A4 LDA TAPOUT ;OUTPUT FLG (TAPE 1 OR 2)
2692 F223 20 1C EE JSR TIOSET ;SET PB4 OR PB5 TO ZERO
2693 F226 A9 EC LDA #DATOUT+MOFF ;SET CA2=0 (DATA OUT)
2694 F228 8D 0C A8 STA PCR
2695 F22B A9 C0 LDA #T1FR ;SET TIMER IN FREE RUNNING
2696 F22D 8D 0B A8 STA ACR
2697 F230 A9 00 LDA #00
2698 F232 8D 05 A8 STA T1CH ;START TIMER T1
2699 F235 AE 09 A4 LDX GAP ;OUTPUT 4*GAP SYN BYTES
2700 F238 A9 16 TAOS1 LDA #$16 ;SYN CHAR
2701 F23A 20 4A F2 JSR OUTTAP ;TO TAPE
2702 F23D 20 4A F2 JSR OUTTAP
2703 F240 20 4A F2 JSR OUTTAP
2704 F243 20 4A F2 JSR OUTTAP
2705 F246 CA DEX
2706 F247 D0 EF BNE TAOS1
2707 F249 60 RTS
2708 F24A