File System

From WikiPrizm
Revision as of 09:12, 30 July 2014 by Gbl08ma (talk | contribs)
Jump to navigationJump to search

This page has not been completed. Parts may be missing or reorganized before completed. Information is provided as-is and may have errors.

The Prizm has two separate file systems, in RAM and in ROM.

Main Memory

The Main Memory is a 61KB region in the RAM (with a backed up version in ROM) that is used for saving config files, programs, and other data that is modified often. Note that the types of files that can exist are limited.

The MCS_* functions are used to access the Main Memory.

Storage Memory

The Storage Memory is a 16MB region that contains data in many formats. When the Prizm is connected via a USB cable, the Storage Memory is presented (along with a folder for limited access to the Main Memory) as a USB drive.

The filesystem on the Storage Memory is a FAT16 with a directory structure very similar to PC DOS. Directories do not reside at fixed positions on the memory. It is likely that the filesystem used is the Fugue Flash filesystem from Kyoto Software Research, because the following string can be found on a Prizm near memory offset 0xFD801520: "Fugue FAT File System 2004-03-03 00:00". A PDF about this filesystem can be found here: [1].

The Bfile_* functions are used to access files in the Storage Memory. For Bfile_* functions, you must start off all paths with "\\fls0\" (which is a special prefix that specifies that the built-in filesystem will be used). Note that in C, the escaped form would be "\\\\fls0\\". While the Prizm doesn't at this point have the ability to interact with SD cards, the prefix for accessing filesystems contained on one would be "\\crd0\", or "\\\\crd0\\" in C.