Restrict to only high FF/10 run-lengths
This commit is contained in:
parent
fb1b3014aa
commit
1eb00e6f4b
|
@ -1256,10 +1256,13 @@ void Disk2InterfaceCard::AddJitter(int phase, FloppyDisk& floppy)
|
|||
m_foundT00S00Pattern = false;
|
||||
}
|
||||
|
||||
// GH#1125: For T$21 (track 33.0) or above, randomly skip 1 bit-cell at the start of the FF/2 track seam.
|
||||
// GH#1125: For T$21 (track 33.0) or above (and sufficiently long FF/10 run-length), then randomly skip 1 bit-cell at the start of the FF/2 track seam.
|
||||
// Example of high run-lengths for tracks 33.0+:
|
||||
// . Accolade Comics:114, Silent Service:117, Wings of Fury:140, Wizardry I:127, Wizardry III:283
|
||||
// NB. Restrict to higher FF/10 run-lengths to limit the titles affected by this jitter.
|
||||
void Disk2InterfaceCard::AddTrackSeamJitter(float phasePrecise, FloppyDisk& floppy)
|
||||
{
|
||||
if (phasePrecise >= (33.0 * 2))
|
||||
if (phasePrecise >= (33.0 * 2) && floppy.m_longestSyncFFRunLength > 110)
|
||||
{
|
||||
if (floppy.m_bitOffset == floppy.m_longestSyncFFBitOffsetStart)
|
||||
{
|
||||
|
@ -1598,11 +1601,12 @@ void Disk2InterfaceCard::FindTrackSeamWOZ(FloppyDisk& floppy, float track)
|
|||
|
||||
if (longestSyncFFRunLength)
|
||||
{
|
||||
floppy.m_longestSyncFFBitOffsetStart = longestSyncFFStartBitOffset;
|
||||
const int longestSyncFFBitOffsetEnd = (longestSyncFFStartBitOffset + longestSyncFFRunLength * 10 - 1) % floppy.m_bitCount;
|
||||
#if LOG_DISK_WOZ_TRACK_SEAM
|
||||
LOG_DISK("Track seam: T%05.2f: FF/10 (run=%d), start=%04X, end=%04X\n", track, longestSyncFFRunLength, longestSyncFFStartBitOffset, longestSyncFFBitOffsetEnd);
|
||||
#endif
|
||||
floppy.m_longestSyncFFBitOffsetStart = longestSyncFFStartBitOffset;
|
||||
floppy.m_longestSyncFFRunLength = longestSyncFFRunLength;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -68,6 +68,7 @@ public:
|
|||
m_trackimage = NULL;
|
||||
m_trackimagedata = false;
|
||||
m_trackimagedirty = false;
|
||||
m_longestSyncFFRunLength = 0;
|
||||
m_longestSyncFFBitOffsetStart = -1;
|
||||
m_initialBitOffset = 0;
|
||||
m_revs = 0;
|
||||
|
@ -88,6 +89,7 @@ public:
|
|||
LPBYTE m_trackimage;
|
||||
bool m_trackimagedata;
|
||||
bool m_trackimagedirty;
|
||||
UINT m_longestSyncFFRunLength;
|
||||
int m_longestSyncFFBitOffsetStart;
|
||||
UINT m_initialBitOffset; // debug
|
||||
UINT m_revs; // debug
|
||||
|
|
Loading…
Reference in New Issue