ROM Hack Is Freedoom possible on GBA?

EvilJagaGenius

Well-Known Member
Member
Joined
May 27, 2020
Messages
110
Trophies
0
XP
341
Country
United States
It's definitely possible to compile it, I've done it before. I think it would be legal to redistribute it as well as a ROM file instead of a patch, Freedoom being free content and prBoom being open-source.

Possible issues:
- Sound and music. The GBA prBoom port uses custom chiptune recreations of the Doom and Doom 2 soundtrack. Also uses a specially packaged version of the Doom sound set. I'm not sure if it's legal to redistribute these (DoomRL gets away with it, so I don't know), but regardless you wouldn't have Freedoom's audio in the game.
- Playability. I didn't do a complete playthrough of Freedoom when I compiled it, it was more an experiment to see if I could. I'm fairly certain the levels are more complex than vanilla judging by how much bigger the ROMs were. It could be that the engine just chugs or even crashes.

I'm more concerned about the sound/music legality, so I'd wait for a go-ahead from the mods before posting ROMs. If they don't mind and those issues don't bother you, I can post my compiled ROMs up.

@Kippykip 's fork of the engine has a soundtrack that sounds much more like the original PC MIDI tracks, and I'd love to know how that conversion works. It would easily solve the music problem. I think I could replace the sounds though, just need to replace the .wav files before I compile.
 

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,750
Country
Italy
It's definitely possible to compile it, I've done it before. I think it would be legal to redistribute it as well as a ROM file instead of a patch, Freedoom being free content and prBoom being open-source.

Possible issues:
- Sound and music. The GBA prBoom port uses custom chiptune recreations of the Doom and Doom 2 soundtrack. Also uses a specially packaged version of the Doom sound set. I'm not sure if it's legal to redistribute these (DoomRL gets away with it, so I don't know), but regardless you wouldn't have Freedoom's audio in the game.
- Playability. I didn't do a complete playthrough of Freedoom when I compiled it, it was more an experiment to see if I could. I'm fairly certain the levels are more complex than vanilla judging by how much bigger the ROMs were. It could be that the engine just chugs or even crashes.

I'm more concerned about the sound/music legality, so I'd wait for a go-ahead from the mods before posting ROMs. If they don't mind and those issues don't bother you, I can post my compiled ROMs up.

@Kippykip 's fork of the engine has a soundtrack that sounds much more like the original PC MIDI tracks, and I'd love to know how that conversion works. It would easily solve the music problem. I think I could replace the sounds though, just need to replace the .wav files before I compile.
Thanks again for the exhaustive reply and for the kind offer. If (and when) you can post those precompiled roms ( or patches) I' d be glad to download and try them on my DS phat through flash cart. Sorry for my bad english.
 

EvilJagaGenius

Well-Known Member
Member
Joined
May 27, 2020
Messages
110
Trophies
0
XP
341
Country
United States
Sorry about the wait! I got the OK from the mods a while ago, but then I was trying not to get swamped with schoolwork and there were a few glitches with compiling the Freedoom 1 ROM in particular. I might need to submit an issue on GitHub later. Anyway, here's the ROMs. I used Freedoom version 0.12.1 and Doomhack's 2.0 version of the engine. I didn't figure out how to change the audio yet, so this is using the Doom chiptune soundtracks and sound set, but the mods said it was alright.

https://drive.google.com/file/d/1BmjOPRMUaEgoGEw3Cwv3QTBlXZUvgNl1/view?usp=sharing
 

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,750
Country
Italy
Sorry about the wait! I got the OK from the mods a while ago, but then I was trying not to get swamped with schoolwork and there were a few glitches with compiling the Freedoom 1 ROM in particular. I might need to submit an issue on GitHub later. Anyway, here's the ROMs. I used Freedoom version 0.12.1 and Doomhack's 2.0 version of the engine. I didn't figure out how to change the audio yet, so this is using the Doom chiptune soundtracks and sound set, but the mods said it was alright.

https://drive.google.com/file/d/1BmjOPRMUaEgoGEw3Cwv3QTBlXZUvgNl1/view?usp=sharing
I tried the first stage of both games on gba sp and ds lite and they work great, the graphics are fluid and only the sound of the first one is a little crackling. All in all it is almost a miracle to be able to enjoy them on game boy advance. Equally nice would be playing tnt, plutonia, memento mori and others vanilla compatible wads on this hardware, but perhaps it would be asking too much to whom already has kindly done a lot. Thanks again.
 

WindowToaster

New Member
Newbie
Joined
Sep 15, 2020
Messages
2
Trophies
0
Age
38
XP
43
Country
United States
I tried compiling freedoom1.wad myself, and I was able to press "New game," but then this blue screen with white text popped up. I can actually hear Freedoom's E1M1 music (Not Doom's E1M1 music) playing on this screen. Does anyone know what I did wrong?

W_GetNumForName: Map01 not fou
nd

Video
 

WindowToaster

New Member
Newbie
Joined
Sep 15, 2020
Messages
2
Trophies
0
Age
38
XP
43
Country
United States
I just answered my own question, and got freedoom1.wad working as a GBA rom.

Here's how to do it / what I did:
1: Make a duplicate of freedoom1.wad. I renamed the duplicate to freedoom12L.wad, so I will be referring to it as that.
2: Open freedoom12L.wad in a text editor. Change the first letter from uppercase "I" to uppercase "P." The beginning should now read: PWAD
3: Open freedoom12L.wad in a Doom editor. I used SLADE. Rename all the tags in E#M# format to MAP## format. The first one should be called MAP01, then MAP02... all the way down to MAP36.
4: Save the file and close the Doom editor.
5: Open it in the text editor, again. change "P" back to "I
." The beginning should now read: IWAD
It should now work with the GBA compiler.

Another thing to take note of is that the when you use the GbaWadUtil, do not copy the freedoom12L.wad.c as soon as it appears. Instead, wait until the command window returns with the prompt for you to type another command. Usually, this looks line "
C:\devkitPro\projects\GBADoom-master\GbaWadUtil>", with a flashing underscore after it. You can then close the GbaWadUtil.

--------------------- MERGED ---------------------------

I tried compiling freedoom1.wad myself, and I was able to press "New game," but then this blue screen with white text popped up. I can actually hear Freedoom's E1M1 music (Not Doom's E1M1 music) playing on this screen. Does anyone know what I did wrong?

