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

Enhanced SGB games have missing audio effects #451

Open
Adamillo opened this issue Apr 26, 2022 · 1 comment
Open

Enhanced SGB games have missing audio effects #451

Adamillo opened this issue Apr 26, 2022 · 1 comment

Comments

@Adamillo
Copy link

Super Game Boy games have audio enhancements that don't render at all in Same Boy. Here's how the audio should sound on a real SGB shown in this YouTube video at 8:34 https://youtu.be/JU5OBrDlOR8?t=514
On SameBoy the audio is completely silent

@Adamillo Adamillo changed the title Enhanced SGB games have missing audio sounds Enhanced SGB games have missing audio effects Apr 26, 2022
@CasualPokePlayer
Copy link
Contributor

CasualPokePlayer commented Apr 28, 2022

These sound effects come from the SNES SPC, not the Game Boy. SameBoy itself only offers HLE emulation so the full SNES isn't available for use.

As a note Gambatte does offer emulation of these sound effects, by simply dropping in blargg's snes_spc and HLE'ing those interactions (updating ports every frame and transfers are just memcpy's into SPC RAM).

There is a PR for implementing this here #264 but it's relatively abandoned and has the question of SPC state legality (since its RAM would be shoved with a standard SNES music program and various samples). Gambatte doesn't particularly care, as it presumes savestates aren't just copyrightable (it just loads up a savestate in snes_spc's format that has the SGB2 ROM initial state on boot/reset).

Also there's the issue of sound being broken even with the (HLE) boot jingle, as there are suddenly two sources of audio outputting at the frontend's requested sample rate within the same sample callback, so essentially double the frontend sample rate is being shoved through and causes samples to be dropped.

If you want pure SGB emulation you can also just look at BSNES which uses SameBoy for the GB part of its LLE SGB emulation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants