GBA Doom RAM usage

mohhingman

New Lad
Member
Hello, I'm new to the forums. I have some technical enquires regarding how much RAM the game uses. I am considering the feasibility of porting to another ARM device.

I'm impressed GBA Doom runs on the humble GBA with just 256kb of RAM. I grew up appreciating the Doom used about 4 Megs of RAM on the PC. I am led to believe a lot of that RAM is for graphics/sound to stop the poor HDD paging all the time. The GBA has flash based architecture and can pull those sort of resources fast. The remnant of RAM used, which is now much smaller must be things like the BSP tree, thing states, variables and the like.

My question is, does the game use all the 256k RAM? How much does the RAM usage vary between the smallest and largest levels? My ARM chip has 192 kB RAM and am wondering if that's enough to even consider the possibility.

Cheers
mohhingman
 

Kippykip

CEO of cancelled
cringge
Hello, I'm new to the forums. I have some technical enquires regarding how much RAM the game uses. I am considering the feasibility of porting to another ARM device.

I'm impressed GBA Doom runs on the humble GBA with just 256kb of RAM. I grew up appreciating the Doom used about 4 Megs of RAM on the PC. I am led to believe a lot of that RAM is for graphics/sound to stop the poor HDD paging all the time. The GBA has flash based architecture and can pull those sort of resources fast. The remnant of RAM used, which is now much smaller must be things like the BSP tree, thing states, variables and the like.

My question is, does the game use all the 256k RAM? How much does the RAM usage vary between the smallest and largest levels? My ARM chip has 192 kB RAM and am wondering if that's enough to even consider the possibility.

Cheers
mohhingman
I think doomhack is the best guy to ask, he did the insane optimisations.

But what I do know is a lot of TNT levels such map31 fail to load and doom 2's industrial zones used to be crash prone early on.

So the limit is somewhere around there?
I think the crash screen tells you the memory allocation there? (Maybe?)

What I do know is doomhacks iwad to C file changes map/texture formats around, and he changed a lot of enemy/THINGS vars that were bytes into 1bit booleans etc. Textures and sprites are drawn directly from the cartridge after I'm pretty sure.
He's a bit of an optimisation wizard lol, but I'm not exactly 100% sure of the limit myself
 
Last edited:

mohhingman

New Lad
Member
Thanks for the insight. I downloaded and built gba doom with devkitpro. I'll experiment with different wads and see how it goes.

What i'm trying to do is make Doom run on an Atari 2600 with help by an ARM co-processor, the STM32.

Last year I did a proof of concept for the sound and display with static images. I know the display and sound will work. What is still yet to be determined is if the STM32 can run the engine and do the rendering in real time.


Cheers
mohhingman
 

Kippykip

CEO of cancelled
cringge
Thanks for the insight. I downloaded and built gba doom with devkitpro. I'll experiment with different wads and see how it goes.

What i'm trying to do is make Doom run on an Atari 2600 with help by an ARM co-processor, the STM32.

Last year I did a proof of concept for the sound and display with static images. I know the display and sound will work. What is still yet to be determined is if the STM32 can run the engine and do the rendering in real time.


Cheers
mohhingman
holy FUg dude that's friggin amazing, keep us all updated O.O
 

mohhingman

New Lad
Member
Thank you. I have been experimenting with no$gba to guage RAM usage. E1M1 external ram usage at 0x17000, combined with IRAM, that's just shy of 128 kiB. I think as a proof on concept, that RAM usage should be OK. E1M2 was around 0x22000. For me, just getting E1M1 working would be worth doing.
 
Top