W_GetNumForName: Map01 not fou
nd

Video


I just answered my own question, and got freedoom1.wad working as a GBA rom.

Here's how to do it / what I did:
1: Make a duplicate of freedoom1.wad. I renamed the duplicate to freedoom12L.wad, so I will be referring to it as that.
2: Open freedoom12L.wad in a text editor. Change the first letter from uppercase "I" to uppercase "P." The beginning should now read: PWAD
3: Open freedoom12L.wad in a Doom editor. I used SLADE. Rename all the tags in E#M# format to MAP## format. The first one should be called MAP01, then MAP02... all the way down to MAP36.
4: Save the file and close the Doom editor.
5: Open it in the text editor, again. change "P" back to "I
." The beginning should now read: IWAD
It should now work with the GBA compiler.

Another thing to take note of is that the when you use the GbaWadUtil, do not copy the freedoom12L.wad.c as soon as it appears. Instead, wait until the command window returns with the prompt for you to type another command. Usually, this looks line "
C:\devkitPro\projects\GBADoom-master\GbaWadUtil>", with a flashing underscore after it. You can then close the GbaWadUtil.
 
  • Like
Reactions: Tarmfot

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,750
Country
Italy
Sorry about the wait! I got the OK from the mods a while ago, but then I was trying not to get swamped with schoolwork and there were a few glitches with compiling the Freedoom 1 ROM in particular. I might need to submit an issue on GitHub later. Anyway, here's the ROMs. I used Freedoom version 0.12.1 and Doomhack's 2.0 version of the engine. I didn't figure out how to change the audio yet, so this is using the Doom chiptune soundtracks and sound set, but the mods said it was alright.

