FC3E: 90 5C 643 BCC CLREOL ; E, CLEAR TO END OF LINE
FC40: D0 E9 644 BNE RTS4 ; NOT F, RETURN
FC42: A4 24 645 CLREOP LDY CH ;CURSOR H TO Y INDEX
FC44: A5 25 646 LDA CV ;CURSOR V TO A-REGISTER
FC46: 48 647 CLEOP1 PHA ;SAVE CURRENT LINE ON STK
FC47: 20 24 FC 648 JSR VTABZ ;CALC BASE ADDRESS
FC4A: 20 9E FC 649 JSR CLEOLZ ;CLEAR TO EOL, SET CARRY
FC4D: A0 00 650 LDY #$00 ;CLEAR FROM H INDEX=0 FOR REST
FC4F: 68 651 PLA ;INCREMENT CURRENT LINE
FC50: 69 00 652 ADC #$00 ;(CARRY IS SET)
FC52: C5 23 653 CMP WNDBTM ;DONE TO BOTTOM OF WINDOW?
FC54: 90 F0 654 BCC CLEOP1 ; NO, KEEP CLEARING LINES
FC56: B0 CA 655 BCS VTAB ; YES, TAB TO CURRENT LINE
FC58: A5 22 656 HOME LDA WNDTOP ;INIT CURSOR V
FC5A: 85 25 657 STA CV ; AND H-INDICES
FC5C: A0 00 658 LDY #$00
FC5E: 84 24 659 STY CH ;THEN CLEAR TO END OF PAGE
FC60: F0 E4 660 BEQ CLEOP1
FC62: A9 00 661 CR LDA #$00 ;CURSOR TO LEFT OF INDEX
FC64: 85 24 662 STA CH ;(RET CURSOR H=0)
FC66: E6 25 663 LF INC CV ;INCR CURSOR V(DOWN 1 LINE)
FC68: A5 25 664 LDA CV
FC6A: C5 23 665 CMP WNDBTM ;OFF SCREEN?
FC6C: 90 B6 666 BCC VTABZ ; NO, SET BASE ADDR
FC6E: C6 25 667 DEC CV ;DECR CURSOR V (BACK TO BOTTOM)
FC70: A5 22 668 SCROLL LDA WNDTOP ;START AT TOP OF SCRL WNDW
FC72: 48 669 PHA
FC73: 20 24 FC 670 JSR VTABZ ;GENERATE BASE ADR
FC76: A5 28 671 SCRL1 LDA BASL ;COPY BASL,H
FC78: 85 2A 672 STA BAS2L ; TO BAS2L,H
FC7A: A5 29 673 LDA BASH
FC7C: 85 2B 674 STA BAS2H
FC7E: A4 21 675 LDY WNDWDTH ;INIT Y TO RIGHTMOST INDEX
FC80: 88 676 DEY ; OF SCROLLING WINDOW
FC81: 68 677 PLA
FC82: 69 01 678 ADC #$01 ;INCR LINE NUMBER
FC84: C5 23 679 CMP WNDBTM ;DONE?
FC86: B0 0D 680 BCS SCRL3 ; YES, FINISH
FC88: 48 681 PHA
FC89: 20 24 FC 682 JSR VTABZ ;FORM BASL,H (BASE ADDR)
FC8C: B1 28 683 SCRL2 LDA (BASL),Y ;MOVE A CHR UP ON LINE
FC8E: 91 2A 684 STA (BAS2L),Y
FC90: 88 685 DEY ;NEXT CHAR OF LINE
FC91: 10 F9 686 BPL SCRL2
FC93: 30 E1 687 BMI SCRL1 ;NEXT LINE (ALWAYS TAKEN)
FC95: A0 00 688 SCRL3 LDY #$00 ;CLEAR BOTTOM LINE
FC97: 20 9E FC 689 JSR CLEOLZ ;GET BASE ADDR FOR BOTTOM LINE
FC9A: B0 86 690 BCS VTAB ;CARRY IS SET
FC9C: A4 24 691 CLREOL LDY CH ;CURSOR H INDEX
FC9E: A9 A0 692 CLEOLZ LDA #$A0
FCA0: 91 28 693 CLEOL2 STA (BASL),Y ;STORE BLANKS FROM 'HERE'
FCA2: C8 694 INY ; TO END OF LINES (WNDWDTH)
FCA3: C4 21 695 CPY WNDWDTH
FCA5: 90 F9 696 BCC CLEOL2
FCA7: 60 697 RTS
FCA8: 38 698 WAIT SEC
FCA9: 48 699 WAIT2 PHA
FCAA: E9 01 700 WAIT3 SBC #$01
FCAC: D0 FC 701 BNE WAIT3 ;1.0204 USEC
FCAE: 68 702 PLA ;(13+27/2*A+5/2*A*A)
FCAF: E9 01 703 SBC #$01
FCB1: D0 F6 704 BNE WAIT2