The Gameboy Advance Sound Hardware

Sdílet
Vložit
  • čas přidán 9. 06. 2020
  • The two common types of sounds we hear in music are tones and noise. Both types of sound can be made from the Gameboy Advance Sound Generator, which can also play audio files. Today, we will be exploring these concepts by taking the device apart and doing a teardown to see its inside components.
    Mako Driver Kit - 64 Precision Bits:
    www.ifixit.com/Store/Tools/Ma...
    Sources:
    GBA: Start of System on Chip Silicon in 2001:
    • GBA: Start of System ...
    Kulor - "Doorbellsplosion" (AY-3-8910) [Oscilloscope View]:
    • Kulor - "Doorbellsplos...
    [Cover] Sophie - My World (RP2A03):
    • [Cover] Sophie - My Wo...
    Game Boy Advance Architecture | A Practical Analysis:
    www.copetti.org/projects/cons...
    Belogic:
    belogic.com/gba/
    Beep! GBA sound introduction:
    www.coranac.com/tonc/text/snd...
    Nintendo Gameboy Architecture:
    meseec.ce.rit.edu/551-projects...
    ARM7TDMI MCU with 12-Bit ADC and DDS DAC:
    www.analog.com/media/en/techn...
    Game Boy CPU isn't a Z80. What is it? - nesdev.com:
    forums.nesdev.com/viewtopic.p...

