Routines |
Prev: 56529 | Up: Map | Next: 56658 |
Used by the routine at 62526.
|
||||
MoveTile_Up | 56540 | LD A,(59230) | A=*59230. | |
56543 | DEC A | Decrease A by one. | ||
56544 | LD (59232),A | Write A to *59232. | ||
56547 | LD A,(59233) | B=*59233. | ||
56550 | LD B,A | |||
MoveTile_Up_Loop | 56551 | PUSH BC | Stash BC on the stack. | |
56552 | LD A,(59229) | A=*59229. | ||
56555 | DEC A | Decrease A by one. | ||
56556 | LD (59231),A | Write A to *59231. | ||
56559 | LD B,4 | B=4. | ||
MoveTile_Up_0 | 56561 | PUSH BC | Stash BC on the stack. | |
56562 | LD A,(59231) | B=*59231. | ||
56565 | LD B,A | |||
56566 | LD A,(59232) | C=*59232. | ||
56569 | LD C,A | |||
56570 | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | ||
56573 | PUSH HL | Stash HL on the stack. | ||
56574 | DEC B | Decrease B by one. | ||
56575 | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | ||
56578 | PUSH HL | DE=HL (using the stack). | ||
56579 | POP DE | |||
56580 | POP HL | Restore HL from the stack. | ||
56581 | LD A,8 | A=8. | ||
56583 | LD BC,4 | BC=0004. | ||
56586 | PUSH HL | Stash HL, HL and DE on the stack. | ||
MoveTile_Up_1 | 56587 | PUSH HL | ||
56588 | PUSH DE | |||
56589 | LDIR | LDIR. | ||
56591 | DEC HL | Decrease HL by one. | ||
56592 | PUSH HL | Stash HL on the stack. | ||
56593 | LD (HL),C | Write C to *HL. | ||
56594 | POP DE | Restore DE from the stack. | ||
56595 | DEC DE | Decrease DE by one. | ||
56596 | LD BC,3 | BC=0003. | ||
56599 | LDDR | LDDR. | ||
56601 | POP DE | Restore DE and HL from the stack. | ||
56602 | POP HL | |||
56603 | INC D | Increment D by one. | ||
56604 | INC H | Increment H by one. | ||
56605 | LD BC,4 | BC=0004. | ||
56608 | DEC A | Decrease A by one. | ||
56609 | JP NZ,MoveTile_Up_1 | Jump to MoveTile_Up_1 if A is not zero. | ||
56612 | POP HL | Restore HL from the stack. | ||
56613 | CALL Calculate_AttributeAddress | Call Calculate_AttributeAddress. | ||
56616 | LD HL,65504 | HL=65504+DE. | ||
56619 | ADD HL,DE | |||
56620 | EX DE,HL | Exchange the DE and HL registers. | ||
56621 | LD BC,4 | BC=0004. | ||
56624 | LDIR | LDIR. | ||
56626 | LD BC,3 | BC=0003. | ||
56629 | LD A,71 | A=71. | ||
56631 | DEC HL | Decrease HL by one. | ||
56632 | LD (HL),A | Write A to *HL. | ||
56633 | PUSH HL | Stash HL on the stack. | ||
56634 | POP DE | Restore DE from the stack. | ||
56635 | DEC DE | Decrease DE by one. | ||
56636 | LDDR | LDDR. | ||
56638 | LD HL,59231 | HL=59231. | ||
56641 | INC (HL) | Increment *HL by one. | ||
56642 | POP BC | Restore BC from the stack. | ||
56643 | DJNZ MoveTile_Up_0 | Decrease counter by one and loop back to MoveTile_Up_0 until counter is zero. | ||
56645 | POP BC | Restore BC from the stack. | ||
56646 | PUSH BC | Stash BC on the stack. | ||
56647 | CALL 56658 | Call 56658. | ||
56650 | LD HL,59229 | HL=59229. | ||
56653 | DEC (HL) | Decrease *HL by one. | ||
56654 | POP BC | Restore BC from the stack. | ||
56655 | DJNZ MoveTile_Up_Loop | Decrease counter by one and loop back to MoveTile_Up_Loop until counter is zero. | ||
56657 | RET | Return. |
Prev: 56529 | Up: Map | Next: 56658 |