Apple II User Manual

Page of 257
3380   F8F6 60                 RTS
3381   F8F7 18          AT01   CLC
3382   F8F8 60                 RTS
3383   F8F9
3384   F8F9             ;SEE IF WE RAN PAST END OF BUFFER LIMIT
3385   F8F9 A5 E1       ATEND  LDA BOTLN
3386   F8FB A6 E2              LDX BOTLN+1
3387   F8FD E4 E6              CPX END+1       ;HIGH BYTE > OR = ?
3388   F8FF 90 F6              BCC AT01
3389   F901 D0 F2              BNE AT02
3390   F903 C5 E5              CMP END         ;LOW BYTE > OR = ?
3391   F905 90 F0              BCC AT01
3392   F907 B0 EC              BCS AT02
3393   F909
3394   F909             ; SAVE CURRENT LINE (NEWLN) IN S1
3395   F909 A5 DF       NOWS1  LDA NOWLN
3396   F90B A6 E0              LDX NOWLN+1
3397   F90D 4C 16 F9           JMP ADDS1A
3398   F910
3399   F910             ; MOVE ADDR INTO S1
3400   F910 AD 1C A4    ADDRS1 LDA ADDR
3401   F913 AE 1D A4           LDX ADDR+1
3402   F916 8D 1A A4    ADDS1A STA S1
3403   F919 8E 1B A4           STX S1+1
3404   F91C 60                 RTS
3405   F91D
3406   F91D             ; SUBTRACT ONE FROM CURRENT LINE (NOWLN)
3407   F91D C6 DF       SUB    DEC NOWLN
3408   F91F A5 DF              LDA NOWLN
3409   F921 C9 FF              CMP #$FF
3410   F923 D0 02              BNE SUB1
3411   F925 C6 E0              DEC NOWLN+1
3412   F927 60          SUB1   RTS
3413   F928
3414   F928             ; ADD ACC TO CURRENT LINE (NOWLN)
3415   F928 A9 01       AD1    LDA #1
3416   F92A 18          ADDA   CLC
3417   F92B 65 DF              ADC NOWLN
3418   F92D 85 DF              STA NOWLN
3419   F92F 90 02              BCC ADDA1
3420   F931 E6 E0              INC NOWLN+1
3421   F933 60          ADDA1  RTS
3422   F934
3423   F934 A5 DF       SAVNOW LDA NOWLN       ;SAVE CURRENT LINE INTO ADDR
3424   F936 8D 1C A4           STA ADDR
3425   F939 A5 E0              LDA NOWLN+1
3426   F93B 8D 1D A4           STA ADDR+1
3427   F93E 60          REP2   RTS
3428   F93F
3429   F93F             ;MOVE CURRENT TEXT AROUND TO HAVE
3430   F93F             ;SPACE TO PUT IN THE NEW BUFFER
3431   F93F A4 EA       REPLAC LDY LENGTH
3432   F941 C4 E9              CPY OLDLEN      ;COMPARE OLD AND NEW LENGTHS
3433   F943 D0 1A              BNE R2W         ;BRANCH IF DIFF
3434   F945 F0 07              BEQ R87         ;LENGTHS ARE EQUAL. JUST REPLACE
3435   F947 A9 0D       R8     LDA #CR
3436   F949 91 DF              STA (NOWLN),Y
3437   F94B 20 4A FA           JSR GOGO
3438   F94E
3439   F94E             ;LENGTH = OLDLEN
3440   F94E 88          R87    DEY
3441   F94F C0 FF              CPY #$FF