Prev: E540 Up: Map Next: E592
E544: Display moving objects
Used by the routine at CBBD.
Input
IX Pointer to moving room data
E544 LD L,(IX+$07) Get the pointer to moving object data and put it in HL.
E547 LD H,(IX+$08)
E54A PUSH HL Copy this to IY.
E54B POP IY
This entry point is used by the routine at CA5B. Get the first object
E54D LD A,(IY+$00) Get the first sprite ID.
E550 CALL $D669 Get the graphic for this and put it in DE.
E553 LD HL,$DED8 Set HL to the first moving graphics buffer (DED8).
E556 CALL $D677 Copy the object.
Get the second object
E559 LD A,(IY+$01) Get the second sprite ID.
E55C CALL $D669 Get the graphic for this and put it in DE.
E55F LD HL,$DFCA Set HL to the second moving graphics buffer (DED8).
E562 CALL $D677 Copy the object.
Get the third object
E565 LD A,(IY+$02) Get the third sprite ID.
E568 CALL $D669 Get the graphic for this and put it in DE.
E56B LD HL,$E0BC Set HL to the third moving graphics buffer (DED8).
E56E CALL $D815 Copy the object.
Get the fourth object
E571 LD A,(IY+$03) Get the fourth sprite ID.
E574 CALL $D669 Get the graphic for this and put it in DE.
E577 LD HL,$E2FE Set HL to the fourth moving graphics buffer (DED8).
E57A CALL $D815 Copy the object.
Now get the instances of each object.
E57D LD A,(IY+$04) Load the first byte.
E580 CALL $E9F8 Convert into two bytes in BC.
E583 LD ($E540),BC Store this in E540.
E587 LD A,(IY+$05) Load the second byte.
E58A CALL $E9F8 Convert into two bytes in BC.
E58D LD ($E542),BC Store this in E540.
E591 RET Return.
Prev: E540 Up: Map Next: E592