Prev: 46495 Up: Map Next: 46577
46559: Graphic layout routine: (243) Increment index, n, and jump to n-th address in following list
Read first parameter (n) from graphic layout data, increment (resetting to zero if it is equal to the length of the list of addresses as specified by the second parameter) and jump to n-th address.
Used by the routine at 46218.
Input
IX Address of first parameter in current graphic layout data instruction
Output
A Number of bytes in graphic layout data to skip over
46559 LD A,(IX+0) Load current byte of graphic layout data into A
46562 INC A Increase by one
46563 CP (IX+1) If following byte (cap value) is greater than current byte then skip ahead to 46569
46566 JR C,46569
46568 XOR A Reset current value to zero as cap value reached
46569 LD (IX+0),A Load current value back into current position in graphic layout data
46572 ADD A,A Load A with double current value + 2 (as we're skipping over first two bytes and subsequent data are WORD addresses)
46573 ADD A,2
Here we advance our position in graphic layout data by A bytes, read the address stored at that location and then set that address as our new graphic layout data position.
46575 JR 46586 Update position in graphic layout data and continue processing
Prev: 46495 Up: Map Next: 46577