Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port "Gameboy sound hardware" from the old wiki #552

Open
avivace opened this issue May 24, 2024 · 6 comments · May be fixed by #562
Open

Port "Gameboy sound hardware" from the old wiki #552

avivace opened this issue May 24, 2024 · 6 comments · May be fixed by #562
Labels
content Improvements or additions to documentation mediawiki-export

Comments

@avivace
Copy link
Member

avivace commented May 24, 2024

https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware

@avivace avivace added content Improvements or additions to documentation mediawiki-export labels May 24, 2024
@avivace
Copy link
Member Author

avivace commented Jun 28, 2024

I can work on this. @ISSOtm any idea about how we can call this page?

@ISSOtm
Copy link
Member

ISSOtm commented Jun 29, 2024

A significant amount of this info is already present in the existing pages. I think the first order of business is cataloguing what's missing (and thus needs to be added).

Then we can decide what should be added to existing pages, and from the rest, the title of that new page.

@remind-me-later
Copy link

remind-me-later commented Aug 21, 2024

I would also like to work on this, from what I can see this is the information already present in pages (left is the old wiki section, right the new pages section):

  • Overview -> Audio Overview.
  • Registers -> Audio Registers.
  • Channels -> Explained in Audio Registers, but there is no diagram like in the old wiki.
  • Timer -> Audio and Audio Registers, Period counter
  • Frame Sequencer -> Partly explained in Audio Details DIV-APU, but the precise diagram from the old wiki is missing.
  • Length Counter -> Length Timer.
  • Volume envelope -> In Audio, Volume & Envelope and in the Audio Register entries.
  • Square Wave -> Audio Registers, FF11-NR11.
  • Frequency Sweep -> FF10 - NR10, but all references to the shadow frequency are omitted. Could be added to Audio Details?
  • Noise Channel -> Audio Details, Noise Channel.
  • Wave Channel -> Audio Registers, Sound channel 3.
  • Trigger Event -> Audio, Triggering and in Audio Registers, but there is no enumeration of what triggering does, like in the old wiki.
  • Channel DAC -> Audio Details, DACs.
  • Mixer -> Audio Registers, NR50 and Audio Details diagram.
  • Power Control -> Audio Registers, FF26-NR52. Missing details about writes to length counters on DMG and that turning the APU off doesn't affect wave RAM. Also missing are values after boot, but maybe that should have its own section.
  • Register Reading -> Audio Registers.
  • Vin Mixing
  • Obscure behavior
  • Differences

@ISSOtm
Copy link
Member

ISSOtm commented Aug 21, 2024

Thank you! Please feel free to submit any PRs covering any part(s) of this.

@remind-me-later
Copy link

In the Frame Sequencer section of the old wiki the clocks of the DIV_APU are described as:

Step   Length Ctr  Vol Env     Sweep
---------------------------------------
0      Clock       -           -
1      -           -           -
2      Clock       -           Clock
3      -           -           -
4      Clock       -           -
5      -           -           -
6      Clock       -           Clock
7      -           Clock       -
---------------------------------------
Rate   256 Hz      64 Hz       128 Hz

But looking at SameBoy's source (void GB_apu_div_event(GB_gameboy_t *gb) function) it looks like:

Step   Length Ctr  Vol Env     Sweep
---------------------------------------
0      -           -           -
1      Clock       -           -
2      -           -           -
3      Clock       -           Clock
4      -           -           -
5      Clock       -           -
6      -           -           -
7      Clock       Clock       Clock
---------------------------------------
Rate   256 Hz      64 Hz       128 Hz

Is there any reference on which is correct?

@ISSOtm
Copy link
Member

ISSOtm commented Sep 1, 2024

cc @LIJI32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content Improvements or additions to documentation mediawiki-export
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants