Prev: 46347 Up: Map Next: 46385
46363: Graphic layout routine: (246) Decrease timer value, and if zero, reset and write random attribute from list into next instruction
Decrease timer value (1st parameter). If now zero, then reset timer to value in 2nd parameter, then load one of the n (3rd parameter) following values chosen at random into the attribute field of the next instruction.
Used by the routine at 46218.
Input
IX Address of first parameter in current graphic layout data instruction
Output
B Do-not-recalculate-display-buffer-address flag (0)
IX Address of next graphic layout data instruction to process
46363 LD B,0 Prepare to recalculate display buffer address
46365 DEC (IX+0) Decrease timer value
46368 JR Z,46376 If timer is zero, then reset timer, advance to next instruction and set that instruction's attribute to random value from sequence
This entry point is used by the routine at 46347.
46370 CALL 46409 Advance to next instruction and process
46373 JP 46003
46376 CALL 46385 Reset timer to maximum, advance IX to start of next instruction and set second value here (attribute) to random value from sequence of data following previous instruction
46379 LD (IX+1),E
46382 JP 46003 Read / process data at address in IX
Prev: 46347 Up: Map Next: 46385