Prev: 55408 Up: Map Next: 55508
55458: Goldfish Game: Animate Boats
Used by the routine at GoldfishGame.
boats-animation
GoldfishGame_AnimateBoats 55458 LD A,(55613) A=*GoldfishGame_BuoyancyCounter.
55461 AND %00000001 Keep only bit 0.
55463 RET Z Return if the result is zero.
55464 LD DE,16384 DE=16384 (screen buffer location).
55467 LD B,8 B=8.
GoldfishGame_AnimateBoats_0 55469 PUSH BC Stash BC and DE on the stack.
55470 PUSH DE
55471 LD B,8 B=8.
GoldfishGame_AnimateBoats_1 55473 PUSH BC Stash BC and DE on the stack.
55474 PUSH DE
55475 LD A,(DE) A=*DE.
55476 RL A Rotate A left.
55478 PUSH AF Stash AF on the stack.
55479 LD HL,31 HL=0031.
55482 ADD HL,DE HL+=DE.
55483 LD B,32 B=32.
GoldfishGame_AnimateBoats_2 55485 POP AF Restore AF from the stack.
55486 RL (HL) Rotate *HL left.
55488 PUSH AF Stash AF on the stack.
55489 DEC HL Decrease HL by one.
55490 DJNZ GoldfishGame_AnimateBoats_2 Decrease counter by one and loop back to GoldfishGame_AnimateBoats_2 until counter is zero.
55492 POP AF Restore AF and DE from the stack.
55493 POP DE
55494 LD HL,32 HL=0032.
55497 ADD HL,DE HL+=DE.
55498 EX DE,HL Exchange the DE and HL registers.
55499 POP BC Restore BC from the stack.
55500 DJNZ GoldfishGame_AnimateBoats_1 Decrease counter by one and loop back to GoldfishGame_AnimateBoats_1 until counter is zero.
55502 POP DE Restore DE and BC from the stack.
55503 POP BC
55504 INC D Increment D by one.
55505 DJNZ GoldfishGame_AnimateBoats_0 Decrease counter by one and loop back to GoldfishGame_AnimateBoats_0 until counter is zero.
55507 RET Return.
Prev: 55408 Up: Map Next: 55508