+ Reply to Thread
Results 1 to 8 of 8

Thread: ROMDIR filesystem in userspace

  1. #1
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Arrow ROMDIR filesystem in userspace


  2. #2
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Default

    Well, I guess most people don't have a clue what this is all about.

    romdirfs uses FUSE which is an impressive piece of technology:
    http://en.wikipedia.org/wiki/Filesystem_in_Userspace

    We could also use it for Artemis to, for example, transparently map the PS2's memory to a file in the local filesystem tree, e.g. /tmp/ps2/mem. This way, any other existing tool (hex editor, disassembler etc.) could read from and write to it without knowing anything about network communications etc. which is all handled by the virtual FS.

    With it, dumping the whole EE RAM would be that easy:
    $ dd if=/tmp/ps2/mem of=dump.bin bs=1M count=32
    What a great design...
    Last edited by misfire; 07-17-2009 at 10:55:56 AM.

  3. #3
    Join Date
    Sep 2008
    Posts
    231

    Default

    Umm... You say virtual file system as in, when you access a "file" it's not a real file it is a block of RAM allocated for the transactions as a file?

    I was working on what I consider a virtual file system once, and how it worked was original designed to be stand alone file read / write functions that would later be implemented into the "fio" functions as a mod. It works by using custom build functions for the read / write access to read / write the data to the block of RAM. It doesn't necessarily map a drive, however I call it "RAMDrv" (RAM Drive). It does a check on the file path you are trying to access, and if it reads you are accessing the drive "ram:" then it starts reading / writing the allocated RAM block. If it reads you are accessing from any other drive, it calls the normal "fio" functions.

    If I ever finish it and mod it into the "fio" functions, then it in the end can be called by the normal "fioOpen", "fioWrite", "fioClose", etc. So an example of opening a file if the mod is complete would be like so: fioOpen("ram:hello.txt", O_WRONLY | O_CREAT);

    Since it hasn't been modified into the "fio" functions, it currently operates as stand alone functions (rOpenFile(); rReadFile(); rWriteFile(); rCloseFile(); ). However it still can access normal files even though it's stand alone functions (it still does the path check to see if it is to access the RAMDrv read / writes or if it needs to use normal fio read / writes).

    In case your wondering why I even made it, it was because I got tired of dealing with files loaded onto RAM with array buffers (ex: u8 *buffer) and passing those as arguments through functions. I wanted to have multiple files loaded without having to constantly declare a new array for it, and be able to organize it more efficiently by being able to pass a file path/name through as the argument.

    But if that isn't what you meant by virtual file system, then well at least I shared thoughts on a virtual file system I wrote...
    Last edited by Gtlcpimp; 07-17-2009 at 07:33:33 PM.

  4. #4

    Default

    Virtual file systems are abstractions of data resources. For example, you could "mount" an FTP resource, so that it can be accessed just like any other directory structure with the standard file IO functions.

  5. #5
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Default

    Gtlcpimp, I guess you are talking about IOP device drivers. Indeed, the concepts are very similar as you also have to implement the low-level file operations like open/read/write/etc. and in the end, you get a certain level of abstraction.

  6. #6
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Default

    FYI, a developer named yownas created a romdirfs version with basic write support: http://forums.ps2dev.org/viewtopic.php?t=12217

    I also released (my) version 1.1 which is still read-only. I think that proper ROMDIR write support is very hard to accomplish, and a simple user-space tool would probably do a better job.

  7. #7
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Default

    By the way, romdirfs now has its own online repository: http://bitbucket.org/misfire/romdirfs/

  8. #8
    Join Date
    Sep 2006
    Location
    Germany
    Posts
    549

    Default

    FYI, I moved romdirfs to https://github.com/misfire/romdirfs

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     
Collapse this box.

Visitors found this page by searching for:

romdir

onde baixo esse arquivo romdir

romdir tool

romdir ps2

.romdir

romdir what is

romdirfs win32romdirfscomo criararquivo rumdircomo criar um arquivo romdirromdir file

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts