SuperCard Pro Flux Image format (.scp)
#65
You really should be checking the track data header table for the used tracks.  An offset that is null (0x00000000) indicates the track is not used.  It is possible to make images with tracks in different locations, as well as skipping tracks.  The track data header table (IFF_TDHOFFSET) always starts at offset 0x010 and represents the offset (from the start of the file) to the track data headers for tracks 0-xxx.  That is the only thing you should be concerned with.  That table of entries could be technically any length, with a minimum guaranteed to be 166 due to the previous format.  IFF_THDSTART should not be used as the starting point of the data, since that has moved with the extended track (and will move again in the future).

IFF_END represents the largest track number in the image, but it does not mean that all tracks are present in the image.  You could have two tracks (0 and 79) and IFF_START would be 0 and IFF_END would be 158, and all other entries would be null.  The track data header and data could be swapped from their expected locations as well, so you need to always rely on the offset to the track data header, and also the track data header's offset to the actual flux data.

I am testing the new limit right now.  At some point, I will be adding 200 track support to certain formats, so be aware!
Reply


Messages In This Thread
SuperCard Pro Flux Image format (.scp) - by admin - 11-01-2013, 05:54 PM
RE: SuperCard Pro Flux Image format (.scp) - by admin - 01-12-2016, 03:14 PM



Users browsing this thread: 1 Guest(s)