]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
6000b16
authorToni Wilen <twilen@winuae.net>
Sat, 22 Mar 2025 14:45:44 +0000 (16:45 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 22 Mar 2025 14:45:44 +0000 (16:45 +0200)
expansion.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index a44c2b85d4e75765d31f831a7d08dcba80cd821a..fe225af9eb6a1ea12b46fe510bf1aef154391511 100644 (file)
@@ -3314,19 +3314,22 @@ static void check_card_child(int index, bool *inuse, int *new_cardnop)
                        inuse[i] = true;
                }
        }
-       // romtype parent?
-       for (int i = 0; i < cardno; i++) {
-               struct card_data *cdc = &cards_set[i];
-               if (inuse[i])
-                       continue;
-               const int *parent = cdc->aci.parent_romtype;
-               if (!parent)
-                       continue;
-               for (int j = 0; parent[j]; j++) {
-                       if (cd->rc && parent[j] == (cd->rc->back->device_type & ROMTYPE_MASK)) {
-                               cards[new_cardno++] = cdc;
-                               cdc->aci.parent_of_previous = true;
-                               inuse[i] = true;
+       // romtype parent? search backwards, find closest previous.
+       for (int r = 0; r < 2; r++) {
+               int start = r == 0 ? index : cardno;
+               for (int i = start - 1; i >= 0; i--) {
+                       struct card_data *cdc = &cards_set[i];
+                       if (inuse[i])
+                               continue;
+                       const int *parent = cdc->aci.parent_romtype;
+                       if (!parent)
+                               continue;
+                       for (int j = 0; parent[j]; j++) {
+                               if (cd->rc && parent[j] == (cd->rc->back->device_type & ROMTYPE_MASK)) {
+                                       cards[new_cardno++] = cdc;
+                                       cdc->aci.parent_of_previous = true;
+                                       inuse[i] = true;
+                               }
                        }
                }
        }
index fcb8c7e8927d6e76f4e3b4c6a6243f6a4367dd1f..8cdd81baa60dc5409a4a1500d19826e54c81c2b9 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("15")
+#define WINUAEBETA _T("16")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2025, 3, 17)
+#define WINUAEDATE MAKEBD(2025, 3, 22)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index e13c064fe3a3187cb580a46ce037788fd4dba69f..48ba40162899414eb5f0216c64463a3ea9546815 100644 (file)
@@ -1,4 +1,13 @@
 
+Beta 16:
+
+- EHB was broken in ECS Denise and AGA modes. KILLEHB was always detected as active.
+- Add harddrive last partition selection didn't work correctly. Also non-0x30/0x76 partitions are now allowed to be selected.
+- When screen mode switches (PAL/NTSC/VPOSW trick etc), delay host side switch until at least 2 back to back frames have same width and height to prevent single weird size frame changes (for example during boot when VPOSW LOF bit is changed in random position from zero to one causing height of frame to change temporarily)
+- Disabled too annoying CD audio OSD led flicker.
+- Possible fix for autoscale not always detecting top and bottom borders.
+- Filter internal scaling and positioning cleanup. Simplified coordinate and size calculations etc. Should not have any visible effect but it might break some filter configurations.
+
 Beta 15:
 
 - Vertical blank state was taken from wrong variable when in programmed mode, forcing fast mode to not be used when drawing programmed mode bitplane graphics.