doomhack / GBADoom

A port of prBoom to the Nintendo GBA.
182 stars 25 forks source link

Functionality on real cart #18

Open badass-boss opened 3 years ago

badass-boss commented 3 years ago

What am I supposed to do to make this cart work on real hardware?? I mean I complied a PC Doom ROM and it is 13.4MB in size which is weird as ROMs should be in size of power of 2 like 16MB. Once I flashed the ROM into a single GBA flashcart with FRAM, the GBA startup screen booted up with Nintendo logo and after that, nothing happens, blank screen. I don't use an Everdrive, just a single game flashcart so please advice here. If possible, please provide me some sort of exact binary ROM file that should work here. I have original Doom anyway. Thanks in advance

doomhack commented 3 years ago

Hi there.

The ROMS in the releases page will work on a real console.

I don't have a flashcart but I have been testing on EZ-FLASH OMEGA.

GBA Roms don't have to be a power-of-2 bytes. Commercial roms are just that size because the ROM chips are in power of 2 sizes and the end of the ROM file just contains zeros or junk to pad.

Ulitimate Doom should be about 14.7MB so yours is a bit small (unless it is just the 3 episode Doom IWAD).

Does your ROM work on an emulator? Have you tried in something like mGBA? If it works in the emulator, it should work on a real GBA.

The only other thing that you could try is commenting out this line in i_system_gba.cpp line 68.

//Set gamepak wait states and prefetch. REG_WAITCNT = 0x46DA;

This sets the wait states for the cart. (I think Nintendo sold faster carts but they were more expensive).

doomhack commented 3 years ago

Give this ROM a try. I've tested on my GBA and its working for me.

GBADoom.zip

badass-boss commented 3 years ago

Alright, here are some new results- to address the size issue then yes I have 3 episode version here and it works on an emulator. I think this is a version from romhacking. Also I'm not sure whether this is the ROM issue or not but I noticed my first flashcart doesn't appear on my DS lite at all, not sure what that's about... Anyway, I tried your Ultimate Doom ROM on another FRAM flashcart, filled the space with zeroes and long and behold, it works and even saves!! Maybe I jumped a little too early on that but maybe this is a ROM issue or my flashcart issue really so I will try to figure that out. Also the ROM from romhacking has better music in my opinion and MAYBE it works a little faster. Can you check it out?? Other than that I would consider this issue as solved but I'm curious about the differences anyway. For your information I didn't compile anything using github repository, I tested ROMs just as is

Kippykip commented 2 years ago

Alright, here are some new results- to address the size issue then yes I have 3 episode version here and it works on an emulator. I think this is a version from romhacking. Also I'm not sure whether this is the ROM issue or not but I noticed my first flashcart doesn't appear on my DS lite at all, not sure what that's about... Anyway, I tried your Ultimate Doom ROM on another FRAM flashcart, filled the space with zeroes and long and behold, it works and even saves!! Maybe I jumped a little too early on that but maybe this is a ROM issue or my flashcart issue really so I will try to figure that out. Also the ROM from romhacking has better music in my opinion and MAYBE it works a little faster. Can you check it out?? Other than that I would consider this issue as solved but I'm curious about the differences anyway. For your information I didn't compile anything using github repository, I tested ROMs just as is

I'm late to respond, but yeah the romhacking version is just the upstream fork mentioned in the readme here. The only thing faster between them now is the titlescreen, otherwise doomhack's version should be same gameplay wise. Also yeah the music is different in my fork thanks to a guy on romhacking that submitted it to my messages. Most changes in my fork were mostly just quality of life changes which made it into doomhack's main branch such as GBA Doom II retail hud, palette improvements and menu elements.