Dun Darach | Routines |
Prev: 7F6E | Up: Map |
|
|||||||
Room_Initialise | 7F6F | DI | |||||
7F70 | LD A,$01 | ||||||
7F72 | LD (_7f6e),A | ||||||
7F75 | CALL Block_ClearMem | Clear door cache. | |||||
7F78 | DEFW Door_cache | ||||||
7F7A | DEFB $18 | ||||||
Return address.
|
|||||||
7F7B | CALL Path_Find | ||||||
7F7E | CALL Bg_DrawAll | ||||||
7F81 | LD DE,(Hero_Frame) | ||||||
7F85 | LD A,(Flag_DoorEntry) | ||||||
7F88 | AND A | ||||||
7F89 | JR NZ,Room_Initialise_0 | ||||||
7F8B | LD A,(Hero_CompassFacing) | ||||||
7F8E | LD HL,(Camera_Compass) | ||||||
7F91 | LD E,$12 | ||||||
7F93 | CP L | ||||||
7F94 | JR Z,Room_Initialise_0 | ||||||
7F96 | LD E,$13 | ||||||
7F98 | ADD A,$02 | ||||||
7F9A | AND $03 | ||||||
7F9C | CP L | ||||||
7F9D | JR Z,Room_Initialise_0 | ||||||
7F9F | LD E,$10 | ||||||
7FA1 | LD A,(Hero_CompassFacing) | ||||||
7FA4 | SUB L | ||||||
7FA5 | AND $03 | ||||||
7FA7 | LD (Hero_LastDirection),A | ||||||
7FAA | CP $03 | ||||||
7FAC | JR NZ,Room_Initialise_0 | ||||||
7FAE | LD A,$02 | ||||||
7FB0 | LD (Hero_LastDirection),A | ||||||
Room_Initialise_0 | 7FB3 | LD D,$00 | |||||
7FB5 | LD (Hero_Frame),DE | ||||||
7FB9 | LD HL,$5800 | ||||||
7FBC | LD DE,$5801 | ||||||
7FBF | LD BC,$00BF | ||||||
7FC2 | LD A,(Msg_CountDown) | ||||||
7FC5 | AND A | ||||||
7FC6 | JR Z,Room_Initialise_1 | ||||||
7FC8 | LD BC,$00A5 | ||||||
Room_Initialise_1 | 7FCB | LD (HL),$00 | |||||
7FCD | LDIR | ||||||
7FCF | CALL Stage_AreaColour | ||||||
7FD2 | LD A,$02 | ||||||
7FD4 | CALL $1601 | ||||||
7FD7 | LD L,$D0 | Draw vertical border ornament bitmap. | |||||
7FD9 | LD BC,$00F8 | ||||||
7FDC | LD A,$03 | ||||||
7FDE | CALL Bmp_BlitAtCharPos | ||||||
7FE1 | LD L,$D1 | Draw horizontal border ornament bitmap. | |||||
7FE3 | LD BC,$0060 | ||||||
7FE6 | LD A,$03 | ||||||
7FE8 | CALL Bmp_BlitAtCharPos | ||||||
7FEB | LD L,$C9 | Draw compass ornament bitmap. | |||||
7FED | LD BC,$0000 | ||||||
7FF0 | LD A,$05 | ||||||
7FF2 | CALL Bmp_BlitAtCharPos | ||||||
Draw compass.
|
|||||||
7FF5 | LD HL,(Camera_Compass) | ||||||
7FF8 | LD H,$00 | ||||||
7FFA | LD DE,Msg_nesw | ||||||
7FFD | ADD HL,DE | ||||||
7FFE | LD DE,Msg_CompassPos | ||||||
8001 | LD C,$04 | ||||||
8003 | LD B,$07 | ||||||
Room_Initialise_2 | 8005 | LD A,(DE) | |||||
8006 | CALL Print_SelectChar | ||||||
8009 | INC DE | ||||||
800A | DJNZ Room_Initialise_2 | ||||||
800C | LD A,(HL) | ||||||
800D | CALL Print_SelectChar | ||||||
8010 | INC HL | ||||||
8011 | LD B,$03 | ||||||
8013 | DEC C | ||||||
8014 | JR NZ,Room_Initialise_2 | ||||||
Display room specific messages.
|
|||||||
8016 | CALL Print_StrFromStack | ||||||
8019 | DEFB $16 | ||||||
801A | DEFB $01 | ||||||
801B | DEFB $06 | ||||||
801C | DEFB $10 | ||||||
801D | DEFB $06 | ||||||
801E | DEFB $11 | ||||||
801F | DEFB $00 | ||||||
8020 | DEFB $13 | ||||||
8021 | DEFB $01 | ||||||
8022 | DEFB $5E | ||||||
8023 | LD A,(CurrentRoom_Type) | ||||||
8026 | CP $01 | ||||||
8028 | JR NZ,Room_Initialise_3 | ||||||
Seller
|
|||||||
802A | CALL Print_StrFromStack | ||||||
802D | DEFM "we sell:" | ||||||
8035 | DEFB $16 | ||||||
8036 | DEFB $02 | ||||||
8037 | DEFB $06 | ||||||
8038 | LD E,(HL) | ||||||
8039 | JR Room_Initialise_4 | ||||||
Room_Initialise_3 | 803B | CP $02 | |||||
803D | JP NZ,Room_Initialise_6 | ||||||
Broker
|
|||||||
8040 | CALL Print_StrFromStack | ||||||
8043 | DEFM "we buy:" | ||||||
804A | DEFB $16 | ||||||
804B | DEFB $02 | ||||||
804C | DEFB $06 | ||||||
804D | DEFB $5E | ||||||
804E | LD IX,(Room_CurrentDataPtr) | Print word at end of message. | |||||
8052 | LD A,(IX+$06) | ||||||
8055 | CALL Dict_Print | ||||||
8058 | JR Room_Initialise_5 | ||||||
Room_Initialise_4 | 805A | CALL Print_StrFromStack | |||||
805D | DEFB $16 | PRINT AT 2,6; | |||||
805E | DEFB $02 | ||||||
805F | DEFB $06 | ||||||
8060 | DEFB $5E | ||||||
8061 | LD A,(Shop_ObjIndex) | ||||||
8064 | CALL Object_GetNounAddr | ||||||
8067 | CALL Print_String | ||||||
Room_Initialise_5 | 806A | CALL Print_StrFromStack | |||||
806D | DEFM "s for " | ||||||
8073 | DEFB $5E | ||||||
8074 | LD HL,Obj_Price | ||||||
8077 | CALL Display_DecimalValue. | ||||||
807A | CALL Print_StrFromStack | ||||||
807D | DEFM "ir" | ||||||
807F | LD E,(HL) | ||||||
8080 | JP Room_Initialise_11 | ||||||
Str_Deposit | 8083 | DEFM "deposit fee 50ir" | |||||
8094 | DEFB $5E | ||||||
Room_Initialise_6 | 8095 | CP $03 | |||||
8097 | JP NZ,Room_Initialise_7 | ||||||
Deposit
|
|||||||
809A | LD HL,Str_Deposit | ||||||
809D | JR Room_Initialise_8 | ||||||
Room_Initialise_7 | 809F | CP $08 | |||||
80A1 | JR NZ,Room_Initialise_9 | ||||||
Castle
|
|||||||
80A3 | LD IX,(Room_CurrentDataPtr) | ||||||
80A7 | LD L,(IX+$03) | ||||||
80AA | LD H,(IX+$04) | ||||||
Room_Initialise_8 | 80AD | CALL Object_StringExtraDisplay | |||||
80B0 | JR Room_Initialise_11 | ||||||
Str_DepositRate | 80B2 | DEFM "min.deposit 1000+bank rate 1% per day" | |||||
80D7 | DEFB $5E | ||||||
Room_Initialise_9 | 80D8 | CP $09 | |||||
80DA | JR NZ,Room_Initialise_10 | ||||||
Bank
|
|||||||
80DC | LD HL,Str_DepositRate | ||||||
80DF | JR Room_Initialise_8 | ||||||
Str_PortationFee | 80E1 | DEFM "portation fee: 200" | |||||
80F3 | DEFB $5E | ||||||
Room_Initialise_10 | 80F4 | CP $0A | |||||
80F6 | JR NZ,Room_Initialise_11 | ||||||
Portal
|
|||||||
80F8 | CALL Area_HideName | ||||||
80FB | LD HL,$0000 | ||||||
80FE | LD (_AreaNamePtr),HL | ||||||
8101 | LD HL,Str_PortationFee | ||||||
8104 | JR Room_Initialise_8 | ||||||
Room_Initialise_11 | 8106 | LD A,(Flag_DoorEntry) | |||||
8109 | AND A | ||||||
810A | JR Z,Room_Initialise_12 | ||||||
810C | CALL Stage_Draw | ||||||
810F | JR Room_Initialise_13 | ||||||
Room_Initialise_12 | 8111 | LD A,(Hero_Frame) | |||||
8114 | CALL Stage_Draw_0 | ||||||
Room_Initialise_13 | 8117 | JP Offscreen_Blit |
Prev: 7F6E | Up: Map |