Change struct FloppyDrive, FloppyDisk into classes
This commit is contained in:
parent
c6a11d3824
commit
65a87c8e11
3 changed files with 31 additions and 33 deletions
|
@ -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()
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue