From: Toni Wilen Date: Sat, 22 Mar 2025 14:45:44 +0000 (+0200) Subject: 6000b16 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=cc613e3dbb395560e565364aff1ca65cd83d101a;p=francis%2Fwinuae.git 6000b16 --- diff --git a/expansion.cpp b/expansion.cpp index a44c2b85..fe225af9 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -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; + } } } } diff --git a/od-win32/win32.h b/od-win32/win32.h index fcb8c7e8..8cdd81ba 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #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") diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index e13c064f..48ba4016 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -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.