User Tools

Site Tools


cache_structure

This is an old revision of the document!


Cache Structure

RomVault stores all information about scanned and datted files in the RomVault Cache. This cache file is essentially a highly optimized database that includes filenames, sizes, hashes, modified timestamps, and pertinent flags to track various ROM statuses.

ⓘ NOTE:
This page is under construction and should not be considered comprehensive or entirely accurate.

RomVault 3.5.x Cache

Example Offset (h) Size (bytes) Name Description Example HEX Values Explanation
Header Section
0x00000000 4 Cache Version Version of the internal cache database 02000000 Version 2, used with RV 3.5.x
0x00000004 4 File Flags Flags for tree and DAT structure 00400400 Has tree, has children
0x00000008 1 File Name Length + file name 00 Not applicable
0x00000009 1 Found File Name Length + found file name 00 Not applicable
0x0000000A 8 File Modify Time Last modified time in ticks, little endian 0000000000000000 Not applicable
0x00000012 1 DAT Status Flag for DAT status 00 In DAT, collected
0x00000013 1 Got Status Flag for Got status 00 Not Got
0x00000014 1 Tree Expanded Boolean flag for directory expanded in tree 01 Always expanded
0x00000015 1 Tree Selected Flag for tree selection 01 Always selected
0x00000016 4 Child Count Number of children 03000000 3 directories: RomRoot + 2 ToSorts
… (end of cache) 4 File Status Status of the file / group 00000000
File Type 1 - Directory without DATs
0x0000001A 1 Child Type Flag for file type 01 Directory
0x0000001B 4 File Flags Flags for tree and DAT structure 00400400 Has tree, has children
0x0000001F varies File Name Length + file name 08526F6D5661756C
74
8 characters + “RomVault”
0x00000028 varies Found File Name Length + found file name 00 Not applicable
0x00000029 8 File Modify Time Last modified time in ticks, little endian 0000000000000000 Not applicable
0x00000031 1 DAT Status Flag for DAT status 00 In DAT, collected
0x00000032 1 Got Status Flag for Got status 01 Got
0x00000033 1 Tree Expanded Boolean flag for directory expanded in tree 01 Expanded
0x00000034 1 Tree Selected Flag for tree selection 00 Not selected
0x00000035 4 Child Count Number of children 01000000 1 child
… (end of group) 4 File Status Status of the file / group 00000000
File Type 1 - Directory with DATs
0x00000039 1 Child Type Flag for file type 01 Directory
0x0000003A 4 File Flags Flags for tree and DAT structure 00400600 Has tree, has dir DAT, has children
0x0000003E varies File Name Length + file name 034D4941 3 characters + “MIA”
0x00000042 varies Found File Name Length + found file name 00 Not applicable
0x00000043 8 File Modify Time Last modified time in ticks, little endian 0000000000000000 Not applicable
0x0000004B 1 DAT Status Flag for DAT status 00 In DAT, collected
0x0000004C 1 Got Status Flag for Got status 01 Got
0x0000004D 1 Tree Expanded Boolean flag for directory expanded in tree 01 Expanded
0x0000004E 1 Tree Selected Flag for tree selection 00 Not selected
0x0000004F 4 DAT Count Number of DATs in the directory 02000000 2 DATs
0x00000053 8 DAT Modify Time Last modified time in ticks, little endian 0016C6FEFDC0DA08 638034494360000000 ticks
0x0000005B 1 DAT Rules Flags for DAT rules applied 05 AutoAddDirectory, MultiDatOverride
0x0000005C 1 DAT Attribute Count Number of DAT attributes 07 7 attributes
0x0000005D 1 DAT Attribute ID Flag for Dat attribute 01 DatName
0x0000005E varies DAT Attribute Value Length + attribute value 094D616D6D61204D
4941
9 characters + “Mamma MIA”
0x00000068 1 DAT Attribute ID Flag for Dat attribute 02 DatRootFullName
0x00000069 varies DAT Attribute Value Length + attribute value 19446174526F6F74
5C4D49415C4D616D
6D612D4D49412E64
6174
19 characters + “DatRoot\MIA\Mamma-MIA.dat”
0x00000083 1 DAT Attribute ID Flag for Dat attribute 03 RootDir
0x00000084 varies DAT Attribute Value Length + attribute value 094D616D6D612D4D
4941
9 characters + “Mamma-MIA”
0x0000008E 1 DAT Attribute ID Flag for Dat attribute 04 Description
0x0000008F varies DAT Attribute Value Length + attribute value 1C496E2074686520
4441542D4D697373
696E6720696E2041
6374696F6E
28 characters + “In the DAT-Missing in Action”
0x000000AC 1 DAT Attribute ID Flag for Dat attribute 06 Version
0x000000AD varies DAT Attribute Value Length + attribute value 034D4941 3 characters + “MIA”
0x000000B1 1 DAT Attribute ID Flag for Dat attribute 08 Author
0x000000B2 varies DAT Attribute Value Length + attribute value 084461745661756C
74
8 characters + “DatVault”
0x000000BB 1 DAT Attribute ID Flag for Dat attribute 0B URL
0x000000BC varies DAT Attribute Value Length + attribute value 107777772E646174
7661756C742E636F
6D
10 characters + “www.datvault.com
0x000000CD 4 Child Count 4E000000 78 children
File Type 1 - Directory within a DAT
0x000000D1 1 Child Type Flag for file type 01 Directory
0x000000D2 4 File Flags Flags for tree and DAT structure 00400600 Has tree, has dir DAT, has children
0x000000D6 varies File Name Length + file name 25456D754172632D
436F6D6D6F646F72
65203634202D2043
442D524F4D2C2044
56442D524F4D
37 characters + “EmuArc-Commodore 64 - CD-ROM, DVD-ROM”
0x000000FC varies Found File Name Length + found file name 00 Not applicable
0x000000FD 8 File Modify Time Last modified time in ticks, little endian 0000000000000000 Not applicable
0x00000105 4 DAT Index Index number 00000000 Index 0
0x00000109 1 DAT Status Flag for DAT status 00 In DAT, collect
0x0000010A 1 Got Status Flag for Got status 00 Not Got
0x0000010B 1 Tree Expanded Boolean flag for directory expanded in tree 01 Expanded
0x0000010C 1 Tree Selected Flag for tree selection 00 Not selected
0x0000010D 4 Child Count Number of DATs in the directory 01000000 1 child of the directory
File Type 2 - ZIP Archive
0x00000111 1 Child Type Flag for file type 02 ZIP archive
0x00000112 4 File Flags Flags for tree and DAT structure 00800500 Has game, has DAT, has children
0x00000116 varies File Name Length + file name 1E54686520434420
47616D6573205061
636B20284575726F
7065292E7A6970
30 characters + “The CD Games Pack (Europe).zip”
0x00000135 varies Found File Name Length + found file name 00 Not applicable
0x00000136 8 File Modify Time Last modified time in ticks, little endian 0000000000000000 Not applicable
0x0000013E 4 DAT Index Index number 00000000 Index 0
0x00000142 1 DAT Status Flag for DAT status 00 In DAT, collect
0x00000143 1 Got Status Flag for Got status 00 Not Got
0x00000144 1 ZIP Status Flag for ZIP status 00 None
0x00000145 1 Game Attribute Count Number of game attributes 01 1 attribute
0x00000146 1 Game Attribute ID Flag for Game attribute 01 Description
0x00000147 varies Game Attribute Value Length + attribute value 1A54686520434420
47616D6573205061
636B20284575726F
706529
26 characters + “The CD Games Pack (Europe)”
0x00000162 4 Child Count Number of children 25000000 37 children
ToSort Directory
0x00000000 1 ??? 00
0x00000001 1 File Type Flag for file type 01 Directory
4 Cache Read Flags 00400000
varies Path Name Length Number of characters in path 0A 10 characters
varies Path Name Path as displayed in RomVault UI 583A5C546F536F72
7432
X:\ToSort2
File Record (Non-Archive File)
0x00000000 1 File Type Flag for file type 04 File
0x00000020 4 Cache Read Flags 0F000000
varies File Name Length Number of characters in filename 0D 13 characters
varies File Name File name without directory 544553545F46494C
452E62696E
TEST_FILE.bin
1 Case Alternate Flag for a case sensitive filename alternate 00
8 Modified Time Last modified time in ticks, little endian 5E2442FB4DBFDA08 638032638875149406 ticks
1 DAT Status Flag for DAT status 04 In ToSort directory
1 Got Status Flag for Got status 01 Got
8 File Size File size in bytes, little endian C20B000000000000 3010 bytes
1 CRC Bytes CRC32 length in bytes 04 4 bytes
4 CRC Hash CRC32 hash value 5591DB24
1 SHA1 Bytes SHA1 length in bytes 14 20 bytes
20 SHA1 Hash SHA1 hash value 470999CECB44DA4B
DAA37B634BA8E00B
A60DB123
1 MD5 Bytes MD5 length in bytes 10 16 bytes
16 MD5 Hash MD5 hash value 6D791EFEA71E0A2A
46F3C1672A34274B
1 Header Found Flag for type of header found 00 None
4 File Status Flags for file status 003C0000
Footer
0x00000000 11 ??? 000000000000C000
000000
8 End Cache Marker to signify the end of the cache A7DD00A615000000

