I have a few questions about some of the registers within the gameboy.
The names are used from the "Everything You wanted to KNow about Gameboy" document.
question 1.
$FF19 - NR 24 - AUD2HIGH
Bit 6 - Counter/Consecutive selection
If this bit is reset, will the sound sustain and when this bit is set, will the sound play for as long as is set in AUD2LEN, bits 5-0?
question 2.
$FF1C - NR 32 - AUD3LEVEL
This register states that the Wave Pattern RAM is located from $FF30 - $FF3F and I understand that the volume is set here. How is wave patter RAM processed though? Are all 32 bits played sequentially, 4-bits at a time?
question 3.
$FF17 - NR 22 - AUD2ENV
Bit 3 - Attenuate/Amplify
Does this mean that I may not Amplify and then Attenuate? Only one at a time? Is there an easy way to use the sound length data of a channel to toggle an attack and then decay once the sound completes?
question 4.
$FF22 - NR 43 - AUD4POLY
I don't get this register in the least. What is going on? Here is the full description:
Contents - Sound Mode 4 register, polynomial counter (R/W)
Bit 7-4 - Selection of the shift clock frequency of the
polynomial counter
Bit 3 - Selection of the polynomial counter's step
Bit 2-0 - Selection of the dividing ratio of frequencies
Selection of the dividing ratio of frequencies:
000: f * 1/2^3 * 2
001: f * 1/2^3 * 1
010: f * 1/2^3 * 1/2
011: f * 1/2^3 * 1/3
100: f * 1/2^3 * 1/4
101: f * 1/2^3 * 1/5
110: f * 1/2^3 * 1/6
111: f * 1/2^3 * 1/7 f = 4.194304 Mhz
Selection of the polynomial counter step:
0: 15 steps
1: 7 steps
Selection of the shift clock frequency of the polynomial
counter:
0000: dividing ratio of frequencies * 1/2
0001: dividing ratio of frequencies * 1/2^2
0010: dividing ratio of frequencies * 1/2^3
0011: dividing ratio of frequencies * 1/2^4
: :
: :
: :
0101: dividing ratio of frequencies * 1/2^14
1110: prohibited code
1111: prohibited code