-
Notifications
You must be signed in to change notification settings - Fork 271
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
[FR] udpbd support #325
Comments
The most basic and memory saving thing would be to simply transfer ethernet frames (like https://sourceforge.net/projects/etherdfs/ does for DOS PCs) - but it's so basic that it lacks the required throughput for PS2. And it requires a custom programme on the server side. So you'd have to invent a protocol (maybe adapt ATA-over-ethernet or something similar) and write client and server. Faster and easier would be something like NBD (Network Block Device). It is standardized, and there are already client and server implementations. But only for Linux, which would leave quite some OPL users behind. Here (#86) is something in the works that could cut the required space for SMB in half. I believe that's the most promising track. |
At the moment, |
UDPBD (UDP Block Device) is designed specifically for the PS2. It aligns the data inside each packet so that the IOP can use DMA to transfer 128byte blocks directly from the network cards fifo into the application buffer. The protocol is very simple and defined here (inside the modified SMAP driver): Consider it a proof of concept that was never finished into something usefull. It worked a few yeas ago, but I'm not sure it will still compile and run with all the changes there have been to ps2sdk. |
udpbd sounds exactly like what I was describing |
@citronalco there is https://cloudbase.it/ceph-for-windows/ and other, btw i quite finish the nbd server on OPL. |
Since NBD server is merged in OPL, i invite you to setup a nbd client and try it! |
The samba improvements in recent versions did fix compatibility with a game that previously didn't work (Amplitude) |
@rickgaiser : it could be good to have udpbd to replace smb but what about turn it to a compliant tftp client ? |
udpbd uses a special alignment (2 bytes extra to align the data to a 4 byte boundary), that make it incompatible with all standard protocols. But basically it's UDP with 2 dummy bytes, making (zero copy) DMA tansfers possible. |
From what I understand, SMB uses a lot of the IOP memory resulting in some games crashing.
Wouldn't it be possible to make a custom protocol that takes less memory and doesn't have as much overhead?
Something without authentication or writing that has only a couple commands like:
List games
Select game
Read bytes x from offset x
I would personally much rather prefer a protocol with better game compatibility that requires a small server app than one that doesn't need a custom server but isn't as compatible with games.
The text was updated successfully, but these errors were encountered: