]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
6000b23
authorToni Wilen <twilen@winuae.net>
Fri, 25 Apr 2025 16:05:26 +0000 (19:05 +0300)
committerToni Wilen <twilen@winuae.net>
Fri, 25 Apr 2025 16:05:26 +0000 (19:05 +0300)
audio.cpp
events.cpp
od-win32/rp.cpp
od-win32/win32.h
od-win32/win32_scaler.cpp
od-win32/win32gui.cpp
od-win32/winuaechangelog.txt

index 06a741e2e8b9528e9a1a31184aa8b37e8c8d232b..72eae356f94562b9c65ae402ec5be0c04176bb5a 100644 (file)
--- a/audio.cpp
+++ b/audio.cpp
@@ -1511,7 +1511,7 @@ static void audio_low_period_hack(struct audio_channel_data *cdp)
 {
        // if very low period sample repeats, set higher period value to not cause huge performance drop
        // For example: Spaceport, R-Type II, Rambo III
-       int nr = cdp - audio_channel;
+       int nr = addrdiff(cdp, audio_channel);
        if ((cdp->state == 2 || cdp->state == 3) && cdp->per < PERIOD_MIN_LOOP * CYCLE_UNIT && !(intena & (1 << (nr + 7))) && !(currprefs.cs_hacks & 32)) {
                int add = 1;
                if (cdp->len == 0 || cdp->len > 1000) {
index a265dda87b4c4838400f7198e855f017d5376de8..6ca0159fc43aa0ef396605b4f19052213b69d2e1 100644 (file)
@@ -432,7 +432,7 @@ void event2_newevent_xx(int no, evt_t t, uae_u32 data, evfunc2 func)
        e->evtime = et;
        e->handler = func;
        e->data = data;
-       event2idx = (e - eventtab2) + 1;
+       event2idx = addrdiff(e, eventtab2) + 1;
        MISC_handler();
 }
 
index 89efd2f1c3bb0d315513c8bea8d48594cf15feae..69ed48fde7cec212d2c83b0793232e7a081e24c7 100644 (file)
@@ -915,10 +915,6 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p)
        int width, height;
        bool half;
 
-//     Sleep(10000);
-//     smm = RP_SCREENMODE_SCALE_4X + 0;
-//     smm_m = smm;
-
        storeflags = sm->dwScreenMode;
        minimized = 0;
        if (display) {
index d4506a9b0aec9037dc57948a2c33d10d89d5fd7a..678be74c97a2532c2276453d6bc0beb014da9efe 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("22")
+#define WINUAEBETA _T("23")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2025, 4, 19)
+#define WINUAEDATE MAKEBD(2025, 4, 25)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index c36673bdfabafe40c7260ee154baad5b97740b05..c0263f6dab01221a09ab9f0c884341df493006ea 100644 (file)
@@ -48,8 +48,6 @@ static bool getmanualpos(int monid, int *cxp, int *cyp, int *cwp, int *chp)
        cy = *cyp;
        v = currprefs.gfx_xcenter_pos;
        if (v >= 0) {
-               // v6 adjustment
-               v -= 1 << RES_MAX;
                if (v < 0) {
                        v = 0;
                }
@@ -815,7 +813,7 @@ uae_u8 *getfilterbuffer(int monid, int *widthp, int *heightp, int *pitch, int *d
        *widthp = w;
        *heightp = h;
        *depth = vb->pixbytes * 8;
-       return vb->bufmem + extra * sizeof(uae_u32);
+       return vb->bufmem ? vb->bufmem + extra * sizeof(uae_u32) : NULL;
 }
 
 #endif
index 377139f699bb6b90205a1cd3e1d20d436ab3f3dc..3ca91d5954018dab8d432832752ace522b700988 100644 (file)
@@ -20669,12 +20669,12 @@ static void values_to_hw3ddlg (HWND hDlg, bool initdialog)
        
        if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_MANUAL) {
                xrange1 = -1;
-               xrange2 = 1800;
+               xrange2 = 1900;
                yrange1 = xrange1;
                yrange2 = xrange2;
        } else if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_OVERSCAN_BLANK) {
                xrange1 = 0;
-               xrange2 = 1800;
+               xrange2 = 1900;
                yrange1 = 0;
                yrange2 = 700;
        } else if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_INTEGER ||
@@ -21423,9 +21423,6 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
                                SetDlgItemInt (hDlg, IDC_FILTERVZV, fdwp->gfx_filter_right_border, TRUE);
                                SetDlgItemInt (hDlg, IDC_FILTERHOV, fdwp->gfx_filter_top_border, TRUE);
                                SetDlgItemInt (hDlg, IDC_FILTERVOV, fdwp->gfx_filter_bottom_border, TRUE);
-                               if (!full_property_sheet) {
-                                       reset_drawing();
-                               }
                        } else {
                                if (h == hz) {
                                        fd->gfx_filter_horiz_zoom = (float)SendMessage (hz, TBM_GETPOS, 0, 0);
index 223c8242715734319c2d5dcf760f97bbf7330b5a..9140f6cba22be761193fb98876b7969e9762d62b 100644 (file)
@@ -1,4 +1,20 @@
 
+Beta 23:
+
+- Automatic center filter mode fixed.
+- ECS superhires filtered lores implemented. Filtered lores odd/even genlock data is also now "filtered".
+- In some situations right border had 1 lores pixel difference between border and hblank depending on drawing mode.
+- Fixed AVI recording crash.
+- Fast drawing mode + NTSC: left and right border glitches should be finally fixed.
+- Fixed fast draw mode last line changing between blank/border when mouse was near the border.
+- When reset was executed, new screen width included old short/long state. In NTSC mode new screen width was randomly 2 lores pixels wider.
+- When in fast non-CE mode, switching from RTG to chipset and if fast RGA buffer become full, it was possible for CPU chipset writes to arrive in Denise side in different order, causing strange side-effects. (Frontier black screen)
+- Partial fix for A2024 emulation. (All display port monitors need some updates)
+- Fixed slirp use after free bug (Andreas Grabher)
+- Added (config file only currently, "rtg_noautomodes=true") option that disables uaegfx automatically generated screen modes. With Picasso96 v3.4+ and P96Prefs new modes can be created manually, just like when using real hardware. Note: Old Picasso96 and/or PicassoMode utility don't support manual uaegfx modes.
+- Added 3840x1080 to known uaegfx resolutions list ("known" = gets static mode id if autogenerated)
+
+
 Beta 22:
 
 - Fast mode drawing + HAM + left TV overscan blanking part of display caused HAM artifacts.