Routines |
Prev: 6E32 | Up: Map | Next: 6EDE |
|
||||||||||||
Calculates the new address for writing a sprite pixel, in an upward direction, taking into consideration the screen memory layout.
|
||||||||||||
ScreenPos1PixelAbove | 6ECB | DEC H | Decrement H to move up one pixel on screen. | |||||||||
6ECC | LD A,H | Store the inverted result in A. | ||||||||||
6ECD | CPL | |||||||||||
6ECE | AND %00000111 | Keep only bits 0-2. | ||||||||||
6ED0 | RET NZ | If a character line has not been crossed then return. | ||||||||||
6ED1 | LD A,L | Else subtract 20 from L. | ||||||||||
6ED2 | SUB $20 | |||||||||||
6ED4 | LD L,A | |||||||||||
6ED5 | CPL | Invert the bits in A. | ||||||||||
6ED6 | AND %11100000 | Keep only bits 5-7. | ||||||||||
6ED8 | RET Z | If a new section of the screen has not been crossed then return. | ||||||||||
6ED9 | LD A,H | Else add 08 to H and return. | ||||||||||
6EDA | ADD A,$08 | |||||||||||
6EDC | LD H,A | |||||||||||
6EDD | RET |
Prev: 6E32 | Up: Map | Next: 6EDE |