38
If the currently latched register is a tone register then the low 6 bits of the byte
(DDDDDD) are placed into the high 6 bits of the latched register. If the latched register is
less than 6 bits wide (ie. not one of the tone registers), instead the low bits are placed
into the corresponding bits of the register, and any extra high bits are discarded.
The data have the following meanings (described more fully later):
Tone registers: ddddDDDDDD = cccccccccc
ddddDDDDDD gives the 10-bit half-wave counter reset value.
Volume registers: dddd(DDDDDD) = vvvv(--vvvv)
dddd gives the 4-bit volume value.
If a data byte is written, the low 4 bits of DDDDDD update the 4-bit volume value.
However, this is unnecessary.
Noise register: dddd(DDDDDD) = -trr(---trr)
The low 2 bits of dddd select the shift rate and the next highest bit (bit 2) selects the
mode (white (1) or "periodic" (0)).
If a data byte is written, its low 3 bits update the shift rate and mode in the same way.
This means that the following data will have the following effect (spacing added for
clarity, hopefully):
Set channel 0 tone to %0011111110 = 0xfe (440Hz @ 3579545Hz clock)
Set channel 1 volume to %1111 = 0xf (silent)
Set channel 2 volume to %1111 = 0xf (silent) THEN update it to %0000 = 0x0 (full) The
data byte is NOT ignored.
%1 00 0 1110 Latch, channel 0, tone, data %1110
%0 0 001111 Data %001111
%1 01 1 1111 Latch, channel 1, volume, data %1111
%1 10 1 1111 Latch, channel 2, volume, data %1111
%0 0 000000 Data %000000
%1 11 0 0101 Latch, channel 3, noise, data %0101
Содержание Franky
Страница 1: ...Instruction Manual ...