Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
intacowetrust

PsyDoom 1.1.1 - PSX Doom port (reverse engineered) for PC

Recommended Posts

@Chris0neilson I checked out your .cue file and it appears to be almost identical to my one, I don't believe there is any problem there. I also re-reviewed the code for the .cue parser and was unable to spot any potential problems. I suspect the issue might be with your 'DOOM.BIN' file being too small, but unfortunately the error message does not give any details about that or what size it is, and is in fact bugged - it should be saying at least what track the problem is with.

 

To that end I've just made a minor update (0.5.2) which will help with diagnosing your issue. The error message issue is now fixed and it spits out info about the problem track. I've also made tweaks to the .cue parser to make it slightly more robust.

 

Latest build (0.5.2): https://github.com/BodbDearg/PsyDoom/releases

 

Small improvements to the .cue parser:

  • Fix the error messages and provide better info on an invalid INDEX 0/1 entry. Should help with diagnosing .cue file issues.
  • Ignore PREGAP and POSTGAP commands instead of issuing an error when they are encountered.
    • PsyDoom should be able to safely disregard these.
  • Tweaks to make .cue parser more tolerant of spaces and fully case insensitive.

Share this post


Link to post

Got a question. If the game crashes due to a problem with a map, do you get an error message like the original PSX version or the application just closes? Because I've been testing the mod I did of the Doom 1 PC maps conversion (which I noticed had A LOT of texture alignment problems, naturally, since PSX is very picky about that) and PsyDoom crashes without any message whenever I try to go to E1M9. If this is the case, I think it would be very valuable for mod development to have some sort of way to display error messages in case of internal game crashes.

Share this post


Link to post
8 hours ago, Ruritanian said:

https://archive.org/download/Sony-Playstation-JP-ASIA-Part-1/Doom (Japan).zip

https://archive.org/download/Sony-Playstation-JP-ASIA-Part-1/Final Doom (Japan).zip

 

I can confirm that these Japanese rips work and play in English.  As far as I can tell, there's no censorship.

 

That's good to know, I was wondering how the NTSC-J versions played. I had heard they were almost identical to the US version apart from a few legal screens.

 

58 minutes ago, CoTeCiO said:

Got a question. If the game crashes due to a problem with a map, do you get an error message like the original PSX version or the application just closes? Because I've been testing the mod I did of the Doom 1 PC maps conversion (which I noticed had A LOT of texture alignment problems, naturally, since PSX is very picky about that) and PsyDoom crashes without any message whenever I try to go to E1M9. If this is the case, I think it would be very valuable for mod development to have some sort of way to display error messages in case of internal game crashes.

 

Yeah PsyDoom adds a few of it's own new errors (as seen in the previous page with the .cue file) but it also includes all of the original game errors, such as the infamous "Texture Cache Overflow" message and so forth. For user friendliness, the original game errors are now displayed with an easily closed error dialog similar to PsyDoom's newly added errors:

 

image.png.15ff9a48b3baf67c03fc8c21dc9eea28.png

 

The game can still be built to use the original error handling however:

 

image.png.f4044a0a67bda3a28a777515ac3e3592.png

 

As for your particular issue, it sounds like the engine just crashed in an unexpected way because of something in the map file. Maybe some bad map data or something  that exceeds engine limits in an unchecked way. I couldn't say more without taking a look at the map file. If you like I can take a look at it, maybe the engine can be made more robust in some way.

Share this post


Link to post

At high frame rates and low input lag, you suddenly realise just how good PlayStation Doom was and why Williams Entertainment were then able to make Doom 64 (which is itself a masterpiece).

 

The gameplay on this thing is way, way better than on source ports derived from id Tech 1.

Share this post


Link to post

@Ruritanian: you should only provide the relevant parts of the names (e.g. NTSC-U-D or JP-ASIA-Part-1), not links to the ROM dumps.

Share this post


Link to post
3 minutes ago, Gez said:

@Ruritanian: you should only provide the relevant parts of the names (e.g. NTSC-U-D or JP-ASIA-Part-1), not links to the ROM dumps.

