Routines |
Prev: D688 | Up: Map | Next: D7F6 |
Used by the routines at DrawMonsterSprite, D9C3, Handler_Helicopters, Draw_Human_Sprite_Mirrored, Handler_Bullets, Animate_TransformExplosion, Animate_TurnIntoHuman, Animate_ExitStageRight, Something_Helicopter, Handler_Projectiles, Audio_Projectiles_Hit, Handler_CollisionMonsters, Scene_DisplayCarpet, Handler_Vehicle and Handler_Train.
|
||||||||||
PrintSprite | D6C9 | LD ($D214),A | Write A to *D214. | |||||||
D6CC | PUSH BC | Stash BC on the stack. | ||||||||
D6CD | CALL InitialiseSprite | Call InitialiseSprite. | ||||||||
D6D0 | POP BC | Restore BC from the stack. | ||||||||
D6D1 | LD D,A | D=A. | ||||||||
D6D2 | LD A,($D247) | A=*Flag_Orientation. | ||||||||
Moves the orientation flag into the carry flag.
|
||||||||||
D6D5 | RRCA | Rotate A right one position, setting the carry flag if bit 0 was set. | ||||||||
D6D6 | JP C,PrintSprite_Mirrored_0 | Jump to PrintSprite_Mirrored_0 if the carry flag is set. | ||||||||
D6D9 | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||||||||
D6DA | LD E,A | E=A. | ||||||||
D6DB | LD L,C | L=C. | ||||||||
D6DC | EXX | Switch to the shadow registers. | ||||||||
D6DD | LD A,(HL) | A=*HL. | ||||||||
D6DE | INC HL | Increment HL by one. | ||||||||
D6DF | LD H,(HL) | H=*HL. | ||||||||
D6E0 | LD L,A | L=A. | ||||||||
PrintSprite_0 | D6E1 | EXX | Switch back to the normal registers. | |||||||
D6E2 | LD A,C | Jump to PrintSprite_1 if C is not equal to L. | ||||||||
D6E3 | CP L | |||||||||
D6E4 | JP NZ,PrintSprite_1 | |||||||||
D6E7 | LD A,B | A=B. | ||||||||
D6E8 | AND %11111000 | Keep only bits 3-7. | ||||||||
D6EA | ADD A,$6B | A+=6B. | ||||||||
D6EC | LD H,A | H=A. | ||||||||
D6ED | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||||||||
D6EE | LD A,B | A=B. | ||||||||
D6EF | AND %00000111 | Keep only bits 0-2. | ||||||||
D6F1 | RRCA | RRCA. | ||||||||
D6F2 | RRCA | |||||||||
D6F3 | RRCA | |||||||||
D6F4 | ADD A,C | A+=C. | ||||||||
D6F5 | EXX | Switch to the shadow registers. | ||||||||
D6F6 | LD C,A | C=A. | ||||||||
D6F7 | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||||||||
D6F8 | LD B,A | B=A. | ||||||||
D6F9 | JP PrintSprite_2 | Jump to PrintSprite_2. | ||||||||
PrintSprite_1 | D6FC | LD A,H | A=H. | |||||||
D6FD | EXX | Switch back to the normal registers. | ||||||||
D6FE | INC C | Increment C by one. | ||||||||
D6FF | LD B,A | B=A. | ||||||||
PrintSprite_2 | D700 | EXX | Switch to the shadow registers. | |||||||
D701 | LD A,C | A=C. | ||||||||
D702 | CP $20 | Jump to PrintSprite_6 if A is higher than 20. | ||||||||
D704 | JP NC,PrintSprite_6 | |||||||||
D707 | LD A,B | A=B. | ||||||||
D708 | CP $18 | Jump to PrintSprite_6 if A is higher than 18. | ||||||||
D70A | JP NC,PrintSprite_6 | |||||||||
D70D | EXX | Switch back to the normal registers. | ||||||||
D70E | LD A,(HL) | Jump to PrintSprite_5 if *HL is equal to 36. | ||||||||
D70F | CP $36 | |||||||||
D711 | JP Z,PrintSprite_5 | |||||||||
D714 | LD A,(DE) | Jump to PrintSprite_8 if *DE is equal to 36. | ||||||||
D715 | CP $36 | |||||||||
D717 | JP Z,PrintSprite_8 | |||||||||
D71A | INC HL | Increment HL by one. | ||||||||
D71B | INC DE | Increment DE by one. | ||||||||
D71C | LD A,(BC) | A=*BC. | ||||||||
D71D | AND (HL) | Merge the bits from *HL. | ||||||||
D71E | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D71F | OR (HL) | Set the bits from *HL. | ||||||||
D720 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D721 | LD (BC),A | Write A to *BC. | ||||||||
D722 | INC DE | Increment DE by one. | ||||||||
D723 | INC HL | Increment HL by one. | ||||||||
D724 | INC B | Increment B by one. | ||||||||
D725 | LD A,(BC) | A=*BC. | ||||||||
D726 | AND (HL) | Merge the bits from *HL. | ||||||||
D727 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D728 | OR (HL) | Set the bits from *HL. | ||||||||
D729 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D72A | LD (BC),A | Write A to *BC. | ||||||||
D72B | INC DE | Increment DE by one. | ||||||||
D72C | INC HL | Increment HL by one. | ||||||||
D72D | INC B | Increment B by one. | ||||||||
D72E | LD A,(BC) | A=*BC. | ||||||||
D72F | AND (HL) | Merge the bits from *HL. | ||||||||
D730 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D731 | OR (HL) | Set the bits from *HL. | ||||||||
D732 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D733 | LD (BC),A | Write A to *BC. | ||||||||
D734 | INC DE | Increment DE by one. | ||||||||
D735 | INC HL | Increment HL by one. | ||||||||
D736 | INC B | Increment B by one. | ||||||||
D737 | LD A,(BC) | A=*BC. | ||||||||
D738 | AND (HL) | Merge the bits from *HL. | ||||||||
D739 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D73A | OR (HL) | Set the bits from *HL. | ||||||||
D73B | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D73C | LD (BC),A | Write A to *BC. | ||||||||
D73D | INC DE | Increment DE by one. | ||||||||
D73E | INC HL | Increment HL by one. | ||||||||
D73F | INC B | Increment B by one. | ||||||||
D740 | LD A,(BC) | A=*BC. | ||||||||
D741 | AND (HL) | Merge the bits from *HL. | ||||||||
D742 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D743 | OR (HL) | Set the bits from *HL. | ||||||||
D744 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D745 | LD (BC),A | Write A to *BC. | ||||||||
D746 | INC DE | Increment DE by one. | ||||||||
D747 | INC HL | Increment HL by one. | ||||||||
D748 | INC B | Increment B by one. | ||||||||
D749 | LD A,(BC) | A=*BC. | ||||||||
D74A | AND (HL) | Merge the bits from *HL. | ||||||||
D74B | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D74C | OR (HL) | Set the bits from *HL. | ||||||||
D74D | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D74E | LD (BC),A | Write A to *BC. | ||||||||
D74F | INC DE | Increment DE by one. | ||||||||
D750 | INC HL | Increment HL by one. | ||||||||
D751 | INC B | Increment B by one. | ||||||||
D752 | LD A,(BC) | A=*BC. | ||||||||
D753 | AND (HL) | Merge the bits from *HL. | ||||||||
D754 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D755 | OR (HL) | Set the bits from *HL. | ||||||||
D756 | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D757 | LD (BC),A | Write A to *BC. | ||||||||
D758 | INC DE | Increment DE by one. | ||||||||
D759 | INC HL | Increment HL by one. | ||||||||
D75A | INC B | Increment B by one. | ||||||||
D75B | LD A,(BC) | A=*BC. | ||||||||
D75C | AND (HL) | Merge the bits from *HL. | ||||||||
D75D | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D75E | OR (HL) | Set the bits from *HL. | ||||||||
D75F | EX DE,HL | Exchange the DE and HL registers. | ||||||||
D760 | LD (BC),A | Write A to *BC. | ||||||||
D761 | CALL $D986 | Call D986. | ||||||||
PrintSprite_3 | D764 | INC DE | Increment DE by one. | |||||||
D765 | INC HL | Increment HL by one. | ||||||||
PrintSprite_4 | D766 | EXX | Switch to the shadow registers. | |||||||
D767 | INC C | Increment C by one. | ||||||||
D768 | LD A,E | Compare E with C... | ||||||||
D769 | CP C | |||||||||
D76A | EXX | Switch back to the normal registers. | ||||||||
D76B | JP NZ,PrintSprite_0 | Jump to PrintSprite_0 if E is not equal to C on line D768. | ||||||||
D76E | EXX | Switch to the shadow registers. | ||||||||
D76F | LD C,L | C=L. | ||||||||
D770 | INC B | Increment B by one. | ||||||||
D771 | LD A,D | Compare D with B... | ||||||||
D772 | CP B | |||||||||
D773 | EXX | Switch back to the normal registers. | ||||||||
D774 | JP NZ,PrintSprite_0 | Jump to PrintSprite_0 if D is not equal to B on line D771. | ||||||||
D777 | RET | Return. | ||||||||
PrintSprite_5 | D778 | LD A,(DE) | Jump to PrintSprite_3 if *DE is equal to 36. | |||||||
D779 | CP $36 | |||||||||
D77B | JP Z,PrintSprite_3 | |||||||||
D77E | INC DE | Increment DE by one. | ||||||||
D77F | INC HL | Increment HL by one. | ||||||||
D780 | LD A,(DE) | A=*DE. | ||||||||
D781 | LD (BC),A | Write A to *BC. | ||||||||
D782 | INC DE | Increment DE by one. | ||||||||
D783 | INC B | Increment B by one. | ||||||||
D784 | LD A,(DE) | A=*DE. | ||||||||
D785 | LD (BC),A | Write A to *BC. | ||||||||
D786 | INC DE | Increment DE by one. | ||||||||
D787 | INC B | Increment B by one. | ||||||||
D788 | LD A,(DE) | A=*DE. | ||||||||
D789 | LD (BC),A | Write A to *BC. | ||||||||
D78A | INC DE | Increment DE by one. | ||||||||
D78B | INC B | Increment B by one. | ||||||||
D78C | LD A,(DE) | A=*DE. | ||||||||
D78D | LD (BC),A | Write A to *BC. | ||||||||
D78E | INC DE | Increment DE by one. | ||||||||
D78F | INC B | Increment B by one. | ||||||||
D790 | LD A,(DE) | A=*DE. | ||||||||
D791 | LD (BC),A | Write A to *BC. | ||||||||
D792 | INC DE | Increment DE by one. | ||||||||
D793 | INC B | Increment B by one. | ||||||||
D794 | LD A,(DE) | A=*DE. | ||||||||
D795 | LD (BC),A | Write A to *BC. | ||||||||
D796 | INC DE | Increment DE by one. | ||||||||
D797 | INC B | Increment B by one. | ||||||||
D798 | LD A,(DE) | A=*DE. | ||||||||
D799 | LD (BC),A | Write A to *BC. | ||||||||
D79A | INC DE | Increment DE by one. | ||||||||
D79B | INC B | Increment B by one. | ||||||||
D79C | LD A,(DE) | A=*DE. | ||||||||
D79D | LD (BC),A | Write A to *BC. | ||||||||
D79E | INC DE | Increment DE by one. | ||||||||
D79F | CALL $D986 | Call D986. | ||||||||
D7A2 | JP PrintSprite_4 | Jump to PrintSprite_4. | ||||||||
PrintSprite_6 | D7A5 | EXX | Switch to the shadow registers. | |||||||
D7A6 | LD A,(DE) | A=*DE. | ||||||||
D7A7 | INC DE | Increment DE by one. | ||||||||
D7A8 | CP $36 | Jump to PrintSprite_7 if A is equal to 36. | ||||||||
D7AA | JP Z,PrintSprite_7 | |||||||||
D7AD | INC DE | Increment DE by eight. | ||||||||
D7AE | INC DE | |||||||||
D7AF | INC DE | |||||||||
D7B0 | INC DE | |||||||||
D7B1 | INC DE | |||||||||
D7B2 | INC DE | |||||||||
D7B3 | INC DE | |||||||||
D7B4 | INC DE | |||||||||
PrintSprite_7 | D7B5 | LD A,(HL) | A=*HL. | |||||||
D7B6 | INC HL | Increment HL by one. | ||||||||
D7B7 | CP $36 | Jump to PrintSprite_4 if A is equal to 36. | ||||||||
D7B9 | JP Z,PrintSprite_4 | |||||||||
D7BC | INC HL | Increment HL by eight. | ||||||||
D7BD | INC HL | |||||||||
D7BE | INC HL | |||||||||
D7BF | INC HL | |||||||||
D7C0 | INC HL | |||||||||
D7C1 | INC HL | |||||||||
D7C2 | INC HL | |||||||||
D7C3 | INC HL | |||||||||
D7C4 | JP PrintSprite_4 | Jump to PrintSprite_4. | ||||||||
PrintSprite_8 | D7C7 | INC DE | Increment DE by one. | |||||||
D7C8 | INC HL | Increment HL by one. | ||||||||
D7C9 | LD A,(BC) | A=*BC. | ||||||||
D7CA | AND (HL) | Merge the bits from *HL. | ||||||||
D7CB | LD (BC),A | Write A to *BC. | ||||||||
D7CC | INC HL | Increment HL by one. | ||||||||
D7CD | INC B | Increment B by one. | ||||||||
D7CE | LD A,(BC) | A=*BC. | ||||||||
D7CF | AND (HL) | Merge the bits from *HL. | ||||||||
D7D0 | LD (BC),A | Write A to *BC. | ||||||||
D7D1 | INC HL | Increment HL by one. | ||||||||
D7D2 | INC B | Increment B by one. | ||||||||
D7D3 | LD A,(BC) | A=*BC. | ||||||||
D7D4 | AND (HL) | Merge the bits from *HL. | ||||||||
D7D5 | LD (BC),A | Write A to *BC. | ||||||||
D7D6 | INC HL | Increment HL by one. | ||||||||
D7D7 | INC B | Increment B by one. | ||||||||
D7D8 | LD A,(BC) | A=*BC. | ||||||||
D7D9 | AND (HL) | Merge the bits from *HL. | ||||||||
D7DA | LD (BC),A | Write A to *BC. | ||||||||
D7DB | INC HL | Increment HL by one. | ||||||||
D7DC | INC B | Increment B by one. | ||||||||
D7DD | LD A,(BC) | A=*BC. | ||||||||
D7DE | AND (HL) | Merge the bits from *HL. | ||||||||
D7DF | LD (BC),A | Write A to *BC. | ||||||||
D7E0 | INC HL | Increment HL by one. | ||||||||
D7E1 | INC B | Increment B by one. | ||||||||
D7E2 | LD A,(BC) | A=*BC. | ||||||||
D7E3 | AND (HL) | Merge the bits from *HL. | ||||||||
D7E4 | LD (BC),A | Write A to *BC. | ||||||||
D7E5 | INC HL | Increment HL by one. | ||||||||
D7E6 | INC B | Increment B by one. | ||||||||
D7E7 | LD A,(BC) | A=*BC. | ||||||||
D7E8 | AND (HL) | Merge the bits from *HL. | ||||||||
D7E9 | LD (BC),A | Write A to *BC. | ||||||||
D7EA | INC HL | Increment HL by one. | ||||||||
D7EB | INC B | Increment B by one. | ||||||||
D7EC | LD A,(BC) | A=*BC. | ||||||||
D7ED | AND (HL) | Merge the bits from *HL. | ||||||||
D7EE | LD (BC),A | Write A to *BC. | ||||||||
D7EF | INC HL | Increment HL by one. | ||||||||
D7F0 | CALL $D986 | Call D986. | ||||||||
D7F3 | JP PrintSprite_4 | Jump to PrintSprite_4. |
Prev: D688 | Up: Map | Next: D7F6 |