Suporte NTFS chega à PS3

Posted: 23 de Fevereiro de 2011 in Uncategorized

Depois de meses com falsos rumores e outras especulações, o suporte a NTFS finalmente chegou à ps3. Um programador anonimo do blog PS3-Hacks, lançou uma livraria de ficheiros de sistema que permite outros programadores adicionarem suporte NTFS aos seu programas “caseiros”. Isto significa que iremos ver Rogero, MultiMAN e outros manager com suporte NFTS em breve.

Download: pfsm-0.1.0.rar (1.39 MB)


================================================== ==============================
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)

* 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.

* 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


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:

Bus 002 Device 011: ID 152d:2329 JMicron Technology Corp. / JMicron USA Tech…

Windows users can use one of these utilities:


Description | StoreJet Transcend
Device Type | Mass Storage

VendorID | 152d (VID)
ProductID | 2329 (PID)

Compiling for CFW/MFW without dongle (not tested):

make clean

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:

== 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)…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.

Fonte: PS3-Hack
  1. Hello, you used to write wonderful, but the last few posts have been kinda boring?I miss your great writings. Past few posts are just a little bit out of track! come on!

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da

Está a comentar usando a sua conta Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s