I'm trying to learn how to use the APU and I've been trying to read the wiki pages about it, but I'm finding everything terribly confusing. The information is scattered across several pages, and they are linked in a very unintuitive manner. And the explanations are very low level, full of stuff that doesn't interest me as a NES coder (they are probably useful to emulator authors, though) and only make it harder for me to understand how to interact with the APU.
I can't avoid thinking that those pages assume that the person who is reading already knows a great deal about the APU, and just needs those pages for a quick reference of which bits go where or the order in which certain things happen. I wonder if this is how a newbie feels like when looking at PPU information, for example.
Anyway, I was wondering if anyone knows about documents where APU information is displayed in a more straightforward way, much like the PPU page is, with the complete list of registers and what results a programmer should expect when writing to or reading from them. I don't care about the mixer, the sequencer, what kind of algorithm is used to generate the noise or any of that internal information, I want a bare bones document showing that when I write X to register Y the result is Z, without telling me everything that happens behind the scenes. Is there anything like that around?
EDIT 1: Just to make it clear, I understand what the APU can do, I know what periods I should use for each note, I know what the duty cycle is, that part is fine (I learned most of it by playing with Famitracker). What I need to find out is how I can get the APU to play the notes I want, at the volume I want and with the duty cycle I want without the hardware sweeps and envelopes getting in my way, because I have those implemented in software.
EDIT 2: I just found this in the Nerdy Nights sound tutorial:
Now this is perfectly easy to understand, exactly like the PPU pages in the wiki. Does anyone know if this was copied from a more complete document and where it can be found?
I can't avoid thinking that those pages assume that the person who is reading already knows a great deal about the APU, and just needs those pages for a quick reference of which bits go where or the order in which certain things happen. I wonder if this is how a newbie feels like when looking at PPU information, for example.
Anyway, I was wondering if anyone knows about documents where APU information is displayed in a more straightforward way, much like the PPU page is, with the complete list of registers and what results a programmer should expect when writing to or reading from them. I don't care about the mixer, the sequencer, what kind of algorithm is used to generate the noise or any of that internal information, I want a bare bones document showing that when I write X to register Y the result is Z, without telling me everything that happens behind the scenes. Is there anything like that around?
EDIT 1: Just to make it clear, I understand what the APU can do, I know what periods I should use for each note, I know what the duty cycle is, that part is fine (I learned most of it by playing with Famitracker). What I need to find out is how I can get the APU to play the notes I want, at the volume I want and with the duty cycle I want without the hardware sweeps and envelopes getting in my way, because I have those implemented in software.
EDIT 2: I just found this in the Nerdy Nights sound tutorial:
Code:
SQ2_ENV ($4004)
76543210
||||||||
||||++++- Volume
|||+----- Saw Envelope Disable (0: use internal counter for volume; 1: use Volume for volume)
||+------ Length Counter Disable (0: use Length Counter; 1: disable Length Counter)
++------- Duty Cycle
76543210
||||||||
||||++++- Volume
|||+----- Saw Envelope Disable (0: use internal counter for volume; 1: use Volume for volume)
||+------ Length Counter Disable (0: use Length Counter; 1: disable Length Counter)
++------- Duty Cycle
Now this is perfectly easy to understand, exactly like the PPU pages in the wiki. Does anyone know if this was copied from a more complete document and where it can be found?