| Handler_DisplayRoom |
C0F9 |
PUSH DE |
|
C0FA |
CALL ClearScreen |
|
C0FD |
POP DE |
|
C0FE |
LD A,($BAFE) |
|
C101 |
OR A |
|
C102 |
JR Z,Handler_DisplayRoom_PrintDescription |
|
C104 |
LD A,($BA9B) |
|
C107 |
LD HL,($BAE4) |
|
C10A |
LD BC,($BAFE) |
|
C10E |
CPIR |
|
C110 |
JR NZ,Handler_DisplayRoom_PrintDescription |
|
C112 |
LD A,($BAFE) |
|
C115 |
INC C |
|
C116 |
SUB C |
|
C117 |
LD C,A |
|
C118 |
XOR A |
|
C119 |
OR E |
|
C11A |
JR NZ,Handler_DisplayRoom_FirstVisit |
|
C11C |
LD HL,$BA30 |
|
C11F |
LD A,C |
| Handler_DisplayRoom_Loop |
C120 |
CP $08 |
|
C122 |
JR C,Handler_DisplayRoom_Next |
|
C124 |
SUB $08 |
|
C126 |
INC HL |
|
C127 |
JR Handler_DisplayRoom_Loop |
| Handler_DisplayRoom_Next |
C129 |
LD B,A |
|
C12A |
INC B |
|
C12B |
LD D,$00 |
| Handler_DisplayRoom_FlagBit |
C12D |
RL D |
|
C12F |
DJNZ Handler_DisplayRoom_FlagBit |
|
C131 |
LD A,(HL) |
|
C132 |
AND D |
|
C133 |
JR NZ,Handler_DisplayRoom_PrintDescription |
|
C135 |
LD A,(HL) |
|
C136 |
OR D |
|
C137 |
LD (HL),A |
| Handler_DisplayRoom_FirstVisit |
C138 |
LD A,$08 |
|
C13A |
LD ($BB40),A |
|
C13D |
LD HL,$BA2C |
|
C140 |
SET 0,(HL) |
|
C142 |
LD IX,($BAE6) |
|
C146 |
LD E,C |
|
C147 |
CALL GetTableEntry |
|
C14A |
LD DE,$C14F |
|
C14D |
PUSH DE |
|
C14E |
JP (HL) |
| Handler_DisplayRoom_PrintDescription |
C14F |
CALL SetScreenPosition |
|
C152 |
LD A,$18 |
|
C154 |
LD ($BB40),A |
|
C157 |
LD A,($BA9B) |
|
C15A |
LD IX,($BAE8) |
|
C15E |
LD E,A |
|
C15F |
CALL GetTableEntry |
|
C162 |
CALL PrintStringAndANewline |
|
C165 |
LD HL,$BA2C |
|
C168 |
BIT 0,(HL) |
|
C16A |
JR Z,Handler_DisplayRoom_ListExits |
|
C16C |
RES 0,(HL) |
|
C16E |
CALL GetUserInput |
| Handler_DisplayRoom_ListExits |
C171 |
CALL GetRoomPointer |
|
C174 |
LD D,H |
|
C175 |
LD E,L |
|
C176 |
LD B,$06 |
|
C178 |
LD C,$00 |
|
C17A |
XOR A |
| Handler_DisplayRoom_CountExits |
C17B |
CP (HL) |
|
C17C |
JR Z,Handler_DisplayRoom_CountNext |
|
C17E |
INC C |
| Handler_DisplayRoom_CountNext |
C17F |
INC HL |
|
C180 |
DJNZ Handler_DisplayRoom_CountExits |
|
C182 |
OR C |
|
C183 |
JR Z,Handler_DisplayRoom_ListObjects |
|
C185 |
LD A,C |
|
C186 |
CP $01 |
|
C188 |
JR NZ,Handler_DisplayRoom_ManyExits |
|
C18A |
LD HL,$BBBC |
|
C18D |
CALL PrintString |
|
C190 |
LD H,D |
|
C191 |
LD L,E |
|
C192 |
LD IX,$BDB2 |
|
C196 |
XOR A |
|
C197 |
JR Handler_DisplayRoom_OneExit |
| Handler_DisplayRoom_SkipClosed |
C199 |
INC HL |
|
C19A |
INC IX |
|
C19C |
INC IX |
| Handler_DisplayRoom_OneExit |
C19E |
CP (HL) |
|
C19F |
JR Z,Handler_DisplayRoom_SkipClosed |
|
C1A1 |
LD L,(IX+$00) |
|
C1A4 |
LD H,(IX+$01) |
|
C1A7 |
CALL PrintString |
|
C1AA |
JR Handler_DisplayRoom_FullStop |
| Handler_DisplayRoom_ManyExits |
C1AC |
LD HL,$BBA9 |
|
C1AF |
CALL PrintStringAndANewline |
|
C1B2 |
LD H,D |
|
C1B3 |
LD L,E |
|
C1B4 |
LD IX,$BDB2 |
|
C1B8 |
XOR A |
|
C1B9 |
JR Handler_DisplayRoom_ExitOpen |
| Handler_DisplayRoom_NextExit |
C1BB |
EX DE,HL |
| Handler_DisplayRoom_StepExit |
C1BC |
INC HL |
|
C1BD |
INC IX |
|
C1BF |
INC IX |
| Handler_DisplayRoom_ExitOpen |
C1C1 |
CP (HL) |
|
C1C2 |
JR Z,Handler_DisplayRoom_StepExit |
|
C1C4 |
EX DE,HL |
|
C1C5 |
LD L,(IX+$00) |
|
C1C8 |
LD H,(IX+$01) |
|
C1CB |
CALL PrintString |
|
C1CE |
DEC C |
|
C1CF |
LD A,C |
|
C1D0 |
CP $01 |
|
C1D2 |
JR C,Handler_DisplayRoom_FullStop |
|
C1D4 |
JR Z,Handler_DisplayRoom_And |
|
C1D6 |
LD A,$2C |
|
C1D8 |
CALL PrintCharacter |
|
C1DB |
XOR A |
|
C1DC |
JR Handler_DisplayRoom_NextExit |
| Handler_DisplayRoom_And |
C1DE |
LD HL,$BBA5 |
|
C1E1 |
CALL PrintString |
|
C1E4 |
XOR A |
|
C1E5 |
JR Handler_DisplayRoom_NextExit |
| Handler_DisplayRoom_FullStop |
C1E7 |
LD HL,$BCF9 |
|
C1EA |
CALL PrintStringAndANewline |
| Handler_DisplayRoom_ListObjects |
C1ED |
LD A,($BA9B) |
|
C1F0 |
CALL IsObjectPresent |
|
C1F3 |
RET NZ |
|
C1F4 |
LD HL,$BB96 |
|
C1F7 |
CALL PrintStringAndANewline |
|
C1FA |
LD A,($BA9B) |
|
C1FD |
CALL PrintObjects |
|
C200 |
RET |