WIP: IDC_SLOTn_OPTION for HDD

This commit is contained in:
tomcw
2025-11-22 18:37:59 +00:00
parent f6da6c811d
commit 63ed9bee2b
4 changed files with 60 additions and 17 deletions
+14 -16
View File
@@ -275,32 +275,30 @@ BEGIN
COMBOBOX IDC_COMBO_GAME_IO_CONNECTOR,80,218,128,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
IDD_FLOPPY_DISK_DRIVES DIALOGEX 0, 0, 210, 240
IDD_FLOPPY_DISK_DRIVES DIALOGEX 0, 0, 211, 79
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Disk"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
GROUPBOX "Floppy Disk Drives",IDC_STATIC,5,7,200,125
GROUPBOX "Hard Disk Drives",IDC_STATIC,5,133,200,64
PUSHBUTTON "Swap",IDC_HDD_SWAP,156,146,40,14
LTEXT "Floppy 1:",IDC_STATIC,11,163,23,8
LTEXT "Floppy 2:",IDC_STATIC,11,180,23,8
COMBOBOX IDC_SLOT_OPT_COMBO_DISK1,46,162,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SLOT_OPT_COMBO_DISK2,46,178,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Floppy Disk Drives",IDC_STATIC,5,5,200,64
PUSHBUTTON "Swap",IDC_HDD_SWAP,156,18,40,14
LTEXT "Floppy 1:",IDC_STATIC,11,35,34,8
LTEXT "Floppy 2:",IDC_STATIC,11,52,35,8
COMBOBOX IDC_SLOT_OPT_COMBO_DISK1,46,34,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SLOT_OPT_COMBO_DISK2,46,50,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
IDD_HARD_DISK_DRIVES DIALOGEX 0, 0, 210, 240
IDD_HARD_DISK_DRIVES DIALOGEX 0, 0, 211, 79
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Disk"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
GROUPBOX "Floppy Disk Drives",IDC_STATIC,5,7,200,125
GROUPBOX "Hard Disk Drives",IDC_STATIC,5,133,200,64
PUSHBUTTON "Swap",IDC_HDD_SWAP,156,146,40,14
LTEXT "HDD 1:",IDC_STATIC,11,163,23,8
LTEXT "HDD 2:",IDC_STATIC,11,180,23,8
COMBOBOX IDC_SLOT_OPT_COMBO_HDD1,46,162,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SLOT_OPT_COMBO_HDD2,46,178,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Hard Disk Drives",IDC_STATIC,5,5,200,64
PUSHBUTTON "Swap",IDC_HDD_SWAP,156,18,40,14
LTEXT "HDD 1:",IDC_STATIC,11,35,34,8
LTEXT "HDD 2:",IDC_STATIC,11,52,35,8
COMBOBOX IDC_SLOT_OPT_COMBO_HDD1,46,34,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SLOT_OPT_COMBO_HDD2,46,50,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
+3 -1
View File
@@ -29,6 +29,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "../Common.h"
#include "../CardManager.h"
#include "../Disk.h"
#include "../Harddisk.h"
#include "../Interface.h"
#include "../Mockingboard.h"
#include "../Registry.h"
@@ -164,7 +165,8 @@ INT_PTR CPageSound::DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPAR
}
if (m_PropertySheetHelper.GetConfigNew().m_Slot[slot] == CT_GenericHDD)
{
// DialogBox(GetFrame().g_hInstance, (LPCTSTR)IDD_HARD_DISK_DRIVES, hWnd, 0);
HarddiskInterfaceCard::ms_this = dynamic_cast<HarddiskInterfaceCard*>(GetCardMgr().GetObj(slot));
DialogBox(GetFrame().g_hInstance, (LPCTSTR)IDD_HARD_DISK_DRIVES, hWnd, HarddiskInterfaceCard::DlgProc);
}
}
break;
+39
View File
@@ -1223,6 +1223,45 @@ bool HarddiskInterfaceCard::ImageSwap(void)
//===========================================================================
HarddiskInterfaceCard* HarddiskInterfaceCard::ms_this = 0;
INT_PTR CALLBACK HarddiskInterfaceCard::DlgProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
{
// Switch from static func to our instance
return HarddiskInterfaceCard::ms_this->DlgProcInternal(hWnd, message, wparam, lparam);
}
INT_PTR HarddiskInterfaceCard::DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
{
switch (message)
{
case WM_COMMAND:
switch (LOWORD(wparam))
{
case IDOK:
// DlgOK(hWnd);
return TRUE;
case IDCANCEL:
// DlgCANCEL(hWnd);
return TRUE;
}
return FALSE;
case WM_CLOSE:
EndDialog(hWnd, 0);
return TRUE;
case WM_INITDIALOG:
// TODO
return TRUE;
}
return FALSE;
}
//===========================================================================
// Unit version history:
// 2: Updated $C7nn firmware to fix GH#319
// 3: Updated $Csnn firmware to fix GH#996 (now slot-independent code)
+4
View File
@@ -121,6 +121,9 @@ public:
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
virtual bool LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
static HarddiskInterfaceCard* ms_this;
static BYTE __stdcall IORead(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nExecutedCycles);
static BYTE __stdcall IOWrite(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nExecutedCycles);
@@ -143,6 +146,7 @@ private:
UINT GetImageSizeInBlocks(ImageInfo* const pImageInfo, const bool is16bit = false);
void SaveSnapshotHDDUnit(YamlSaveHelper& yamlSaveHelper, const UINT unit);
bool LoadSnapshotHDDUnit(YamlLoadHelper& yamlLoadHelper, const UINT unit, const UINT version);
INT_PTR DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
//