![]() |
Routines |
Prev: 9E3D | Up: Map | Next: 9EE4 |
Used by the routine at 9470.
|
||||
9E67 | LD A,($A1F9) | Return if Rex is not teleporting | ||
9E6A | OR A | |||
9E6B | RET Z | |||
9E6C | LD A,($A1F6) | Return if Rex not visible | ||
9E6F | OR A | |||
9E70 | RET Z | |||
9E71 | LD A,($A250) | Computes into HL the address pointer into room graphic data for Rex position | ||
9E74 | LD L,A | |||
9E75 | LD H,$00 | |||
9E77 | ADD HL,HL | |||
9E78 | ADD HL,HL | |||
9E79 | ADD HL,HL | |||
9E7A | ADD HL,HL | |||
9E7B | ADD HL,HL | |||
9E7C | LD A,($A24F) | |||
9E7F | SRL A | |||
9E81 | SRL A | |||
9E83 | SRL A | |||
9E85 | LD E,A | |||
9E86 | LD D,$00 | |||
9E88 | ADD HL,DE | |||
9E89 | LD DE,$E89F | |||
9E8C | ADD HL,DE | |||
9E8D | LD C,$00 | Set C the graphic data to draw | ||
9E8F | LD A,($A1F7) | Set B to the number of lines to hide from Rex sprite | ||
9E92 | LD B,A | |||
9E93 | CALL $9F8F | Hide a portion of Rex to simulate teleporting | ||
9E96 | LD DE,$001D | Garble randomly the last three lines of the Rex sprite not hidden | ||
9E99 | LD B,$03 | |||
9E9B | PUSH BC | |||
9E9C | LD B,$03 | |||
9E9E | PUSH BC | |||
9E9F | CALL $A51D | |||
9EA2 | AND (HL) | |||
9EA3 | LD (HL),A | |||
9EA4 | INC HL | |||
9EA5 | POP BC | |||
9EA6 | DJNZ $9E9E | |||
9EA8 | ADD HL,DE | |||
9EA9 | POP BC | |||
9EAA | DJNZ $9E9B | |||
9EAC | LD A,($A1FB) | Jump forward if teleporting Rex dead | ||
9EAF | OR A | |||
9EB0 | JP NZ,$9EC4 | |||
9EB3 | LD A,($A1F7) | Decrement number of lines to hide | ||
9EB6 | DEC A | |||
9EB7 | LD ($A1F7),A | |||
9EBA | OR A | Return if number of lines is not zero | ||
9EBB | RET NZ | |||
9EBC | JP $9ED5 | Jump to finish teleporting | ||
Code not reached
|
||||
9EBF | LD A,$64 | |||
9EC1 | LD ($A1FA),A | |||
Handle teleporting Rex after dead.
|
||||
9EC4 | LD A,($A1F7) | Increment the number of lines to hide | ||
9EC7 | INC A | |||
9EC8 | LD ($A1F7),A | |||
9ECB | CP $12 | Return if number of lines is not 18 | ||
9ECD | RET NZ | |||
9ECE | XOR A | Set Rex invisible | ||
9ECF | LD ($A1F6),A | |||
9ED2 | JP $9EDE | Jump to reset teleporting counter | ||
Rex has teleported completely
|
||||
9ED5 | XOR A | Stop teleporting | ||
9ED6 | LD ($A1F9),A | |||
9ED9 | LD A,$01 | Set Rex visible | ||
9EDB | LD ($A1F6),A | |||
Reset teleporting loop counter
|
||||
9EDE | LD A,$1E | Reset the teleporting loop counter | ||
9EE0 | LD ($A1FA),A | |||
9EE3 | RET |
Prev: 9E3D | Up: Map | Next: 9EE4 |