]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Processor slot RAM added to main memory panel.
authorToni Wilen <twilen@winuae.net>
Wed, 19 Nov 2025 17:37:44 +0000 (19:37 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 19 Nov 2025 17:37:44 +0000 (19:37 +0200)
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/win32gui.cpp

index ab00c79ebc33302fc69b48354acf1eb17634b08d..8ed7341508cc6fe67661c467e45d6f56f1b5f9f1 100644 (file)
 #define IDC_MEMORYMEM                   1028
 #define IDC_PORT0_JOYSMODE              1029
 #define IDC_SCREENMODE_NATIVE2          1029
+#define IDC_CPUSLOTMEM                  1029
 #define IDC_SLOWMEM                     1030
 #define IDC_PORT1_JOYSMODE              1030
 #define IDC_SCREENMODE_RTG2             1030
 #define IDC_CHIPRAM                     1045
 #define IDC_SLOWRAM                     1046
 #define IDC_Z3TEXT                      1047
+#define IDC_CPUSLOTRAM                  1047
 #define IDC_Z3FASTRAM                   1048
 #define IDC_Z3FASTMEM                   1049
 #define IDC_MEMORYRAM                   1050
index 9c57cda30d53f334abd458828f757edd39be9ddb..f4fde98838f7cc4d142e576c94500c59d783588a 100644 (file)
@@ -229,7 +229,7 @@ BEGIN
     EDITTEXT        IDC_CHIPRAM,135,44,40,12,ES_CENTER | ES_READONLY
     RTEXT           "Z2 Fast:",IDC_STATIC,8,68,60,15,SS_CENTERIMAGE
     CONTROL         "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,66,60,20
-    EDITTEXT        IDC_FASTRAM,135,72,40,12,ES_CENTER | ES_READONLY
+    EDITTEXT        IDC_FASTRAM,135,69,40,12,ES_CENTER | ES_READONLY
     RTEXT           "Slow:",IDC_STATIC,179,44,66,15,SS_CENTERIMAGE
     CONTROL         "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,41,60,20
     EDITTEXT        IDC_SLOWRAM,311,44,40,12,ES_CENTER | ES_READONLY
@@ -262,6 +262,9 @@ BEGIN
     LTEXT           "Z3 mapping mode:",IDC_STATIC,263,256,115,15,SS_CENTERIMAGE
     COMBOBOX        IDC_Z3MAPPING,262,276,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "Slow RAM",IDC_FASTMEMSLOW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,238,103,8
+    RTEXT           "Processor slot:",IDC_STATIC,8,93,60,15,SS_CENTERIMAGE
+    CONTROL         "",IDC_CPUSLOTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,93,60,20
+    EDITTEXT        IDC_CPUSLOTRAM,135,93,40,12,ES_CENTER | ES_READONLY
 END
 
 IDD_CPU DIALOGEX 0, 0, 396, 316
@@ -1290,7 +1293,8 @@ BEGIN
     CONTROL         "Native/RTG autoswitch",IDC_RTG_SWITCHER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,130,95,10
     COMBOBOX        IDC_MONITOREMU_ACTIVEMON,316,37,65,65,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
     LTEXT           "Active output:",IDC_STATIC,249,37,62,10,NOT WS_VISIBLE,WS_EX_RIGHT
-    CONTROL         "Override initial native chipset display",IDC_RTG_INITIAL_MONITOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,249,63,131,10
+    CONTROL         "Override initial native chipset display",IDC_RTG_INITIAL_MONITOR,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,249,63,131,10
 END
 
 IDD_INPUTMAP DIALOGEX 0, 0, 421, 293
index 0cf43282c8a797192c19d1cd263a9e73d546e70e..f95390145507727230547d95934b97fc2bcd5076 100644 (file)
@@ -9884,15 +9884,17 @@ static void enable_for_memorydlg (HWND hDlg)
        z3 = FALSE;
        fast = FALSE;
 #endif
-       ew (hDlg, IDC_Z3TEXT, z3);
-       ew (hDlg, IDC_Z3FASTRAM, z3);
-       ew (hDlg, IDC_Z3FASTMEM, z3);
-       ew (hDlg, IDC_Z3CHIPRAM, z3);
-       ew (hDlg, IDC_Z3CHIPMEM, z3);
-       ew (hDlg, IDC_FASTMEM, true);
-       ew (hDlg, IDC_FASTRAM, true);
-       ew (hDlg, IDC_Z3MAPPING, z3);
-       ew (hDlg, IDC_FASTTEXT, true);
+       ew(hDlg, IDC_Z3TEXT, z3);
+       ew(hDlg, IDC_Z3FASTRAM, z3);
+       ew(hDlg, IDC_Z3FASTMEM, z3);
+       ew(hDlg, IDC_Z3CHIPRAM, z3);
+       ew(hDlg, IDC_Z3CHIPMEM, z3);
+       ew(hDlg, IDC_FASTMEM, true);
+       ew(hDlg, IDC_FASTRAM, true);
+       ew(hDlg, IDC_CPUSLOTMEM, z3);
+       ew(hDlg, IDC_CPUSLOTRAM, z3);
+       ew(hDlg, IDC_Z3MAPPING, z3);
+       ew(hDlg, IDC_FASTTEXT, true);
 
        bool isfast = fastram_select >= MAX_STANDARD_RAM_BOARDS && fastram_select < MAX_STANDARD_RAM_BOARDS + 2 * MAX_RAM_BOARDS && fastram_select_ramboard && fastram_select_ramboard->size;
        ew(hDlg, IDC_AUTOCONFIG_MANUFACTURER, isfast && !manual);
@@ -10433,6 +10435,7 @@ static void values_to_memorydlg (HWND hDlg)
 
        xSendDlgItemMessage (hDlg, IDC_Z3CHIPMEM, TBM_SETPOS, TRUE, mem_size);
        SetDlgItemText (hDlg, IDC_Z3CHIPRAM, memsize_names[msi_z3chip[mem_size]]);
+
 #if 0
        mem_size = 0;
        switch (workprefs.mbresmem_low_size) {
@@ -10447,9 +10450,10 @@ static void values_to_memorydlg (HWND hDlg)
        }
        xSendDlgItemMessage (hDlg, IDC_MBMEM1, TBM_SETPOS, TRUE, mem_size);
        SetDlgItemText (hDlg, IDC_MBRAM1, memsize_names[msi_gfx[mem_size]]);
+#endif
 
        mem_size = 0;
-       switch (workprefs.mbresmem_high_size) {
+       switch (workprefs.mbresmem_high.size) {
        case 0x00000000: mem_size = 0; break;
        case 0x00100000: mem_size = 1; break;
        case 0x00200000: mem_size = 2; break;
@@ -10460,11 +10464,10 @@ static void values_to_memorydlg (HWND hDlg)
        case 0x04000000: mem_size = 7; break;
        case 0x08000000: mem_size = 8; break;
        }
-       xSendDlgItemMessage (hDlg, IDC_MBMEM2, TBM_SETPOS, TRUE, mem_size);
-       SetDlgItemText (hDlg, IDC_MBRAM2, memsize_names[msi_gfx[mem_size]]);
-#endif
-       setmax32bitram (hDlg);
+       xSendDlgItemMessage (hDlg, IDC_CPUSLOTMEM, TBM_SETPOS, TRUE, mem_size);
+       SetDlgItemText (hDlg, IDC_CPUSLOTRAM, memsize_names[msi_cpuboard[mem_size]]);
 
+       setmax32bitram (hDlg);
 }
 
 static void fix_values_memorydlg (void)
@@ -12246,12 +12249,13 @@ static INT_PTR CALLBACK MemoryDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA
                recursive++;
                pages[MEMORY_ID] = hDlg;
                currentpage = MEMORY_ID;
-               xSendDlgItemMessage (hDlg, IDC_CHIPMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_CHIP_MEM, MAX_CHIP_MEM));
-               xSendDlgItemMessage (hDlg, IDC_FASTMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_FAST_MEM, MAX_FAST_MEM));
-               xSendDlgItemMessage (hDlg, IDC_SLOWMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_SLOW_MEM, MAX_SLOW_MEM));
-               xSendDlgItemMessage (hDlg, IDC_Z3FASTMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_Z3_MEM, MAX_Z3_MEM));
-               xSendDlgItemMessage (hDlg, IDC_Z3CHIPMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_Z3_MEM, MAX_Z3_CHIPMEM));
-               xSendDlgItemMessage (hDlg, IDC_Z3MAPPING, CB_RESETCONTENT, 0, 0);
+               xSendDlgItemMessage(hDlg, IDC_CHIPMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_CHIP_MEM, MAX_CHIP_MEM));
+               xSendDlgItemMessage(hDlg, IDC_FASTMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_FAST_MEM, MAX_FAST_MEM));
+               xSendDlgItemMessage(hDlg, IDC_SLOWMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_SLOW_MEM, MAX_SLOW_MEM));
+               xSendDlgItemMessage(hDlg, IDC_Z3FASTMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_Z3_MEM, MAX_Z3_MEM));
+               xSendDlgItemMessage(hDlg, IDC_Z3CHIPMEM, TBM_SETRANGE, TRUE, MAKELONG (MIN_Z3_MEM, MAX_Z3_CHIPMEM));
+               xSendDlgItemMessage(hDlg, IDC_CPUSLOTMEM, TBM_SETRANGE, TRUE, MAKELONG(MIN_MB_MEM, MAX_MBH_MEM));
+               xSendDlgItemMessage(hDlg, IDC_Z3MAPPING, CB_RESETCONTENT, 0, 0);
                WIN32GUI_LoadUIString (IDS_AUTOMATIC, tmp, sizeof tmp / sizeof (TCHAR));
                _tcscat(tmp, _T(" (*)"));
                xSendDlgItemMessage (hDlg, IDC_Z3MAPPING, CB_ADDSTRING, 0, (LPARAM)tmp);
