Prev: 34265 Up: Map Next: 34310
34294: Screen Address One Pixel Above
Moves a screen address up one pixel, wrapping through the Spectrum display layout.
Input
HL Current position
Output
HL Address for new position
Move the screen address up one pixel, wrapping the row.
ScreenPosition1PixelAbove 34294 DEC H Move up one pixel.
34295 LD A,H Invert the new line byte.
34296 CPL
34297 AND %00000111 Keep only bits 0-2.
34299 RET NZ Return if a character-row boundary was not crossed.
34300 LD A,L Subtract 32 from the column address.
34301 SUB 32
34303 LD L,A
34304 RET C Return if that wrapped into the previous third.
34305 LD A,H Add 8 to the line byte.
34306 ADD A,8
34308 LD H,A
34309 RET Return.
View the equivalent code in;
Prev: 34265 Up: Map Next: 34310