Prev: CA17 Up: Map Next: CB23
CA69: Shift View Left Pixels
Shifts the screen buffer to the left by two pixels, by rotating the bits of each row through the stack.
ShiftViewLeftPixels CA69 LD ($5CDA),SP Save the stack pointer.
CA6D LD B,$80 Set the row count to 80.
CA6F LD SP,$F1B9 Point the stack at the last two bytes of the screen buffer.
ShiftViewLeftPixels_Loop CA72 XOR A Shift the rightmost two bytes of the row two pixels to the left, filling the gap with blank pixels.
CA73 POP HL
CA74 SLA H
CA76 RL L
CA78 RRA
CA79 RL H
CA7B RL L
CA7D RLA
CA7E PUSH HL
CA7F DEC SP
CA80 DEC SP
CA81 POP HL Shift the middle twenty bytes of the row two pixels to the left.
CA82 RL H
CA84 RL L
CA86 RRA
CA87 RL H
CA89 RL L
CA8B RLA
CA8C PUSH HL
CA8D DEC SP
CA8E DEC SP
CA8F POP HL
CA90 RL H
CA92 RL L
CA94 RRA
CA95 RL H
CA97 RL L
CA99 RLA
CA9A PUSH HL
CA9B DEC SP
CA9C DEC SP
CA9D POP HL
CA9E RL H
CAA0 RL L
CAA2 RRA
CAA3 RL H
CAA5 RL L
CAA7 RLA
CAA8 PUSH HL
CAA9 DEC SP
CAAA DEC SP
CAAB POP HL
CAAC RL H
CAAE RL L
CAB0 RRA
CAB1 RL H
CAB3 RL L
CAB5 RLA
CAB6 PUSH HL
CAB7 DEC SP
CAB8 DEC SP
CAB9 POP HL
CABA RL H
CABC RL L
CABE RRA
CABF RL H
CAC1 RL L
CAC3 RLA
CAC4 PUSH HL
CAC5 DEC SP
CAC6 DEC SP
CAC7 POP HL
CAC8 RL H
CACA RL L
CACC RRA
CACD RL H
CACF RL L
CAD1 RLA
CAD2 PUSH HL
CAD3 DEC SP
CAD4 DEC SP
CAD5 POP HL
CAD6 RL H
CAD8 RL L
CADA RRA
CADB RL H
CADD RL L
CADF RLA
CAE0 PUSH HL
CAE1 DEC SP
CAE2 DEC SP
CAE3 POP HL
CAE4 RL H
CAE6 RL L
CAE8 RRA
CAE9 RL H
CAEB RL L
CAED RLA
CAEE PUSH HL
CAEF DEC SP
CAF0 DEC SP
CAF1 POP HL
CAF2 RL H
CAF4 RL L
CAF6 RRA
CAF7 RL H
CAF9 RL L
CAFB RLA
CAFC PUSH HL
CAFD DEC SP
CAFE DEC SP
CAFF POP HL
CB00 RL H
CB02 RL L
CB04 RRA
CB05 RL H
CB07 RL L
CB09 RLA
CB0A PUSH HL
CB0B DEC SP
CB0C DEC SP
CB0D POP HL Shift the leftmost two bytes two pixels to the left and step onto the next row.
CB0E RL H
CB10 RL L
CB12 RRA
CB13 RL H
CB15 RL L
CB17 PUSH HL
CB18 DEC SP
CB19 DEC SP
CB1A DEC B Decrease the row count and jump back until every row of the buffer has been shifted.
CB1B JP NZ,ShiftViewLeftPixels_Loop
CB1E LD SP,($5CDA) Restore the stack pointer.
CB22 RET Return.
Prev: CA17 Up: Map Next: CB23