Work-In-Progress Reports for July 2008

30 July 2008

Analyser - Generic MFM: Encoding Violation Detection, Weak Sectors: Added encoding violation detection pattern to the generic MFM support in the analyser, useful for detecting weak bits. * Support for CPC Speedlock protection using weak sectors. * Support for +3 Speedlock protection using weak sectors. Only one version is supported, as the other would require slightly changing the geometry - which will only be supported with the new solver. (more)

29 July 2008

Analyser - Generic MFM: More Formats (Various Systems): Added support for protection on Amstrad CPC Badlands, and several Spectrum titles like wos>Sim City. Alkatraz protection is detected on ST, CPC and Spectrum +3. While technically it resolved to the correct data automatically anyway, it is still nice to see it identified.

28 July 2008

Analyser - Generic MFM: 6K Corner Cases: Fixed all special cases for 6k detection.

25 July 2008

Analyser - Generic MFM: Track Size Detection: Fixed a special case for track size detection.

24 July 2008

Analyser - Generic MFM: "6K" Formats: Added support for all known "6K Formats". Automatic detection of real data size as well as any checksums present, if any. It seems that a fair number of 6K format games containing these do have checksums, despite having been thought otherwise previously. (more)

22 July 2008

Analyser - Generic MFM: Undefined Length Type, User Block Type: Introduced a new undefined length type to patterns that automatically resolve to the actual segment length. (more)

21 July 2008

Analyser - Generic MFM: New Block Type: Introduced a new block type that allows checking a block without actually allocating it as part of the format.

18 July 2008

Analyser - Generic MFM: Pattern Matching Review: Generating disk geometry using the pattern matching works very nicely as expected. The data solver is still in place though, and should be replaced.

16 July 2008

Analyser - Generic MFM: Next Steps ===== //2008-07-16// Since the pattern matching is much more reliable (various retries and attempts, finding best data samples, sliding data window and so on) and better at handling complexity than the generic format solver ever was, we might as well get rid off most of the older method and use the pattern matching i: Since the pattern matching is much more reliable (various retries and attempts, finding best data samples, sliding data window and so on) and better at handling complexity than the generic format solver ever was, we might as well get rid off most of the older method and use the pattern matching instead. (more)

15 July 2008

Analyser - Generic MFM: Format Pattern Matching: * Format pattern matching is working now. There is no OR mode for complete blocks as it would have introduced unreasonable complexity due to context save and restores required at each check (the analyser needs to modify its internal state according to the valid format description, but should the OR fail the previous state would have to be restored). (more)

10 July 2008

Analyser - Generic MFM: Sliding Windows, Mark Checking: * Implemented a sliding window technique for format pattern matching, which tries to find consecutive blocks regardless of where they start. This is necessary as there is no guarantee that track data is synced to the index hole, and therefore checks must be able to support rotation/roll over. (more)

9 July 2008

Analyser - Generic MFM: Block Matching: * Changed block pattern matching to take a group as a parameter, since ultimately it ends up processing a group anyway. * Right now, the block matching uses the concept of having a header and a data block pattern, which changes some constraints during the process. This however restricts the way the complexity of the blocks that can be matched in one go. (more)