Prev: AE80 Up: Map Next: AF27
AE8D: Checks for area and displays name.
Input
Output
Area_Check AE8D LD A,(Room_CurrentType)
AE90 DEC A
AE91 RET NZ
AE92 LD IX,Area_Data
AE96 LD DE,(Coords_NS)
Area_Check_0 AE9A LD L,(IX+$00)
AE9D LD H,(IX+$01)
AEA0 AND A
AEA1 SBC HL,DE
AEA3 JR C,Area_Check_2
Area_Check_1 AEA5 LD BC,$000C
AEA8 ADD IX,BC
AEAA JR Area_Check_0
Area_Check_2 AEAC LD L,(IX+$04)
AEAF LD H,(IX+$05)
AEB2 AND A
AEB3 SBC HL,DE
AEB5 JR C,Area_Check_1
AEB7 LD BC,(Coords_EW)
AEBB LD L,(IX+$02)
AEBE LD H,(IX+$03)
AEC1 AND A
AEC2 SBC HL,BC
AEC4 JR NC,Area_Check_1
AEC6 LD L,(IX+$06)
AEC9 LD H,(IX+$07)
AECC AND A
AECD SBC HL,BC
AECF JR C,Area_Check_1
AED1 LD BC,$0008
AED4 ADD IX,BC
AED6 PUSH IX
AED8 POP DE
AED9 LD HL,(_AreaNamePtr)
AEDC AND A
AEDD SBC HL,DE
AEDF RET Z
Display area name.
AEE0 LD (_AreaNamePtr),DE
AEE4 CALL Area_HideName
AEE7 LD A,$01
AEE9 CALL $1601
AEEC CALL Print_StrFromStack
AEEF DEFB $16 AT 6,19; PAPER $00; INK $04; BRIGHT $01
AEF0 DEFB $06
AEF1 DEFB $13
AEF2 DEFB $11
AEF3 DEFB $00
AEF4 DEFB $10
AEF5 DEFB $04
AEF6 DEFB $13
AEF7 DEFB $01
AEF8 DEFB $5E
Return address from print.
AEF9 LD HL,(_AreaNamePtr)
AEFC LD B,$02 Number of lines.
Area_Check_3 AEFE PUSH BC
AEFF LD A,(HL)
AF00 INC HL
AF01 PUSH HL
AF02 CALL Dict_Print
AF05 LD A,$20 Print space.
AF07 CALL Print_SelectChar
AF0A POP HL next word
AF0B LD A,(HL)
AF0C INC HL
AF0D PUSH HL
AF0E CALL Dict_Print
AF11 LD A,$16 PRINT AT 7,19;
AF13 RST $10
AF14 LD A,$07
AF16 RST $10
AF17 LD A,$13
AF19 RST $10
AF1A POP HL
AF1B POP BC
AF1C DJNZ Area_Check_3
AF1E LD DE,$0007 Beep (Loop, Delay)
AF21 LD HL,$015E
AF24 JP $03B5
Prev: AE80 Up: Map Next: AF27