Prev: 39890 Up: Map Next: 40217
39914: Draw Room Frame
Used by the routine at EnterRoom.
DrawRoomFrame 39914 XOR A
39915 LD (24084),A
39918 LD A,(60049)
This entry point is used by the routine at GameComplete.
DrawRoomFrame_0 39921 LD BC,43092
39924 LD L,A
39925 LD H,0
39927 ADD HL,HL
39928 ADD HL,BC
39929 LD A,(HL)
39930 INC HL
39931 LD (24090),A
39934 EXX
39935 LD HL,22528
39938 LD BC,6168
39941 LD A,(24090)
39944 CALL ClearPlayArea_0
39947 EXX
39948 LD L,(HL)
39949 LD H,0
39951 ADD HL,HL
39952 LD C,L
39953 LD B,H
39954 ADD HL,HL
39955 ADD HL,BC
39956 LD BC,43394
39959 ADD HL,BC
39960 LD A,(HL)
39961 INC HL
39962 LD (24093),A
39965 LD A,(HL)
39966 INC HL
39967 LD (24094),A
39970 LD E,(HL)
39971 INC HL
39972 LD D,(HL)
39973 INC HL
39974 LD A,(HL)
39975 INC HL
39976 LD H,(HL)
39977 LD L,A
39978 PUSH DE
39979 POP IX
39981 PUSH BC
DrawRoomFrame_1 39982 POP BC
39983 LD A,(HL)
39984 INC HL
39985 CP 255
39987 RET Z
39988 SLA A
39990 LD (39999),A
39993 INC A
39994 LD (40002),A
39997 LD C,(IX+0)
40000 LD B,(IX+0)
DrawRoomFrame_2 40003 PUSH BC
40004 LD A,(HL)
40005 INC HL
40006 CP 255
40008 JR Z,DrawRoomFrame_1
40010 SLA A
40012 LD (40021),A
40015 INC A
40016 LD (40024),A
40019 LD E,(IX+0)
40022 LD D,(IX+0)
40025 PUSH HL
40026 CALL DrawRoomFrame_5
40029 POP HL
40030 POP BC
40031 JR DrawRoomFrame_2
DrawRoomFrame_3 40033 LD A,L
40034 AND 7
40036 INC A
40037 LD B,A
40038 XOR A
40039 SCF
DrawRoomFrame_4 40040 RRA
40041 DJNZ DrawRoomFrame_4
40043 PUSH HL
40044 PUSH AF
40045 EX AF,AF'
40046 PUSH AF
40047 CALL ScreenAddress
40050 POP AF
40051 EX AF,AF'
40052 POP AF
40053 OR (HL)
40054 LD (HL),A
40055 POP HL
40056 RET
DrawRoomFrame_5 40057 LD H,B
40058 LD L,C
40059 LD C,0
40061 LD A,H
40062 SUB D
40063 JR NC,DrawRoomFrame_6
40065 NEG
40067 SET 0,C
DrawRoomFrame_6 40069 LD B,A
40070 LD A,L
40071 SUB E
40072 JR NC,DrawRoomFrame_7
40074 NEG
40076 SET 1,C
DrawRoomFrame_7 40078 CP B
40079 EX AF,AF'
40080 LD A,C
40081 LD (24100),A
40084 EX AF,AF'
40085 JP C,DrawRoomFrame_11
40088 LD (24099),A
40091 PUSH DE
40092 PUSH HL
40093 LD E,A
40094 LD D,0
40096 LD L,D
40097 LD H,B
40098 CALL 41849
40101 LD A,(24100)
40104 BIT 0,A
40106 JR NZ,DrawRoomFrame_8
40108 CALL 41886
DrawRoomFrame_8 40111 LD A,(24100)
40114 BIT 1,A
40116 LD C,1
40118 JR NZ,DrawRoomFrame_9
40120 LD C,255
DrawRoomFrame_9 40122 EX DE,HL
40123 POP HL
40124 LD A,(24099)
40127 INC A
40128 LD B,A
40129 LD A,E
40130 EX AF,AF'
DrawRoomFrame_10 40131 PUSH BC
40132 CALL DrawRoomFrame_3
40135 LD A,L
40136 EX AF,AF'
40137 LD L,A
40138 ADD HL,DE
40139 LD A,L
40140 EX AF,AF'
40141 POP BC
40142 ADD A,C
40143 LD L,A
40144 DJNZ DrawRoomFrame_10
40146 POP HL
40147 JP DrawRoomFrame_3
DrawRoomFrame_11 40150 EX AF,AF'
40151 LD A,B
40152 LD (24099),A
40155 EX AF,AF'
40156 PUSH DE
40157 PUSH HL
40158 LD E,B
40159 LD D,0
40161 LD L,D
40162 LD H,A
40163 CALL 41849
40166 LD A,(24100)
40169 BIT 1,A
40171 JR NZ,DrawRoomFrame_12
40173 CALL 41886
DrawRoomFrame_12 40176 LD A,(24100)
40179 BIT 0,A
40181 LD C,1
40183 JR NZ,DrawRoomFrame_13
40185 LD C,255
DrawRoomFrame_13 40187 EX DE,HL
40188 POP HL
40189 LD A,(24099)
40192 INC A
40193 LD B,A
40194 LD A,E
40195 EX AF,AF'
DrawRoomFrame_14 40196 PUSH BC
40197 CALL DrawRoomFrame_3
40200 LD A,H
40201 EX AF,AF'
40202 LD H,L
40203 LD L,A
40204 ADD HL,DE
40205 LD A,L
40206 LD L,H
40207 EX AF,AF'
40208 POP BC
40209 ADD A,C
40210 LD H,A
40211 DJNZ DrawRoomFrame_14
40213 POP HL
40214 JP DrawRoomFrame_3
Prev: 39890 Up: Map Next: 40217