Marsport | Routines |
Prev: 9EFA | Up: Map | Next: 9F9A |
Used by the routine at 9FCD.
|
||||||||
Draw a background bitmap.
|
||||||||
Bg_DrawItemColumn | 9F68 | LD BC,(Bmp_DataBuffer) | Get bitmap address and offset by start draw position. | |||||
9F6C | EX DE,HL | |||||||
9F6D | ADD HL,BC | |||||||
9F6E | PUSH HL | |||||||
9F6F | EX (SP),IX | |||||||
9F71 | LD HL,($A33B) | Get offscreen address to draw to. | ||||||
9F74 | LD A,(Bmp_DataBufferHeight) | Number of rows to draw. | ||||||
9F77 | AND $7F | |||||||
9F79 | EX AF,AF' | |||||||
9F7A | LD A,(Bmp_DataBufferWidth) | Get number of bytes to skip in bitmap for each row. | ||||||
9F7D | AND $7F | |||||||
9F7F | LD C,A | |||||||
9F80 | LD B,$00 | |||||||
9F82 | LD DE,$0022 | Width of offscreen, used to offset to next row each time. | ||||||
9F85 | EX AF,AF' | Convert height in chars to number of pixels. | ||||||
9F86 | AND A | |||||||
9F87 | RLA | |||||||
9F88 | RLA | |||||||
9F89 | RLA | |||||||
Bg_DrawItemColumn_0 | 9F8A | EX AF,AF' | Draw one single column of the bitmap. | |||||
9F8B | LD A,(IX+$00) | |||||||
9F8E | XOR (HL) | |||||||
9F8F | LD (HL),A | |||||||
9F90 | ADD HL,DE | |||||||
9F91 | ADD IX,BC | |||||||
9F93 | EX AF,AF' | |||||||
9F94 | DEC A | |||||||
9F95 | JR NZ,Bg_DrawItemColumn_0 | Next row. | ||||||
9F97 | POP IX | |||||||
9F99 | RET |
Prev: 9EFA | Up: Map | Next: 9F9A |