Skip to content
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

BDM: replace USB and add iLink support #417

Merged
merged 1 commit into from
May 11, 2021

Conversation

rickgaiser
Copy link
Member

This PR adds support for the Block Device Manager. This allows for multiple block devices to be added, while sharing the same filesystem and reducing a lot of duplicated code.

Replaced USB

The custom USB driver has been removed from OPL, and replaced by the BDM based USB driver from ps2sdk. Everything should still work, but since this is a big change, some issues can be expected. Affected parts are for instance:

  • Game compatibility
  • Read speed
  • MCEMU

Added IEEE1394 / iLink / FileWire

A bonus feature to show off what BDM can do. Drive compatibility is poor and only the oldest PS2 models have the iLink port. If it does work for you, speeds will be good at around 6MB/s. Big thanks to @sp193 for creating this driver a long long time ago, I only modified it to be BDM compatible.

Future plans

1) More block devices

More block device drivers can be added. Like the mx4sio and udpbd drivers that are already in the testing phase. It would also be nice to add pata HDD to the list of BDM supported devices, enabling FAT32 and more to be used for the HDD.

2) More filesystems

The current fat32 driver should be replaced by FatFs, enabling ExFat support for all block devices. Or new filesystems like EXT2 (e2opl) could be added. Another interesting FS would be modifying the existing PFS to be BDM compatible, allowing PFS to be used not only on the internal HDD, but also on iLink, USB and more.

3) NBD

@bignaux is working on an NBD driver for access to the internal HDD. But using NBD all block devices could be accessed from the network. For instance accessing the iLink drive would be a great feature for me, as I don't have an iLink port on my PC ;).

Add support for the Block Device Manager. This allows for multiple block
devices to be added, while sharing the same filesystem and reducing a
lot of duplicated code.
@uyjulian
Copy link
Member

A quick glance at the diff and it looks OK. merging

@uyjulian uyjulian merged commit 7959fea into ps2homebrew:master May 11, 2021
@TnA-Plastic
Copy link

BDM is in OPL! Wohooooo! Awesome! This is a BIIIG step.

If the tests turn out to be good (game-compatibility, etc.), we are on our way to the "OPL 1.1.0" release-build!

AKuHAK pushed a commit that referenced this pull request Sep 30, 2021
BDM: replace USB and add iLink support
@rickgaiser rickgaiser deleted the for-ps2homebrew branch June 15, 2022 19:20
citronalco pushed a commit to citronalco/OPL-Daily-Builds that referenced this pull request Sep 10, 2023
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants