9A7E: Redraws an object, on stage. If the object is already there then it is Xor'd out.
Obj_DrawOrClear |
9A7E |
LD HL,Bitmap_InfoCache_Width |
|
9A81 |
RES 7,(HL) |
|
9A83 |
DEC HL |
|
9A84 |
LD A,(HL) |
|
9A85 |
RLA |
|
9A86 |
RLA |
|
9A87 |
RLA |
|
9A88 |
AND $F8 |
|
9A8A |
LD (HL),A |
|
9A8B |
LD L,B |
|
9A8C |
LD H,$00 |
|
9A8E |
ADD HL,HL |
|
9A8F |
LD E,L |
|
9A90 |
LD D,H |
|
9A91 |
ADD HL,HL |
|
9A92 |
ADD HL,HL |
|
9A93 |
ADD HL,HL |
|
9A94 |
ADD HL,HL |
|
9A95 |
ADD HL,DE |
|
9A96 |
LD E,C |
|
9A97 |
SRL E |
|
9A99 |
SRL E |
|
9A9B |
SRL E |
|
9A9D |
LD D,$00 |
|
9A9F |
ADD HL,DE |
|
9AA0 |
LD DE,Offscreen_TopLine |
|
9AA3 |
ADD HL,DE |
|
9AA4 |
LD DE,(Bitmap_InfoCache) |
|
9AA8 |
BIT 2,C |
|
9AAA |
JR NZ,Obj_DrawOrClear_2 |
|
9AAC |
LD BC,(Bitmap_InfoCache_Height) |
Obj_DrawOrClear_0 |
9AB0 |
PUSH BC |
|
9AB1 |
PUSH HL |
Obj_DrawOrClear_1 |
9AB2 |
LD A,(DE) |
|
9AB3 |
XOR (HL) |
|
9AB4 |
LD (HL),A |
|
9AB5 |
INC DE |
|
9AB6 |
INC HL |
|
9AB7 |
DJNZ Obj_DrawOrClear_1 |
|
9AB9 |
POP HL |
|
9ABA |
LD BC,$0022 |
|
9ABD |
ADD HL,BC |
|
9ABE |
POP BC |
|
9ABF |
DEC C |
|
9AC0 |
JR NZ,Obj_DrawOrClear_0 |
|
9AC2 |
RET |
Obj_DrawOrClear_2 |
9AC3 |
LD BC,(Bitmap_InfoCache_Height) |
Obj_DrawOrClear_3 |
9AC7 |
PUSH BC |
|
9AC8 |
PUSH HL |
|
9AC9 |
EX DE,HL |
|
9ACA |
XOR A |
Obj_DrawOrClear_4 |
9ACB |
RRD |
|
9ACD |
LD C,A |
|
9ACE |
LD A,(DE) |
|
9ACF |
XOR (HL) |
|
9AD0 |
LD (DE),A |
|
9AD1 |
LD A,C |
|
9AD2 |
RLD |
|
9AD4 |
LD A,C |
|
9AD5 |
INC HL |
|
9AD6 |
INC DE |
|
9AD7 |
DJNZ Obj_DrawOrClear_4 |
|
9AD9 |
RLA |
|
9ADA |
RLA |
|
9ADB |
RLA |
|
9ADC |
RLA |
|
9ADD |
AND $F0 |
|
9ADF |
LD C,A |
|
9AE0 |
LD A,(DE) |
|
9AE1 |
XOR C |
|
9AE2 |
LD (DE),A |
|
9AE3 |
POP DE |
|
9AE4 |
EX DE,HL |
|
9AE5 |
LD BC,$0022 |
|
9AE8 |
ADD HL,BC |
|
9AE9 |
POP BC |
|
9AEA |
DEC C |
|
9AEB |
JR NZ,Obj_DrawOrClear_3 |
|
9AED |
RET |