3

Context

Newer Sony cameras have functionality that allows them to:

  • save the current camera settings (shooting mode, auto-focus mode, etc.) to a file
  • load the camera settings from a file into the system

screenshot

These files are called Camset (Camera Settings) files. They usually are named like: CAMSET01.DAT

(Other camera manufacturers have this too, but the format seems to be manufacturer-specific.)

Question

I'm looking for help on how to figure out the specific format of these Camset files. (If you're interested, go to the link at the bottom where I have sample Camset files)

I have not been able to find anywhere where the Sony Camset format is documented. Canon also uses Camset files, but their files are .txt and not binary formatted from what I can tell (I don't have a Canon camera and I haven't been able to find any Canon Camset files online, but I've seen the .txt suffix used on them in manuals).

What I know

  • The files are binary format. There are ASCII strings present in the first several bytes, that indicate the manufacturer, camera model, date created, and the file/preset name.

Snippet from hexdump of first few bytes

00000000  53 4f 4e 59 21 49 4c 43  45 2d 37 52 4d 34 00 00  |SONY!ILCE-7RM4..|
00000010  00 00 00 00 00 32 30 32  32 30 39 30 36 5f 31 33  |.....20220906_13|
00000020  32 33 31 00 14 00 01 00  43 41 4d 53 45 54 30 31  |231.....CAMSET01|
00000030  2e 44 41 54 01 06 00 00  a8 0b 00 00 b8 05 00 00  |.DAT............|
  • The length of the file is identical, but only across models. For Sony A7R4 cameras, the file length is exactly 9216 bytes, and for Sony A9 cameras, it's 9696 bytes.

  • The image filename prefix (e.g. 'DSC' or 'A7R') is stored at byte 2860 (for Sony A7R4) and is 3 bytes long

--

That's basically all I know so far.

What I've tried so far

I have tried creating a camset file, then changing one setting only, then creating another camset file, and then comparing the two camset files -- I expected to see maybe a handful of bytes differences (which would tell me where the setting was stored), but that wasn't the case, the files seem to differ heavily even when the settings do not differ much.

Tools

I made a very rudimentary C++ tool that lets me extract the name, date, camera model, and image name prefix from Camset files:

https://github.com/raleighlittles/Sony-Camset-File-Parser

This is what I've been using to test with, as this repository also has a few sample Camset files in the camset-files directory.

5
  • 1
    Personally I'd try downloading the firmware file and analysing that instead to see how it accesses the data. Commented Sep 9, 2022 at 11:29
  • 1
    Hey, did you make any progress on that? I'm trying to pinpoint the differences between two settings files I have (for the same camera). Commented Nov 25, 2022 at 5:27
  • 1
    @MarcPlano-Lesay No, unfortunately I haven't made any significant progress. I tried reverse-engineering the firmware file (per the suggestion above), but I couldn't get any actual insight, it was just a decompiled mess. And then when I tried simply going back to changing one setting at a time and doing a diff on the camset files, I would see a large number of bytes changed that made it difficult to pinpoint where the actual value being changed was stored.
    – Raleigh L.
    Commented Nov 25, 2022 at 21:43
  • 1
    @RaleighL. thanks - I haven't gone down the route of decompiling but that's what I've noticed as well with the files, sadly. Commented Nov 26, 2022 at 1:11
  • @MarcPlano-Lesay Yup. At this point I am hoping that an employee can chime in, or Sony accidentally releases a firmware package with debugging symbols enabled... If there's any information that you find out, please let me know.
    – Raleigh L.
    Commented Nov 28, 2022 at 16:25

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.