mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-06-01 14:41:33 +00:00
Added info about enhanceDisk
This commit is contained in:
parent
c6d4512233
commit
971eff7875
|
@ -45,6 +45,15 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||
|
||||
#include "../resource/resource.h"
|
||||
|
||||
// About m_enhanceDisk:
|
||||
// . In general m_enhanceDisk==false is used for authentic disk access speed, whereas m_enhanceDisk==true is for enhanced speed.
|
||||
// Details:
|
||||
// . if false: Used by ImageReadTrack() to skew the sectors in a track (for .do, .dsk, .po 5.25" images).
|
||||
// . if true && m_floppyMotorOn, then this is a condition for full-speed (unthrottled) emulation mode.
|
||||
// . if false && I/O ReadWrite($C0EC) && drive is spinning, then advance the track buffer's nibble index (to simulate spinning).
|
||||
// . if I/O ReadWrite($C0EC) && read, then depending on true/false support partial nibble reads for different gaps between consecutive accesses.
|
||||
// Also m_enhanceDisk is persisted to the save-state, so it's an attribute of the DiskII interface card.
|
||||
|
||||
DiskIIInterfaceCard::DiskIIInterfaceCard(void)
|
||||
{
|
||||
m_currDrive = 0;
|
||||
|
|
|
@ -156,7 +156,7 @@ void ImageReadTrack( ImageInfo* const pImageInfo,
|
|||
const int nQuarterTrack,
|
||||
LPBYTE pTrackImageBuffer,
|
||||
int* pNibbles,
|
||||
bool enhancedisk)
|
||||
bool enhanceDisk)
|
||||
{
|
||||
_ASSERT(nTrack >= 0);
|
||||
if (nTrack < 0)
|
||||
|
@ -164,7 +164,7 @@ void ImageReadTrack( ImageInfo* const pImageInfo,
|
|||
|
||||
if (pImageInfo->pImageType->AllowRW() && pImageInfo->ValidTrack[nTrack])
|
||||
{
|
||||
pImageInfo->pImageType->Read(pImageInfo, nTrack, nQuarterTrack, pTrackImageBuffer, pNibbles, enhancedisk);
|
||||
pImageInfo->pImageType->Read(pImageInfo, nTrack, nQuarterTrack, pTrackImageBuffer, pNibbles, enhanceDisk);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -71,7 +71,7 @@ BOOL ImageBoot(ImageInfo* const pImageInfo);
|
|||
void ImageDestroy(void);
|
||||
void ImageInitialize(void);
|
||||
|
||||
void ImageReadTrack(ImageInfo* const pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk);
|
||||
void ImageReadTrack(ImageInfo* const pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk);
|
||||
void ImageWriteTrack(ImageInfo* const pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImage, int nNibbles);
|
||||
bool ImageReadBlock(ImageInfo* const pImageInfo, UINT nBlock, LPBYTE pBlockBuffer);
|
||||
bool ImageWriteBlock(ImageInfo* const pImageInfo, UINT nBlock, LPBYTE pBlockBuffer);
|
||||
|
|
|
@ -630,11 +630,11 @@ public:
|
|||
return ePossibleMatch;
|
||||
}
|
||||
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk)
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk)
|
||||
{
|
||||
ReadTrack(pImageInfo, nTrack, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
|
||||
*pNibbles = NibblizeTrack(pTrackImageBuffer, eDOSOrder, nTrack);
|
||||
if (!enhancedisk)
|
||||
if (!enhanceDisk)
|
||||
SkewTrack(nTrack, *pNibbles, pTrackImageBuffer);
|
||||
}
|
||||
|
||||
|
@ -696,11 +696,11 @@ public:
|
|||
return ePossibleMatch;
|
||||
}
|
||||
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk)
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk)
|
||||
{
|
||||
ReadTrack(pImageInfo, nTrack, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
|
||||
*pNibbles = NibblizeTrack(pTrackImageBuffer, eProDOSOrder, nTrack);
|
||||
if (!enhancedisk)
|
||||
if (!enhanceDisk)
|
||||
SkewTrack(nTrack, *pNibbles, pTrackImageBuffer);
|
||||
}
|
||||
|
||||
|
@ -735,7 +735,7 @@ public:
|
|||
return eMatch;
|
||||
}
|
||||
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk)
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk)
|
||||
{
|
||||
ReadTrack(pImageInfo, nTrack, pTrackImageBuffer, NIB1_TRACK_SIZE);
|
||||
*pNibbles = NIB1_TRACK_SIZE;
|
||||
|
@ -775,7 +775,7 @@ public:
|
|||
return eMatch;
|
||||
}
|
||||
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk)
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk)
|
||||
{
|
||||
ReadTrack(pImageInfo, nTrack, pTrackImageBuffer, NIB2_TRACK_SIZE);
|
||||
*pNibbles = NIB2_TRACK_SIZE;
|
||||
|
@ -851,7 +851,7 @@ public:
|
|||
return eMatch;
|
||||
}
|
||||
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk)
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk)
|
||||
{
|
||||
// IF WE HAVEN'T ALREADY DONE SO, READ THE IMAGE FILE HEADER
|
||||
if (!m_pHeader)
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
|
||||
virtual bool Boot(ImageInfo* pImageInfo) { return false; }
|
||||
virtual eDetectResult Detect(const LPBYTE pImage, const DWORD dwImageSize, const TCHAR* pszExt) = 0;
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhancedisk) { }
|
||||
virtual void Read(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImageBuffer, int* pNibbles, bool enhanceDisk) { }
|
||||
virtual bool Read(ImageInfo* pImageInfo, UINT nBlock, LPBYTE pBlockBuffer) { return false; }
|
||||
virtual void Write(ImageInfo* pImageInfo, int nTrack, int nQuarterTrack, LPBYTE pTrackImage, int nNibbles) { }
|
||||
virtual bool Write(ImageInfo* pImageInfo, UINT nBlock, LPBYTE pBlockBuffer) { return false; }
|
||||
|
|
|
@ -1693,7 +1693,7 @@ void MemInitializeIO(void)
|
|||
}
|
||||
|
||||
#if 0 // debug test
|
||||
if (g_Slot5 == CT_EMPTY)
|
||||
if (g_Slot5 == CT_Empty)
|
||||
{
|
||||
DiskIIInterfaceCard* pDiskIISlot5 = new DiskIIInterfaceCard;
|
||||
pDiskIISlot5->Initialize(pCxRomPeripheral, 5);
|
||||
|
|
Loading…
Reference in New Issue
Block a user