Lameguy64 / PSn00bSDK

The most powerful open source SDK for the PS1 (as far as open source PS1 SDKs go). Not recommended for beginner use.
Other
819 stars 66 forks source link

Bugfixes, new serial port API and sound examples #60

Closed spicyjpeg closed 1 year ago

spicyjpeg commented 1 year ago

I have fixed (once again) some regressions I had introduced with the new logging system, as well as bugs in the SPU library and GPU macros. I've also rewritten libpsxsio, which now has a proper asynchronous serial port API with ring buffers usable alongside or in place of accessing registers directly, and removed _sio_control() as it was mostly just an inefficient wrapper around the raw registers with no added value.

Sound examples have also been refactored entirely. sound/spustream is now split into two separate examples, one for RAM streaming and the other for CD streaming, both using the standard interleaved .VAG format (as used on the PS2). Both have been tested on real hardware, unlike the previous one which was completely broken. Unfortunately I haven't yet managed to figure out why the .STR FMV playback example gets stuck on real hardware despite working perfectly fine in every emulator I tried; it looks like some kind of timing issue with the CD drive and MDEC, which should be further investigated.