anyone working on a gba fpga clone?

Discussion of programming and development for the original Game Boy and Game Boy Color.
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

anyone working on a gba fpga clone?

Post by supermario4 »

anyone working on a gba fpga clone?
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: anyone working on a gba fpga clone?

Post by Drew Sebastino »

Holy hell, are you really bothered that much by the screen? :lol:
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

Re: anyone working on a gba fpga clone?

Post by supermario4 »

this isn't just about the screen i want it to have snes sound quality as well
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: anyone working on a gba fpga clone?

Post by lidnariq »

Also not gonna happen; the GBA hardware only affords 8 bit stereo PCM stereo (plus the four PSG channels) to the game. Since the audio mixing is done in software (unlike the SNES), it'll never be better than 8 bit.

There might be some room for increasing the emulated CPU speed to afford a higher softsynth mixing rate, such as what Bregalad did seven years ago.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: anyone working on a gba fpga clone?

Post by rainwarrior »

lidnariq wrote:Also not gonna happen; the GBA hardware only affords 8 bit stereo PCM stereo (plus the four PSG channels) to the game. Since the audio mixing is done in software (unlike the SNES), it'll never be better than 8 bit.
A noise reduction algorithm that runs on the output might have some potential to make it sound a little bit nicer, perhaps. There's only so much you can do here, though.
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

Re: anyone working on a gba fpga clone?

Post by supermario4 »

wait you mean the sound issue is in the games themselves i'm confused?
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: anyone working on a gba fpga clone?

Post by tepples »

In the Super NES, the DSP converts 4-bit samples to 16-bit using several layers of volume scaling and filtering and then mixes up to 8 of them. Because the hardware is fixed function, it can mix at consistently high quality at 32 kHz.

In the Game Boy Advance, the hardware plays the pair of 8-bit streams it's given. Because the same CPU has to both run the game and mix the audio, games tend to cheap out on high-quality mixing in favor of good enough unfiltered fast mixing, and they often end up with 18 kHz.

Do "Gravis Ultrasound" and "Sound Blaster" have any meaning to you? If so, I can explain using an analogy.
Shonumi
Posts: 342
Joined: Sun Jan 26, 2014 9:31 am

Re: anyone working on a gba fpga clone?

Post by Shonumi »

In my opinion, a lot of games probably would have used higher-quality audio if GBA game storage had been bigger and cheaper back in the early 2000s. That is to say, it's not necessarily CPU-time constraints that are an issue, just available ROM space. I believe tepples pointed out some GBA games that stream music directly from ROM using DMA. I wouldn't be surprised if some of the GBA Video carts do that too. With DMA, you can more or less set-and-forget until you need to re-loop music or something else. I believe I did some rough calculations last year, and if you went with the default waitstates (set by the GBA BIOS), you could stream 1 channel of 32KHz audio with about ~20% CPU usage (I don't remember the exact amount, but it's in that range).

But, like I said, storage space is a big issue going through this route. A minute of uncompressed audio at 32KHz takes up ~1.83MB if my math is correct. The GBA was designed to accept ROMs of up to 32MB, so going any higher requires specialized carts with ROM-banking abilities. I think only one commercial cartridge actually did that, Shrek 2 (the GBA Video, not the game). I think it's a 64MB cart that sends banking commands by writing to certain addresses (much like the MBCs on the DMG and GBC).

So, in theory, you could make your own customized flashcart with banking commands to access any amount of storage you want. Think MSU-1, but on the GBA, and if can take that 20% hit in CPU-time (which is not bad, honestly), you could get some rather impressive audio squeezed onto the GBA. Some caveats would be if you want 2 channels of 32KHz audio, well, that's going to bite a lot out of the CPU. Ideally, 1 channel could be dedicated to BG music or whatever, and the second channel could do SFX whenever needed (at a lower quality possibly), or just ignore the 2nd DMA sound channel and use the GBA's PSG channels for "8-bit" SFX. You'd also be limited to mono audio with 1 DMA sound channel, but I'm not sure how much that's really a concern.
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

Re: anyone working on a gba fpga clone?

Post by supermario4 »

well then could someone make a backup of the game and sell it with added super nes sound quality and make a fpga gba that can handle it?
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: anyone working on a gba fpga clone?

Post by lidnariq »

Have you considered using an emulator?
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

Re: anyone working on a gba fpga clone?

Post by supermario4 »

has anyone used one to get the sound snes back to super mario advance 1 2 and 3 and link to the past gba and add it to metroid zero mission and metroid fusion. also add this https://www.romhacking.net/hacks/2570/ and this https://www.romhacking.net/hacks/2594/ to a link to the past gba
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: anyone working on a gba fpga clone?

Post by rainwarrior »

supermario4 wrote:has anyone used one to get the sound snes back to super mario advance 1 2 and 3 and link to the past gba and add it to metroid zero mission and metroid fusion.
No, no-one has.

This is a forum about developing homebrew software, and a lot of stuff is possible. People here are always ready to come up with possibilities, but that doesn't mean the possibilities are worth anyone's time to execute.
supermario4
Posts: 57
Joined: Mon Feb 22, 2016 7:33 pm

Re: anyone working on a gba fpga clone?

Post by supermario4 »

rainwarrior wrote:
supermario4 wrote:has anyone used one to get the sound snes back to super mario advance 1 2 and 3 and link to the past gba and add it to metroid zero mission and metroid fusion.
No, no-one has.

This is a forum about developing homebrew software, and a lot of stuff is possible. People here are always ready to come up with possibilities, but that doesn't mean the possibilities are worth anyone's time to execute.

what about just link to the past gba and metroid zero mission and metroid fusion. also add this https://www.romhacking.net/hacks/2570/ and this https://www.romhacking.net/hacks/2594/ to a link to the past gba
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: anyone working on a gba fpga clone?

Post by mikejmoffitt »

If all of these terse one-liner questions are about trying to get a ready-made mod, for you to download and enjoy the hard work of others, it's not going to happen. If you want so badly to play a GBA port of a game that already exists in a higher quality format, you would do well to heed the advice of others in the thread and learn a bit yourself so you can work towards your goal.
ccovell
Posts: 1045
Joined: Sun Mar 19, 2006 9:44 pm
Location: Japan
Contact:

Re: anyone working on a gba fpga clone?

Post by ccovell »

And about an FPGA, it is a piece of hardware that usually exactly emulates the original piece of hardware. If the original GBA had a limited/crappy 8-bit DMA channel, then the FPGA recreation will too.

Mike, you explain it so kindly. I appreciate your patience. Usually I just want to
Image
Post Reply