diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 4acb61614..842f543ee 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -1009,7 +1009,11 @@ machine_get_min_ram(int m) int machine_get_max_ram(int m) { - return(machines[m].max_ram); +#if (!(defined __amd64__ || defined _M_X64 || defined __aarch64__ || defined _M_ARM64)) + return MIN(((int) machines[m].max_ram), 2097152); +#else + return MIN(((int) machines[m].max_ram), 3145728); +#endif } diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 1221e0a34..5d977ba1d 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -802,12 +802,7 @@ win_settings_machine_recalc_machine(HWND hdlg) } else { /* MB granularity */ h = GetDlgItem(hdlg, IDC_MEMSPIN); -#if (!(defined __amd64__ || defined _M_X64 || defined __aarch64__ || defined _M_ARM64)) - i = MIN(machine_get_max_ram(temp_machine), 2097152); -#else - i = MIN(machine_get_max_ram(temp_machine), 3145728); -#endif - SendMessage(h, UDM_SETRANGE, 0, (machine_get_min_ram(temp_machine) << 6) | (i >> 10)); + SendMessage(h, UDM_SETRANGE, 0, (machine_get_min_ram(temp_machine) << 6) | (machine_get_max_ram(temp_machine) >> 10)); accel.nSec = 0; accel.nInc = machine_get_ram_granularity(temp_machine) >> 10;