https://drive.google.com/file/d/1BmjOPRMUaEgoGEw3Cwv3QTBlXZUvgNl1/view?usp=sharing
Unfortunately freedoom1 crashes on GBA SP and DS before fifth stage, with the following message: 'failure trying to allocate 157296 bytes'.
 
  • Like
Reactions: Tarmfot

Kippykip

j e f f
Member
Joined
Mar 30, 2013
Messages
543
Trophies
0
Website
kippykip.com
XP
643
Country
Australia
@Kippykip 's fork of the engine has a soundtrack that sounds much more like the original PC MIDI tracks, and I'd love to know how that conversion works. It would easily solve the music problem. I think I could replace the sounds though, just need to replace the .wav files before I compile.
Me and Sakitoshi just use OpenMPT to import the midis and try to convert it to the traditional .IT impulse tracker format. Although a lot of manual tweaking had to be done to reduce it to 4-6 channels at a time. But even then some songs don't play correctly after adjusting the tempo and need to be recreated from scratch.

With enough time and patience, you could recreate ALL the tracks to .IT by hand and have the correct tempo from the get go, then the music won't sound "zigzaggy" during gameplay like my fork currently does.
 
Last edited by Kippykip,
  • Like
Reactions: EvilJagaGenius

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,750
Country
Italy
That's what I was afraid of when I thought Freedoom had more complex levels. I guess the GBA doesn't have the RAM to handle it.
I only recently realized that you used Freedoom v.0.12.1 to convert to gba format, while only up to v.0.10.1 was Boom/PrBoom considered as the main compatibility target.
This perhaps explains why the game crashes/freezes loading some maps, exceeding the memory limits of the gba.
I suppose older versions are better suited for gba and would not have this drawback.
 

Bazooka_Face

Well-Known Member
Member
Joined
Jan 21, 2018
Messages
121
Trophies
0
Age
78
XP
481
Country
United States
Sorry about the wait! I got the OK from the mods a while ago, but then I was trying not to get swamped with schoolwork and there were a few glitches with compiling the Freedoom 1 ROM in particular. I might need to submit an issue on GitHub later. Anyway, here's the ROMs. I used Freedoom version 0.12.1 and Doomhack's 2.0 version of the engine. I didn't figure out how to change the audio yet, so this is using the Doom chiptune soundtracks and sound set, but the mods said it was alright.

https://drive.google.com/file/d/1BmjOPRMUaEgoGEw3Cwv3QTBlXZUvgNl1/view?usp=sharing

how did you get freedoom 1 to be identified as doom 1? When i compile it with freedoom as the iwad, it requests map01, plays the doom 2 music, then says MAP01 not found. I would like to compile it with my config, as I changed the controls to match the gbadoom1 control scheme, as I prefer them more than 2.
 
Last edited by Bazooka_Face,

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,750
Country
Italy
While waiting for that person you quoted to answer you, I take the liberty of saying something. It would seem that even if Freedoom is an Iwad, it should be considered, during the conversion to .gba rom, as any Pwad, as already suggested by a previous user:

"Here's how to do it / what I did:
1: Make a duplicate of freedoom1.wad. I renamed the duplicate to freedoom12L.wad, so I will be referring to it as that.
2: Open freedoom12L.wad in a text editor. Change the first letter from uppercase "I" to uppercase "P." The beginning should now read: PWAD
3: Open freedoom12L.wad in a Doom editor. I used SLADE. Rename all the tags in E#M# format to MAP## format. The first one should be called MAP01, then MAP02... all the way down to MAP36.
4: Save the file and close the Doom editor.
5: Open it in the text editor, again. change "P" back to "I." The beginning should now read: IWAD
It should now work with the GBA compiler.

