Prev: C249 Up: Map Next: C29C
C271: Scroll Screen Up
Used by the routine at ProcessCharacterInput.
ScrollScreenUp C271 PUSH HL Stash HL, DE and BC on the stack.
C272 PUSH DE
C273 PUSH BC
C274 LD HL,$5080 HL=5080 (screen buffer location).
C277 LD DE,$5060 DE=5060 (screen buffer location).
C27A LD A,$08 A=08.
ScrollScreenUp_0 C27C PUSH HL Stash HL and DE on the stack.
C27D PUSH DE
C27E LD BC,$0080 BC=0080.
C281 LDIR LDIR.
C283 POP DE Restore DE and HL from the stack.
C284 POP HL
C285 INC H Increment H by one.
C286 INC D Increment D by one.
C287 DEC A Decrease A by one.
C288 JR NZ,ScrollScreenUp_0 Jump to ScrollScreenUp_0 if A is not equal to 08.
C28A LD HL,$50E0 HL=50E0 (screen buffer location).
This entry point is used by the routine at ScrollScreenDown.
ScrollScreenUp_1 C28D LD B,$24 B=24.
C28F LD C,$01 C=01.
C291 LD A,$20 A=20.
ScrollScreenUp_2 C293 CALL PrintCharacter Call PrintCharacter.
C296 DJNZ ScrollScreenUp_2 Decrease counter by one and loop back to ScrollScreenUp_2 until counter is zero.
C298 POP BC Restore BC, DE and HL from the stack.
C299 POP DE
C29A POP HL
C29B RET Return.
Prev: C249 Up: Map Next: C29C