top | item 39984717

(no title)

spicyjpeg | 1 year ago

Not directly related to the course, but, should anybody want to see what programming on the PS1 would look like using only modern tools (latest GCC, CMake, no third party libraries), I've written a few bare metal C examples that explain in depth how the console's hardware works [1]. Currently only graphics and input are covered, but I'm planning to add examples showing how to handle interrupts, play audio and access the CD-ROM next.

[1]: https://github.com/spicyjpeg/ps1-bare-metal

discuss

order

gustavopezzi|1 year ago

Good mention! I actually list your username & your repo at the end of the course as suggested reading.

PS: thank you for all the good help on the PSX Discord, as always.

rafaelgoncalves|1 year ago

Very good resources, documentation for the tooling, thank you so much!

mzs|1 year ago

Nice, thanks but how do you run builds on an unmodified PS1 or PS2?

spicyjpeg|1 year ago

There are homebrew tools that can be installed on a PS1 memory card [1] and allow for executables to be loaded from a host machine into RAM through the serial port on the back of the console, in a similar way to what Sony's official Net Yaroze loader did back in the day. These tools can also use undocumented CD-ROM drive commands to disable region checks without the need for a modchip, provide semihosting (host filesystem access) and so on.

On the PS2 it's slightly more complicated, as there is no way to launch the "native" PS1 backwards compatibility mode other than to use a modchip (or firmware mod on some models) and burn the executable onto a disc; the serial port is not exposed either, making debugging much harder. It can still be done, but it's much easier to just use an actual PS1.

[1]: https://github.com/JonathanDotCel/unirom8_bootdisc_and_firmw...

codetrotter|1 year ago

On a PS2 you can use FreeMCBoot memory card to run homebrew

Buy one with FMCB preloaded from AliExpress, and take it from there

https://consolemods.org/wiki/PS2:FMCB

And also check out for example MX4SIO as well

You can buy one of those from AliExpress as well, but only certain versions of FMCB are compatible with MX4SIO out of the box