Routines |
Prev: 49064 | Up: Map | Next: 49312 |
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.
|
|||||||||
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 |