Komentáře • 82

  • @kaboomgamer333
    @kaboomgamer333 Před 3 lety +43

    The GBA sound chip was impressive back then. You could litterally convert MP3s to samples and play them no problem

    • @aura-audio
      @aura-audio  Před 3 lety +14

      I know right! It’s crazy stuff! That gave me a great video idea! I’m sure people would love to see a tutorial on how to do that.

    • @aura-audio
      @aura-audio  Před 2 lety +6

      They do for sure. There's a bunch of different filetypes out there. I was going to make a video about it, but I never got around to it. I should do that!

    • @TheBeeshSpweesh
      @TheBeeshSpweesh Před 2 lety +6

      It's just really annoying how you have to spend a fair amount of CPU time just to get MOD-tier music working on this system.

    • @aura-audio
      @aura-audio  Před 2 lety +3

      @@TheBeeshSpweesh True! It's both a tedious process to code it and for the CPU to play the file while it's trying to do a bunch of other things.

    • @zaqareemalcolm
      @zaqareemalcolm Před 2 měsíci

      utada's simple and clean playing on the gba was an iconic moment for me

  • @speinz9430
    @speinz9430 Před 4 lety +16

    I have been looking forever to find out how the game boy advance made noise so I can try to figure out how to make my own game boy advance sound. Thank you so much.

    • @aura-audio
      @aura-audio  Před 4 lety +5

      You’re welcome! I was too, and that’s why it’s exciting to share how to do it. Thank you for watching the videos!

  • @Luftwaffe_JG52
    @Luftwaffe_JG52 Před 2 lety +1

    Thank you for this. 😁
    Very informative and fun. 🎶

    • @aura-audio
      @aura-audio  Před 2 lety

      You're welcome :)! Glad you enjoyed it!

  • @piyushmenon4987
    @piyushmenon4987 Před rokem +7

    Honestly the GBA and it's music never fails to intrigue me. So many great pieces of music made for games on it, one of my favorites being the Mother 3 OST. What are some of your favourite GBA games OSTs, Aura?

    • @aura-audio
      @aura-audio  Před rokem +1

      So true, I'll have to check that one out 💯! My favorite GBA game OST's are from the Super Mario World series -- specifically some of the mini games, which combine both the audio channels and the tone/noise channels in the music.

    • @cloud_s_97
      @cloud_s_97 Před rokem +1

      my favourite gba ost is from golden sun

    • @aura-audio
      @aura-audio  Před rokem

      That's a great one! Sounds like they're using the 16bit channels a lot which is cool

  • @SparkyMK3
    @SparkyMK3 Před rokem +3

    The sound hardware for the GBA is an odd duck. I remember reading that it's incapable of doing low tones for some reason--as in, the speakers will burst into flame if it tries to. Rare found out about this the hard way while porting DKC2 and 3 to it, and it was a big reason why DKC3 had it's soundtrack completely overhauled for the GBA port. And Castlevania: Harmony of Dissonance apparently had to use the original GB sound chip for it's music (hence why it's so different from Circle of the Moon) because the game was pushing the CPU so hard as is that there wasn't any room left to use the actual GBA sound without overloading it!

    • @aura-audio
      @aura-audio  Před rokem +1

      Dang that makes sense. I would be interested in reading some more about this now that I’m in the middle of all my DSP classes.

  • @SMCwasTaken
    @SMCwasTaken Před 3 měsíci +1

    Something about the GBA's soundchip just gives it the edge
    Mario and Luigi Superstar Saga and Pokémon Emerald utilize it the best

    • @aura-audio
      @aura-audio  Před 3 měsíci

      Fr, those are some of my favorite games of all time for that reason

    • @elebonhamstarr
      @elebonhamstarr Před 8 dny

      @@aura-audio the thing i dont get is, if u are supposed to have only 2 direct sound channels and 1 sampler, why can i hear more than 3 instruments being played in pokemon emerald songs? where are they coming from if the rest of channels are 2 square + 1 noise? can direct sound channels reproduce more than 1 sound each?

    • @aura-audio
      @aura-audio  Před 8 dny +1

      Good question, it’s definitely possible with some programming tricks. The GBA hardware is close enough to the metal where you could play sounds using other Direct Memory Access and timers if you wanted to.

  • @martintaanlee
    @martintaanlee Před 4 lety +6

    Hey, I just saw your talk on the Audio Programmer meetup, was inspired to have a go at hacking a gba soundchip myself!
    I was wondering if you knew whether it would be the same process on a GBA SP? (I'm talking about the dev you were covering in that video, not the dismantling it in this one)

    • @aura-audio
      @aura-audio  Před 4 lety

      I’m glad I inspired you! As far as I know, yes the GBA SP should be the same process because it uses the exact same CPU (I think). The only difference seems to be the screen and size, but I think the hardware is the same, so you should be good.

    • @martintaanlee
      @martintaanlee Před 4 lety

      @@aura-audio Cheers! Look forward to seeing more of your projects

  • @baldimerl2020
    @baldimerl2020 Před 2 lety +3

    Hey, I have a GBA just like that one

  • @johneygd
    @johneygd Před rokem

    Well explained,yeah the gba didn’t had such high quality audio,it did suffer from noise over times,BUT i was thinking maybe we could take advantage of the noise channel by let it generate inverted noise from it’s unwanted noise and synch them correctly with each other in order to cancle each other out to supposedly result theoritically in a much cleaner audio to more closely resamble 16bit audio,,but am not sure if some game developers tried to take advantage of the noise channel that way but it would be interesting to prove such smart clever theory😁

    • @aura-audio
      @aura-audio  Před rokem +1

      Thank you for watching and I'm glad the explanation helped 😄! One thing I learned this semester which I didn't know when I recorded this video is that it's actually a good thing to have some noise at low bit-depths. This is because the audio gets distorted when going to the lower bit depths. The noise helps make this process more random and thus it sounds more natural. In this video I didn't set up the sound correctly which made things distorted. My more recent video on this topic has a better demo and you actually can't hear too much noise. 16bit is actually what most digital platforms like SoundCloud use. Something else which distorts the audio is down sampling. This causes other distortions with the audio not necessarily related to the noise generated by the noise channels since those use frequency counters for pseudo-random noise. However, I do like your thinking, and you've inspired me to make another video on this topic. Thank you again for watching and commenting your thoughts on the video 🙌🏼!

  • @waremergencypower6024
    @waremergencypower6024 Před 2 lety +3

    Has there ever been a GBA game with full voice acting?

    • @aura-audio
      @aura-audio  Před 2 lety +5

      You mean someone reading the lines on the screen? I'm not sure actually. That's a great question.

    • @GoldenGrenadier
      @GoldenGrenadier Před rokem +2

      Wario land 4 had a fully vocalize track(in Japanese though)

  • @First_Grafter
    @First_Grafter Před 11 měsíci

    Hey I'm looking to make a really high quality recording of the GBA start up sound
    Do you know how I could do this?
    If I like have to wire into a GBA or maybe use some sound chip emulator?
    I haven't found much information so far and you seem very knowledgeable 😅

    • @aura-audio
      @aura-audio  Před 11 měsíci +1

      I would use an audio interface or preamp

    • @First_Grafter
      @First_Grafter Před 11 měsíci

      @@aura-audio Thanks for the response! (And incredibly fast)
      But what do you mean exactly?

    • @aura-audio
      @aura-audio  Před 11 měsíci +1

      Record the sound directly from the headphone out on the GBA and route it through a preamp so when you amplify it the signal is clean. Google “preamp” and you will find many examples :)

    • @First_Grafter
      @First_Grafter Před 11 měsíci

      ​@@aura-audioAhh I see
      Thanks!

    • @First_Grafter
      @First_Grafter Před 11 měsíci

      @@aura-audio I do wonder though 😅
      Is it possible to emulate the sound chip on a computer?

  • @cdm4yeugamechannel85
    @cdm4yeugamechannel85 Před 3 lety +1

    What bit gba music is? 16 or 8 bit and so convert it into readable format with good quality and maybe match sample rate and bitrate?

    • @aura-audio
      @aura-audio  Před 3 lety +6

      That's a great question! The gameboy sound channels are 8-bit. As far as the sample rate and bitrate, they are a bit more complicated, but there are some ways to use timers/refresh rate of the screen as the sample rate to play back an audio buffer. For now, I suggest you play around with a library called, "libgba." It has a sound example you can build. Try and see if you can download it, but I might make a video about this later. However, I definitely encourage you to try experimenting with this library beforehand. I have found it to be very successful at playing sounds on the Gameboy Advance.

    • @cdm4yeugamechannel85
      @cdm4yeugamechannel85 Před 3 lety +1

      @@aura-audio Woah that's a lots. My thanks. So this quite difficult...

    • @aura-audio
      @aura-audio  Před 3 lety +2

      You’re welcome! Thank you for watching. Yeah it definitely can be a lot, but you get better with practice. Hopefully I can make more videos on this once school settles down.

    • @williamdrum9899
      @williamdrum9899 Před 3 lety

      @@aura-audio Is libgba in C or ARM assembly?

    • @aura-audio
      @aura-audio  Před 3 lety

      I believe libgba is a C library, but sometimes people do tend to write assembly for the GBA.

  • @PKSuperStar256
    @PKSuperStar256 Před rokem +1

    Isn't the PSG part of the sound system just the Game Boy PSG since it uses it to emulate the sound when playing Game Boy or Game Boy Color games?
    Note: The PSG is also used in several GBA games as well, such as the Densetsu no Starfy/Stafy games, Wario Land 4, the Klonoa GBA games, Mario & Luigi: Superstar Saga, and Mother 3.

    • @aura-audio
      @aura-audio  Před rokem +1

      What do you mean by emulate? I think they're all just voltages generated by a chip inside the CPU. It's not too difficult to create those kinds of signals.

    • @PKSuperStar256
      @PKSuperStar256 Před rokem

      @@aura-audio, by emulate as in the actual Game Boy sound chip not being present in the GBA hardware.

    • @aura-audio
      @aura-audio  Před rokem +1

      @@PKSuperStar256 I see, yeah that's a tricky but good question to think about. I wasn't really sure what the answer was when I made this video, and I'm still not really sure to this day but remain curious about it. We know the GBA has a SoC (System on a Chip) which contains a whole bunch of components, and it's possible one of those components is the chip for the PSG. I speculate the GBA uses a similar PSG (if not the same one) as the Game Boy and Game Boy Color because the sound is indistinguishable. However, when I listened to the DS which can run GBA games but not Game Boy Color I heard a difference in some cases with some effects (i.e. vibrato used in the background music for Mario Bros Classic in Super Mario Advance). The vibrato sounded more choppy on the DS than it did on the GBA. This could be an artifact due to the timing systems, but my thought is the DS emulates the PSG as you mentioned.

    • @aura-audio
      @aura-audio  Před rokem

      Given this difference happens in a GBA game and not a Gameboy Color game is kind of a bad example, but I also just realized there would sadly be no way to test a Game Boy Color game on the DS. We could however test and see if there's any sound discrepancies between the GBA and Game Boy Color.

    • @PKSuperStar256
      @PKSuperStar256 Před rokem

      @@aura-audio, the Everdrive can help with that. You can put a GB/GBC "emulator" on it and put supported games on said emulator and they should sound similar, if not, the exact same as the original intended hardware.
      I did it myself since I have one.

  • @Zynet_Eseled
    @Zynet_Eseled Před rokem

    I want someone to take all the code for this sound chip, load it into a computer, and either turn it into a virtual sound generator for DAW's, or figure out how to get that hiss sound to be transferred across through some form of dial knob, along with a preset that is literally the hiss of the original hardware. Basically an effect/bitcrush plugin. Would such a thing even be possible?

    • @aura-audio
      @aura-audio  Před rokem

      It is for sure! I think Tony Fox, the composer of the music in the Game Undertale, used a plugin that did this. I should make a video about that soon 🙌🏼!

    • @Zynet_Eseled
      @Zynet_Eseled Před rokem

      @@aura-audio absolutely. I primarily use toxic biohazard when trying to generate sounds, so I'm trying to specifically replicate the hiss of the gba's dodgy sound chip (because I wholeheartedly disagree with common sentiment that it sounds bad. I think that bad sound quality and hiss actually adds to the songs and charm.), for something like a pad or ambient texture. Then layer that hiss thing into a very wet reverb for some very unorthodox energy that I've yet to properly catch outside of radio static. Which in of itself is tough to get propery

  • @skew5386
    @skew5386 Před 7 měsíci

    Does anyone know if the GB soundchip can be accessed in GBA mode?

    • @aura-audio
      @aura-audio  Před 7 měsíci

      That's a good question. Yes, by using the DMG (Dot Matrix Games) sound enable registers you can use the pulse signal channels from the original Gameboy: www.coranac.com/tonc/text/sndsqr.htm

    • @aura-audio
      @aura-audio  Před 7 měsíci

      It's a little tricky to learn, but once you know the registers you need to enable, sound on the Gameboy is actually pretty simple/direct which is why I like it so much

    • @skew5386
      @skew5386 Před 7 měsíci

      @@aura-audio is there a limit on the number of channels you can use from each chip? Or does using this effectively double the number of channels you can use at once?

    • @aura-audio
      @aura-audio  Před 7 měsíci +1

      Yah I think original pulse channels gives you 1 sweep plus another pulse generator without the sweep plus the noise/rumble channel for percussive sounds plus another channel where you can load in your own 4 bit wave table. Then with Gameboy Advance you get 2 more 8-bit channels. Pretty sure you can use all of them at once

    • @skew5386
      @skew5386 Před 7 měsíci

      @@aura-audio If there's only 2 8-bit GBA channels, how were tracks done that seem to play up to 4 or 5 samples simultaneously? Am I mishearing or is there a way of redistributing or assigning channels for different purposes depending on what's needed?

  • @ItssCurlyFries
    @ItssCurlyFries Před 3 dny

    Thanks for explaining the gameboy part, but you didn't put a lot of time into explaining the sample stuff...

    • @aura-audio
      @aura-audio  Před 3 dny

      Have you watched my recent video where I show how to play audio on the Gameboy Advance? The sample buffers are basically like that.

  • @theproanimator8447
    @theproanimator8447 Před 2 lety

    what about the N64 sound hardware?

    • @aura-audio
      @aura-audio  Před 2 lety +1

      I like your thinking! Haven't done a video on that yet, but I'd love to explore it :) !

    • @theproanimator8447
      @theproanimator8447 Před 2 lety +1

      @@aura-audio or what about Nintendo DS sound system?

    • @aura-audio
      @aura-audio  Před 2 lety +1

      I know there are some videos out there already from other people, but there's always room for more.

    • @theproanimator8447
      @theproanimator8447 Před 2 lety +1

      @@aura-audio of course

  • @NCHLT
    @NCHLT Před 3 lety +4

    I swear most nokia phones from the early 2000s sounded better

    • @aura-audio
      @aura-audio  Před 3 lety +3

      That's interesting! I'm now curious if I can still find one and make another video about it. That would be super cool!

    • @AWISECROW
      @AWISECROW Před rokem

      They really didn't, lol. Maybe Blackberry

    • @AWISECROW
      @AWISECROW Před rokem

      czcams.com/video/4m0lfF2F0Jw/video.html

  • @wchorski
    @wchorski Před měsícem

    sik

  • @jckstudios7693
    @jckstudios7693 Před rokem

    Gba(s) are 28 bit

    • @aura-audio
      @aura-audio  Před rokem +1

      Where did the 28 come from? I thought it was only powers of two, but I could be wrong.