-
-
Notifications
You must be signed in to change notification settings - Fork 20
Add support for using ata_bd #73
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
base: main
Are you sure you want to change the base?
Conversation
Switching to ata_bd allows for usage of files on exFAT partitions on the internal HDD. This covers both the PS2BBL configuration file, and any referenced programs to be launched. This functionality is enabled when built with: HDD=1 HDD_BD=1
|
I see one issue with this PR You're mixing mx4sio and BD HDD When you're done let me know and I can tweak that Btw, I would love a real hardware recording of it working, last time I tried adding this, the atad bd driver crashed so badly that exception handler threw nothing and even made PCSX2 crash |
Full disclosure: I'm super new to PS2 homebrew, so I could be very wrong on what I've interpreted. BDM lumps all of the mass devices into a single category, with path prefixes like I think this mixing also applies to USB devices. Just to see what would happen, I built PS2BBL with This does cause a bit of a conflict if PS2BBL were built with support for all three. My strategy of mapping Unless you meant you want to have completely separate code paths for building with HDD_BD and MX4SIO, in which case I can definitely copy the things I tweaked to support both.
Tweak away! I wanted to try out MX4SIO+HDD support first to see what would happen if both were present, and I've done that.
I don't have any screen capture hardware. Phone video good enough? |
Ok! As for the massX: My original intention was that So, we would make a different alias for EXFAT HDD, like |
massH: now resolves to the first device backed by the ata driver, and massX: continues to resolve to the first device backed by the sdc driver.
| int x = LookForBDMDevice("ata"); | ||
| if (x >= 0) { | ||
| path[4] = '0' + x; | ||
| PART[0] = '\0'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is needed but I need to build a smaller test program to confirm what I think I'm seeing without it. getcwd appears to return something unexpected (ex. hdd0:__sysconf/mass0:athena instead of mass0:/athena) but I'm not certain that it's not something weird going on in Athena.
If having the partition argument present is doing this for ATA_BD devices, I suspect that MX4SIO and USB would both have a similar problem. I'll file a bug if I can reproduce on them.
Done. Tested resolving of |
|
As requested, videos of PS2BBL launching into trivial programs stored on USB, MX4SIO, HDD APA, and HDD exFAT are in the folder below. I'll keep them up for a week. https://drive.google.com/drive/folders/1Y3UKirifCWgkFbiNrE0eYVNBBqjSB3Hl?usp=sharing |
|
very cool. not sure what I did back then for ATA_BD to crash so badly lol ready to merge? or is there something else to do here? |
Switching to ata_bd allows for usage of files on exFAT partitions on the internal HDD. This covers both the PS2BBL configuration file, and any referenced programs to be launched.
This functionality is enabled when built with: HDD=1 HDD_BD=1
Toward #68