Prev: 6e87 Up: Map Next: 6ec2
6ea5: Write all sprite pixel bytes to buffer.
Bytes are first shifted and/or flipped along the horizontal axis. Used by the routine at 6f2a.
Input
B Loop counter - sprite height.
HL Pointer to buffer for data to be written to.
6ea5 exx HL=sprite, HL'=buffer, B'=counter
6ea6 ld a,($5dd2) Get next two bytes if Jetman rocket module status is zero
6ea9 and a
6eaa jr z,$6ebd
6eac call $6e87 DE=flipped byte pair
6eaf push de
6eb0 push bc
6eb1 exx HL=buffer, B=counter
6eb2 pop de
6eb3 ld (hl),e Write first byte
6eb4 inc hl
6eb5 pop de
6eb6 ld (hl),d Write the second byte
6eb7 inc hl
6eb8 ld (hl),e Write third byte
6eb9 inc hl HL=next buffer address
6eba djnz $6ea5 Loop back, writing reversed sprite data to buffer
6ebc ret We're done.
6ebd call $6e66 DE=two new bytes of sprite pixel data
6ec0 jr $6eaf Loop back, writing non-reversed sprite data to buffer
Prev: 6e87 Up: Map Next: 6ec2