9BCE: Blit bitmap, at (Y,X), aligning to nearest character position.
Bmp_BlitAtCharPos |
9BCE |
PUSH IX |
|
9BD0 |
LD ( Temp_blit_attr),A |
|
9BD3 |
LD A,B |
|
9BD4 |
LD (TempAl),A |
|
9BD7 |
LD A,C |
|
9BD8 |
LD (TempAh),A |
|
9BDB |
CALL Bitmap_CopyFrame |
|
9BDE |
LD A,(HL) |
|
9BDF |
AND $7F |
|
9BE1 |
LD (TempBh),A |
|
9BE4 |
DEC HL |
|
9BE5 |
LD A,(HL) |
|
9BE6 |
AND $7F |
|
9BE8 |
LD (TempBl),A |
|
9BEB |
LD HL,(Bitmap_InfoCache) |
|
9BEE |
LD IX,TempAl |
|
9BF2 |
LD B,(IX+$02) |
Bmp_BlitAtCharPos_0 |
9BF5 |
PUSH BC |
|
9BF6 |
PUSH HL |
|
9BF7 |
CALL YX_toAddr |
|
9BFA |
EX (SP),HL |
|
9BFB |
LD A,( Temp_blit_attr) |
|
9BFE |
AND A |
|
9BFF |
JR Z,Bmp_BlitAtCharPos_2 |
|
9C01 |
LD B,(IX+$03) |
Bmp_BlitAtCharPos_1 |
9C04 |
LD (DE),A |
|
9C05 |
INC DE |
|
9C06 |
DJNZ Bmp_BlitAtCharPos_1 |
Bmp_BlitAtCharPos_2 |
9C08 |
LD A,$08 |
|
9C0A |
POP DE |
Bmp_BlitAtCharPos_3 |
9C0B |
PUSH DE |
|
9C0C |
LD C,(IX+$03) |
|
9C0F |
LD B,$00 |
|
9C11 |
LDIR |
|
9C13 |
POP DE |
|
9C14 |
INC D |
|
9C15 |
DEC A |
|
9C16 |
JR NZ,Bmp_BlitAtCharPos_3 |
|
9C18 |
LD A,$08 |
|
9C1A |
ADD A,(IX+$00) |
|
9C1D |
LD (IX+$00),A |
|
9C20 |
POP BC |
|
9C21 |
DJNZ Bmp_BlitAtCharPos_0 |
|
9C23 |
POP IX |
|
9C25 |
RET |