Page 4 of 14 FirstFirst ... 23456 ... LastLast
Results 31 to 40 of 133

Thread: Gameboy Advance

  1. #31
    Programmer | Moderator Danny's Avatar
    Join Date
    Nov 2005
    Posts
    896
    Mentioned
    21 Post(s)
    Nice work guys. Nice to see emulation progress threads like these.
    Keep it up.



    PS: Gotta finish my Chip8 emulator... (just started), then I plan on stepping through the list in order: Chip8 > Space Invaders (emu) > GameBoy > NES > ?
    We will see how the Chip8 and space invaders emu's go first however lol
    Proud Moderator Of Emutalk.net

    * I develop software for: iOS, Android, Mac, Linux & Windows.
    * Proficient in C#, C, C++, Objective-C, Java, Swift, Lua. Also know some: PHP.

    Want to help EmuTalk? Want us to relive the glory days of old? Ping me, I would love to hear your ideas


  2. #32
    EmuTalk Member
    Join Date
    Mar 2014
    Location
    Chicago, IL
    Posts
    166
    Mentioned
    28 Post(s)
    So, it's barely been a year since I started working on GBA emulation, but already I'm at the final steps of getting a fully functional emulator up and running. By functional, I mean just that, it'll run without exploding. The last major area to tackle is sound. The GBA basically copies the original GB sound very closely, so I'm reusing previous code I wrote for GB/GBC emulation. The real fun starts when I tackle the two digital FIFO audio channels. Hopefully by April, things will be more or less complete.

  3. #33
    Programmer | Moderator Danny's Avatar
    Join Date
    Nov 2005
    Posts
    896
    Mentioned
    21 Post(s)
    Quote Originally Posted by Shonumi View Post
    So, it's barely been a year since I started working on GBA emulation, but already I'm at the final steps of getting a fully functional emulator up and running. By functional, I mean just that, it'll run without exploding. The last major area to tackle is sound. The GBA basically copies the original GB sound very closely, so I'm reusing previous code I wrote for GB/GBC emulation. The real fun starts when I tackle the two digital FIFO audio channels. Hopefully by April, things will be more or less complete.
    Nice work!
    Have any screenshots to share with us? Always helps with motivation
    Proud Moderator Of Emutalk.net

    * I develop software for: iOS, Android, Mac, Linux & Windows.
    * Proficient in C#, C, C++, Objective-C, Java, Swift, Lua. Also know some: PHP.

    Want to help EmuTalk? Want us to relive the glory days of old? Ping me, I would love to hear your ideas


  4. #34
    EmuTalk Member
    Join Date
    Mar 2014
    Location
    Chicago, IL
    Posts
    166
    Mentioned
    28 Post(s)
    Not much to visually demonstrate when it comes to sound :p But yeah, I recently finished work on the GBA's special effects (brightness increase/decrease and alpha blending). It's not 100% done, but it hits the most common cases in games. While actually changing the color of the pixels themselves was easy (the formula is well documented) there were surprisingly a lot of rules about when and where to apply special effects. Here are some before and after pictures of things not working/working

      Spoiler:









    A prerequisite for proper special effects handling is emulation of the GBA's so called "windows". They're basically regions of the screen where certain layers (including sprites) can be dynamically enabled or disabled inside or outside the box. Sprites can even act as masks for special effects to in OBJ Window mode, which is how you get many of the status effects in Pokemon RSE and FR/LG. LCD processing eats up a lot of CPU cycles on my machine, so I was worried that many games would choke when I added special effects, but that was not the case. My emulator still isn't optimized (I'm running a 3.8GHz i5-2500K, and many games don't break 200%) but speed will come later. Gotta focus on core emulation right now.

  5. #35
    Programmer | Moderator Danny's Avatar
    Join Date
    Nov 2005
    Posts
    896
    Mentioned
    21 Post(s)
    Quote Originally Posted by Shonumi View Post
    Not much to visually demonstrate when it comes to sound :p But yeah, I recently finished work on the GBA's special effects (brightness increase/decrease and alpha blending). It's not 100% done, but it hits the most common cases in games. While actually changing the color of the pixels themselves was easy (the formula is well documented) there were surprisingly a lot of rules about when and where to apply special effects. Here are some before and after pictures of things not working/working

      Spoiler:









    A prerequisite for proper special effects handling is emulation of the GBA's so called "windows". They're basically regions of the screen where certain layers (including sprites) can be dynamically enabled or disabled inside or outside the box. Sprites can even act as masks for special effects to in OBJ Window mode, which is how you get many of the status effects in Pokemon RSE and FR/LG. LCD processing eats up a lot of CPU cycles on my machine, so I was worried that many games would choke when I added special effects, but that was not the case. My emulator still isn't optimized (I'm running a 3.8GHz i5-2500K, and many games don't break 200%) but speed will come later. Gotta focus on core emulation right now.
    Very nice! Looking really good.
    Keep us updated, nice to see some life in these stickies.

    I've been on hiatus with my emulator project (Space invaders) for a while, too much programming at work has worn me out... Want to get back to it though.
    Thanks for the inspiration
    Proud Moderator Of Emutalk.net

    * I develop software for: iOS, Android, Mac, Linux & Windows.
    * Proficient in C#, C, C++, Objective-C, Java, Swift, Lua. Also know some: PHP.

    Want to help EmuTalk? Want us to relive the glory days of old? Ping me, I would love to hear your ideas


  6. #36
    EmuTalk Member
    Join Date
    Nov 2014
    Posts
    17
    Mentioned
    0 Post(s)
    Quote Originally Posted by Zack View Post
    Very nice! Looking really good.
    Keep us updated, nice to see some life in these stickies.

    I've been on hiatus with my emulator project (Space invaders) for a while, too much programming at work has worn me out... Want to get back to it though.
    Thanks for the inspiration
    How much progress have you made, just out of curiosity? I haven't made much progress(haven't really had time), but I have 10-20 opcodes done.

  7. #37
    Programmer | Moderator Danny's Avatar
    Join Date
    Nov 2005
    Posts
    896
    Mentioned
    21 Post(s)
    Quote Originally Posted by shutterbug2000 View Post
    How much progress have you made, just out of curiosity? I haven't made much progress(haven't really had time), but I have 10-20 opcodes done.
    I've implemented 50 (afaik) opcodes (the 50 (afaik) opcodes that space invaders uses). When I say implemented, I mean around 70% in total. Still a lot to do.
    Last edited by Danny; March 16th, 2015 at 12:36.
    Proud Moderator Of Emutalk.net

    * I develop software for: iOS, Android, Mac, Linux & Windows.
    * Proficient in C#, C, C++, Objective-C, Java, Swift, Lua. Also know some: PHP.

    Want to help EmuTalk? Want us to relive the glory days of old? Ping me, I would love to hear your ideas


  8. #38
    EmuTalk Member
    Join Date
    Jun 2013
    Posts
    38
    Mentioned
    1 Post(s)
    Shonumi:
    That is some impressive progress, keep it up.

    I'm still working on the second iteration of my Gameboy emulator (optimized for speed, should run on that 180MHz ARM board).
    The CPU itself is done and passes all instruction tests, but the timers still have some weird issues. My new interrupt system is
    much more efficient than the old one, but makes all the cycle-accurate calculations even more complicated, so debugging is
    even more !!Fun!! .

    Unfortunalety, most of my free time this month got replaced by unexpected work. Orginally, the plan was to have a working
    prototype by the end of the month .

  9. #39
    EmuTalk Member
    Join Date
    Mar 2014
    Location
    Chicago, IL
    Posts
    166
    Mentioned
    28 Post(s)
    Interesting updates everyone. Keep working on stuff when you have the time. Eventually, all the effort absolutely becomes worth it. It's just amazing to me to be able to play my favorite games in a program I built up from scratch (well, not the APIs like SDL, but you get the idea). When I got into emulation a decade ago, I never dreamed I'd be making my own emulators like this. It always seemed like some dark magic.

    For the GBA, I got Sounds 1-2 done, and Sound 3 is coming along nicely. I scrapped my idea of basing sound output on cycles. It was just overly complicated trying to find a way to make SDL's call-back audio functions match up to GBA cycles, so I stuck to the old method of generating samples based on seconds (as determined by the host computer). As long as fullspeed is maintained, audio+video should not desync, and at worse, the game will slowdown but the audio will keep playing at fullspeed. I don't think the DMA channels will play at its intended speed if the CPU slows down (the game won't generate the necessary samples fast enough) but I that's not an issue at this point. I'll figure out time-stretching later. Sound 4 will be easy to do, and after that I'll tackle the DMA channels.

    Some games have partial sound, but GBA games relied heavily on digital samples rather than the GB style sound channels. Can't wait to hear all of my favorite tunes again (looking at you, Golden Sun).

  10. #40
    EmuTalk Member
    Join Date
    Feb 2014
    Location
    Niedersachsen, Germany
    Posts
    87
    Mentioned
    8 Post(s)
    Hopefully I will work soon again on my emulator. Unfortunaly I suffered some sort of depression the last months which made it impossible to me to make big progress on my projects
    @Shonumi I got into emulation in 2006 / 2007. I was always dreaming of being able to create my own emulators. And yes you're right it always seemed like some dark magic

Page 4 of 14 FirstFirst ... 23456 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •