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