1. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    Country:
    Italy
    Hi everyone. Is there anyone capable to compile Freedoom on gba through the recent, awesome prBoom port (how it happened with Chex quest), and provide a free, legal IPS patch? Thanks in advance.
     
  2. EvilJagaGenius

    Newcomer

    Joined:
    May 27, 2020
    Messages:
    28
    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.
     
  3. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    Country:
    Italy
    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.
     
  4. EvilJagaGenius

    Newcomer

    Joined:
    May 27, 2020
    Messages:
    28
    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
     
    zfreeman and (deleted member) like this.
  5. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    Country:
    Italy
    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.
     
  6. GValiente

    GValiente Member
    Newcomer

    Joined:
    Sep 14, 2020
    Messages:
    39
    Country:
    Spain
    Awesome! Thanks a lot for your work.
     
  7. WindowToaster

    WindowToaster Newbie
    Newcomer

    Joined:
    Sep 15, 2020
    Messages:
    2
    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
    Green Joy-Con D-Pad Shells for Nintendo Switch
     
  8. WindowToaster

    WindowToaster Newbie
    Newcomer

    Joined:
    Sep 15, 2020
    Messages:
    2
    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.

    — Posts automatically merged - Please don't double post! —

    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.
     
  9. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    Country:
    Italy
    Unfortunately freedoom1 crashes on GBA SP and DS before fifth stage, with the following message: 'failure trying to allocate 157296 bytes'.
     
  10. EvilJagaGenius

    Newcomer

    Joined:
    May 27, 2020
    Messages:
    28
    Country:
    United States
    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.
     
  11. Kippykip

    Kippykip j e f f
    Member

    Joined:
    Mar 30, 2013
    Messages:
    537
    Country:
    Australia
    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, Sep 18, 2020
    EvilJagaGenius likes this.
  12. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    Country:
    Italy
    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.
     
  13. Bazooka_Face

    Bazooka_Face Advanced Member
    Newcomer

    Joined:
    Jan 21, 2018
    Messages:
    83
    Country:
    United States
    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, Apr 21, 2021
  14. Nikokaro

    OP Nikokaro Mycenaean hideous survivor(s)
    Member

    Joined:
    Feb 3, 2020
    Messages:
    315
    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.:)
     
  15. Bazooka_Face

    Bazooka_Face Advanced Member
    Newcomer

    Joined:
    Jan 21, 2018
    Messages:
    83
    Country:
    United States

    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.
     
Draft saved Draft deleted