Prev: 9CA8 Up: Map Next: 9CE7
9CBF: Copy data from sound_fx_data_table to sound fx channel, and change pointer from sound data to sound fx data
Used by the routine at play_sound_fx.
Input
A Index of 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