Add GBC BIOS selection

git-svn-id: https://svn.code.sf.net/p/vbam/code/trunk@928 a31d4220-a93d-0410-bf67-fe4944624d44
This commit is contained in:
spacy51 2010-01-02 17:26:26 +00:00
parent dccf885304
commit baced7498d
7 changed files with 74 additions and 12 deletions

View File

@ -26,11 +26,14 @@ void BIOSDialog::DoDataExchange(CDataExchange* pDX)
{ {
CDialog::DoDataExchange(pDX); CDialog::DoDataExchange(pDX);
DDX_Check(pDX, IDC_ENABLE_GB_BIOS, m_enableBIOS_GB); DDX_Check(pDX, IDC_ENABLE_GB_BIOS, m_enableBIOS_GB);
DDX_Check(pDX, IDC_ENABLE_GBC_BIOS, m_enableBIOS_GBC);
DDX_Check(pDX, IDC_ENABLE_GBA_BIOS, m_enableBIOS_GBA); DDX_Check(pDX, IDC_ENABLE_GBA_BIOS, m_enableBIOS_GBA);
DDX_Check(pDX, IDC_SKIP_BOOT_LOGO, m_skipLogo); DDX_Check(pDX, IDC_SKIP_BOOT_LOGO, m_skipLogo);
DDX_Text(pDX, IDC_GB_BIOS_PATH, m_pathGB); DDX_Text(pDX, IDC_GB_BIOS_PATH, m_pathGB);
DDX_Text(pDX, IDC_GBC_BIOS_PATH, m_pathGBC);
DDX_Text(pDX, IDC_GBA_BIOS_PATH, m_pathGBA); DDX_Text(pDX, IDC_GBA_BIOS_PATH, m_pathGBA);
DDX_Control(pDX, IDC_GB_BIOS_PATH, m_editGB); DDX_Control(pDX, IDC_GB_BIOS_PATH, m_editGB);
DDX_Control(pDX, IDC_GBC_BIOS_PATH, m_editGBC);
DDX_Control(pDX, IDC_GBA_BIOS_PATH, m_editGBA); DDX_Control(pDX, IDC_GBA_BIOS_PATH, m_editGBA);
if( pDX->m_bSaveAndValidate == TRUE ) { if( pDX->m_bSaveAndValidate == TRUE ) {
@ -38,6 +41,9 @@ void BIOSDialog::DoDataExchange(CDataExchange* pDX)
if( !fileExists( m_pathGBA ) ) { if( !fileExists( m_pathGBA ) ) {
m_enableBIOS_GBA = FALSE; m_enableBIOS_GBA = FALSE;
} }
if( !fileExists( m_pathGBC ) ) {
m_enableBIOS_GBC = FALSE;
}
if( !fileExists( m_pathGB ) ) { if( !fileExists( m_pathGB ) ) {
m_enableBIOS_GB = FALSE; m_enableBIOS_GB = FALSE;
} }
@ -47,6 +53,7 @@ void BIOSDialog::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(BIOSDialog, CDialog) BEGIN_MESSAGE_MAP(BIOSDialog, CDialog)
ON_BN_CLICKED(IDC_SELECT_GB_BIOS_PATH, &BIOSDialog::OnBnClickedSelectGbBiosPath) ON_BN_CLICKED(IDC_SELECT_GB_BIOS_PATH, &BIOSDialog::OnBnClickedSelectGbBiosPath)
ON_BN_CLICKED(IDC_SELECT_GBC_BIOS_PATH, &BIOSDialog::OnBnClickedSelectGbcBiosPath)
ON_BN_CLICKED(IDC_SELECT_GBA_BIOS_PATH, &BIOSDialog::OnBnClickedSelectGbaBiosPath) ON_BN_CLICKED(IDC_SELECT_GBA_BIOS_PATH, &BIOSDialog::OnBnClickedSelectGbaBiosPath)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@ -75,6 +82,28 @@ void BIOSDialog::OnBnClickedSelectGbBiosPath()
} }
} }
void BIOSDialog::OnBnClickedSelectGbcBiosPath()
{
CString current;
m_editGBC.GetWindowText( current );
if( !fileExists( current ) ) {
current = _T("");
}
CFileDialog dlg(
TRUE,
NULL,
current,
OFN_DONTADDTORECENT | OFN_FILEMUSTEXIST,
_T("BIOS Files (*.bin;*.gbc)|*.bin;*.gbc|All Files (*.*)|*.*||"),
this,
0 );
if( IDOK == dlg.DoModal() ) {
m_editGBC.SetWindowText( dlg.GetPathName() );
}
}
void BIOSDialog::OnBnClickedSelectGbaBiosPath() void BIOSDialog::OnBnClickedSelectGbaBiosPath()
{ {
CString current; CString current;

View File

@ -20,14 +20,18 @@ protected:
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
private: private:
CEdit m_editGB; CEdit m_editGB;
CEdit m_editGBC;
CEdit m_editGBA; CEdit m_editGBA;
bool fileExists(CString& file); bool fileExists(CString& file);
afx_msg void OnBnClickedSelectGbBiosPath(); afx_msg void OnBnClickedSelectGbBiosPath();
afx_msg void OnBnClickedSelectGbcBiosPath();
afx_msg void OnBnClickedSelectGbaBiosPath(); afx_msg void OnBnClickedSelectGbaBiosPath();
public: public:
BOOL m_enableBIOS_GB; BOOL m_enableBIOS_GB;
BOOL m_enableBIOS_GBC;
BOOL m_enableBIOS_GBA; BOOL m_enableBIOS_GBA;
BOOL m_skipLogo; BOOL m_skipLogo;
CString m_pathGB; CString m_pathGB;
CString m_pathGBC;
CString m_pathGBA; CString m_pathGBA;
}; };