For 1995 / 1996 games for which the licence held by Williams Entertainment would have expired a couple of decades ago, for which id Software isn't interested in re-releasing digitally, given that would compromise the licence Bethesda holds for the Unity port and negotiating with Williams Entertainment would be a huge legal hassle?

 

Those rom dumps, for which there's no possibility whatsoever of them ever being re-released?

Share this post


Link to post

The assets in the ROM still belong to id, and therefore openly linking to downloads of them on this forum can be a potential problem for the forum owners.

 

22 minutes ago, seed said:

Well, I don't think anyone minds that haha :p .

@Linguica might.

Share this post


Link to post
4 minutes ago, Gez said:

The assets in the ROM still belong to id, and therefore openly linking to downloads of them on this forum can be a potential problem for the forum owners.

 

@Linguica might.

archive.org lock some content due to the rights holder objecting to the content being public.  A good example is Apple podcasts which have been uploaded to archive.org.

 

Neither Sony, id Software or Williams Entertainment have objected to the Redump roms being up there.  The 'belong to id' bit is the problem here.  Many games can't be re-released because the primary rights holder doesn't own ALL of the IP in a derived work.  Apart from a lack of a market for re-released versions of these games, the costs of hiring lawyers to sort out that mess is likely to more than the profit they'd make.

 

Even Nintendo don't object to rom sets of old games being up there.  They mostly focus on YouTubers talking about how to jailbreak a Switch.

Share this post


Link to post
10 hours ago, elden4 said:

will you add smooth animation for monsters and weapons?

 

Beyond the scope for this project I'm afraid, but the code is always there to be forked if someone feels strongly enough about that. I'm trying to keep it as clean and well documented as possible so it's easy to dig in and mess around with the project.

 

20 hours ago, RonLivingston said:

Hmm. Downtown, industrial zone, gotcha, the chasm, the spirit world and the living end. Any of these levels are added in this hack?

 

PsyDoom is just a standalone binary/client and doesn't add any new levels or game data by itself. That said it will be eventually possible to play these via the GEC Master Edition disc, using PsyDoom.

 

I'm waiting to see what the final (or close to final?) layout of the ME disc is in the next beta, how passwords and episodes are handled etc. (now that we can encode ~250 levels in the password system, instead of ~60) before adding official support to PsyDoom. At the minute the GEC ME uses a bunch of different executables to split up the content but I suspect that will all be unified and housed under a single .exe now that @Erick194's reverse engineering work is complete.

 

In the meantime however it is actually possible to play levels from the GEC ME by following the following procedure:

(1) Extract the contents of the GEC ME disk using a tool like jPSXDec.

(2) Place the extracted levels you want in some folder (the MAP__.WAD/ROM, MAPSPR__.IMG and MAPTEX__.IMG files).

(3) Make sure you are using the appropriate base game for those maps with your 'Doom.cue' file. You must use Final Doom with Final Doom format maps and Doom with original PSX Doom format maps.

(4) Launch PsyDoom with the following commandline argument, pointing to the folder you placed the maps in:

PsyDoom.exe -datadir "<PATH_TO_MY_FOLDER>"

(5) PsyDoom will now use the files you placed in that folder in place of the original game maps. For example if you placed map 05 in there then map 05 will now be whatever you overwrote it to.

 

Naturally this procedure isn't very user friendly but it does the trick for now.

Share this post


Link to post

https://archive.org/download/psx-chd-roms-d/Doom (USA).chd

https://archive.org/download/psx-chd-roms-f/Final Doom (USA).chd

 

To satisfy my own curiosity, I checked whether using chdman to convert these to cue/bin worked.  It does.

 

The command is:

 

chhdman.exe extractcd -i "Doom (USA).chd" -o Doom.cue -ob Doom.bin

chhdman.exe extractcd -i "Final Doom (USA).chd" -o Doom.cue -ob Doom.bin

 

This generates a single bin file (as opposed to the multipart bins from other dumps).

 

chdman is bundled with MAME.

 

Share this post


Link to post
23 minutes ago, Ruritanian said:

https://archive.org/details/jaguar-doom

 

Jaguar Doom has its own PC source port.  Comparing like-for-like on the same levels, I'd say Nightmare on the PlayStation is far harder than the Jaguar.

