Routines |
Prev: ED31 | Up: Map | Next: EE70 |
|
||||||||||||||||||||
EDC2 | LD A,($D217) | A=*Active_MonsterControl. | ||||||||||||||||||
EDC5 | AND %00001111 | Keep only bits 0-3. | ||||||||||||||||||
EDC7 | LD B,A | B=A. | ||||||||||||||||||
EDC8 | BIT 3,B | Jump to EDE5 if bit 3 of B is set. | ||||||||||||||||||
EDCA | JR NZ,$EDE5 | |||||||||||||||||||
EDCC | BIT 2,B | Jump to EE4A if bit 2 of B is set. | ||||||||||||||||||
EDCE | JP NZ,$EE4A | |||||||||||||||||||
EDD1 | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
Moves the orientation flag into the carry flag.
|
||||||||||||||||||||
EDD4 | RRCA | Rotate A right one position, setting the carry flag if bit 0 was set. | ||||||||||||||||||
EDD5 | JR C,$EDDE | Jump to EDDE if the carry flag is set. | ||||||||||||||||||
EDD7 | BIT 1,B | Jump to EE12 if bit 1 of B is set. | ||||||||||||||||||
EDD9 | JR NZ,$EE12 | |||||||||||||||||||
EDDB | JP $EF86 | Jump to EF86. | ||||||||||||||||||
EDDE | BIT 1,B | Jump to EE12 if bit 1 of B is not set. | ||||||||||||||||||
EDE0 | JR Z,$EE12 | |||||||||||||||||||
EDE2 | JP $EF86 | Jump to EF86. | ||||||||||||||||||
EDE5 | LD HL,$FE01 | HL=FE01. | ||||||||||||||||||
EDE8 | LD DE,$FE03 | DE=FE03. | ||||||||||||||||||
EDEB | CALL $F352 | Call F352. | ||||||||||||||||||
EDEE | LD A,$16 | Write 16 to *JumpTable_Pointer. | ||||||||||||||||||
EDF0 | LD ($D244),A | |||||||||||||||||||
EDF3 | LD H,$FE | H=FE. | ||||||||||||||||||
EDF5 | LD D,H | D=H. | ||||||||||||||||||
EDF6 | LD L,$01 | L=01. | ||||||||||||||||||
EDF8 | LD E,$00 | E=00. | ||||||||||||||||||
EDFA | CALL Monster_CalculatePosition | Call Monster_CalculatePosition. | ||||||||||||||||||
The routine at DrawMonsterSprite handles which monster to display.
|
||||||||||||||||||||
EDFD | LD A,$25 | A=sprite ID 25.
|
||||||||||||||||||
EDFF | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
EE02 | LD H,$02 | H=02. | ||||||||||||||||||
EE04 | LD L,$01 | L=01. | ||||||||||||||||||
EE06 | LD D,H | D=H. | ||||||||||||||||||
EE07 | LD E,$00 | E=00. | ||||||||||||||||||
EE09 | CALL Monster_CalculatePosition | Call Monster_CalculatePosition. | ||||||||||||||||||
The routine at DrawMonsterSprite handles which monster to display.
|
||||||||||||||||||||
EE0C | LD A,$1F | A=sprite ID 1F.
|
||||||||||||||||||
EE0E | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
EE11 | RET | Return. | ||||||||||||||||||
EE12 | LD HL,$0104 | HL=0104. | ||||||||||||||||||
EE15 | LD DE,$0100 | DE=0100. | ||||||||||||||||||
EE18 | CALL $F352 | Call F352. | ||||||||||||||||||
EE1B | LD A,$17 | Write 17 to *JumpTable_Pointer. | ||||||||||||||||||
EE1D | LD ($D244),A | |||||||||||||||||||
Set the co-ordinates for where to draw.
|
||||||||||||||||||||
EE20 | LD BC,($D24D) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
EE24 | INC B | Increment B by two. | ||||||||||||||||||
EE25 | INC B | |||||||||||||||||||
EE26 | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
EE29 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
EE2B | ADD A,C | A+=C. | ||||||||||||||||||
EE2C | LD C,A | C=A. | ||||||||||||||||||
The routine at DrawMonsterSprite handles which monster to display.
|
||||||||||||||||||||
EE2D | LD A,$1F | A=sprite ID 1F.
|
||||||||||||||||||
EE2F | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
Again, set the co-ordinates for where to draw.
|
||||||||||||||||||||
EE32 | LD BC,($D24D) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
EE36 | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
EE39 | SUB C | A-=C. | ||||||||||||||||||
EE3A | CPL | Invert the bits in A. | ||||||||||||||||||
EE3B | INC A | Increment A by one. | ||||||||||||||||||
EE3C | LD C,A | C=A. | ||||||||||||||||||
EE3D | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
EE40 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
EE42 | ADD A,C | A+=C. | ||||||||||||||||||
EE43 | LD C,A | C=A. | ||||||||||||||||||
The routine at DrawMonsterSprite handles which monster to display.
|
||||||||||||||||||||
EE44 | LD A,$1D | A=sprite ID 1D.
|
||||||||||||||||||
EE46 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
EE49 | RET | Return. | ||||||||||||||||||
EE4A | LD HL,$0303 | HL=0303. | ||||||||||||||||||
EE4D | LD DE,$0301 | DE=0301. | ||||||||||||||||||
EE50 | CALL $F352 | Call F352. | ||||||||||||||||||
EE53 | LD A,$19 | Write 19 to *JumpTable_Pointer. | ||||||||||||||||||
EE55 | LD ($D244),A | |||||||||||||||||||
Set the co-ordinates for where to draw.
|
||||||||||||||||||||
EE58 | LD BC,($D24D) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
EE5C | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
EE5F | SUB C | A-=C. | ||||||||||||||||||
EE60 | CPL | Invert the bits in A. | ||||||||||||||||||
EE61 | INC A | Increment A by one. | ||||||||||||||||||
EE62 | LD C,A | C=A. | ||||||||||||||||||
EE63 | LD A,($D247) | A=*Flag_Orientation. | ||||||||||||||||||
EE66 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
EE68 | ADD A,C | A+=C. | ||||||||||||||||||
EE69 | LD C,A | C=A. | ||||||||||||||||||
The routine at DrawMonsterSprite handles which monster to display.
|
||||||||||||||||||||
EE6A | LD A,$0B | A=sprite ID 0B.
|
||||||||||||||||||
EE6C | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
EE6F | RET | Return. |
Prev: ED31 | Up: Map | Next: EE70 |