![]() |
Routines |
| Prev: 25600 | Up: Map |
|
|||||||
| 25618 | LD L,2 | Copy sprite tiles 2-7 over sprite tiles 239-244 | |||||
| 25620 | LD E,239 | ||||||
| 25622 | LD C,6 | ||||||
| 25624 | CALL 25600 | ||||||
| 25627 | LD E,242 | Copy sprite tile 170 over sprite tile 242 | |||||
| 25629 | LD L,170 | ||||||
| 25631 | INC C | ||||||
| 25632 | CALL 25600 | ||||||
| 25635 | LD A,181 | Copy sprite tiles 181, 189 and 197 from base page 215 over sprite tiles 245-247 | |||||
| 25637 | LD E,245 | ||||||
| 25639 | LD L,A | ||||||
| 25640 | LD H,215 | ||||||
| 25642 | INC C | ||||||
| 25643 | CALL 25602 | ||||||
| 25646 | LD A,L | ||||||
| 25647 | ADD A,7 | ||||||
| 25649 | CP 205 | ||||||
| 25651 | JR NZ,25639 | ||||||
| 25653 | LD B,8 | Superimpose sprite tile 205 from base page 215 over sprite tile 243 (which is currently a copy of sprite tile 6, the centre tile of Sam's base animatory state); this makes Sam appear to bend his arms and hold his knees while performing the acrobatic feat, at the expense of losing some detail from his current disguise | |||||
| 25655 | LD HL,55245 | ||||||
| 25658 | LD DE,51187 | ||||||
| 25661 | LD A,(DE) | ||||||
| 25662 | OR (HL) | ||||||
| 25663 | INC H | ||||||
| 25664 | AND (HL) | ||||||
| 25665 | INC H | ||||||
| 25666 | LD (DE),A | ||||||
| 25667 | INC D | ||||||
| 25668 | LD (DE),A | ||||||
| 25669 | INC D | ||||||
| 25670 | DJNZ 25661 | ||||||
|
This entry point is used by the routine at 25789. Here we rotate sprite tiles 239-247 and store the results in sprite tile slots 238-246.
|
|||||||
| 25672 | LD L,239 | Tile 239 is the first source tile | |||||
| 25674 | LD E,L | E=238 (the first target tile) | |||||
| 25675 | DEC E | ||||||
| 25676 | LD D,199 | The base page for these tiles is 199 | |||||
| 25678 | LD B,8 | Rotate the source sprite tile 90 degrees anticlockwise and copy it over the target sprite tile | |||||
| 25680 | LD H,198 | ||||||
| 25682 | LD C,1 | ||||||
| 25684 | INC H | ||||||
| 25685 | RRC (HL) | ||||||
| 25687 | RLA | ||||||
| 25688 | INC H | ||||||
| 25689 | RRC (HL) | ||||||
| 25691 | RL C | ||||||
| 25693 | JR NC,25684 | ||||||
| 25695 | LD (DE),A | ||||||
| 25696 | INC D | ||||||
| 25697 | LD A,C | ||||||
| 25698 | LD (DE),A | ||||||
| 25699 | INC D | ||||||
| 25700 | DJNZ 25680 | ||||||
| 25702 | INC L | Move to the next source sprite tile reference | |||||
| 25703 | BIT 3,L | Have we rotated sprite tiles 239-247 yet? | |||||
| 25705 | JR Z,25674 | Jump back if not | |||||
|
Next we move sprite tiles 238-246 up to 239-247.
|
|||||||
| 25707 | LD A,16 | There are 16 bytes of graphic and mask data in each tile | |||||
| 25709 | LD E,247 | Copy sprite tiles 238-246 into slots 239-247 | |||||
| 25711 | LD L,246 | ||||||
| 25713 | LD C,9 | ||||||
| 25715 | DEC D | ||||||
| 25716 | LD H,D | ||||||
| 25717 | LDDR | ||||||
| 25719 | DEC A | ||||||
| 25720 | JR NZ,25709 | ||||||
| 25722 | RET | Return with the zero flag set | |||||
| Prev: 25600 | Up: Map |