jdfr228 / PS1-Disc-Based-Game-ID

BIOS patches to allow disc games to report GameID data to a MemCard Pro
GNU General Public License v3.0
34 stars 0 forks source link

Possible to run via Parallel port? #1

Open realJoshByrnes opened 1 year ago

realJoshByrnes commented 1 year ago

Great job on getting this to work on real hardware, I was following the original thread.

I was wondering if it would be possible to write a loader to a cartridge in PIO, which could insert itself into RAM (and execute) at boot time?

Just thought it might make a nice temporary patch that could added without any console modification.

jdfr228 commented 1 year ago

The modified BIOS itself could absolutely be run from the PIO slot, IF you have something with a capacity of 512KB, which is apparently pretty rare for the existing Action Replay Pro or Gameshark carts available, most being 128-256KB

mi213 did draft up a board for connecting an SST39VF040 (via an existing DIP adapter) to the PIO slot, though he hasn't had a chance to test it yet as far as I know. This would be a nice solution for early model users https://cdn.discordapp.com/attachments/1082756122294890546/1083747612890505296/Unbenannt.png

As for writing a loader to a smaller cartridge that executes in RAM, that's quite different. As far as I know the system either executes the BIOS or executes the ROM on the PIO port. So for example with a PSIO in, starting the console goes straight to the PSIO game menu. If I'm right about that (let me know if I'm not!), I would imagine you'd have to reproduce the entirety of the game loading routine from the BIOS, or create your own. If that's right it would probably make more sense to collaborate with nocash to add the GameID functionality to his existing XBOO BIOS, though you'd lose the stock look on boot at the expense of keeping the console itself stock.

Unless Pro Action Replay or Gameshark carts handle things differently and launch back into the regular BIOS with memory patches in place or something like that?

douglie007 commented 1 year ago

Could you make a program that boots from a PSIO?

jdfr228 commented 1 year ago

Could you make a program that boots from a PSIO?

Hmm, not sure what the boot sequence would be like in that case. Boot into PSIO, load a program, and then... You're back in PSIO to actually select your game right?

The PS1 has no OS where you can actually keep anything loaded in memory, so I don't think this approach would work. You don't get to that really until PS3/360/Wii era.

It would be more feasible for the creator of PSIO to implement Game ID in the PSIO game loader itself, but good luck with that considering he's about 3 years behind on a "promised" update and sent legal threats to the team working on a reverse engineered firmware.

ramapcsx2 commented 1 year ago

There would be many ways for PSIO to fix this problem, but yea, the updates.. Anyway, what you need is Unirom (Bootdisk) running before your game. Unirom will be used to start the target game and pick up the game ID. For this, PSIO needs to have a disk queue, so you can put an Unirom.bin first, and target game.bin second..

jdfr228 commented 1 year ago

Ah should have figured there was a cool way to integrate UniROM with PSIO loading. In general I should probably add that UniROM + FreePSXBoot remains a good option for people who can't or would prefer not to replace their BIOS.