BBF7: Draw Room
| DrawRoom |
BBF7 |
LD E,(HL) |
|
BBF8 |
INC HL |
|
BBF9 |
LD D,(HL) |
|
BBFA |
LD A,E |
|
BBFB |
OR D |
|
BBFC |
RET Z |
|
BBFD |
INC HL |
|
BBFE |
LD C,(HL) |
|
BBFF |
INC HL |
|
BC00 |
LD B,(HL) |
|
BC01 |
INC HL |
|
BC02 |
PUSH HL |
|
BC03 |
LD H,B |
|
BC04 |
LD L,C |
|
BC05 |
CALL DrawRoom_Process |
|
BC08 |
POP HL |
|
BC09 |
JR DrawRoom |
| DrawRoom_Process |
BC0B |
PUSH HL |
|
BC0C |
CALL ScreenAddress |
|
BC0F |
LD A,(DE) |
|
BC10 |
LD C,A |
|
BC11 |
INC DE |
|
BC12 |
LD A,(DE) |
|
BC13 |
LD B,A |
|
BC14 |
INC DE |
| DrawRoom_Row_Loop |
BC15 |
PUSH BC |
| DrawRoom_Write_Row |
BC16 |
LD A,(DE) |
|
BC17 |
CPL |
|
BC18 |
LD (HL),A |
|
BC19 |
INC L |
|
BC1A |
INC DE |
|
BC1B |
DJNZ DrawRoom_Write_Row |
|
BC1D |
POP BC |
|
BC1E |
LD A,L |
|
BC1F |
SUB B |
|
BC20 |
LD L,A |
|
BC21 |
CALL ScreenPos1PixelBelow |
|
BC24 |
DEC C |
|
BC25 |
JR NZ,DrawRoom_Row_Loop |
|
BC27 |
POP HL |
|
BC28 |
CALL AttributeAddress |
|
BC2B |
LD A,(DE) |
|
BC2C |
INC DE |
|
BC2D |
LD C,A |
|
BC2E |
LD A,(DE) |
|
BC2F |
INC DE |
|
BC30 |
LD B,A |
|
BC31 |
LD A,($96B2) |
|
BC34 |
AND A |
|
BC35 |
JR NZ,DrawRoom_2 |
| DrawRoom_0 |
BC37 |
PUSH BC |
|
BC38 |
PUSH HL |
| DrawRoom_1 |
BC39 |
LD A,(DE) |
|
BC3A |
INC DE |
|
BC3B |
LD (HL),A |
|
BC3C |
INC L |
|
BC3D |
DJNZ DrawRoom_1 |
|
BC3F |
POP HL |
|
BC40 |
LD BC,$0020 |
|
BC43 |
ADD HL,BC |
|
BC44 |
POP BC |
|
BC45 |
DEC C |
|
BC46 |
JR NZ,DrawRoom_0 |
|
BC48 |
RET |
| DrawRoom_2 |
BC49 |
PUSH BC |
|
BC4A |
XOR A |
|
BC4B |
LD ($96B2),A |
| DrawRoom_3 |
BC4E |
ADD A,C |
|
BC4F |
DJNZ DrawRoom_3 |
|
BC51 |
LD C,A |
|
BC52 |
LD B,$00 |
|
BC54 |
EX DE,HL |
|
BC55 |
ADD HL,BC |
|
BC56 |
EX DE,HL |
|
BC57 |
POP BC |
|
BC58 |
JR DrawRoom_0 |
|
BC5A |
LD HL,$0000 |
|
BC5D |
LD B,$08 |
| DrawRoom_4 |
BC5F |
ADD HL,HL |
|
BC60 |
RLCA |
|
BC61 |
JR NC,DrawRoom_5 |
|
BC63 |
ADD HL,DE |
| DrawRoom_5 |
BC64 |
DJNZ DrawRoom_4 |
|
BC66 |
RET |