Well, this is something...But as I can see - table entry should contain filename in plain text.I have tried to create memory dump and search for file names, but could not find any.I will try once more in the near future.But maybe camera uses different table format for play mode and for ptp connection (I think this is unlikely, but posible).I have found the table of pointers to some structures used by CobjMngr - will check this out later.
Not really...but I am interested in it mainly to find a way to limit file table RAM usage in long timelapses. They should probably only be accessed using Canon's functions to prevent corruption.Slightly related to this, I did look into the PTP file table recently (when you hook up the camera to USB, the camera creates a new table in RAM that includes files that it wishes to show to the PC -- PTP doesn't expose files as found in the FAT, instead they are given handler numbers that seem to match offsets of files in this table). The table has 48 bytes for each file (or directory name). I decoded it a little bit very quickly, without trying more than a couple of RAM dumps with a few photos on the card before losing interest. So much of what's below is unconfirmed guesswork:Table contents (byte offset from file name start, little endian):0--11 (12 bytes) file name 8.312 (1 byte) unknown, always zero13 (1 byte) seems to contain 0x20 for JPEG and FIR files, 0x10 for ???CANON directories and 0x00 for A,V,MISC. 14--15 (2 bytes) unknown. always zero16--19 (4 bytes) file size, uint32... (4 unknown bytes)24 (1 byte) uncertain: encoded year of capture, uint8, format: range 000--255, encoded as YXX, where Y is century (0 for 19XX, 1 for 20XX, 2 for early 21XX) and XX is year offset. Example: 110 is year 2010.25 (1 byte) uncertain: month of capture in range 0--11, uint826 (1 byte) uncertain: day of month of capture in range 1--31, uint827 (1 byte) hour of capture in local time zone, uint828 (1 byte) minute of capture, uint829 (1 byte) second of capture, uint8... (6 unknown bytes)36--39 (4 bytes), horizontal resolution (pixels), uint3240--43 (4 bytes), vertical resolution (pixels), uint32... (a bunch of unknown bytes)It is possible that file name doesn't start the entry of each file, but this assumption is not far from correct (stuff described above, dates and such, that comes soon after the file name does belong to that file and not the next one).The date fields seem to apply to photos only, directories or PS.FIR or video files do not have valid dates (on PC clients, those seem to get the date of the latest photo). PS.FIR date is all zeroes, but for directories there's some data.
Started by m3nt0r
Started by maru
Started by Yariv
Started by Vegetothe1st
« 1 2 3 4 »
General Discussion and Assistance
Started by bitterlake