Prev: 9EFA Up: Map Next: 9F9A
9F68: Draw a single column of a bitmap
Used by the routine at 9FCD.
Input
DE Offset byte for column to draw.
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