Prev: B405 Up: Map Next: B483
B468: Copy Six Display Bytes
Used by the routine at SwapObjectDisplayPointers.
Copies six display bytes and reports failure when every copied byte is zero.
CopySixDisplayBytes B468 PUSH BC Save the count, take 00 as its high byte, and point HL at the record.
B469 LD C,A
B46A LD B,$00
B46C PUSH HL
B46D PUSH IY
B46F POP HL
B470 ADD HL,BC Add the offset, copy 06 bytes and clear A.
B471 LD BC,$0006
B474 LDIR
B476 XOR A
B477 LD B,$06 Count the 06 copied bytes.
CopySixDisplayBytes_TestCopied B479 DEC HL Step back one byte, or that byte into A, and repeat from CopySixDisplayBytes_TestCopied for all six.
B47A OR (HL)
B47B DJNZ CopySixDisplayBytes_TestCopied
B47D POP HL Restore the pointer and the count from the stack.
B47E POP BC
B47F RET Z Return if the six copied bytes are all zero.
B480 SET 0,(HL) Mark this display flag as set.
B482 RET Return.
Prev: B405 Up: Map Next: B483