![]() |
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 |