View File

@ -1774,16 +1774,20 @@ void MainWnd::OnEmulatorBiosfiles()
{ {
BIOSDialog dlg; BIOSDialog dlg;
dlg.m_enableBIOS_GBA = theApp.useBiosFileGBA ? TRUE : FALSE; dlg.m_enableBIOS_GBA = theApp.useBiosFileGBA ? TRUE : FALSE;
dlg.m_enableBIOS_GBC = theApp.useBiosFileGBC ? TRUE : FALSE;
dlg.m_enableBIOS_GB = theApp.useBiosFileGB ? TRUE : FALSE; dlg.m_enableBIOS_GB = theApp.useBiosFileGB ? TRUE : FALSE;
dlg.m_skipLogo = theApp.skipBiosFile ? TRUE : FALSE; dlg.m_skipLogo = theApp.skipBiosFile ? TRUE : FALSE;
dlg.m_pathGBA = theApp.biosFileNameGBA; dlg.m_pathGBA = theApp.biosFileNameGBA;
dlg.m_pathGBC = theApp.biosFileNameGBC;
dlg.m_pathGB = theApp.biosFileNameGB; dlg.m_pathGB = theApp.biosFileNameGB;
if( IDOK == dlg.DoModal() ) { if( IDOK == dlg.DoModal() ) {
theApp.useBiosFileGBA = dlg.m_enableBIOS_GBA == TRUE; theApp.useBiosFileGBA = dlg.m_enableBIOS_GBA == TRUE;
theApp.useBiosFileGBC = dlg.m_enableBIOS_GBC == TRUE;
theApp.useBiosFileGB = dlg.m_enableBIOS_GB == TRUE; theApp.useBiosFileGB = dlg.m_enableBIOS_GB == TRUE;
theApp.skipBiosFile = dlg.m_skipLogo == TRUE; theApp.skipBiosFile = dlg.m_skipLogo == TRUE;
theApp.biosFileNameGBA = dlg.m_pathGBA; theApp.biosFileNameGBA = dlg.m_pathGBA;
theApp.biosFileNameGBC = dlg.m_pathGBC;
theApp.biosFileNameGB = dlg.m_pathGB; theApp.biosFileNameGB = dlg.m_pathGB;
} }
} }

View File

