[HN Gopher] Gameboy technical reference for homebrew developers
       ___________________________________________________________________
        
       Gameboy technical reference for homebrew developers
        
       Author : BramLovesYams
       Score  : 179 points
       Date   : 2023-11-23 10:42 UTC (12 hours ago)
        
 (HTM) web link (gbdev.io)
 (TXT) w3m dump (gbdev.io)
        
       | Waterluvian wrote:
       | The gbdev and emu dev discord communities were indispensable when
       | writing my GB emulator. They're helpful and social and many can
       | basically look at your corrupt output and suggest what vblank or
       | other bugs you might have.
       | 
       | My first interaction was asking why the Nintendo logo would
       | appear and never disappear and they immediately knew it was a
       | rookie pitfall: I had my button inputs set to low which actually
       | means pressed, so my emulator was resetting itself infinitely.
        
       | iamjackg wrote:
       | A long, long time ago I started a YouTube series[0] on the
       | internal workings of the Game Boy during a brief break from work.
       | I eventually started working again and animating the episodes was
       | taking way too long, so I had to stop, but I've kept orbiting the
       | world of Game Boy reverse engineering.
       | 
       | The amount of dedication, skill, and passion that goes into it on
       | a daily basis is mindblowing, and people keep discovering
       | hardware quirks and bugs to this very day! I believe it wasn't
       | that long ago that people discovered a glitch in the audio
       | subsystem that gave you more control over note envelopes, and it
       | was promptly added to LSDj (a tracker for the Game Boy that was
       | first released in 2000) by the original author, who's still
       | maintaining it to this day.
       | 
       | 0: https://www.youtube.com/watch?v=RZUDEaLa5Nw
       | 
       | EDIT: oops, forgot the link!
        
         | datpiff wrote:
         | Is there a link missing here? I would like to see your YT
         | series :)
        
           | iamjackg wrote:
           | Oops! I just added it.
        
             | datpiff wrote:
             | I was already subscribed!
        
         | extraduder_ire wrote:
         | Did you ever consider storyboarding the animations and farming
         | it out to someone? It probably wouldn't make sense financially,
         | but it might bring it back under the amount of time you'd
         | have/want to spend on it.
        
           | iamjackg wrote:
           | Briefly, but I realized that the creative satisfaction of the
           | whole thing came from being able to do everything myself, so
           | giving that up would have made it pointless to me. I feel bad
           | about it because it's definitely a bit of a narcissistic take
           | (praise me, for I can do it all!), but the truth is that I
           | was also discouraged by the mistakes I made in the research
           | process, and how mean some of the commenters who pointed them
           | out were.
           | 
           | I started to get a lot of anxiety about the whole process,
           | and realized that I would have had to put even more effort
           | into it ok top of my full time job, which further cemented my
           | choice to just run away from it. I periodically feel really
           | bad about it. Hopefully some day I'll win the lottery and
           | I'll be able to make another episode. I actually have the
           | script for episode 3 all done: I wrote it on parental leave,
           | but that also didn't last forever!
        
             | nuclearnice1 wrote:
             | You did a beautiful job and you should be proud of it. Both
             | the information and the aesthetics are a treat.
             | 
             | Can I ask what technology stack you used? For the images,
             | the animations, and the voice over?
             | 
             | I'd like to be able to do something like this.
        
               | iamjackg wrote:
               | Thank you so much! It's all done in After Effects, with
               | some Photoshop work for more complex graphics. The voice
               | over was kindly provided by my wife.
        
               | teruakohatu wrote:
               | Excellent work, the animation is top notch. The voice was
               | so good I also assumed it was generated.
        
               | hbn wrote:
               | What a world where someone would sooner believe a good
               | human voice is from a computer before a human!
        
               | teruakohatu wrote:
               | When machines started making perfect rugs, humans began
               | valuing those rugs with imperfections.
        
               | iamjackg wrote:
               | That would have been really impressive in 2016!
        
         | msk-lywenn wrote:
         | Any link for the new hardware quirk added to lsdj?
        
           | iamjackg wrote:
           | Yeah! Search for "zombie mode" on this page:
           | https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware
        
         | lopis wrote:
         | Amazing series. Great refresher on assembly too.
        
         | lancefisher wrote:
         | Thanks for making those videos. I really enjoyed watching them
         | earlier this year. I've been getting into making games,
         | restoring, and collecting Game Boys.
        
         | azmodeus wrote:
         | Your YouTube video was amazing. Inspiring to see such
         | educational content.
         | 
         | How did you find your narrator and how did you do your
         | animations?
        
           | iamjackg wrote:
           | I found my narrator by being married to her, and all the
           | animation was done in After Effects.
        
         | namuol wrote:
         | I've really enjoyed watching these while working on a toy
         | emulator during little bouts of free time in the past year.
         | Thanks for making these!
         | 
         | Edit: Just realized how similar my comment was to a neighbor
         | comment. There must be a lot of folks pining for a better time
         | from their past...
        
       | aquova wrote:
       | I wrote a Game Boy emulator as a pandemic project, and the
       | pandocs linked here are indispensable. It contains all the
       | technical documentation you need while leaving the implementation
       | up to you. I tried getting into Sega emulators after, and while
       | there is some good info there (SMS Power has good docs), none
       | quite matched this.
        
       | 5- wrote:
       | a similarly comprehensive document for game boy advance /
       | nintendo ds / lite / dsi:
       | 
       | https://problemkaputt.de/gbatek.htm
       | 
       | i've got myself a dsi and at some point plan on doing some from-
       | scratch development for it -- that single file should be enough.
        
         | BramLovesYams wrote:
         | Thanks for the tip! I've been wanting to dive into DS/lite/DSI.
        
       | raytopia wrote:
       | The Gameboy homebrew community is amazing. Hoping in the future
       | that other homebrew communities grow as popular.
        
       | ant6n wrote:
       | Text version of pandocs: https://problemkaputt.de/pandocs.htm
        
       | kaoD wrote:
       | Obligatory link to the Ultimate Game Boy Talk:
       | https://www.youtube.com/watch?v=HyzD8pNlpwI
        
       | shinyeye4 wrote:
       | Oh, I'm so happy to see this here. I'm avivace[0], lead of the
       | https://gbdev.io iniative. Pan Docs is really a labor of love and
       | we've been investing a lot of time in improving it and making it
       | more accurate and accessible.
       | 
       | We do maintain a bunch of other stuff too! A Game Boy Assembly
       | Tutorial[1], an open digital repository of Game Boy homebrew
       | software[2] and RGBDS[3], the de-facto standard assembly
       | toolchain for the Game Boy.
       | 
       | We also hosted popular game jams such as the gbcompo21[4] and
       | gbcompo23[5], with winning entries usually going the long way and
       | publishing as physical products.
       | 
       | Come join us on Discord[6] if you'd like to get involved and
       | contribute.
       | 
       | [0] https://github.com/avivace [1] https://gbdev.io/gb-asm-
       | tutorial/ [2] https://hh.gbdev.io/ [3] https://rgbds.gbdev.io/
       | [4] https://itch.io/jam/gbcompo21 [5]
       | https://itch.io/jam/gbcompo23 [6] https://gbdev.io/chat.html
        
       ___________________________________________________________________
       (page generated 2023-11-23 23:00 UTC)