====== Gap Support: Analyser Datatypes and Scripting ====== //2010-04-13// * Added new auto-generated data type for scripting. * Scripting of gap pattern zones. * Scripting terminates "directions" - data to be encoded directly after the current sector vs. data to be encoded backwards from the start of the next sector - by using an empty pattern command. * Detecting if the gap pattern zone is a filler (i.e. the size depends on the remaining space on a track); apart from mastering, it is very useful to prevent excessive generation of descriptors just because the size of a filler pattern usually differs for each track. Here a picture of the analyser script generated for an ST Thalion game. {{wip:2010-04-13:thalion-block.png?550}} Right after the end of the normal data block content, the EDC (checksum) descriptor, there are two data bytes detected, then a sync, then an $F7 value 37 times as a gap pattern to be written after the mark, and finally two $0 bytes before the next sector. If you watch carefully, you can even see another data and a sync hidden between the header and the data block, this is of course properly and automatically scripted. This following is a picture of the last sector (i.e. the one after a track gap is written), and is fully auto-detected as the normal sector data. {{wip:2010-04-13:thalion-block-last.png?550}} This time, the script shows that $F7 is detected as the track filler value, so it occupies however much space is unwritten between the last block and the first one, apart from two $0 bytes encoded right before the first block on the track. Things now required: * Encode and save this data into IPF images * Add gap pattern support to IPF library * Testing