![]() |
Routines |
| Prev: 925F | Up: Map | Next: 92BA |
|
Used by the routine at 923A.
|
||||
| 927F | LD A,($8068) | Pick up Willy's y-coordinate from 8068 | ||
| 9282 | LD IXh,$83 | Point IX at the entry in the screen buffer address lookup table at 8300 that corresponds to Willy's y-coordinate | ||
| 9285 | LD IXl,A | |||
| 9287 | LD A,($806A) | Pick up Willy's direction and movement flags from 806A | ||
| 928A | AND $01 | Now E=0x00 if Willy is facing right, or 0x80 if he's facing left | ||
| 928C | RRCA | |||
| 928D | LD E,A | |||
| 928E | LD A,($8069) | Pick up Willy's animation frame (0-3) from 8069 | ||
| 9291 | AND $03 | Point DE at the sprite graphic data for Willy's current animation frame (see 8200) | ||
| 9293 | RRCA | |||
| 9294 | RRCA | |||
| 9295 | RRCA | |||
| 9296 | OR E | |||
| 9297 | LD E,A | |||
| 9298 | LD D,$82 | |||
| 929A | LD B,$10 | There are 16 rows of pixels to copy | ||
| 929C | LD A,($806C) | Pick up Willy's screen x-coordinate (0-31) from 806C | ||
| 929F | AND $1F | |||
| 92A1 | LD C,A | Copy it to C | ||
| 92A2 | LD A,(IX+$00) | Set HL to the address in the screen buffer at 6000 that corresponds to where we are going to draw the next pixel row of the sprite graphic | ||
| 92A5 | LD H,(IX+$01) | |||
| 92A8 | OR C | |||
| 92A9 | LD L,A | |||
| 92AA | LD A,(DE) | Pick up a sprite graphic byte | ||
| 92AB | OR (HL) | Merge it with the background | ||
| 92AC | LD (HL),A | Save the resultant byte to the screen buffer | ||
| 92AD | INC HL | Move HL along to the next cell to the right | ||
| 92AE | INC DE | Point DE at the next sprite graphic byte | ||
| 92AF | LD A,(DE) | Pick it up in A | ||
| 92B0 | OR (HL) | Merge it with the background | ||
| 92B1 | LD (HL),A | Save the resultant byte to the screen buffer | ||
| 92B2 | INC IX | Point IX at the next entry in the screen buffer address lookup table at 8300 | ||
| 92B4 | INC IX | |||
| 92B6 | INC DE | Point DE at the next sprite graphic byte | ||
| 92B7 | DJNZ $92A2 | Jump back until all 16 rows of pixels have been drawn | ||
| 92B9 | RET | |||
| Prev: 925F | Up: Map | Next: 92BA |