| Prev: 8BA3 | Up: Map | Next: 8C0B |
8BC6: Adjust old position for third-of-screen crossing.
|
Used by the routine at adjust_old_position.
|
||||
| adjust_old_screen_third | 8BC6 | LD HL,($8B14) | HL -= $E0, fall through to sprite renderer. | |
| 8BC9 | LD DE,$00E0 | |||
| 8BCC | OR A | |||
| 8BCD | SBC HL,DE | |||
| 8BCF | LD ($8B14),HL | |||
|
Main rendering loop - draws sprite row and advances to next pixel row.
|
||||
| adjust_old_screen_third_loop | 8BD2 | CALL render_sprite_row | Render this sprite row. | |
| 8BD5 | LD A,($8B1A) | Advance sprite pointers by width. | ||
| 8BD8 | LD D,$00 | |||
| 8BDA | LD E,A | |||
| 8BDB | LD HL,($8B0E) | |||
| 8BDE | ADD HL,DE | |||
| 8BDF | LD ($8B0E),HL | |||
| 8BE2 | LD HL,($8B10) | |||
| 8BE5 | ADD HL,DE | |||
| 8BE6 | LD ($8B10),HL | |||
| 8BE9 | LD HL,($8B0A) | Increment Y coordinate for all position/address variables. | ||
| 8BEC | INC H | |||
| 8BED | LD ($8B0A),HL | |||
| 8BF0 | LD HL,($8B0C) | |||
| 8BF3 | INC H | |||
| 8BF4 | LD ($8B0C),HL | |||
| 8BF7 | LD HL,($8B12) | |||
| 8BFA | INC H | |||
| 8BFB | LD ($8B12),HL | |||
| 8BFE | LD HL,($8B14) | |||
| 8C01 | INC H | |||
| 8C02 | LD ($8B14),HL | |||
| 8C05 | POP DE | Decrement row counter, loop if more rows. | ||
| 8C06 | DEC D | |||
| 8C07 | JP NZ,render_row_loop | |||
| 8C0A | RET | |||
| Prev: 8BA3 | Up: Map | Next: 8C0B |