trophy 1250
Aug 2022 165 posts
Asphaltian 2 months ago edited one month ago
I'm going to post updates and progress about my Game Boy Advance emulator for s&box in this thread for the meantime as a sort of pseudo-blog, feel free to ask any questions about the project here!

Since the video demo, I've went ahead and fixed a lot of glaring bugs and issues present in many games which I will show here.

In Pokémon FireRed and LeafGreen, Professor Oak and the player's sprite literally never showed up in the intro cutscene. That's been fixed:

Mario Kart: Super Circuit has been vastly improved, everything in-game was a horribly garbled assortment of graphical bugs because of a broken decompression algorithm. I've now fixed that plus the game speeding up at the intro and cup selection:

The same bug also affected other games as well including the copyright screen for Pokémon FireRed and LeafGreen and also DOOM II for some reason.

Lastly, both Pokémon Mystery Dungeon: Red Rescue Team and Pokémon FireRed and LeafGreen had a bug with the audio in memory being overwritten that caused instruments playing flat in some songs which never happened in the original hardware. This has been fixed.

There's many more bugs still present in other games, but it's beginning to look a lot more polished. I'll continue working on this neat little side-project in the meantime.
trophy 590
May 2021 24 posts
sick

trophy 1250
Aug 2022 165 posts
Asphaltian 2 months ago edited one month ago
Project is now open-source, feel free to clone the repository and/or contribute! I'm planning to build a frontend to make it more friendly for players who aren't as tech-savvy, so I won't be abandoning this anytime soon.
trophy 1250
Aug 2022 165 posts
Simple demo for saving/loading save states, plus prototyping a custom pause menu for both gamepads and mouse + keyboard setups. Eventually you'll be able to upload and share these save states with others to the Steam Workshop in the future menu hub :D
trophy 1460
Mar 2024 51 posts
Would be cool to see this inside of other games 
trophy 1250
Aug 2022 165 posts
I think it'd be quite easy to make a Sandbox entity that does the same thing, though I'd rather wait until it's more polished
trophy 1250
Aug 2022 165 posts
Asphaltian 2 months ago edited 2 months ago
Moved over everything to a hardware renderer with shaders and got rid of the software renderer, performance should be marginally improved and I've also added a high-resolution scaling feature that mGBA also has! You can see the difference with the sprite at the top-left corner of both images taken in Pokémon Emerald.

Mario Kart: Super Circuit also looks much better, the horizon is noticeably more detailed and doesn't look like its smushed into tiny pixels compared to the original renderer.
trophy 1250
Aug 2022 165 posts
Testing out gyro and haptics, only a few game cartridges along with WarioWare Twisted! supported them but I thought it was a little neat to implement nonetheless.
trophy 1506
Nov 2024 16 posts
this is epic man
trophy 1250
Aug 2022 165 posts
Thanks lad, I'm also looking for anyone to help out so please take note
trophy 1250
Aug 2022 165 posts
Asphaltian one month ago edited one month ago
Back from a hiatus, sorry for not posting in a while :P

Anyways, I'm currently fixing more bugs with the emulator. One of these was in Yoshi's Island: Super Mario Advance 3 whereby after selecting a file, the intro's background just wouldn't load at all along with the dialog prompt at the start. Yoshi also falls off into the dark void and soft-locked the game which was pretty hilarious.

Turns out it was just me implementing the HLE BIOS wrong, whoops! This has been fixed.
trophy 1250
Aug 2022 165 posts
Posted a new video about the emulator here, check it out if you wanna see how far it's come since the previous demo!
trophy 1250
Aug 2022 165 posts
Did a prototype for the frontend as a part of preparations for it being published to sbox.game, will improve down the road hopefully!
trophy 1250
Aug 2022 165 posts
I've released sGBA as a work-in-progress on the Workshop. Remember to report any bugs or suggestions on the GitHub below or the forums. Check it out here!
GitHub
GitHub - Asphaltian/sgba: Game Boy Advance emulator for s&box
Game Boy Advance emulator for s&box. Contribute to Asphaltian/sgba development by creating an account on GitHub.
trophy 1250
Aug 2022 165 posts
Made it a little nicer, though I'd still prefer if I got someone to do this for me :P
trophy 1545
Jul 2022 103 posts
can you add sega arcade gallery or you can just add your roms?
trophy 1250
Aug 2022 165 posts
can you add sega arcade gallery or you can just add your roms?
It works like any other emulator, you'll have to provide them yourself. 
trophy 1250
Aug 2022 165 posts
Working on some post-processing shaders right now. Here's colour correction, motion blur and LCD as God intended :D
trophy 1250
Aug 2022 165 posts
Published the very first update to sGBA!
https://sbox.game/asphaltian/sgba/news/sgba-update-d5e0715f
trophy 1250
Aug 2022 165 posts
Working on some post-processing shaders right now. Here's colour correction, motion blur and LCD as God intended :D Screenshot 2026-04-15 220235.png 2.9 MB
Oh and if anyone wants a video demonstration, here's a short clip of sGBA running Beyond the Pixels which is pretty sexy if you ask me
trophy 1250
Aug 2022 165 posts
Asphaltian one month ago edited one month ago
Over the past couple of days, I was experimenting with how I could emulate the Link Cable and how that'd work over s&box's networking system. Turns out doing it over the net is really, really hard because most games expect sub-milisecond latency... should've done my research :P 

So after learning my lesson, I scrapped it and went ahead with the much simpler Wireless Adapter and... voila! I'm actually really surprised this was possible, but I'm going to clean it up before I push this to sGBA for everyone to try out.
trophy 5023
Aug 2024 52 posts
I was hoping for this feature! ❤ Would love to see it live! Great work you're doing 👑
trophy 1250
Aug 2022 165 posts
I was hoping for this feature! ❤ Would love to see it live! Great work you're doing 👑
Good timing, I just published a new version. I'm looking for people to test it out now!
trophy 0
Apr 2026 7 posts
this is pretty cool.

just doing this for fun or do you plan to expand to make something similar to RetroArch?
trophy 655
Jul 2022 5 posts
Wow, what a dope project this is
trophy 1250
Aug 2022 165 posts
this is pretty cool. just doing this for fun or do you plan to expand to make something similar to RetroArch?
I'm starting small right now, but seeing this evolve into a big tent project like RetroArch would be awesome. I also prototyped a DS emulator for a bit when I was working on the frontend. Being the sole developer right now however is pretty time-consuming, so it's going to take a while laying the groundwork for it.
trophy 0
Oct 2023 1 post
For the link cable you might be able to make it work if its possible to "pause" the emulator until it receives the message. 
trophy 1250
Aug 2022 165 posts
For the link cable you might be able to make it work if its possible to "pause" the emulator until it receives the message. 
I don't know how the NSO app does it but link play over the internet does somehow exist, never tried it though so I have no idea whether it's any good. I'll maybe return to it later though or when someone else can help on that front
trophy 0
Apr 2026 7 posts
Neft 29 days ago edited 29 days ago
For the link cable you might be able to make it work if its possible to "pause" the emulator until it receives the message. 
i think most get around link cable stuff with emulators by basically turning on a server or a local host server then connecting to a local or multiplayer instance for it, i mean its basically how trading works in newer pokemon games you just need a open internet connection to trade pokemon off.

since S&Box has the network there to make multiplayer easier, there might be like a super simple/easy way to actually route this through S&Box.

Edit: after thinking about it S&box might be the right platform for this type of emulator to revive old games with friends, could even potentially add a random server option where if other people are playing you can just be dumped in with them or if you want to play/trade with someone specifically you could add like a code prompt to specifically connect with that person or could even make like a lobby system where people can say which game their on and do it that way.

theres lots of ways to potentially do it, only a few solutions will be actually good/correct/feel great.

and as long as the emulator never supplies the games and just acts as a hub/way to load them, then theres no risk of legal issues either.
trophy 1250
Aug 2022 165 posts
Recovered from a bad fever yesterday, I'll have a ponder about this for the meanwhile...

i think most get around link cable stuff with emulators by basically turning on a server or a local host server then connecting to a local or multiplayer instance for it
I think I watched a YouTube video of a guy doing this for Tetris on the original Game Boy and this sounds very familiar.

since S&Box has the network there to make multiplayer easier, there might be like a super simple/easy way to actually route this through S&Box.
s&box does have dedicated servers but I'll have to pay upkeep for that and there's no Linux binaries (yet). I can always just use an externally hosted web server with WebSockets though since there's already a good API for it, probably makes a lot more sense too

theres lots of ways to potentially do it, only a few solutions will be actually good/correct/feel great
The party system in s&box recently got some love, I'm going to revisit that once I feel a little better. I do think Nintendo's approach with their emulators is pretty good UX-wise.
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.