Prev: A1AA Up: Map Next: A1C3
A1B3: Move Up A Row In DE
Used by the routines at AddToStack and DrawFrame.
Moves a screen address up one pixel row.
Input
DE Screen address
Output
DE Screen address of the row above
MoveUpARowDE A1B3 DEC D Move up a pixel row.
A1B4 LD A,D Fetch the high byte of the address.
A1B5 INC A Add one.
A1B6 AND %00000111 Keep the bits that give the pixel row.
A1B8 RET NZ Return if the row is still in the same cell.
A1B9 LD A,E Fetch the low byte of the address.
A1BA SUB $20 Move up a row of cells.
A1BC LD E,A Store it.
A1BD RET C Return if that crossed a third of the screen.
A1BE LD A,D Fetch the high byte of the address.
A1BF ADD A,$08 Add eight to correct it.
A1C1 LD D,A Store it.
A1C2 RET Return.
View the equivalent code in;
Prev: A1AA Up: Map Next: A1C3