Change struct FloppyDrive, FloppyDisk into classes

This commit is contained in:
tomcw 2019-04-16 20:19:35 +01:00
parent c6a11d3824
commit 65a87c8e11
3 changed files with 31 additions and 33 deletions

View File

@ -41,25 +41,16 @@ const bool IMAGE_FORCE_WRITE_PROTECTED = true;
const bool IMAGE_DONT_CREATE = false;
const bool IMAGE_CREATE = true;
struct FloppyDisk
class FloppyDisk
{
TCHAR m_imagename[ MAX_DISK_IMAGE_NAME + 1 ]; // <FILENAME> (ie. no extension)
TCHAR m_fullname [ MAX_DISK_FULL_NAME + 1 ]; // <FILENAME.EXT> or <FILENAME.zip> : This is persisted to the snapshot file
std::string m_strFilenameInZip; // "" or <FILENAME.EXT>
ImageInfo* m_imagehandle; // Init'd by InsertDisk() -> ImageOpen()
bool m_bWriteProtected;
//
int m_byte;
int m_nibbles; // Init'd by ReadTrack() -> ImageReadTrack()
LPBYTE m_trackimage;
bool m_trackimagedata;
bool m_trackimagedirty;
public:
FloppyDisk()
{
clear();
}
~FloppyDisk(){}
void clear()
{
ZeroMemory(m_imagename, sizeof(m_imagename));
@ -74,21 +65,30 @@ struct FloppyDisk
m_trackimagedata = false;
m_trackimagedirty = false;
}
public:
TCHAR m_imagename[ MAX_DISK_IMAGE_NAME + 1 ]; // <FILENAME> (ie. no extension)
TCHAR m_fullname [ MAX_DISK_FULL_NAME + 1 ]; // <FILENAME.EXT> or <FILENAME.zip> : This is persisted to the snapshot file
std::string m_strFilenameInZip; // "" or <FILENAME.EXT>
ImageInfo* m_imagehandle; // Init'd by InsertDisk() -> ImageOpen()
bool m_bWriteProtected;
int m_byte;
int m_nibbles; // Init'd by ReadTrack() -> ImageReadTrack()
LPBYTE m_trackimage;
bool m_trackimagedata;
bool m_trackimagedirty;
};
struct FloppyDrive
class FloppyDrive
{
int m_phase;
int m_track;
DWORD m_spinning;
DWORD m_writelight;
FloppyDisk m_disk;
public:
FloppyDrive()
{
clear();
}
~FloppyDrive(){}
void clear()
{
m_phase = 0;
@ -97,13 +97,20 @@ struct FloppyDrive
m_writelight = 0;
m_disk.clear();
}
public:
int m_phase;
int m_track;
DWORD m_spinning;
DWORD m_writelight;
FloppyDisk m_disk;
};
class Disk2InterfaceCard
{
public:
Disk2InterfaceCard(void);
virtual ~Disk2InterfaceCard(void){};
virtual ~Disk2InterfaceCard(void){}
void Initialize(LPBYTE pCxRomPeripheral, UINT uSlot);
void Destroy(void); // no, doesn't "destroy" the disk image. DiskIIManagerShutdown()

View File

@ -35,15 +35,15 @@ public:
void Reset(void);
void DriveNotWritingTrack(void);
void DriveSwitchedToReadMode(struct FloppyDisk* const pFloppy);
void DriveSwitchedToReadMode(class FloppyDisk* const pFloppy);
void DriveSwitchedToWriteMode(UINT uTrackIndex);
void DecodeLatchNibbleRead(BYTE floppylatch);
void DecodeLatchNibbleWrite(BYTE floppylatch, UINT uSpinNibbleCount, const struct FloppyDisk* const pFloppy, bool bIsSyncFF);
void DecodeLatchNibbleWrite(BYTE floppylatch, UINT uSpinNibbleCount, const class FloppyDisk* const pFloppy, bool bIsSyncFF);
void SaveSnapshot(class YamlSaveHelper& yamlSaveHelper);
void LoadSnapshot(class YamlLoadHelper& yamlLoadHelper);
private:
void UpdateOnWriteLatch(UINT uSpinNibbleCount, const struct FloppyDisk* const pFloppy);
void UpdateOnWriteLatch(UINT uSpinNibbleCount, const class FloppyDisk* const pFloppy);
void DecodeLatchNibble(BYTE floppylatch, bool bIsWrite, bool bIsSyncFF);
BYTE m_VolTrkSecChk[4];

View File

@ -1692,15 +1692,6 @@ void MemInitializeIO(void)
ConfigureSAM(pCxRomPeripheral, 5); // $C500 : Z80 card
}
#if 0 // debug test
if (g_Slot5 == CT_Empty)
{
Disk2InterfaceCard* pDiskIISlot5 = new Disk2InterfaceCard;
pDiskIISlot5->Initialize(pCxRomPeripheral, 5);
pDiskIISlot5->InsertDisk(0, "C:\\Work\\Personal\\Images\\lady tut PRODOS (san inc pack).dsk", false, false);
}
#endif
sg_Disk2Card.Initialize(pCxRomPeripheral, 6); // $C600 : Disk][ card
HD_Load_Rom(pCxRomPeripheral, 7); // $C700 : HDD f/w