I don't know anything about how to do this, but I'll post my thoughts on the fat file, maybe people who know stuff will see it and automatically know the answer.
It looks like the fat file may be best viewed at 20 bytes per line.
The first 8 bytes are always the same, probably the name and version or something like that. 35544146 0B000000
The next 4 bytes seem to have 2 variants: either 01064600 or 00004600
files with 01064600 :
files with 00004600:
The 8 bytes after that are always all Fs in the initial header: FFFFFFFF FFFFFFFF
And the 4 bytes after that initial header thing is always 00000000.
Here are some fat images in case anyone has any ideas:
The fourth column in all of them seems to be constantly increasing I believe, but it doesnt start at zero and they seem too high to be offsets.
common.fat ( the second column seems to have some repeated values) :
videos.fat ( you'll notice the second column is mostly zeroes ):
sound.fat ( second column is also mostly zeroes, also note this is one of the files with 00004600 for bytes 9-12 ):
Here are some fats for 0 byte dat files: