Doomhack Posted December 9, 2019 I started the project in September and now it’s pretty much done. I got PC Doom up and running on the GBA. https://github.com/doomhack/GBADoom I started from prBoom (via a port to the Psion5) but most of the enhancements had to be reverted back to vanilla Doom for either performance or memory reasons. It was pretty hard getting the game to run on a device with only 256kb of ram. It was then pretty tough to get it to run at a decent framerate with only a 16.7mhz CPU. It runs pretty well now though. Most areas are running at 15-25fps. It has support for both Doom and Doom2, sound and music. The only real visual changes are loss of Z-depth lighting (the GBA screen is already too dark) and mip-mapping on composited textures. In the releases section, there is a build with the shareware wad embedded. Plays on most emulators or a real device if you have a flash cart. 60 Share this post Link to post
Mengo Posted December 9, 2019 So we get to play a non-bastardized port of doom on the go? Count me in. 5 Share this post Link to post
Doomhack Posted December 9, 2019 1 minute ago, Mengo said: So we get to play a non-bastardized port of doom on the go? Count me in. Yep! That’s exactly what I set out to achieve! 3 Share this post Link to post
DuckReconMajor Posted December 13, 2019 (edited) I bought a Game Boy Micro from my friend. It had GBA Doom in it and when I told him he's like, "oh, you can have it" I'd probably play this version a lot more. edit: also, do you have an afterburner installed? That screen is way too visible. Edited December 13, 2019 by DuckReconMajor 0 Share this post Link to post
Gez Posted December 13, 2019 If you want to cover your ass, don't distribute with the shareware -- it's not actually safe. Instead you can bundle with Freedoom. 5 Share this post Link to post
Doomhack Posted December 14, 2019 19 hours ago, DuckReconMajor said: I bought a Game Boy Micro from my friend. It had GBA Doom in it and when I told him he's like, "oh, you can have it" I'd probably play this version a lot more. edit: also, do you have an afterburner installed? That screen is way too visible. Yes. It’s a modded GB with an IPS screen. 1 Share this post Link to post
BBQgiraffe Posted December 16, 2019 give a man a game, he'll game for a day 26 years, teach a man to program and give him the source code for said game and he'll make a port to a device with a fraction of the original required hardware specifications, and make it far superior to the official port 6 Share this post Link to post
Dubbag Posted December 17, 2019 5 hours ago, Skootroot said: Port DOOM 2016 next lol 0 Share this post Link to post
DynamiteKaitorn Posted December 18, 2019 Well I gave a quick download and erm... I'm lost on what to do next. I saw it can convert IWADs to GBA so I kinda wanna do it with plutonia for the lols. :P 0 Share this post Link to post
Boomslang Posted December 18, 2019 1 hour ago, Raccoon_I_Guess said: Blood on gba you have a blessed profile pic, raccoons are the best 2 Share this post Link to post
Doomhack Posted December 18, 2019 7 hours ago, DynamiteKaitorn said: Well I gave a quick download and erm... I'm lost on what to do next. I saw it can convert IWADs to GBA so I kinda wanna do it with plutonia for the lols. :P Build instructions are at the bottom of the page here: https://github.com/doomhack/GBADoom 0 Share this post Link to post
DynamiteKaitorn Posted December 18, 2019 I did notice it but I'm still lost. ._. 0 Share this post Link to post
chungy Posted December 18, 2019 (edited) I'm at a loss for compiling it too, both projects even. I installed devkitarm, type make... it complains about a missing gba_rules file (doesn't seem to exist anywhere), I remove the include line and then it's looking for a mmutil command that doesn't exist either. Bummer. on GbaWadUtil, there's a GbaWadUtil.pro file that looks like a Makefile but doesn't contain any targets. EDIT: OK, half of the problem were solved by using the official binary packages, the devkitarm package in AUR seems to be incomplete. That at least lets me run "make" on GBADoom until it complains about the missing IWAD header... and I still don't know how you're supposed to compile GbaWadUtil. Edited December 18, 2019 by chungy 1 Share this post Link to post
Kippykip Posted December 21, 2019 You are amazingly talented! I never thought I'd ever see full PC doom running this smoothly, at this point we've only seen a Jaguar based/Custom Engine port. 2 Share this post Link to post
XxcglezxX Posted December 29, 2019 (edited) when i try compiling, all i get is a fatal error C:/Temp/GBADoom/source/doom_iwad.c:1:10: fatal error: iwad/doomu.gba.h: No such file or directory 1 | #include "iwad/doomu.gba.h" help??? Amazing work btw!! 0 Share this post Link to post
XxcglezxX Posted December 30, 2019 nvm @Kippykip uploaded a tutorial on how to compile it Thanks @Kippykip!! 3 Share this post Link to post
ReeseJamPiece Posted December 31, 2019 I've saw a DS version of Doom that lets you play WADs but I've never seen a GBA version of Doom, bravo for completing btw. 0 Share this post Link to post
Doomhack Posted January 1, 2020 (edited) Thank you everyone for the lovely comments. I’m back from my vacation now so I’ll pick this up again soon and get some of the issues ironed out. Sorry the build process is a ballache. Sadly, since the GBA only has 256kb of memory, I have to rework some of the data structures and the wad has to be embedded in the rom. Big thanks to @Bloodshedderfor allowing me to include his Chiptune Remixes of the Doom music in this project. Thanks for the videos @Kippykip. 5 Share this post Link to post
Alexo Posted January 4, 2020 *The Doom GBA guy likes this* I've seen it running recently, have plans to begin tinkering at runs in the port over the next month. Like I said on reddit, amazing job on this port! 3 Share this post Link to post
Doomhack Posted January 4, 2020 3 hours ago, Alexo said: *The Doom GBA guy likes this* I've seen it running recently, have plans to begin tinkering at runs in the port over the next month. Like I said on reddit, amazing job on this port! Looking forward to seeing some runs! I’m interested to see how the times compare to the PC version or if there are new strategies that are found. 0 Share this post Link to post
Linguica Posted January 13, 2020 Now we need a cross-port multiplayer game between this and https://github.com/jnmartin84/64doom 1 Share this post Link to post
Kippykip Posted January 16, 2020 Well guys I just had a play around trying to get one of my favourite Doom levels running on doomhack's GBA port. Although it happens to be one of the biggest official Doom maps afaik, so I got Z_MALLOC memory errors for ages until I eventually got it going! (Albeit at a low framerate, I can probably make some further changes) But here it is if you guys wanna have a peak! I also remade this levels music, here's the Impulse Tracker file if you want to play around. D_DM2INT.it.zip I might remake all the TNT music in IT files eventually when I'm not working retail. 7 Share this post Link to post
Doomhack Posted January 16, 2020 We'll have to see if there are more memory savings to make. I think there are still a few places we can shave a few kb here and there. 2 Share this post Link to post
Kippykip Posted January 17, 2020 16 hours ago, Doomhack said: We'll have to see if there are more memory savings to make. I think there are still a few places we can shave a few kb here and there. I suppose things like unused text wouldn't shave anything off memory wise, just rom size right? 0 Share this post Link to post
Doomhack Posted January 17, 2020 7 hours ago, Kippykip said: I suppose things like unused text wouldn't shave anything off memory wise, just rom size right? No, all constant stings go in ROM so there is no saving there. We're looking for stuff that is allocated with Z_Malloc() and friends. If you build under Windows with Qt Creator the console Window will show a running count of how much memory is used. 1 Share this post Link to post
Redneckerz Posted January 20, 2020 A GBA Doom level editor once existed with its own special lumps. Perhaps someone can find that, it might be useful. 0 Share this post Link to post