Prev: 49064 Up: Map Next: 49312
49152: BANG!
Used by the routines at Lose_Life and 52551.
Bang 49152 CALL Prep_Bang Clear the screen.
49155 LD B,3 Pass Bang_Frame_01 to Bang_Copy.
49157 LD HL,61440
49160 CALL Bang_Copy
49163 LD B,3 Pass Bang_Frame_02 to Bang_Copy.
49165 LD HL,61696
49168 CALL Bang_Copy
49171 LD B,3 Pass Bang_Frame_03 to Bang_Copy.
49173 LD HL,61952
49176 CALL Bang_Copy
49179 CALL Shot_Sound_02_Alias Calls $6502 twice.
49182 CALL Shot_Sound_02_Alias
49185 LD B,6 Pass Bang_Frame_04 to Bang_Copy.
49187 LD HL,62208
49190 CALL Bang_Copy
49193 LD B,5 Pass Bang_Frame_05 to Bang_Copy.
49195 LD HL,62464
49198 CALL Bang_Copy
49201 LD B,5 Pass Bang_Frame_06 to Bang_Copy.
49203 LD HL,62720
49206 CALL Bang_Copy
49209 LD B,8 Blanks the display by passing a "clear" part of the screen buffer to Bang_Copy.
49211 LD HL,20480
49214 CALL Bang_Copy
49217 LD B,64 Jump to Bang_Halt_Loop.
49219 JP Bang_Halt_Loop
Prep_Bang 49222 LD HL,16384 Writes 0 to all 6144 bytes of the screen buffer (i.e. "blanks it").
49225 LD DE,16385
49228 LD BC,6143
49231 LD (HL),0
49233 LDIR
49235 LD HL,22528 Continues into the attributes buffer, and writes $02 (red ink) to every location.
Value Ink Paper Bright
2 0 0 0
49238 LD DE,22529
49241 LD BC,767
49244 LD (HL),2
49246 LDIR
49248 RET Returns.
Bang_Copy 49249 PUSH BC Sets the screen location and the bang image frame sizing, then calls Print_Bang, issues a short pause and ...
49250 LD BC,8200
49253 LD DE,18444
49256 EX DE,HL
49257 CALL Print_Bang
49260 POP BC
Bang_Halt_Loop 49261 HALT
49262 DJNZ Bang_Halt_Loop
49264 RET ...returns.
Print_Bang 49265 PUSH BC Copy the bang image frame to the screen buffer.
49266 PUSH HL
49267 LD B,0
49269 EX DE,HL
49270 LDIR
49272 EX DE,HL
49273 POP HL
49274 INC H
49275 LD A,H
49276 AND 7
49278 CALL Z,Bang_Next_Line
49281 POP BC
49282 DJNZ Print_Bang
49284 RET Return.
Bang_Next_Line 49285 LD A,H Handles working out the next line progressively in the screen buffer.
49286 SUB 8
49288 LD H,A
49289 LD A,L
49290 ADD A,32
49292 LD L,A
49293 RET NC
49294 LD A,H
49295 ADD A,8
49297 LD H,A
49298 RET Return.
49299 DEFB 195,144,234,4,51,73,68,70
49307 DEFB 71,177,210,4,50
Prev: 49064 Up: Map Next: 49312