Another thing to take note of is that the when you use the GbaWadUtil, do not copy the freedoom12L.wad.c as soon as it appears. Instead, wait until the command window returns with the prompt for you to type another command. Usually, this looks line "C:\devkitPro\projects\GBADoom-master\GbaWadUtil>", with a flashing underscore after it. You can then close the GbaWadUtil."

I apologize if what I wrote did not answer your question.

P.S. I remind you that only up to v. 0.10.1 is PrBoom compatible; the most recent is not and crashes at some point.

Greetings.:)
 

Bazooka_Face

Well-Known Member
Member
Joined
Jan 21, 2018
Messages
121
Trophies
0
Age
78
XP
481
Country
United States
While waiting for that person you quoted to answer you, I take the liberty of saying something. It would seem that even if Freedoom is an Iwad, it should be considered, during the conversion to .gba rom, as any Pwad, as already suggested by a previous user:

"Here's how to do it / what I did:
1: Make a duplicate of freedoom1.wad. I renamed the duplicate to freedoom12L.wad, so I will be referring to it as that.
2: Open freedoom12L.wad in a text editor. Change the first letter from uppercase "I" to uppercase "P." The beginning should now read: PWAD
3: Open freedoom12L.wad in a Doom editor. I used SLADE. Rename all the tags in E#M# format to MAP## format. The first one should be called MAP01, then MAP02... all the way down to MAP36.
4: Save the file and close the Doom editor.
5: Open it in the text editor, again. change "P" back to "I." The beginning should now read: IWAD
It should now work with the GBA compiler.

Another thing to take note of is that the when you use the GbaWadUtil, do not copy the freedoom12L.wad.c as soon as it appears. Instead, wait until the command window returns with the prompt for you to type another command. Usually, this looks line "C:\devkitPro\projects\GBADoom-master\GbaWadUtil>", with a flashing underscore after it. You can then close the GbaWadUtil."

I apologize if what I wrote did not answer your question.

P.S. I remind you that only up to v. 0.10.1 is PrBoom compatible; the most recent is not and crashes at some point.

Greetings.:)


Yeah, i was hoping there was a was to force it as doom 1 and not need to worry about having no chapter select, and messed up intermission/level complete screens.
 

RetroGamer02

Well-Known Member
Member
Joined
Sep 15, 2021
Messages
111
Trophies
0
XP
746
Country
Canada
Hello I would like to share that I have started working on getting FreeDoom working on the GBA. I am still in the process of simplifying E1M5 and there are other maps that currently wont load but I have the audio changed and GBA option menu font altered to FreeDoom's I cant post links yet but you can find it by going to forks on DoomHacks GBADoom and looking for FreeDoom. When E1M5 and other maps are ready if I could get some testers that would be great.
 

RetroGamer02

Well-Known Member
Member
Joined
Sep 15, 2021
Messages
111
Trophies
0
XP
746
Country
Canada
Good. Well done.
Are you rebuilding both Freedoom 1 and Freedoom 2? How are you going to release them, as an xdelta patch or as a whole rom?

Currently just FreeDoom 1 and since FreeDoom is opensource software I see no reason not to include the altered wad.

--------------------- MERGED ---------------------------

Here's my current progress on simplifying E1M5.
 

Attachments

  • FreeDoomE1M5 Progress.png
    FreeDoomE1M5 Progress.png
    340.2 KB · Views: 118

RetroGamer02

Well-Known Member
Member
Joined
Sep 15, 2021
Messages
111
Trophies
0
XP
746
Country
Canada
Why do you need to simplify this map? Maybe it's too big?
And is it the only one that needs to be adapted in this way?:unsure:
These maps need altering to load do to lack of GBA memory.
  • E1M5 WIP - Currently reduced to 290kb from 817.77kb old size.
  • E1M6 Not Started
  • E1M7 Not Started
  • E2M5 Not Started
  • E2M9 Not Started
  • E3M4 Not Started
  • E3M5 Not Started
  • E3M7 Not Started
  • E3M9 Not Started
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Nut on the hill