Prev: A2F3 Up: Map Next: A314
A303: Send attenuation or noise control bytes to PSG
Used by the routines at noise_data_to_psg and attn_and_freq_to_psg.
Input
C Operation in upper nybble 1CC0XXXX or 1CC1XXXX
(IX+$04): Attenuation/noise AAAAXNNN or attenuation/freq AAAA00FF
attn_or_noise_to_psg A303 LD A,(IX+$04) Get sound byte
A306 BIT 4,C If bit 4 of operation is 0, i.e. noise control
A308 JR Z,attn_or_noise_to_psg_0 Then skip shifting
A30A RRCA Swap bits 4-7 and 0-3
A30B RRCA ...
A30C RRCA ...
A30D RRCA ...
attn_or_noise_to_psg_0 A30E AND $0F Isolate bits 0-3
A310 OR C Apply operation (attenuation or noise control) to bits 4-7
A311 OUT ($FF),A Send to PSG
A313 RET
Prev: A2F3 Up: Map Next: A314