Prev: C9C3 Up: Map Next: CA17
C9C9: Shift View Left Byte
Shifts the screen buffer to the left by one byte, by using the stack pointer to copy it. The part from ShiftViewLeftByte_Copy is also used to move rows up by MoveRowsUp.
ShiftViewLeftByte C9C9 LD HL,$E5BC Point HL at the second byte of the screen buffer.
C9CC LD ($5CDA),SP Save the stack pointer.
C9D0 LD SP,HL Point the stack at that byte.
C9D1 DEC HL Point HL at the byte to its left.
C9D2 LD B,$80 Set the row count to 80.
This entry point is used by the routine at MoveRowsUp.
ShiftViewLeftByte_Copy C9D4 POP DE Copy the twenty-four bytes of the next row from the stack.
C9D5 LD (HL),E
C9D6 INC HL
C9D7 LD (HL),D
C9D8 INC HL
C9D9 POP DE
C9DA LD (HL),E
C9DB INC HL
C9DC LD (HL),D
C9DD INC HL
C9DE POP DE
C9DF LD (HL),E
C9E0 INC HL
C9E1 LD (HL),D
C9E2 INC HL
C9E3 POP DE
C9E4 LD (HL),E
C9E5 INC HL
C9E6 LD (HL),D
C9E7 INC HL
C9E8 POP DE
C9E9 LD (HL),E
C9EA INC HL
C9EB LD (HL),D
C9EC INC HL
C9ED POP DE
C9EE LD (HL),E
C9EF INC HL
C9F0 LD (HL),D
C9F1 INC HL
C9F2 POP DE
C9F3 LD (HL),E
C9F4 INC HL
C9F5 LD (HL),D
C9F6 INC HL
C9F7 POP DE
C9F8 LD (HL),E
C9F9 INC HL
C9FA LD (HL),D
C9FB INC HL
C9FC POP DE
C9FD LD (HL),E
C9FE INC HL
C9FF LD (HL),D
CA00 INC HL
CA01 POP DE
CA02 LD (HL),E
CA03 INC HL
CA04 LD (HL),D
CA05 INC HL
CA06 POP DE
CA07 LD (HL),E
CA08 INC HL
CA09 LD (HL),D
CA0A INC HL
CA0B POP DE
CA0C LD (HL),E
CA0D INC HL
CA0E LD (HL),D
CA0F INC HL
CA10 DJNZ ShiftViewLeftByte_Copy Decrease the row count and jump back until every row has been copied.
CA12 LD SP,($5CDA) Restore the stack pointer.
CA16 RET Return.
Prev: C9C3 Up: Map Next: CA17