Page 1 of 4
Doom - PS2 Port
Posted: Tue Feb 12, 2008 4:47 am
by Lukasz
I've made a quick port of Doom to the PS2:
http://lukasz.dk/2008/02/11/doom-playstation-2-port/
Maybe someone browsing these forums will make it more complete ? :-)
Posted: Tue Feb 12, 2008 5:42 am
by J.F.
SDL-Doom 1.10 is one of the original Doom ports. Most of the existing ports have worked their way beyond Doom to the point that many only share a name and the wad file with the original game. I like to call original ports like SDL-Doom "Classic" Doom ports, while most of the new ones would be "Extended" Doom ports. It's easier to port Classic Doom as the Extended ports are invariably heavy on PC features. My own Doom port for the PSP was of the Classic variety.
I suppose I could work on PS2 Doom a bit.
Posted: Wed Feb 13, 2008 10:06 am
by cosmito
Cool !
I must try it!
I'll look at the code for the sound issue. But not for now, I have other things I would like to do on PS2 (trying to port some PSP stuff to the PS2)
J.F. : be our guest ;)
Posted: Wed Feb 13, 2008 10:19 am
by cosmito
The port plays very well!
One of the things I would add would be strafing with the right analog stick.
The run mode would be nice, although joypad buttons are running out.
And weapon cycling is also a must.
I guess I must put my hands on the source soon.
Good work Lukasz.
Posted: Wed Feb 13, 2008 10:53 am
by J.F.
ptek wrote:The port plays very well!
One of the things I would add would be strafing with the right analog stick.
The run mode would be nice, although joypad buttons are running out.
And weapon cycling is also a must.
I guess I must put my hands on the source soon.
Good work Lukasz.
If you look at my port of Doom for the PSP, you'll see it has very extensive controller mapping. There's mouse emulation, changing the detail level, changing the gamma, stepping through the weapons, and two different methods of toggling cheats (not counting the OSK which gives three methods). The code for the controller could almost be added straight into the PS2 version without much trouble.
The main thing I do about the lack of buttons is use the TRIANGLE as a shift button - holding the TRIANGLE then gives different functions for the other buttons and dpad. It's handy and doesn't make the controls too complicated.
Posted: Wed Feb 13, 2008 6:07 pm
by Lukasz
Ptek: Adding extra bindings for the joypad buttons is easy, just add them in i_video.c / void I_GetEvent(SDL_Event *Event)
J.F: Your features for the PSP port sound great, keep us posted if you update the PS2 port ;-)
Posted: Wed Feb 13, 2008 7:35 pm
by J.F.
Lukasz wrote:
J.F: Your features for the PSP port sound great, keep us posted if you update the PS2 port ;-)
I'm checking out the latest version of PrBoom Plus. Some of the "issues" people have with the current PSP Doom I did are related to the fact it was based on the classic Doom source. For example, the FreeDOOM wad file won't work with it since it was made for Boom, not Doom.
I'm keeping in mind the fact that I want to convert it equally for the PS2 as well as the PSP. I can keep a lot of what I did for my PSP Doom, like the controller code and the GUI launcher.
Posted: Wed Feb 20, 2008 9:56 am
by cosmito
I've done some modifications to the Lucasz port.
Now it loads (only) from an USB mass storage connected to the PS2 and I also changed some screen settings. So it uses a non interlaced screen and I also stretched the image to meed the original PC version aspect ratio.
Get it from here
http://ps2homebrewing.wordpress.com/200 ... t-of-doom/
There you will find two versions : One that don't change the aspect ratio and another that stretches vertically to fill the screen - I find it more close to the original PC version.
Currently only binaries are available but soon (hopefully next weekend I'll post the modificed sources - I had to change the gsKit and sdl for getting the non interlaced screen mode).
I didn't touched sound nor controller settings yet.
Posted: Wed Feb 20, 2008 10:13 am
by Chewi
If I remember rightly, the sound code in sdldoom is quite hacky. I'm not surprised it doesn't work. I think the guy was trying to make it so that sdl_mixer would not be a requirement or something like that.
I also tried to play a network game between a PC and a Mac using sdldoom once and it failed due to endian issues. If you want my advice, pursue PrBoom instead.
And sorry to break it to you but you're not the first person to run sdldoom on the PS2. That's the version I tried when I first got the framebuffer driver working with Linux 2.4. Still, the fact that you got it going without Linux is much cooler. Well done. (-;
Posted: Wed Feb 20, 2008 6:03 pm
by Lukasz
I've updated my website with a link to this thread, nice work ptek :-)
Posted: Thu Feb 21, 2008 5:56 am
by J.F.
Chewi wrote:If you want my advice, pursue PrBoom instead.
I was looking at PrBoom-Plus over the weekend. It uses SDL as well.
http://prboom-plus.sourceforge.net/
The current stable version is 2.4.8. It's probably what we should all be working on.
Posted: Thu Feb 21, 2008 7:31 am
by cosmito
Hmm nice!
Posted: Tue Mar 04, 2008 1:34 pm
by dirsors
Hi!
First, congratulations for this Doom port for PS2. I've tested on my 39001 console (wich have a 200GB hdd) and it works! I boot the game from uLaunchelf and it's very nice, but the loading screen takes a while.
I have some suggestions for this excellent port. The "Quit Game" option in main menu could be a link for an ELF (in this case, launchelf.elf on the hdd or mc) so when you quit the game, you are really doing it! hehe
Also, I couldn't make it works with others WAD files. I tried Ultimate Doom, and Doon II unsuccessfully.
I'm available to be a "beta tester" for the product. ;-)
Posted: Mon Mar 17, 2008 8:41 am
by cosmito
A very small update - enabled keyboard support. As simple as enabling it on SDL and do a rebuild :)
Get it here the binary :
http://ps2homebrewing.wordpress.com/200 ... -update-1/
@ dirsors,
I played sucessfully doom2 and doom ultimate... If you tried to run my modified version that loads from the USB keep in mind the WADs are expected to be at the root of the USB device.
Posted: Fri Mar 21, 2008 11:23 am
by FeedBucket
I got the sound working in the lsdldoom port I did about a year ago. I pretty much just rewrote all the sound code to use SDL_Mixer and resampled the sounds to work with the PS2 implementation -- most of it's in l_sound_sdl.c. I think towards the end I kind of went nuts and tried getting music to work too, first using a hacked up version SDL_Mixer I added midi support to, and then by reading wads with mod music embedded. I don't think either of them really panned out.
Here's the last version of the sources I could find. I don't know if it compiles, but feel free to take a look at anything that could help out.
http://www.jasonyu.net/ps2/lsdldoom-bundle.zip
[/url]
Posted: Fri Mar 21, 2008 8:00 pm
by Lukasz
I just tried your port FeedBucket, it compiles just fine and sound effects do in fact work, however music doesn't (as you mention).
I compiled your port with romfs support and included the DOOM shareware data, which should run from both host, cdrom, etc.
Download here:
http://lukasz.dk/files/lsdldoom-ps2-bin.zip
Included is DOOM.ELF and DOOMP.ELF (DOOM.ELF packed with ps2-packer)
I think further work should be done on this work instead of my hackish one, as it seems more complete ;-)
As a note, I sometimes got an exception when running the DOOM.ELF using PS2Link without romfs support.
Posted: Fri Mar 21, 2008 8:53 pm
by cosmito
Thank you FeedBucket and Lukasz!
Although the J.F. suggestion to go for a full PrBoom port is the best thing to do (more compatible with the custom wads outhere) this will keep us busy with something to play in the meanwhile - with sound :)
Very cool
Posted: Sat Mar 22, 2008 10:00 am
by cosmito
Posted: Sat Mar 22, 2008 6:20 pm
by Lukasz
I tried to reuse the sound code in lsdldoom in my port, however I got nothing but noise and its clear when you study the sources, there are alot of differences between the two.
I'd say the difference is so great, that there is no point in continuing my port, but just work on getting music working in Jason Yu's port and you will have a pretty good port.
Posted: Sat Mar 22, 2008 9:38 pm
by cosmito
I'd say the difference is so great, that there is no point in continuing my port, but just work on getting music working in Jason Yu's port and you will have a pretty good port.
OK, since my free time is limited (as for everyone else in this world) i'll consider to focus on Yu's port only. My biggest worry about this port was the colour pallete, but it seems it sets a higher gamma adjustment level at startup, so it's no big deal - I'll just set one level or two below.
About your modifications, could you please also publish the sources? I never did some romfs integration. Although I believe it should be simple to use, it may be useful as an example for me and others interested. Anyway I don't pretend to use it with this project, since I pretend to do a WAD selector instead.
Posted: Sat Mar 22, 2008 10:01 pm
by cosmito
I was thinking in creating a SVN repository to host the source for the lsdldoom so any interested could both checkout and commit its contributions.
I already know and used assembla.com for free SVN hosting and I heard of Google Code although didn't use the latter yet. Does anyone have other suggestions? What would be the best for hosting and allowing others to commit ?
Posted: Sun Mar 23, 2008 3:50 am
by Lukasz
ptek wrote:
About your modifications, could you please also publish the sources? I never did some romfs integration. Although I believe it should be simple to use, it may be useful as an example for me and others interested. Anyway I don't pretend to use it with this project, since I pretend to do a WAD selector instead.
I didn't actually add romfs support, I just enabled it. Look in Makefile.romfs and l_main.c. You basically just need to include Makefile.romfs in the Makefile, uncomment the romfs code in l_main.c and generate the romdisk with genromfs from the romfs project.
Posted: Sun Mar 30, 2008 8:25 pm
by ttguy
Lukasz wrote:
I compiled your port with romfs support and included the DOOM shareware data, which should run from both host, cdrom, etc.
Download here:
http://lukasz.dk/files/lsdldoom-ps2-bin.zip
Included is DOOM.ELF and DOOMP.ELF (DOOM.ELF packed with ps2-packer).
So ... I am almost a complete NOOB to homebrew PS2 stuff. But I have managed to get Unofficial LaunchELF ver v4.12 (2007.02.16) installed on my memory card and can cause it to launch SMS Version 2.7.elf (Simple Media System) and can play DivX on my PS2 - nice.
And I got all excited when I saw Lukasz' "lsdldoom-ps2-bin.zip" and figured all I have to do is to browse to the DOOM.ELF on my USB drive using LaunchELF and select it. However, LaunchELF reports "this is not an ELF file".
What would I be doing wrong? Should I expect this to work.
Help the NOOB !
Posted: Sun Mar 30, 2008 10:15 pm
by cosmito
ttguy wrote:And I got all excited when I saw Lukasz' "lsdldoom-ps2-bin.zip" and figured all I have to do is to browse to the DOOM.ELF on my USB drive using LaunchELF and select it. However, LaunchELF reports "this is not an ELF file".
Yes it should work. Could the zip file be corrupted? Try download it again. Since you browsed on uLaunchELF to the USB drive I presume your USB pen is compatible with the PS2. Have you managed to launch form USB other homebrew like the SMS?
Posted: Sun Mar 30, 2008 11:42 pm
by ttguy
ptek wrote:ttguy wrote:And I got all excited when I saw Lukasz' "lsdldoom-ps2-bin.zip" and figured all I have to do is to browse to the DOOM.ELF on my USB drive using LaunchELF and select it. However, LaunchELF reports "this is not an ELF file".
Yes it should work. Could the zip file be corrupted?
Thanks for the encoragement that I was on the right track.
It turns out that the DOOM.ELF became corrupted as it was copied to my USB drive - I could tell because when trying to copy it back to the PC I had a "cyclic redundancy" error. I recall this error on this USB drive in the past. But copying it across again has made it work.
So yay I have this working. My problem now is that I think it is a NTSC version - if that makes sense. I have a PAL TV that only does a piss poor job of displaying NTSC.
When I tell it to treat the signal from the Doom port as PAL the display flickers and rolls around. And when I treat the signal as NTSC it is steady but black and white.
And this is all very similar to what I found when building my LaunchELF. I had the same behaivour with it until I changed the SYSTEM.CNF file to have VMODE = PAL rather than VMODE = NTSC
Is there something similar to do with the DOOM.ELF or does it need to be rebuilt with some setting changed?
Posted: Mon Mar 31, 2008 1:07 am
by diegox758
I Tested the Lsdldoom port, it function great, and with sound, but my problem is the WADs, i put the wad and the DOOM.elf on the root of my pendrive, but the DOOM just don't use that wad,
what i'm dooing wrong??
thanks
EDIT:
I just Downloaded lsdldoom-ps2_v001.rar and it does not start
So what can i do?
thanks for the great work both Lukasz and ptek
and keep making ports please
Posted: Mon Mar 31, 2008 5:21 am
by cosmito
ttguy wrote:And this is all very similar to what I found when building my LaunchELF. I had the same behaivour with it until I changed the SYSTEM.CNF file to have VMODE = PAL rather than VMODE = NTSC
The graphic library being used tries to detect automatically the TV signal type : NTSC or PAL. Maybe your TV doesn't identify this properly? The fact you must specify the PAL on the uLaunchELF case let me suspect of that... I guess I could do a special build for PAL and send it to you for testing in the meanwhile, since the proper way is to do add a configuration option to the lsdldoom.
ttguy wrote:Is there something similar to do with the DOOM.ELF or does it need to be rebuilt with some setting changed?
I guess there will be :)
Posted: Mon Mar 31, 2008 5:35 am
by cosmito
diegox758 wrote:I Tested the Lsdldoom port, it function great, and with sound, but my problem is the WADs, i put the wad and the DOOM.elf on the root of my pendrive, but the DOOM just don't use that wad,
what i'm dooing wrong??
thanks
If you are refering to the Lukasz port of lsdldoom (aprox. 6MB for DOOM.ELF and 2.3MB for the packed DOOMP.ELF), this uses a self-contained WAD, so it uses this one regardless of any other you put on the pen drive.
diegox758 wrote:
EDIT:
I just Downloaded lsdldoom-ps2_v001.rar and it does not start
So what can i do?
Now this version in fact don't have any WAD "attached" and expects to load from USB (or host: device). For some reason it seems to be failing in your case. Have you tried load any other homebrew from your pen, such as SMS? If so, does the SMS upon started can play media files from your USB pen?
diegox758 wrote:
thanks for the great work both Lukasz and ptek
and keep making ports please
Man, I just would like to be rich so I would not need to work and have more free time. Jobs take too much time of our lives.
Posted: Mon Mar 31, 2008 6:08 am
by diegox758
I was using the lsdldoom that doesn't come with any built in wad, but the problem, is with the wad, the program just recognize "Oficial Wads" not the customs made by fans.
I'm happy playing Doom and having a lot problem at level 18 LoL
and again thank all of you for this Great Work
Man, I just would like to be rich so I would not need to work and have more free time. Jobs take too much time of our lives.
Sorry i'm have 13 years so i have a lot of free time, sometimes i forgot the lives hard for adult, having to work 8hrs per day.
Posted: Mon Mar 31, 2008 6:54 am
by cosmito
diegox758 wrote:I was using the lsdldoom that doesn't come with any built in wad, but the problem, is with the wad, the program just recognize "Oficial Wads" not the customs made by fans.
Hmm so this port have the problem too... I wasn't aware of that. I guess the right path is to port prBoom like J.F. suggested.
diegox758 wrote:
I'm happy playing Doom and having a lot problem at level 18 LoL
and again thank all of you for this Great Work
99.999% of the credits goes to Jason Yu.
diegox758 wrote:
Sorry i'm have 13 years so i have a lot of free time, sometimes i forgot the lives hard for adult, having to work 8hrs per day.
No problem, I was not upset, it was just a remark. So my advice is to enjoy your free time as more you can :) Or get rich soon :)