Jump to content

The Play Station Doom Source Code Released! (Reverse Engineering)


Erick194

Recommended Posts

10 minutes ago, andrewj said:

Thread title seems misleading, as though the real (original) source code was released.

As close as we're going to get most likely. As far as anybody knows (and I know a few people who are authoritative on the matter), it's lost for good.

Share this post


Link to post

Already found a problem with Calico by looking at this. In p_shoot.c there's a function PA_CrossDivlineSide which says "exclusive psx version"; however this seems not true - looking back at the Jag source I've noticed the same function is PA_DivlineSide. In the current Calico build I've accidentally redirected it to call the P_CrossDivlineSide from p_maputl.c, which is entirely different code. This might be responsible for the demo desyncs that plague Calico so I'll have to give changing it a try.

Edited by Quasar

Share this post


Link to post

@Quasar You're right, I just checked the p_shoot.gas and if that function exists, my question is if the code is well converted in my version, right now I will change the name.

 

Share this post


Link to post

By the way, I am wondering if completing the Final Doom source code means / implies that its maps can be decoded into a usable format so that they can be processed by XymphBot.

Share this post


Link to post
2 hours ago, Quasar said:

(and I know a few people who are authoritative on the matter)

Wouldn't the authoritative people basically include you at this point? :V

Edited by Edward850

Share this post


Link to post

@Erick194 many congratulations on achieving this huge milestone! Having reversed some parts of the binary myself, I know only too well how time consuming this process is and how much focus and dedication it takes. To carry this effort out over 2 and a 1/2 years takes tons of commitment - I applaud your efforts sir!

 

This source code should serve as an invaluable reference for Doom community in the years to come and help fill in a missing part of Doom's history.

 

I also look forward to being able to use this as a reference to advance the aim of running PSX Doom natively on PC, via 'PsyDoom'. Hopefully along the way I can contribute additional refinements to or explanations for the interpretations of this source and call out any bugs (hopefully none!) that I may find. I'm sure others in the Doom community can also do the same. My very weird (currently, at least) semi-emulated/semi-native runtime environment forces me to go through this code manually and convert over gradually, so as a bonus side effect you'll also be getting a free code-review/verification of all this stuff to ensure it's accuracy :)

 

Thanks once again for sharing this with the community and well done on reaching completion of this project!

 

2 hours ago, Gothic said:

Should Erick194 get the title "PSXDoom guru", similar to Kaiser, or is it too soon?


If single handedly reversing an entire binary of a game does not make you an expert on it, then I don't know what does! :)

Share this post


Link to post

I appreciate your comment, but something is certain, from now on your project is also important for me and we will both receive mutual help.

Share this post


Link to post
18 minutes ago, Erick194 said:

I appreciate your comment, but something is certain, from now on your project is also important for me and we will both receive mutual help.

 

Sounds great, looking forward to working with you more on this! :)

Share this post


Link to post

I still have to finish Final Doom, and you're not interested in Hexen and Quake 2 for PSX, it's something I plan to reverse in the future.

Share this post


Link to post
2 hours ago, Erick194 said:

@Quasar You're right, I just checked the p_shoot.gas and if that function exists, my question is if the code is well converted in my version, right now I will change the name.

 

My cursory review suggests the GAS implements the same logic you have in your code, though I've gotten seriously rusty at reading the stuff since I (mostly) finished the project.

Share this post


Link to post

Btw this is a great achievement, a historic undertaking and a definitive progression step towards full PSX compatibility on PC in terms of levels, monsters, rendering and more.

Share this post


Link to post

We've had a lot of great projects over the years, but this, in conjunction with PsyDoom, irrefutably hails 2020 as the year of PSX Doom in our community. 

Share this post


Link to post

Congratulations 🎂

I went into this thread in order to thank @Erick194 and GEC Team for the efforts. Many have been waiting for this for 20+ years, and it came true.

Share this post


Link to post
On 2/2/2020 at 11:35 PM, Erick194 said:

I still have to finish Final Doom, and you're not interested in Hexen and Quake 2 for PSX, it's something I plan to reverse in the future.

@intacowetrust I just found an error in this sentence... What my brothet meant was: are you interested in working on both PSX Hexen and Quake 2?? Because it's something he is interested in...

Share this post


Link to post
4 hours ago, Gerardo194 said:

@intacowetrust I just found an error in this sentence... What my brothet meant was: are you interested in working on both PSX Hexen and Quake 2?? Because it's something he is interested in...

 

Ah I see - thanks for clarifying @Gerardo194! I'll likely be busy with PsyDoom and the eventual 'high res' fork and/or limit removing work for quite a while, and maybe eventually some tooling stuff to make new music for the game. I'm very impressed by this guy's work and want to see if it can make its way into some WADS:

https://www.youtube.com/channel/UC63VIPOgIiAsAk7MSyN1eJQ/videos

 

After that though I'm not sure; I wouldn't rule anything out but it's likely I'll take a break from reverse engineering stuff for a while. We'll see...

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...