Prev: CFE1 Up: Map Next: D01A
D000: Draw Next Object
Used by the routine at DrawObjectsInOrder.
Draws an object that does not have to wait for any other object, and flags it as drawn in the list.
Input
IX Address of the object
DrawNextObject D000 LD HL,($5BCD) Fetch the place in the list after the first object from FirstListPosition.
This entry point is used by the routine at CompareWithOtherObject.
DrawNextObject_Flag D003 DEC HL Point HL at the entry of the object.
D004 SET 7,(HL) Flag the object as drawn.
D006 LD A,$FF Mark the end of the list of objects that have taken the place of the first object at ObjectChain.
D008 LD ($D01A),A
D00B LD HL,$5BBE Point HL at ObjectsDrawn.
D00E INC (HL) Add one to it.
D00F CALL DrawObject Draw the object into the buffer.
D012 JP DrawObjectsInOrder_First Jump to DrawObjectsInOrder_First to find the next object.
This entry point is used by the routine at DrawObjectsInOrder.
There are no objects left to draw.
DrawNextObject_Finish D015 POP IY Restore IY and IX from the stack.
D017 POP IX
D019 RET Return.
View the equivalent code in;
Prev: CFE1 Up: Map Next: D01A