AppleWin/source/Configuration/PageAdvanced.h
Matthew D'Asaro e5a87b5063
Add support for hardware copy protection dongles in game i/o socket (#1153, PR #1154)
Changes:
- Add a drop-down menu to the 'Advanced' tab that lets the user select a dongle in use
- Add a new file "CopyProtectionDongles.cpp" that is a place to put drivers for these.
- Add a driver for the one known dongle we have now - Speed Star
- Modify Joystick.cpp to allow PB0-PB2 to be "pushed" by the protection dongle.
2022-12-16 09:04:29 +00:00

48 lines
1.3 KiB
C++

#pragma once
#include "PropertySheetDefs.h"
#include "IPropertySheetPage.h"
#include "Common.h"
class CPropertySheetHelper;
class CPageAdvanced : private IPropertySheetPage
{
public:
CPageAdvanced(CPropertySheetHelper& PropertySheetHelper) :
m_Page(PG_ADVANCED),
m_PropertySheetHelper(PropertySheetHelper),
m_uTheFreezesF8Rom(0)
{
CPageAdvanced::ms_this = this;
}
virtual ~CPageAdvanced(){}
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
UINT GetTheFreezesF8Rom(void){ return m_uTheFreezesF8Rom; }
void SetTheFreezesF8Rom(UINT uValue){ m_uTheFreezesF8Rom = uValue; }
protected:
// IPropertySheetPage
virtual INT_PTR DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
virtual void DlgOK(HWND hWnd);
virtual void DlgCANCEL(HWND hWnd){}
private:
void InitOptions(HWND hWnd);
eApple2Type GetCloneType(DWORD NewMenuItem);
int GetCloneMenuItem(void);
void InitFreezeDlgButton(HWND hWnd);
void InitCloneDropdownMenu(HWND hWnd);
void InitCopyProtectionDongleDropdownMenu(HWND hWnd);
static CPageAdvanced* ms_this;
static const TCHAR m_CloneChoices[];
static const TCHAR m_CopyProtectionDongleChoices[];
const PAGETYPE m_Page;
CPropertySheetHelper& m_PropertySheetHelper;
UINT m_uTheFreezesF8Rom;
};