![]() |
Routines |
Prev: 29453 | Up: Map | Next: 29584 |
Used by the routine at Game_Loop.
|
||||
29457 | CALL Handler_PlayerSprite | Call Handler_PlayerSprite. | ||
This entry point is used by the routine at Handler_GhostRider.
|
||||
29460 | CALL 29038 | Call 29038. | ||
29463 | LD HL,(30743) | HL=*Current_ScreenPosition. | ||
29466 | LD A,L | A=L. | ||
29467 | RLCA | RLCA. | ||
29468 | RLCA | |||
29469 | RLCA | |||
29470 | LD L,A | L=A. | ||
29471 | AND %00000111 | Keep only bits 0-2. | ||
29473 | LD B,A | B=A. | ||
29474 | LD A,L | A=L. | ||
29475 | AND %11111000 | Keep only bits 3-7. | ||
29477 | LD L,A | L=A. | ||
29478 | LD A,(30745) | A=*ScrollPhase_Counter. | ||
29481 | ADD A,L | A+=L. | ||
29482 | LD L,A | L=A. | ||
29483 | LD A,H | A=H. | ||
29484 | LD H,248 | H=248. | ||
29486 | LD DE,2048 | DE=2048. | ||
29489 | SUB 153 | A-=153. | ||
29491 | ADD HL,DE | HL+=DE. | ||
29492 | SUB 5 | A-=5. | ||
29494 | JR NZ,29491 | Jump to 29491 if A is not zero. | ||
29496 | LD A,H | A=H. | ||
29497 | ADD A,B | A+=B. | ||
29498 | LD H,A | H=A. | ||
29499 | PUSH HL | Stash HL on the stack. | ||
29500 | LD DE,8 | DE=0008. | ||
29503 | SBC HL,DE | HL-=DE (with carry). | ||
29505 | EX DE,HL | Exchange the DE and HL registers. | ||
29506 | LD HL,(30785) | HL=*30785. | ||
29509 | SBC HL,DE | HL-=DE (with carry). | ||
29511 | LD A,H | Jump to 29548 if H is not zero. | ||
29512 | AND A | |||
29513 | JR NZ,29548 | |||
29515 | LD A,L | A=L. | ||
29516 | CP 80 | Jump to 29548 if A is higher than 80. | ||
29518 | JR NC,29548 | |||
29520 | SUB 8 | A-=8. | ||
29522 | SRA A | |||
29524 | LD C,68 | C=INK: GREEN, PAPER: BLACK (BRIGHT) . | ||
29526 | LD E,A | E=A. | ||
29527 | LD D,11 | D=11. | ||
29529 | LD A,0 | A=0. | ||
29531 | ADC A,0 | |||
29533 | CALL Handler_GhostRider | Call Handler_GhostRider. | ||
29536 | LD A,(30757) | Jump to 29548 if *SpriteState is not equal to 68. | ||
29539 | CP 68 | |||
29541 | JR NZ,29548 | |||
29543 | LD A,1 | Write 1 to *30784. | ||
29545 | LD (30784),A | |||
29548 | POP HL | Restore HL from the stack. | ||
29549 | LD A,(30784) | Return if *30784 is zero. | ||
29552 | AND A | |||
29553 | RET Z | |||
29554 | LD A,H | Return if H is not zero. | ||
29555 | AND A | |||
29556 | RET NZ | |||
29557 | LD A,L | Return if L is higher than 128. | ||
29558 | CP 128 | |||
29560 | RET NC | |||
29561 | LD A,128 | A=128. | ||
29563 | SUB L | A-=L. | ||
29564 | NOP | No operation. | ||
29565 | NOP | |||
29566 | NOP | |||
29567 | NOP | |||
29568 | NOP | |||
29569 | LD C,71 | C=71. | ||
29571 | LD D,11 | D=11. | ||
29573 | SRA A | |||
29575 | LD E,A | E=A. | ||
29576 | LD A,64 | A=64. | ||
29578 | ADC A,0 | |||
29580 | CALL Handler_GhostRider | Call Handler_GhostRider. | ||
29583 | RET | Return. |
Prev: 29453 | Up: Map | Next: 29584 |