Enums

Enum Name Description Cache Value
TreeSelect Unselected The tree branch is selected 00
Selected The tree branch is unselected 01
Locked The tree branch is locked in read-only mode 02
FileType Unknown ??? 00
Dir The item is a directory 01
Zip The item is a ZIP file 02
SevenZip The item is a 7z file 03
File The item is a file 04
ZipFile The item is a file within a ZIP archive 05
SevenZipFile The item is a file within a 7z archive 06
DatData DatName DAT header: <name> tag 01
DatRootFullName Full DATRoot path with DAT filename 02
RootDir DAT header <rootdir> tag 03
Description DAT header: <description> tag 04
Category DAT header: <category> tag 05
Version DAT header: <version> tag 06
Date DAT header: <date> tag 07
Author DAT header: <author> tag 08
Email DAT header: <email> tag 09
HomePage DAT header: <homepage> tag 10
URL DAT header: <url> tag 11
FileType 12
MergeType 13
SuperDat 14
DirSetup 15
Header 16
SubDirType 17
DatStatus InDatCollect The file is in the DAT and collected 00
InDatMerged The file is in the DAT but merged 01
InDatBad The file is in the DAT but its corrupt 02
NotInDat The file is not in the DAT 03
InToSort The file is in a ToSort directory 04
InDatMIA The file is in the DAT but MIA 05
GotStatus NotGot The file is missing 00
Got The file is present 01
Corrupt The file is corrupt 02
FileLocked The file is locked 03
HeaderFileType Nothing No header 00
ZIP ZIP archive 01
GZ GZip archive 02
SevenZip 7z archive 03
RAR RAR archive 04
CHD CHD file 05
A7800 Atari 7800 06
Lynx Atari Lynx 07
NES Nintendo Entertainment System 08
FDS Nintendo Famicom Disk System 09
PCE NEC PC Engine 0A
PSID Commodore 64 SID (Sound Interface Device) Audio 0B
SNES Super Nintendo Entertainment System 0C
SPC SNES Audio 0D
HeaderMask ???
Required ???
cache_structure.1667962540.txt.gz · Last modified: 2022/11/08 18:55 by johnsanc