| Gyruss | Routines |
| Prev: 9CA8 | Up: Map | Next: 9CE7 |
|
Used by the routine at play_sound_fx.
|
||||||||
| init_sound_fx | 9CBF | RLCA | Multiply by 8 | |||||
| 9CC0 | RLCA | ... | ||||||
| 9CC1 | RLCA | ... | ||||||
| 9CC2 | LD E,A | DE = A | ||||||
| 9CC3 | LD D,$00 | ... | ||||||
| 9CC5 | LD HL,sound_fx_data_table | Table address | ||||||
| 9CC8 | ADD HL,DE | Add offset | ||||||
| 9CC9 | LD A,(HL) | Get table byte | ||||||
| 9CCA | RLCA | Multiply by 2 | ||||||
| 9CCB | PUSH AF | Save it | ||||||
| 9CCC | RLCA | Multiply by 4 more | ||||||
| 9CCD | RLCA | ... | ||||||
| 9CCE | LD C,A | BC = A | ||||||
| 9CCF | LD B,D | ... | ||||||
| 9CD0 | EX DE,HL | DE = table address | ||||||
| 9CD1 | LD HL,sound_fx_data_buffer_1 | HL = Sound fx data 1 | ||||||
| 9CD4 | ADD HL,BC | Add offset | ||||||
| 9CD5 | PUSH HL | Save sound fx data address | ||||||
| 9CD6 | EX DE,HL | HL = table address, DE = sound fx data address | ||||||
| 9CD7 | LD BC,$0008 | Copy 8 bytes from sound_fx_data_table to sound fx data | ||||||
| 9CDA | LDIR | ... | ||||||
| 9CDC | POP DE | DE = sound fx data address | ||||||
| 9CDD | POP AF | A = table byte * 2 | ||||||
| 9CDE | LD C,A | BC = A | ||||||
| 9CDF | LD HL,ptr_psg_noise_data | First pointer | ||||||
| 9CE2 | ADD HL,BC | Add offset | ||||||
| 9CE3 | LD (HL),E | Set pointer LSB | ||||||
| 9CE4 | INC HL | Next address | ||||||
| 9CE5 | LD (HL),D | Set pointer MSB | ||||||
| 9CE6 | RET | |||||||
| Prev: 9CA8 | Up: Map | Next: 9CE7 |