Prev: ECE0 Up: Map Next: EDC2
ED31: Routine at ED31
ED31 LD A,($D217) A=*Active_MonsterControl.
ED34 AND %00001111 Keep only bits 0-3.
ED36 LD B,A B=A.
ED37 BIT 2,B Jump to EDA3 if bit 2 of B is set.
ED39 JP NZ,$EDA3
ED3C BIT 3,B Jump to ED54 if bit 3 of B is set.
ED3E JR NZ,$ED54
ED40 LD A,($D247) A=*Flag_Orientation.
Moves the orientation flag into the carry flag.
ED43 RRCA Rotate A right one position, setting the carry flag if bit 0 was set.
ED44 JR C,$ED4D Jump to ED4D if the carry flag is set.
ED46 BIT 1,B Jump to ED79 if bit 1 of B is set.
ED48 JR NZ,$ED79
ED4A JP $EF86 Jump to EF86.
ED4D BIT 1,B Jump to ED79 if bit 1 of B is not set.
ED4F JR Z,$ED79
ED51 JP $EF86 Jump to EF86.
ED54 LD HL,$FE00 HL=Messaging_TickerNews_2.
ED57 LD DE,$FE03 DE=FE03.
ED5A CALL $F352 Call F352.
ED5D LD A,$12 Write 12 to *JumpTable_Pointer.
ED5F LD ($D244),A
Set the co-ordinates for where to draw.
ED62 LD BC,($D24D) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
ED66 DEC B Decrease B by two.
ED67 DEC B
The routine at DrawMonsterSprite handles which monster to display.
ED68 LD A,$25 A=sprite ID 25.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
25 sprite-37-left 65 sprite-101-left A5 sprite-165-left
ED6A CALL DrawMonsterSprite Call DrawMonsterSprite.
Again, set the co-ordinates for where to draw.
ED6D LD BC,($D24D) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
ED71 INC B Increment B by two.
ED72 INC B
The routine at DrawMonsterSprite handles which monster to display.
ED73 LD A,$21 A=sprite ID 21.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
21 sprite-33-left 61 sprite-97-left A1 sprite-161-left
ED75 CALL DrawMonsterSprite Call DrawMonsterSprite.
ED78 RET Return.
ED79 LD HL,$0103 HL=0103.
ED7C LD DE,$0100 DE=0100.
ED7F CALL $F352 Call F352.
ED82 LD A,$13 Write 13 to *JumpTable_Pointer.
ED84 LD ($D244),A
Set the co-ordinates for where to draw.
ED87 LD BC,($D24D) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
ED8B INC B Increment B by two.
ED8C INC B
The routine at DrawMonsterSprite handles which monster to display.
ED8D LD A,$21 A=sprite ID 21.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
21 sprite-33-left 61 sprite-97-left A1 sprite-161-left
ED8F CALL DrawMonsterSprite Call DrawMonsterSprite.
Again, set the co-ordinates for where to draw.
ED92 LD BC,($D24D) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
ED96 LD A,($D247) A=*Flag_Orientation.
ED99 SUB C A-=C.
ED9A CPL Invert the bits in A.
ED9B INC A Increment A by one.
ED9C LD C,A C=A.
The routine at DrawMonsterSprite handles which monster to display.
ED9D LD A,$1D A=sprite ID 1D.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
1D sprite-29-left 5D sprite-93-left 9D sprite-157-left
ED9F CALL DrawMonsterSprite Call DrawMonsterSprite.
EDA2 RET Return.
EDA3 LD HL,$0302 HL=0302.
EDA6 LD DE,$0301 DE=0301.
EDA9 CALL $F352 Call F352.
EDAC LD A,$15 Write 15 to *JumpTable_Pointer.
EDAE LD ($D244),A
Set the co-ordinates for where to draw.
EDB1 LD BC,($D24D) BC=*Active_MonsterXPosition/Active_MonsterYPosition.
EDB5 LD A,($D247) A=*Flag_Orientation.
EDB8 SUB C A-=C.
EDB9 CPL Invert the bits in A.
EDBA INC A Increment A by one.
EDBB LD C,A C=A.
The routine at DrawMonsterSprite handles which monster to display.
EDBC LD A,$29 A=sprite ID 29.
George Lizzy Ralph
ID Sprite ID Sprite ID Sprite
29 sprite-41-left 69 sprite-105-left A9 sprite-169-left
EDBE CALL DrawMonsterSprite Call DrawMonsterSprite.
EDC1 RET Return.
Prev: ECE0 Up: Map Next: EDC2