@@ -12428,6 +12432,9 @@ static INT_PTR CALLBACK MemoryDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA
                if (v != workprefs.chipmem.size) {
                        change1 = true;
                        workprefs.chipmem.size = v;
+                       if (full_property_sheet && !(workprefs.chipset_mask & CSMASK_ECS_AGNUS) && v > 512 * 1024) {
+                               workprefs.chipset_mask |= CSMASK_ECS_AGNUS;
+                       }
                }
                v = memsizes[msi_bogo[SendMessage (GetDlgItem (hDlg, IDC_SLOWMEM), TBM_GETPOS, 0, 0)]];
                if (v != workprefs.bogomem.size) {
@@ -12453,6 +12460,11 @@ static INT_PTR CALLBACK MemoryDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA
                        change1 = true;
                        workprefs.z3chipmem.size = v;
                }
+               v = memsizes[msi_cpuboard[SendMessage(GetDlgItem(hDlg, IDC_CPUSLOTMEM), TBM_GETPOS, 0, 0)]];
+               if (v != workprefs.mbresmem_high.size) {
+                       change1 = true;
+                       workprefs.mbresmem_high.size = v;
+               }
                if (!change1 && fastram_select_pointer) {
                        v = memsizes[fastram_select_msi[SendMessage(GetDlgItem(hDlg, IDC_MEMORYMEM), TBM_GETPOS, 0, 0)]];
                        if (*fastram_select_pointer != v) {