}
}
+static uae_u32 nonexistingdata(void)
+{
+ if (currprefs.cs_unmapped_space == 1)
+ return 0x00000000;
+ if (currprefs.cs_unmapped_space == 2)
+ return 0xffffffff;
+ return NONEXISTINGDATA;
+}
+
uae_u32 dummy_get_safe(uaecptr addr, int size, bool inst, uae_u32 defvalue)
{
uae_u32 v = defvalue;
{
if (currprefs.illegal_mem)
dummylog (0, addr, 4, 0, 0);
- return dummy_get (addr, 4, false, NONEXISTINGDATA);
+ return dummy_get (addr, 4, false, nonexistingdata());
}
uae_u32 REGPARAM2 dummy_lgeti (uaecptr addr)
{
if (currprefs.illegal_mem)
dummylog (0, addr, 4, 0, 1);
- return dummy_get (addr, 4, true, NONEXISTINGDATA);
+ return dummy_get (addr, 4, true, nonexistingdata());
}
static uae_u32 REGPARAM2 dummy_wget (uaecptr addr)
{
if (currprefs.illegal_mem)
dummylog (0, addr, 2, 0, 0);
- return dummy_get (addr, 2, false, NONEXISTINGDATA);
+ return dummy_get (addr, 2, false, nonexistingdata());
}
uae_u32 REGPARAM2 dummy_wgeti (uaecptr addr)
{
if (currprefs.illegal_mem)
dummylog (0, addr, 2, 0, 1);
- return dummy_get (addr, 2, true, NONEXISTINGDATA);
+ return dummy_get (addr, 2, true, nonexistingdata());
}
static uae_u32 REGPARAM2 dummy_bget (uaecptr addr)
{
if (currprefs.illegal_mem)
dummylog (0, addr, 1, 0, 0);
- return dummy_get (addr, 1, false, NONEXISTINGDATA);
+ return dummy_get (addr, 1, false, nonexistingdata());
}
static void REGPARAM2 dummy_lput (uaecptr addr, uae_u32 l)
#define IDC_CPU_MULTIPLIER 1790
#define IDC_CPU_FREQUENCY2 1790
#define IDC_LOGENABLE 1790
-#define IDC_DD_SURFACETYPE 1791
+#define IDC_DXMODE_OPTIONS 1791
#define IDC_RTG_SCALE_ALLOW 1791
#define IDC_CPU_FREQUENCY 1791
#define IDC_LOGENABLE2 1791
#define IDC_PORT_TABLET_LIBRARY 1791
#define IDC_RTG_SCALE_ASPECTRATIO 1792
#define IDC_ASSOCIATE_ON 1792
-#define IDC_DD_SURFACETYPE2 1792
#define IDC_DXMODE 1792
#define IDC_REGISTRYMODE 1792
#define IDC_PORT_AUTOSWITCH 1792
COMBOBOX IDC_WINDOWEDMODE,287,59,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CTEXT "Graphics API:",IDC_STATIC,272,76,117,10,SS_CENTERIMAGE
COMBOBOX IDC_DXMODE,287,89,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
- CTEXT "DirectDraw:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE
- COMBOBOX IDC_DD_SURFACETYPE,287,119,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+ CTEXT "Graphics API Options:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE
+ COMBOBOX IDC_DXMODE_OPTIONS,287,119,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
GROUPBOX "GUI",IDC_STATIC,266,144,128,93
COMBOBOX IDC_LANGUAGE,273,157,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "GUI Font...",IDC_GUI_FONT,272,174,54,14
if (!wParam && isfullscreen() > 0 && D3D_resize && !gui_active) {
write_log(_T("WM_ACTIVATEAPP inactive %p\n"), hWnd);
D3D_resize(-1);
+ D3D_resize(0);
} else if (wParam && isfullscreen() > 0 && D3D_resize && !gui_active) {
write_log(_T("WM_ACTIVATEAPP active %p\n"), hWnd);
D3D_resize(1);
return 1;
}
-int os_admin, os_64bit, os_win7, os_win8, os_vista, cpu_number, os_touch;
+int os_admin, os_64bit, os_win7, os_win8, os_win10, os_vista, cpu_number, os_touch;
BOOL os_dwm_enabled;
static int isadminpriv (void)
os_win7 = 1;
if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 2))
os_win8 = 1;
+ if (osVersion.dwMajorVersion >= 10)
+ os_win10 = 1;
if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
os_64bit = 1;
}
enumeratedisplays ();
write_log (_T("Sorting devices and modes..\n"));
sortdisplays ();
- write_log (_T("Display buffer mode = %d\n"), ddforceram);
enumerate_sound_devices ();
for (i = 0; i < MAX_SOUND_DEVICES && sound_devices[i]; i++) {
int type = sound_devices[i]->type;
#define LANG_DLL_FULL_VERSION_MATCH 1
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("14")
+#define WINUAEBETA _T("15")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2017, 12, 20)
+#define WINUAEDATE MAKEBD(2017, 12, 27)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
extern int framecnt;
extern TCHAR VersionStr[256];
extern TCHAR BetaStr[64];
-extern int os_admin, os_64bit, os_vista, os_win7, os_win8, cpu_number, os_touch;
+extern int os_admin, os_64bit, os_vista, os_win7, os_win8, os_win10, cpu_number, os_touch;
extern BOOL os_dwm_enabled;
extern OSVERSIONINFO osVersion;
extern int paraport_mask;
ew (hDlg, IDC_ASSOCIATELIST, !rp_isactive ());
ew (hDlg, IDC_ASSOCIATE_ON, !rp_isactive ());
ew (hDlg, IDC_ASSOCIATE_OFF, !rp_isactive ());
- ew (hDlg, IDC_DD_SURFACETYPE, full_property_sheet && workprefs.gfx_api == 0);
+ ew (hDlg, IDC_DXMODE_OPTIONS, workprefs.gfx_api == 2 || (full_property_sheet && workprefs.gfx_api == 0));
bool paused = false;
bool nosound = false;
gui_size_changed = 1;
}
+static void values_to_miscdlg_dx(HWND hDlg)
+{
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_RESETCONTENT, 0, 0);
+ if (workprefs.gfx_api == 0) {
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("NonLocalVRAM"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("DefaultRAM *"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("LocalVRAM"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("SystemRAM"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_SETCURSEL, ddforceram, 0);
+ } else if (workprefs.gfx_api == 2) {
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("Hardware D3D11"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_ADDSTRING, 0, (LPARAM)_T("Software D3D11"));
+ SendDlgItemMessage(hDlg, IDC_DXMODE_OPTIONS, CB_SETCURSEL, workprefs.gfx_api_options, 0);
+ }
+}
+
static void values_to_miscdlg (HWND hDlg)
{
TCHAR tmp[MAX_DPATH];
SendDlgItemMessage(hDlg, IDC_DXMODE, CB_ADDSTRING, 0, (LPARAM)_T("Direct3D 9"));
SendDlgItemMessage(hDlg, IDC_DXMODE, CB_ADDSTRING, 0, (LPARAM)_T("Direct3D 11"));
SendDlgItemMessage(hDlg, IDC_DXMODE, CB_SETCURSEL, workprefs.gfx_api, 0);
-
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_RESETCONTENT, 0, 0);
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_ADDSTRING, 0, (LPARAM)_T("NonLocalVRAM"));
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_ADDSTRING, 0, (LPARAM)_T("DefaultRAM *"));
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_ADDSTRING, 0, (LPARAM)_T("LocalVRAM"));
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_ADDSTRING, 0, (LPARAM)_T("SystemRAM"));
- SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_SETCURSEL, ddforceram, 0);
+ values_to_miscdlg_dx(hDlg);
SendDlgItemMessage (hDlg, IDC_WINDOWEDMODE, CB_RESETCONTENT, 0, 0);
if (full_property_sheet)
d3d_select(&workprefs);
enable_for_miscdlg (hDlg);
+ values_to_miscdlg_dx(hDlg);
}
break;
case IDC_WINDOWEDMODE:
workprefs.win32_statusbar = v - 1;
}
break;
- case IDC_DD_SURFACETYPE:
- v = SendDlgItemMessage (hDlg, IDC_DD_SURFACETYPE, CB_GETCURSEL, 0, 0L);
+ case IDC_DXMODE_OPTIONS:
+ v = SendDlgItemMessage (hDlg, IDC_DXMODE_OPTIONS, CB_GETCURSEL, 0, 0L);
if (v != CB_ERR) {
- ddforceram = v;
- regsetint (NULL, _T("DirectDraw_Secondary"), ddforceram);
+ if (workprefs.gfx_api == 2) {
+ workprefs.gfx_api_options = v;
+ } else if (!workprefs.gfx_api) {
+ ddforceram = v;
+ regsetint(NULL, _T("DirectDraw_Secondary"), ddforceram);
+ }
}
break;
case IDC_SCSIMODE:
workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_INTEGER_AUTOSCALE);
}
-static TCHAR *filtermultnames[] = {
+static const TCHAR *filtermultnames[] = {
_T("FS"), _T("1/4x"), _T("1/2x"), _T("1x"), _T("1.5x"), _T("2x"), _T("2.5x"), _T("3x"), _T("3.5x"), _T("4x"), _T("6x"), _T("8x"), NULL
};
-static float filtermults[] = { 0, 0.25f, 0.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 6.0f, 8.0f };
+static const float filtermults[] = { 0, 0.25f, 0.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 6.0f, 8.0f };
struct filterxtra {
const TCHAR *label;
int *varw[2], *varc[2];
NULL
};
static int dummy_in, dummy_out;
-static int filtertypes[] = {
+static const int filtertypes[] = {
0, 0,
1, 1,
1, 1,
TCHAR *name;
int conf[26];
};
-static struct filterpreset filterpresets[] =
+static const struct filterpreset filterpresets[] =
{
{ _T("PAL"), UAE_FILTER_PAL, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 1, 1, 0, 0, 0, 10, 0, 0, 0, 300, 30, 0, 0, 0, 0 },
{ _T("D3D Autoscale"), UAE_FILTER_NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 4, 0 },