@ -232,9 +232,11 @@ VBA::VBA()
cartridgeType = IMAGE_GBA; cartridgeType = IMAGE_GBA;
soundInitialized = false; soundInitialized = false;
useBiosFileGBA = false; useBiosFileGBA = false;
useBiosFileGBC = false;
useBiosFileGB = false; useBiosFileGB = false;
skipBiosFile = false; skipBiosFile = false;
biosFileNameGBA = _T(""); biosFileNameGBA = _T("");
biosFileNameGBC = _T("");
biosFileNameGB = _T(""); biosFileNameGB = _T("");
active = true; active = true;
paused = false; paused = false;
@ -1410,6 +1412,8 @@ void VBA::loadSettings()
useBiosFileGBA = ( regQueryDwordValue("useBiosGBA", 0) == 1 ) ? true : false; useBiosFileGBA = ( regQueryDwordValue("useBiosGBA", 0) == 1 ) ? true : false;
useBiosFileGBC = ( regQueryDwordValue("useBiosGBC", 0) == 1 ) ? true : false;
useBiosFileGB = ( regQueryDwordValue("useBiosGB", 0) == 1 ) ? true : false; useBiosFileGB = ( regQueryDwordValue("useBiosGB", 0) == 1 ) ? true : false;
skipBiosFile = regQueryDwordValue("skipBios", 0) ? true : false; skipBiosFile = regQueryDwordValue("skipBios", 0) ? true : false;
@ -1420,6 +1424,12 @@ void VBA::loadSettings()
biosFileNameGBA = buffer; biosFileNameGBA = buffer;
} }
buffer = regQueryStringValue("biosFileGBC", "");
if(!buffer.IsEmpty()) {
biosFileNameGBC = buffer;
}
buffer = regQueryStringValue("biosFileGB", ""); buffer = regQueryStringValue("biosFileGB", "");
if(!buffer.IsEmpty()) { if(!buffer.IsEmpty()) {
@ -2432,6 +2442,8 @@ void VBA::saveSettings()
regSetDwordValue("useBiosGBA", useBiosFileGBA); regSetDwordValue("useBiosGBA", useBiosFileGBA);
regSetDwordValue("useBiosGBC", useBiosFileGBC);
regSetDwordValue("useBiosGB", useBiosFileGB); regSetDwordValue("useBiosGB", useBiosFileGB);
regSetDwordValue("skipBios", skipBiosFile); regSetDwordValue("skipBios", skipBiosFile);
@ -2439,6 +2451,9 @@ void VBA::saveSettings()
if(!biosFileNameGBA.IsEmpty()) if(!biosFileNameGBA.IsEmpty())
regSetStringValue("biosFileGBA", biosFileNameGBA); regSetStringValue("biosFileGBA", biosFileNameGBA);
if(!biosFileNameGBC.IsEmpty())
regSetStringValue("biosFileGBC", biosFileNameGBC);
if(!biosFileNameGB.IsEmpty()) if(!biosFileNameGB.IsEmpty())
regSetStringValue("biosFileGB", biosFileNameGB); regSetStringValue("biosFileGB", biosFileNameGB);

View File

@ -95,9 +95,11 @@ class VBA : public CWinApp
IMAGE_TYPE cartridgeType; IMAGE_TYPE cartridgeType;
bool soundInitialized; bool soundInitialized;
bool useBiosFileGBA; bool useBiosFileGBA;
bool useBiosFileGBC;
bool useBiosFileGB; bool useBiosFileGB;
bool skipBiosFile; bool skipBiosFile;
CString biosFileNameGBA; CString biosFileNameGBA;
CString biosFileNameGBC;
CString biosFileNameGB; CString biosFileNameGB;
bool active; bool active;
bool paused; bool paused;

View File

@ -1131,23 +1131,27 @@ BEGIN
EDITTEXT IDC_COMMENT,84,24,180,12,ES_AUTOHSCROLL EDITTEXT IDC_COMMENT,84,24,180,12,ES_AUTOHSCROLL
END END
IDD_BIOS DIALOGEX 0, 0, 220, 126 IDD_BIOS DIALOGEX 0, 0, 220, 159
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "BIOS Files" CAPTION "BIOS Files"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,84,102,60,18 DEFPUSHBUTTON "OK",IDOK,84,132,60,18
PUSHBUTTON "Cancel",IDCANCEL,150,102,60,18 PUSHBUTTON "Cancel",IDCANCEL,150,132,60,18
GROUPBOX "Game Boy mono",IDC_STATIC,6,6,210,30 GROUPBOX "Game Boy mono",IDC_STATIC,6,6,210,30
GROUPBOX "Game Boy Advance",IDC_STATIC,6,48,210,30 GROUPBOX "Game Boy Advance",IDC_STATIC,6,78,210,30
EDITTEXT IDC_GB_BIOS_PATH,12,18,180,12,ES_AUTOHSCROLL EDITTEXT IDC_GB_BIOS_PATH,12,18,180,12,ES_AUTOHSCROLL
EDITTEXT IDC_GBA_BIOS_PATH,12,60,180,12,ES_AUTOHSCROLL EDITTEXT IDC_GBA_BIOS_PATH,12,90,180,12,ES_AUTOHSCROLL
GROUPBOX "Options",IDC_STATIC,6,90,72,30 GROUPBOX "Options",IDC_STATIC,6,121,72,30
CONTROL "Skip boot logo",IDC_SKIP_BOOT_LOGO,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,102,60,12 CONTROL "Skip boot logo",IDC_SKIP_BOOT_LOGO,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,132,60,12
CONTROL "Enable",IDC_ENABLE_GB_BIOS,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,174,6,36,8 CONTROL "Enable",IDC_ENABLE_GB_BIOS,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,174,6,36,8
CONTROL "Enable",IDC_ENABLE_GBA_BIOS,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,174,48,36,8 CONTROL "Enable",IDC_ENABLE_GBA_BIOS,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,174,78,36,8
PUSHBUTTON "...",IDC_SELECT_GB_BIOS_PATH,192,18,18,12 PUSHBUTTON "...",IDC_SELECT_GB_BIOS_PATH,192,18,18,12
PUSHBUTTON "...",IDC_SELECT_GBA_BIOS_PATH,192,60,18,12 PUSHBUTTON "...",IDC_SELECT_GBA_BIOS_PATH,192,90,18,12
GROUPBOX "Game Boy Color",IDC_STATIC,6,42,210,30
EDITTEXT IDC_GBC_BIOS_PATH,12,53,180,12,ES_AUTOHSCROLL
CONTROL "Enable",IDC_ENABLE_GBC_BIOS,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,174,42,36,8
PUSHBUTTON "...",IDC_SELECT_GBC_BIOS_PATH,192,53,18,12
END END
IDD_FULLSCREEN DIALOGEX 0, 0, 167, 96 IDD_FULLSCREEN DIALOGEX 0, 0, 167, 96
@ -1541,7 +1545,7 @@ BEGIN
LEFTMARGIN, 7 LEFTMARGIN, 7
RIGHTMARGIN, 213 RIGHTMARGIN, 213
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 119 BOTTOMMARGIN, 152
END END
IDD_FULLSCREEN, DIALOG IDD_FULLSCREEN, DIALOG

View File

@ -536,8 +536,12 @@
#define IDC_SELECT_GB_BIOS_PATH 1277 #define IDC_SELECT_GB_BIOS_PATH 1277
#define IDC_SELECT_GBA_BIOS_PATH 1278 #define IDC_SELECT_GBA_BIOS_PATH 1278
#define IDC_CLEAR_ALL 1278 #define IDC_CLEAR_ALL 1278
#define IDC_GBC_BIOS_PATH 1279
#define IDC_COMBO_RESOLUTION 1280 #define IDC_COMBO_RESOLUTION 1280
#define IDC_ENABLE_GBC_BIOS 1280
#define IDC_COMBO_COLOR_DEPTH 1281 #define IDC_COMBO_COLOR_DEPTH 1281
#define IDC_SELECT_GB_BIOS_PATH2 1281
#define IDC_SELECT_GBC_BIOS_PATH 1281
#define IDC_COMBO_REFRESH_RATE 1282 #define IDC_COMBO_REFRESH_RATE 1282
#define IDC_COMBO_DEVICE 1283 #define IDC_COMBO_DEVICE 1283
#define IDC_CHECK1 1284 #define IDC_CHECK1 1284
@ -587,8 +591,6 @@
#define ID_OPTIONS_VIDEO_X4 40013 #define ID_OPTIONS_VIDEO_X4 40013
#define ID_OPTIONS_VIDEO_X5 40014 #define ID_OPTIONS_VIDEO_X5 40014
#define ID_OPTIONS_VIDEO_X6 40015 #define ID_OPTIONS_VIDEO_X6 40015
#define ID_FILE_PAUSE 40373
#define ID_OPTIONS_EMULATOR_DIRECTORIES 40374
#define ID_OPTIONS_JOYPAD 40016 #define ID_OPTIONS_JOYPAD 40016
#define ID_OPTIONS_EMULATOR_SYNCHRONIZE 40017 #define ID_OPTIONS_EMULATOR_SYNCHRONIZE 40017
#define ID_FILE_RESET 40018 #define ID_FILE_RESET 40018
@ -872,6 +874,8 @@
#define ID_OPTIONS_VIDEO_LAYERS_RESET 40367 #define ID_OPTIONS_VIDEO_LAYERS_RESET 40367
#define ID_LOADGAME_DONOTCHANGECHEATLIST 40371 #define ID_LOADGAME_DONOTCHANGECHEATLIST 40371
#define ID_OPTIONS_EMULATOR_SAVETYPE_DETECTNOW 40372 #define ID_OPTIONS_EMULATOR_SAVETYPE_DETECTNOW 40372
#define ID_FILE_PAUSE 40373
#define ID_OPTIONS_EMULATOR_DIRECTORIES 40374
// Next default values for new objects // Next default values for new objects
// //