If you're not streaming any data from the CD (CDDA, XA, STR), then you could theoretically write a custom library for universally loading files: if the game is running from a CD, then it would load the requested data from the CD, but if the game is running from memory loaded via serial, then it would talk over serial with a program running on the PC which would send the requested files back to the console. Since it is proven that the PlayStation's serial link can communicate at 1 Mbps (so 100 kB/s – 1 start bit, 8 data bits and 1 stop bit), it wouldn't be that much slower than reading from the CD (the PlayStation's CD drive can run at max. 2x speed, so 300 kB/s max). The method of communication could be #defined somewhere in a header file.MottZilla wrote: ↑March 1st, 2022, 7:16 am That's certainly a lot faster. With the small amount of development I've done I have always just built an ISO and loaded it up in an emulator for quick tests and then later used PS-IO for real hardware tests. I had thought about the serial cable option but I like being able to load data from CD. But it all depends on what sort of development you're doing.
Personally, I haven't done this yet, but I'm looking into it. For now, my projects have always been able to fit into the ~1.7 megabytes of free memory entirely (including all assets), so it wasn't a huge problem for me, but I worry that this might not continue for much longer before I start expanding my projects and I eventually run out of memory.
If I however do stream data from the CD, there is no other option then to just burn the CD (at least for me, I sadly don't own a PS-IO yet), and even that is not easy, the PlayStation is quite picky about the media/burning method (for example, in my instance CDDA sometimes gets corrupted into an earraping loud white noise on the PlayStation, while the same disc works fine in other CD players). So yeah, it depends on what you're doing.
Anyway, an update to my project!
I haven't fixed any of the broken the pins yet (I have reassembled the console back together), as I am currently tackling another problem: finding a working ROM and burning data to it. Now, as luck would have it, I found at home an old SST29EE020 (in the PLCC package), which is even listed in this site's store (in the DIP package, but internally the same), so it has to be compatible at least in some ways (I mainly worry about the timings, the voltages can be taken care of with a simple level shifter, since the PlayStation runs at 3.5 V, meanwhile the EEPROM requires 5 V).
However, I do not have a parallel programmer to actually program the chip (such as the popular and a bit expensive TL866). What I do have, though, is an Arduino Mega, which has way more than enough digital pins for hooking up this EEPROM. I made a simple circuit on a piece of perfboard connecting the EEPROM (in a through-hole socket) to the Arduino:


Please excuse the messy solder job, but it works and there are no shorts

Of course, the Arduino would be useless without any firmware, so I found this project which turns an Arduino into a parallel EEPROM programmer. It consists of the required Arduino firmware (which I had to modify as this project was intended for smaller microcontrollers with not enough pins) as well as the host program for communicating with the firmware over serial. It also only supported EEPROMs with the page size of 64 bytes, so I had to modify it to support my SST29EE020, which uses 128 bytes long pages. And the original code didn't support memories with over 32 kB of storage, so I had to patch that as well. I might post the modified code sometime later in case anybody finds it useful.
To test it out, I got myself ~200 kB of Lorem Ipsum, and after hours of debugging and modifying the code, I finally got this:

It works! It bloody works!

So I finally wrote sioload (which is only 19 kB) onto the EEPROM, which means that I'm basically done with this part of the project.
I still have to finish the following:
- Fix the 4 broken pins and don't make them bend the connector inside the console
- Hook up the connector to this EEPROM breakout board I made
- Power it up
