Archive for March, 2008

LSDLDOOM-PS2 : Update 2

March 26, 2008

It seems the hang ups doesn’t happens in the ROMFS self-contained version, like Lukasz’s compiled here. I suspect from USB and sound RPC issues but I must admit I’m a newbie concerning these drivers (nope, it’s something else. I’ll keep trying to spot the bug ASAP) I’ve done some debugging. Until I have more clues, I also added ROMFS support like Lukasz did. So get it here. If it crashes (hangs, or something weird) drop a comment please.


So, this version have the shareware doom1.wad included (no loading of other WADs – this is the disadvantage of the ROMFS thing) and all the feature I presented in the previous versions, although the option “Now left analog stick does rotation and right does straffing” cannot be disabled.

The recipe to ROMFS support : Like Lukasz said, I was a matter of adding the line “include Makefile.romfs”at the end of the Makefile, uncomment the “#include <romfs_io.h>” and “rioInit();” at l_main.c, creating a directory called “romdisk” and putting there the extra files (the “boomlump.wad”, “strafeonrightjoy.dat” (optional)  and “doom1.wad” or other any WAD you have instead goes here – use lower case for the filename!), doing a “make -f Makefile.romfs romdisk.img” followed by a “make -f Makefile.romfs romdisk.o” and finally a “make”.

Bugs …

March 24, 2008

Hmm I’ve been playing the lsdlDoom port and the lock ups are more frequent than I was expecting. It looks there’s some bugs out there… Debugging is difficult without decent tools :S I hope it’s an easy to track bug.

LSDLDOOM-PS2 : Update 1

March 24, 2008

Some really minor changes. I changed the following defaults :

  1. Gamma now set to minimum. I prefer the colours this way IMHO.
  2. Press R3 button to change gamma if you prefer.
  3. Sound now is set to maximum.
  4. Press cross button to run. Previously was L3.
  5. Press L3 to display map. Was none previously.
  6. Now left analog stick does rotation and right does straffing. Previously was the opposite.
  7. Square button now changes between last two weapons.

Don’t forget you can set/change the button mappings in menu “Options/Setup/Key Bindings”. These settings aren’t stored at the moment.

All I do was set some new defaults for my personal taste, so no fundamental code changes were made, although I added some bindings when none were set at the code (like point 2, 5 and 7).

About point 6, I find more intuitive this way. I did a quick and dirty hack, so if you want the original analog sticks behaviour, just delete the file “strafeonrightjoy.dat” : in the future, there should be configurable in a config file or from the menu.

About point 7, some better way to cycle through all the weapons should be implemented later.

Get version 0.0.2 :


BTW : There might be some hang-ups during gameplay – it seems there is a bug in the code, already detected by Lukasz (the exception he mentions).

LSDLDOOM-PS2 : Another flavour of Doom for the PS2

March 21, 2008

Suddently, it seems Doom is popular on the PS2 for the second time. This is the second public port to reach the console, and this time, it has sound !

All credits goes to Jason Yu for making this possible. Check this thread :

So, Lukasz also did a fine job and wrapped it with the shareware doom WAD file, so from >here< you can get a full contained version (one ELF file only) bundled with the shareware WAD.

However I decided to take the source and do some simple changes.

Get if here :


First, I’ve got rid of that flickering interlaced screen mode and fixed the aspect ratio to match the original from the PC version, as I did for the other Doom port.

Secondly, I did nothing to the Yu’s sources 🙂 That it, those already supported loading from USB storage, so you can take my modified version, put on a USB pen along with the included boomlump.wad file and finally add a Doom WAD of your choice : doom.wad, doom1.wad, doom2.wad, doomu.wad, plutonia.wad, tnt.wad and doom2f.wad seems to be supported. Remember to put both the WAD files on the root of the USB device, otherwise it will not load. Just a comment : It seems there is an issue with the USB data fetching causing a hang-up. It shows often during the recorded play behind the menu at start, so begin a new game as soon as possible! 🙂 I really don’t know if it’s a bug of this port, but I strongly suspect it may be due to the concorrency of the audio playing routines and USB driver, since both uses the IOP and the PS2 is not very multi-tasking as you may know.

Anyway, this is only a small update to the excellent work of Jason Yu. There is room for a lot of improvements, such as better controls, a WAD selector, and a way to select weapons of course. Speaking of controls, from the menu select the READ ME to view the currently mapped joypad buttons.

What I plan now : apply the sound sources to the Lukasz port. Let’s see how things progress – it might be more complicated than I’m hoping.

Modified PS2 port of Doom – Update 1

March 16, 2008

Yesterday I was looking at the source to see how could I enable keyboard support. In fact it was very simple, since PS2 SDL already have support for it, it was just a matter of enabling it on the SDL makefile (HAVE_INPUT_DEVICES=1) and do a rebuild.

 Unfortunably it seems to be an issue when loading from a USB mass storage from uLaunchELF 4.12 and enabling the keyboard support… When I try to load it using uLaunchELF, it didn’t started. But launching it from network using PS2client/PS2link it worked fine, even the version that loads the WAD from USB. There must be differences from the way uLaunchELF and ps2client executes the ELFs. I tried to do a IOP reset from the doom.elf but nothing changed.

So, at the moment, a keyboard enabled version is available here but it must be executed from the network.

If you have the means from launching from the USB using other than uLaunchELF 4.12 (Datel AR, older uLaunchELF, whatever) and want to try for yourself, try this. If it works, drop me a comment.

Now enjoy keyboard support!

(I didn’t have yet the time to look properly to the sound issues and/or enhance the joystick controller…)