Erick194 Posted February 3, 2020 Greetings everyone!! The time has come...I have finally finished the reverse engineering of PSXDoom. This code is from the first version released of the PSXDoom game, not the Greatest Hits one. Although this source code already has some fixes from the Greatest Hits version that will be upgraded through time. This will also support to the reverse enginneing project PsyDoom by @intacowetrust and also for fixing any bug I don't notice at this moment if there are any... With this release, the main goal is re-build Final Doom Source Code and thus adding mouse support to PSXDoom, also adding Icon of Sin, Arch Viles, SS and Keen in the future. If you want to make use of this project and compile it, you must follow the instructions in order to use the PSYQ-SDK correctly (Please read Read Me text) This version can be run both in emulators and real hardware. Beforehand, thank you for your patience all this time. I'm waiting for improving this project for PSXDoom Master Edition for future releases. Any doubts or questions about compilation, don't hesitate to ask me!! Any suggestions that can be made if possible in the future, will be very welcome!! Please, visit my GitHub to get the source code. https://github.com/Erick194/PSXDOOM-RE 59 Quote Share this post Link to post
B-Dawg Posted February 3, 2020 Excellent work! Good luck with PsyDoom by the way 4 Quote Share this post Link to post
Redneckerz Posted February 3, 2020 Nice! Really! This will get covered. Btw, this is not DZDoom, right? 0 Quote Share this post Link to post
Erick194 Posted February 3, 2020 (edited) It is not DZDoom, it is the original PSXDOOM. Edited February 3, 2020 by Erick194 0 Quote Share this post Link to post
Redneckerz Posted February 3, 2020 25 minutes ago, Erick194 said: It is not DZDoom, it is the original PSXDOOM. Noted. So a reverse engineered source then :) 0 Quote Share this post Link to post
Erick194 Posted February 3, 2020 Exact, compilable and executable for the real hardware psx. 2 Quote Share this post Link to post
andrewj Posted February 3, 2020 Thread title seems misleading, as though the real (original) source code was released. 5 Quote Share this post Link to post
Quasar Posted February 3, 2020 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. 3 Quote Share this post Link to post
Gaia74 Posted February 3, 2020 I never thought this would be possible, incredible work! 2 Quote Share this post Link to post
Gothic Posted February 3, 2020 Should Erick194 get the title "PSXDoom guru", similar to Kaiser, or is it too soon? 5 Quote Share this post Link to post
Quasar Posted February 3, 2020 (edited) 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 February 3, 2020 by Quasar 2 Quote Share this post Link to post
Erick194 Posted February 3, 2020 That is excellent, if so, I must change the name also to PA_DivlineSide. 0 Quote Share this post Link to post
Erick194 Posted February 3, 2020 @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. 2 Quote Share this post Link to post
Diabolución Posted February 3, 2020 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. 1 Quote Share this post Link to post
Edward850 Posted February 3, 2020 (edited) 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 February 3, 2020 by Edward850 1 Quote Share this post Link to post
intacowetrust Posted February 3, 2020 @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! :) 9 Quote Share this post Link to post
Erick194 Posted February 3, 2020 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. 6 Quote Share this post Link to post
intacowetrust Posted February 3, 2020 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! :) 4 Quote Share this post Link to post
Erick194 Posted February 3, 2020 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. 3 Quote Share this post Link to post
Quasar Posted February 3, 2020 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. 2 Quote Share this post Link to post
Erick194 Posted February 3, 2020 That really makes me happy, thanks again for identifying it. 3 Quote Share this post Link to post
Redneckerz Posted February 3, 2020 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. 0 Quote Share this post Link to post
Job Posted February 3, 2020 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. 5 Quote Share this post Link to post
riderr3 Posted February 4, 2020 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. 1 Quote Share this post Link to post
Gerardo194 Posted February 9, 2020 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... 2 Quote Share this post Link to post
intacowetrust Posted February 9, 2020 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... 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.