Comments (19)
No, it's a stock original model gba from 2002, to my ears the balance is the same on all the other real hardware examples I have like micro, gb player, sp, though ideally gba would get something like mdfourier to help this issue
from gba_mister.
I hear the difference, it's the little shaking sand like instrument a few seconds in after the 3-2-1 countdown. That one instrument is heavily de-emphasized in the MiSTer core compared to whatever recording you have.
Just making sure regarding the recording off of your real GBA, is that a sound-modded GBA at all?
from gba_mister.
Robert confirmed it can be fixed, he linked me to the relevant code in NanoBoyAdvance and the mentioned issue above has the details. The equivalent code from this section of the APU of that emulator needs to be implemented:
sample[channel] += psg_sample * psg_volume * psg.master[channel] / 28;
for(int fifo = 0; fifo < 2; fifo++) {
if(dma[fifo].enable[channel]) {
sample[channel] += latch[fifo] * dma_volume_tab[dma[fifo].volume];
}
}
sample[channel] += mmio.bias.level;
sample[channel] = std::clamp(sample[channel], s16(0), s16(0x3FF));
sample[channel] -= 0x200;
Division operators should generally be avoided at all costs in hardware design languages and multipliers will infer DSP blocks to be used. Trying to do it all with bit shifts and adds/subtracts would probably not be very precise and could lead to longer chains, so I think using a LUT might be preferred, checking resource usage of the GBA2P core to see what is best to do.
Yup, plenty of BRAM in GBA2P, limited DSP available in it though, so BRAM would probably be best.
from gba_mister.
@DarthPidgey Can you please try this attached build for me and see if it's fixed?
Thank you!
from gba_mister.
It's not fixed but also unless i'm doing something wrong, everything sounds completely wrong now. like entire parts of the song are just missing now, like several channels are completely missing instead of just being too quiet, making for an even more flat sound
from gba_mister.
Let me add a recording of your build as well for hot crater act 1
experimental build hot crater act 1.zip
from gba_mister.
Yup, figured it wouldn't be that easy :p
from gba_mister.
Try this one out and see how it sounds to you for me please. It's not complete, but more to make sure I'm hearing it correctly.
from gba_mister.
I'm not a programmer in the slightest but I'd say what you have done is absolutely on the right track here, compared to the latest official core i can here the missing sound and the quiet sound is now more balanced. In one of my mentioned songs, the Pokemon Fire red Leaf green trainer battle song at the beginning there is a bit of sound corruption but without that it still sounds considerably closer to the real GBA. And Hot Crater act 1 seems pretty close already.
from gba_mister.
How about this one, is it better?
from gba_mister.
there's still the oddly loud sound in pokemon FRLG and i think Hot Crater Act 1 is still too quiet, i have at least another recording of your current build running Hot Crater Act 1.
experimental build 3.zip
from gba_mister.
And here's a recording of the beginning of the Pokemon FRLG Trainer Battle. Notice the sudden sharp noise? That's normally a lot quieter on real hardware and the official mister builds. How vexing now that there's something that's too loud.
Experimental build 3 Pokemon FRLG Trainer Battle.zip
from gba_mister.
Does that take awhile to get to the point of that sound in Pokemon? Do you have a save file?
from gba_mister.
I am using one of the debug roms floating around cause it has a sound test. The sound test doesn't change the music as my real hardware recordings are also from the sound test. But i'll also make a save file in a stock rom in just a moment.
from gba_mister.
Here. just walk down out of the lab and the rival will automatically challenge you and the trainer battle theme will start after the dialogue.
Pokemon Firered Save.zip
from gba_mister.
In the meantime I have also redone my recording of the Pokemon FRLG Trainer Battle theme on a real GBA to get it under the upload limit
Pokemon FRLG Trainer Battle Real GBA.zip
from gba_mister.
Thanks to test roms I received and some advice from Robert, it looks like this is probably a bit deeper of a problem than just any volume balance. I'm gonna try and keep working on this, but the hack test example core i gave is not how it should be fixed unfortunately. I'll get back to you if I figure something out. Thanks for testing!
from gba_mister.
the march 17th build didn't fix this
from gba_mister.
It wasn't supposed to, they were just framework changes.
from gba_mister.
Related Issues (20)
- Rumble: Additional Titles HOT 1
- Setting "Sync core to video" to Off makes core unusable on next launch HOT 2
- Core pads save data for Pokemon Ruby/Sapphire/Emerald HOT 1
- Game-breaking Bug in Final Fantasy I & II: Dawn of Souls HOT 4
- Quake prototype needs FIQ mode switch fixes
- After long play sessions with fast-forwards, game eventually corrupts and freezes/crashes HOT 6
- GBA's Quake port doesn't work with offical bios HOT 2
- [GBA2] 2 player separate audio. HOT 2
- Feature Request: 2-way sync between GBA & GBA 2P cores HOT 2
- Feature Request: GBA 2P Color Optimizations HOT 1
- Nightmare Before Christmas The Pumpkin King (JP) broken cutscene trigger HOT 1
- Feature request : Output both players to HDMI as a super-resolution to allow for a video wall processor to separate the signal into 2 standard resolution HDMI signals HOT 3
- Screen Tearing Issue
- Question about converting save files containing RTC data HOT 4
- Goodboy Galaxy rumble HOT 3
- Gen 3 Pokemon Inaccurate healing Sound Effect HOT 6
- Feature Suggestion: Shaders and gamma setting. HOT 5
- RTC not working with another Pokémon rom back, Unbound HOT 5
- A SOUND of Thunder slows down in GBA2P HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gba_mister.