Routines |
Prev: 39175 | Up: Map | Next: 39224 |
Used by the routine at 39125.
|
||||||||||||
39200 | INC H | Increase H by 1 (i.e. advance HL by 256) | ||||||||||
39201 | LD A,H | If at least one of the three rightmost bits of H are set (i.e. we haven't crossed over from one third of the display to the next third) then return (as HL now points to next pixel row down) | ||||||||||
39202 | AND 7 | |||||||||||
39204 | RET NZ | |||||||||||
39205 | LD A,H | Else we must have been in the bottom pixel row of a character row, so decrease H by 8 (1 to go back up, then 7 pixel rows up to the top of that character row) | ||||||||||
39206 | SUB 8 | |||||||||||
39208 | LD H,A | |||||||||||
39209 | LD A,L | Advance L by 32 bytes to move down one character row, so now the top of the next character row down... | ||||||||||
39210 | ADD A,32 | ... | ||||||||||
39212 | LD L,A | ... | ||||||||||
39213 | RET NC | If L hasn't gone over 256 (i.e. we haven't moved 32 bytes on from the top pixel row of the bottom character row of the third) then return else move down by a third | ||||||||||
39214 | LD A,H | |||||||||||
39215 | ADD A,8 | |||||||||||
39217 | LD H,A | |||||||||||
39218 | XOR 88 | If we have not reached the start of the attribute file, then return... | ||||||||||
39220 | RET NZ | ... | ||||||||||
39221 | LD H,64 | ...else wrap back round to the start of display file again | ||||||||||
39223 | RET | Return |
Prev: 39175 | Up: Map | Next: 39224 |