- 精华
- 0
- 帖子
- 225
- 威望
- 0 点
- 积分
- 223 点
- 种子
- 5 点
- 注册时间
- 2009-1-31
- 最后登录
- 2021-6-28
|
本帖最后由 pigisma 于 2011-2-24 11:16 编辑
一位匿名黑客上传了 “Playstation文件系统资料库(PlayStation File System Libraries)”,这意味着开发者们可以是自己的自制程序支持NTFS格式。也许不久你就会看到支持NTFS的Rogero, multiMAN等。
Download: pfsm-0.1.0.rar (1.39 MB)
I’m out of town leaving me PS3-less, so I’m unable to test this… This being a library, PlayStation File System Libraries — libpfsm, that you can use when building your homebrew projects, i.e.) Gaia Manager. And the Gaia Manager source is included and comes pre-modified as an example adding NTFS (libpfsm) support. You just need to build it now and I’m sure someone’ll do that real soon.
What does PlayStation File System Libraries feature?
* Support for multiple simultaneously connected devices.
* Hot swapping of devices.
* Support for multiple partitions (with different FS).
* NTFS support
o Alternate data streams
o Sparse files
o File compression
o B+ trees directory
* FAT support
o FAT12, FAT16, FAT32
o Long file names (VFAT)
Writing to NTFS formatted volumes is not supported and not planned.
Check the README for everything else. - ================================================== ==============================
- Playstation File System libraries README
- ================================================== ==============================
- == Introduction ==
- Playstation File System is a set of libraries designed primarily to support new
- filesystems. The main aim was to provide support for reading NTFS from Sony PS3
- GameOS. At this moment writing is not supported and is not currently planned.
- Supported features:
- * Support for multiple simultaneously connected devices.
- * Hot swapping of devices.
- * Support for multiple partitions (with different FS).
- * NTFS support
- - Alternate data streams
- - Sparse files
- - File compression
- - B+ trees directory
- * FAT support
- - FAT12, FAT16, FAT32
- - Long file names (VFAT)
- Limitations:
- * Userland Mass Storage device driver is tested on a small set of devices.
- * Concurrent access to files on one disc is not supported.
- * It supports only the ASCII subset of Unicode (UTF-16).
- * Read only access.
- Libraries:
- * libpmsd.a (Playstation Mass Storage Driver)
- - A simple userland driver for reading sectors from USB Mass Storage.
- * libpfs.a (Playstation File System)
- - File system drivers NTFS and FAT.
- * libpfsm.a (Playstation File System Manager)
- - Exported functions are in 'libpfsm.h'.
- - Responsible for hot swapping, managing partitions and mounting the FS.
- == Building ==
- If you want to use these libraries in your project, you must add to the
- Makefile the following lines:
- PPU_LIBS += libpmsd.a libpfs.a libpfsm.a
- PPU_LDLIBS += -lusbd_stub
- A source code must include the header file with FS Manager interface:
- #include "libpfsm.h"
- == Usage ==
- int32_t PfsmInit(int32_t max_volumes);
- void PfsmUninit(void);
- The FS Manager must first be initialized with 'PfsmInit'. Maximum possible
- connected devices/volumes is set by `max_volumes`. It is suitable to call the
- 'PfsmUninit' before you quit.
- int32_t PfsmDevAdd(uint16_t vid, uint16_t pid, PFSM_DEVICE *dev);
- int32_t PfsmDevDel(PFSM_DEVICE *dev);
- All supported devices must be registered with the function 'PfsmDevAdd'. The USB
- device is identified by Vendor ID (`vid`) a ProductID (`pid`). If the devices is
- no longer needed it can be unregistered with 'PfsmDevDel'.
- int32_t PfsmVolStat(int32_t vol_id);
- The application can monitor the newly added/removed devices using 'PfsmVolStat'.
- The parameter `vol_id` must be between 0 and `max_volumes`-1.
- PFS_HFILE PfsFileOpen(const char *path);
- PFS_HFIND PfsFileFindFirst(const char *path, PFS_FIND_DATA *find_data);
- ...
- Standard functions for access to the files is similar to the Win32 API. The file
- `path` is in the form of '/pvd_usbXXX/DIR/FILE' where XXX represents `vol_id`.
- == Sample: GaiaManager ==
- For reference implementations was used open source GaiaManager. This solution
- extends GaiaManager to connect one device with NTFS or FAT file system. When the
- connection is successful, this device is shown as a 'usb10'. Backups in 'BDRIPS'
- directory can then be copied in a standard way to internal disk.
- Attached sample file 'usbdevs.cfg' with tested devices must be placed in a folder
- on the PS3, where is installed GaiaManager ('/dev_hdd0/game/GAIA01985').
- If you want to use your own USB disk, you must add another line to 'usbdevs.cfg'.
- File 'usbdevs.cfg' lists the device's IDs separated by a newline in the following
- format:
- VID:PID
- VID:PID
- ...
- VID and PID are hexadecimal numbers that identify the USB device. Linux users can
- obtain this identification number using lsusb utility. Transcend StoreJet disk is
- displayed as:
- lsusb:
- Bus 002 Device 011: ID 152d:2329 JMicron Technology Corp. / JMicron USA Tech...
- Windows users can use one of these utilities:
- - http://www.ftdichip.com/Support/Utilities/usbview.zip
- - http://www.nirsoft.net/utils/usbdeview.zip
- - http://www.nirsoft.net/utils/usbdeview-x64.zip
- USBDeview:
- ...
- Description | StoreJet Transcend
- Device Type | Mass Storage
- ...
- VendorID | 152d (VID)
- ProductID | 2329 (PID)
- ...
- Compiling for CFW/MFW without dongle (not tested):
- make clean
- make
- Compiling for older OFW with a dongle (tested only 3.41):
- make -f Makefile.dongle clean
- make -f Makefile.dongle
- Precompiled package for FW 3.41 (with PSGroove) is included:
- UP0001-GAIA01985_00-7679866932773369.pkg
- == Compatible devices ==
- USB Mass Storage driver has been tested with the following devices:
- - 0x090c:0x1000
- Corsair Flash Voyager (2GB)
- - 0x0951:0x1602
- Kingston DataTravelerMini (1GB)
- - 0x13fe:0x1d00
- Kingston DataTraveler 2.0 1GB/4GB Flash Drive (1GB)
- - 0x152d:0x2329
- JMicron StoreJet Transcend (320GB)
- http://ec.transcendusa.com/product/I...ID=TS320GSJ25M
- == TODO ==
- Support for a wider range of USB Mass Storage devices.
- Support for other file systems. (e.g. Ext2/3)
- Support for concurrent access to files.
- Proper Unicode (UTF-16) support.
复制代码 |
|