-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PS1 port #69
Comments
By the way, I have the PSn00bSDK and the no$psx emulator/debugger working and its PSX programming specs at hand. |
Theoretically yes, the hardware can probably handle it. You'll have to rework the entire level/segment loading system and separate resources into per-level packages, convert all the display lists into something more fitting for the PS1 GPU and rewrite large chunks of the renderer, all while dealing with the fact that the PS1 has no floats. |
Sounds challenging. To get me started, let's break it into manageable chunks. How about getting that Mario face intro demo building and running first? I'm new to the sm64 code base. Any pointers on how I can isolate that part and its hardware-dependent interface, so I can begin to study how to port it? Any hints on how to setup the build system to use the SDK, in case that's something not that trivial/straight forward, are welcomed as well. :) |
That would seem logical, but the Mario face demo (goddard) is completely separate from the rest of the game and uses its own code for pretty much everything, because it was basically tacked onto the game from a separate demo program or something. So it won't actually matter much in the long run, other than getting yourself used to the kind of problems you would face. It would be wiser to completely disable it, which can be done but I don't know how exactly. |
Was this the case for the PS2 port? Do you think looking into that would give me a head start? Who was mainly responsible for that specific port? |
The PS2 port did not require any fundamental changes, unlike a potential PS1 port. Like all the other ports in this repo it is based on the PC port. The entirety of the game code (including the loading and texture/model/whatever formats) in it is pretty much intact, I mostly changed the "PC renderer" part ( |
I see. The PS1 probably can't afford that overhead. |
You can try, but you will still have to replace all float usage (the end form of the display list commands already only uses fixed points though, I think) and the loading system at the very least. By the way, if you need it, you can find the updated nocash specs here, PsyQ docs here and general help at the PSX-DEV Discord. |
Thanks for the links and guidance. I plan to make it initially run with as few changes as possible and then improve from there. Right now I'm sorting out the build process using the mipsel-none-elf toolchain provided by PSn00bSDK, irregardless of implementation. |
I managed to complete the build process using PSn00bSDK, commenting out all the PS2 platform specific code. For some reason the resulting |
Probably because of |
Is it doable? I'd like to find out and possibly work on it. Any preliminary/practical suggestion or guidance?
The text was updated successfully, but these errors were encountered: