![]() |
Routines |
Prev: 730D | Up: Map | Next: 7390 |
Used by the routine at Game_Loop.
|
||||
7311 | CALL Handler: PlayerSprite | Call Handler: PlayerSprite. | ||
This entry point is used by the routine at 76D7.
|
||||
7314 | CALL $716E | Call 716E. | ||
7317 | LD HL,($7817) | HL=*Current_ScreenPosition. | ||
731A | LD A,L | A=L. | ||
731B | RLCA | RLCA. | ||
731C | RLCA | |||
731D | RLCA | |||
731E | LD L,A | L=A. | ||
731F | AND %00000111 | Keep only bits 0-2. | ||
7321 | LD B,A | B=A. | ||
7322 | LD A,L | A=L. | ||
7323 | AND %11111000 | Keep only bits 3-7. | ||
7325 | LD L,A | L=A. | ||
7326 | LD A,($7819) | A=*ScrollPhase_Counter. | ||
7329 | ADD A,L | A+=L. | ||
732A | LD L,A | L=A. | ||
732B | LD A,H | A=H. | ||
732C | LD H,$F8 | H=F8. | ||
732E | LD DE,$0800 | DE=0800. | ||
7331 | SUB $99 | A-=99. | ||
7333 | ADD HL,DE | HL+=DE. | ||
7334 | SUB $05 | A-=05. | ||
7336 | JR NZ,$7333 | Jump to 7333 if A is not zero. | ||
7338 | LD A,H | A=H. | ||
7339 | ADD A,B | A+=B. | ||
733A | LD H,A | H=A. | ||
733B | PUSH HL | Stash HL on the stack. | ||
733C | LD DE,$0008 | DE=0008. | ||
733F | SBC HL,DE | HL-=DE (with carry). | ||
7341 | EX DE,HL | Exchange the DE and HL registers. | ||
7342 | LD HL,($7841) | HL=*7841. | ||
7345 | SBC HL,DE | HL-=DE (with carry). | ||
7347 | LD A,H | Jump to 736C if H is not zero. | ||
7348 | AND A | |||
7349 | JR NZ,$736C | |||
734B | LD A,L | A=L. | ||
734C | CP $50 | Jump to 736C if A is higher than 50. | ||
734E | JR NC,$736C | |||
7350 | SUB $08 | A-=08. | ||
7352 | SRA A | |||
7354 | LD C,$44 | C=44. | ||
7356 | LD E,A | E=A. | ||
7357 | LD D,$0B | D=0B. | ||
7359 | LD A,$00 | A=00. | ||
735B | ADC A,$00 | |||
735D | CALL $76D7 | Call 76D7. | ||
7360 | LD A,($7825) | Jump to 736C if *7825 is not equal to 44. | ||
7363 | CP $44 | |||
7365 | JR NZ,$736C | |||
7367 | LD A,$01 | Write 01 to *7840. | ||
7369 | LD ($7840),A | |||
736C | POP HL | Restore HL from the stack. | ||
736D | LD A,($7840) | Return if *7840 is zero. | ||
7370 | AND A | |||
7371 | RET Z | |||
7372 | LD A,H | Return if H is not zero. | ||
7373 | AND A | |||
7374 | RET NZ | |||
7375 | LD A,L | Return if L is higher than 80. | ||
7376 | CP $80 | |||
7378 | RET NC | |||
7379 | LD A,$80 | A=80. | ||
737B | SUB L | A-=L. | ||
737C | NOP | No operation. | ||
737D | NOP | |||
737E | NOP | |||
737F | NOP | |||
7380 | NOP | |||
7381 | LD C,$47 | C=47. | ||
7383 | LD D,$0B | D=0B. | ||
7385 | SRA A | |||
7387 | LD E,A | E=A. | ||
7388 | LD A,$40 | A=40. | ||
738A | ADC A,$00 | |||
738C | CALL $76D7 | Call 76D7. | ||
738F | RET | Return. |
Prev: 730D | Up: Map | Next: 7390 |