Neither port has "true" Nightmare difficulty.

 

The PSX version lacks it entirely; the Jaguar version is akin to UV -fast (i.e; they don't respawn).

 

The GEC Master Edition's Nightmare is basically the same thing, but I believe it includes Nightmare's "attack immediately" thing as well, meaning the ONLY thing it's missing would be the monster respawns.

Share this post


Link to post

Honestly I imagine part of the reason why they didn't bother with Nightmare is it'd probably really hurt memory wise with all of that respawning, not to mention how much more difficult it'd be on console compared to PC when you consider the controls, the framerate, etc.

Share this post


Link to post
1 hour ago, Gregory Stephens said:

Honestly I imagine part of the reason why they didn't bother with Nightmare is it'd probably really hurt memory wise with all of that respawning, not to mention how much more difficult it'd be on console compared to PC when you consider the controls, the framerate, etc.

That's basically it, yes.

Share this post


Link to post
23 hours ago, Dark Pulse said:

The PSX version lacks it entirely; the Jaguar version is akin to UV -fast (i.e; they don't respawn).

 

It's probably more accurate to say that the PSX version still has all the nightmare code that Jaguar Doom does, but it's not exposed to the user since its selection is not allowed on the main menu. The new PSX specific password system also did not consider nightmare. With the right memory hacks however you should be able to trick the original game into running in nightmare mode, similar to how I tricked it into recording demos for PsyDoom verification (another dormant code path).

 

23 hours ago, Dark Pulse said:

The GEC Master Edition's Nightmare is basically the same thing, but I believe it includes Nightmare's "attack immediately" thing as well, meaning the ONLY thing it's missing would be the monster respawns.

 

Jaguar Doom has the same 'attack immediately' thing too, the code for it is found here:

https://github.com/Arc0re/jaguardoom/blob/392d665/p_enemy.c#L484

 

19 hours ago, Gregory Stephens said:

Honestly I imagine part of the reason why they didn't bother with Nightmare is it'd probably really hurt memory wise with all of that respawning, not to mention how much more difficult it'd be on console compared to PC when you consider the controls, the framerate, etc.

 

It's likely the extremely punishing (unfair?) difficulty more than anything. In terms of memory usage it should not make much difference since you'd just be transitioning a thing (mobj_t) from a dead state to a live state upon resurrection, without any allocation or deallocation except for some temporary respawn effects. All the things are in memory at the start of the map anyway so that's pretty much the worst case scenario right there if everything gets re-spawned.

Edited by intacowetrust

Share this post


Link to post

On both Jaguar Doom and PlayStation Doom, I've been finding Toxin Refinery E1M3 next to impossible at the start on Nightmare.  You need to get the shotgun and the imp before the first Demon comes at you, however, every time I try to work out a smart path, it ends up being down to dumb luck.

 

I'm guessing Williams Entertainment had negative feedback from play testing Nightmare and concluded that they'd be better off switching it off.

Share this post


Link to post
39 minutes ago, Ruritanian said:

I'm guessing Williams Entertainment had negative feedback from play testing Nightmare and concluded that they'd be better off switching it off.

 

Hmm, I wouldn't say that, they did have some reason not to incorporate it into the gameplay, but Doom64 also included the Nightmare difficulty.

 

N1.png.58b7dfff9051c37cab9ac08977bb2cf2.png

N2.png.0ff0a1d76cf90291de944078ee5f358c.png

Share this post


Link to post

Simple question and probably even easier to answer, but asking anyway since it's driving me nuts right now: How to get back to the menu once you are ingame?

 

Intuitively, I feel compelled to press Esc for that, but that's not doing the trick. Currently I am alt-tabbing to leave the game, but I'm sure there's a way that is more elegant than that.

Share this post


Link to post
21 minutes ago, NightFright said:

Simple question and probably even easier to answer, but asking anyway since it's driving me nuts right now: How to get back to the menu once you are ingame?

 

Intuitively, I feel compelled to press Esc for that, but that's not doing the trick. Currently I am alt-tabbing to leave the game, but I'm sure there's a way that is more elegant than that.

P/Pause/Return + Tab

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×