; TRS80_2-Page151.asm ; ; ***************** SCROLL SCREEN SUBROUTINE ****************** ; SCROLLS LINES 1-11 UP TO LINES 0-10. FILL LINE 11 WITH BLANKS. ; ENTRY: NO PARAMETERS. ; ALL REGISTERS SAVED. ; ************************************************************* .ORG 0000h CCRSR: .EQU 3C00h ; ADDED FOR TESTING PURPOSES. SCREEN: .EQU 3C00h ; ADDED FOR TESTING PURPOSES. LINE0: .EQU 3C00h + 00h ; ADDED FOR TESTING PURPOSES. LINE1: .EQU 3C00h + 40h ; ADDED FOR TESTING PURPOSES. LINE11: .EQU 3C00h + 300h ; ADDED FOR TESTING PURPOSES. LD SP, 0080h ; ADDED FOR TESTING PURPOSES. CALL SCROLL ; ADDED FOR TESTING PURPOSES. SCROLL: PUSH AF ; SAVE REGISTERS. PUSH BC PUSH DE PUSH HL LD DE, SCREEN ; START OF SCREEN. LD HL, LINE1 ; LINE 1. LD BC, 1024 - 256 ; # TO MOVE. LDIR ; BLOCK MOVE TO DO THE ACTUAL SCROLLING. LD DE, LINE11 ; START OF LINE 11. LD A, ' ' ; SPACE CHARACTER. LD BC, 64 ; # TO FILL. 64 CHARACTERS PER LINE. CALL FILLCH ; FILLS 12 LINES WITH BLANKS AFTER SCROLL.;;;;;;;;;;;;; LD HL, LINE11 ; START OF LINE11. LD (CCRSR), HL ; RESET. POP HL ; RESTORE REGISTERS. POP DE POP BC POP AF RET ; RETURN .END