]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
imported winuaesrc2000b25.zip
authorToni Wilen <twilen@winuae.net>
Sat, 5 Dec 2009 14:54:43 +0000 (16:54 +0200)
committerToni Wilen <twilen@winuae.net>
Mon, 22 Feb 2010 19:49:42 +0000 (21:49 +0200)
arcadia.c
cfgfile.c
custom.c
od-win32/win32.h
od-win32/win32gui.c
od-win32/winuaechangelog.txt

index f0abcbb100c12a5c5e92f9a1499d62cba8f0e8c4..73c21d64d033b85cbf74954cefd5b2deb569f3be 100644 (file)
--- a/arcadia.c
+++ b/arcadia.c
@@ -181,14 +181,14 @@ static int load_roms (struct arcadiarom *rom)
                _stprintf (path, L"%s%d", xpath, i + 1);
                if (!load_rom8 (path, arbmemory + 2 * 65536 * i + offset, rom->extra)) {
                        if (i == 0)
-                               write_log (L"Arcadia: %s rom load failed ('%s')\n", rom->type == ARCADIA_BIOS ? "bios" : "game", path);
+                               write_log (L"Arcadia: %s rom load failed ('%s')\n", rom->type == ARCADIA_BIOS ? L"bios" : L"game", path);
                        break;
                }
                i++;
        }
        if (i == 0)
                return 0;
-       write_log (L"Arcadia: %s rom %s loaded\n", rom->type == ARCADIA_BIOS ? "bios" : "game", xpath);
+       write_log (L"Arcadia: %s rom %s loaded\n", rom->type == ARCADIA_BIOS ? L"bios" : L"game", xpath);
        return 1;
 }
 
index 9189964014ddc3c1760688fdd883285ea7024513..c08354efa4cdccdbdf105557bdddef85945ca60b 100644 (file)
--- a/cfgfile.c
+++ b/cfgfile.c
@@ -1462,7 +1462,7 @@ struct uaedev_config_info *add_filesys_config (struct uae_prefs *p, int index,
        int i;
        TCHAR *s;
 
-       if (devname && _tcslen (devname) > 0) {
+       if (index < 0 && devname && _tcslen (devname) > 0) {
                for (i = 0; i < p->mountitems; i++) {
                        if (p->mountconfig[i].devname && !_tcscmp (p->mountconfig[i].devname, devname))
                                return 0;
@@ -3908,7 +3908,8 @@ static int bip_super (struct uae_prefs *p, int config, int compa, int romcheck)
 
 static int bip_arcadia (struct uae_prefs *p, int config, int compa, int romcheck)
 {
-       int roms[4];
+       int roms[4], i;
+       struct romlist **rl;
 
        p->bogomem_size = 0;
        p->chipset_mask = 0;
@@ -3932,6 +3933,16 @@ static int bip_arcadia (struct uae_prefs *p, int config, int compa, int romcheck
        roms[3] = -1;
        if (!configure_rom (p, roms, romcheck))
                return 0;
+       rl = getarcadiaroms ();
+       for (i = 0; rl[i]; i++) {
+               if (config-- == 0) {
+                       roms[0] = rl[i]->rd->id;
+                       roms[1] = -1;
+                       configure_rom (p, roms, 0);
+                       break;
+               }
+       }
+       xfree (rl);
        return 1;
 }
 
index 6c91450f8c094c88cf9838e71b26f3f35cbc28f2..f3cdc2f4e6c99a5ab03ffacba53522fb37d9f8ef 100644 (file)
--- a/custom.c
+++ b/custom.c
@@ -239,7 +239,7 @@ static unsigned int bplcon0, bplcon1, bplcon2, bplcon3, bplcon4;
 static unsigned int bplcon0d, bplcon0dd, bplcon0_res, bplcon0_planes, bplcon0_planes_limit;
 static unsigned int diwstrt, diwstop, diwhigh;
 static int diwhigh_written;
-static unsigned int ddfstrt, ddfstop, ddfstrt_old_hpos, ddfstrt_old_vpos;
+static unsigned int ddfstrt, ddfstop, ddfstrt_old_hpos;
 static int ddf_change, badmode, diw_change;
 static int fmode;
 static int bplcon1_hpos;
@@ -967,18 +967,13 @@ STATIC_INLINE maybe_check (int hpos)
 
 static void bpldmainitdelay (int hpos)
 {
-       int needdelay = 1;
        int hposa;
 
        hposa = hpos + BPLCON_AGNUS_DELAY;
        ddf_change = vpos;
-       if (hposa >= maxhpos - 1)
-               needdelay = 0;
-       if (hposa < 0x14)
-               needdelay = 0;
-       if (!needdelay) {
-               BPLCON0_Denise (hposa, bplcon0);
-               setup_fmodes (hposa);
+       if (hposa < 0x14) {
+               BPLCON0_Denise (hpos, bplcon0);
+               setup_fmodes (hpos);
                return;
        }
        if (bpldmasetuphpos < 0) {
@@ -1875,9 +1870,8 @@ STATIC_INLINE void decide_line (int hpos)
                                ok = 1;
                        /* hack warning.. Writing to DDFSTRT when DMA should start must be ignored
                        * (correct fix would be emulate this delay for every custom register, but why bother..) */
-                       if (ddfstrt_old_vpos == vpos)
-                               if (hpos - 2 == ddfstrt_old_hpos)
-                                       ok = 0;
+                       if (hpos - 2 == ddfstrt_old_hpos)
+                               ok = 0;
                }
                if (ok) {
                        if (dmaen (DMA_BITPLANE)) {
@@ -2593,6 +2587,7 @@ static void reset_decisions (void)
        }
        bpldmasetuphpos = -1;
        bpldmasetupphase = 0;
+       ddfstrt_old_hpos = -1;
 
        if (plf_state > plf_active)
                plf_state = plf_idle;
@@ -3590,7 +3585,6 @@ static void DDFSTRT (int hpos, uae_u16 v)
        ddf_change = vpos;
        decide_line (hpos);
        ddfstrt_old_hpos = hpos;
-       ddfstrt_old_vpos = vpos;
        ddfstrt = v;
        calcdiw ();
        if (ddfstop > 0xD4 && (ddfstrt & 4) == 4) {
index 9d9ef1980b0dc7f106acd41fa4773ea61e4a3397..fabc8882782e60122f959af1588aa7d94e7050cc 100644 (file)
@@ -18,9 +18,9 @@
 #define WINUAEPUBLICBETA 1
 #define LANG_DLL 1
 
-#define WINUAEBETA L"Beta 24"
-#define WINUAEDATE MAKEBD(2009, 12, 4)
-#define WINUAEEXTRA L"RC2"
+#define WINUAEBETA L"Beta 25"
+#define WINUAEDATE MAKEBD(2009, 12, 5)
+#define WINUAEEXTRA L"RC3"
 #define WINUAEREV L""
 
 #define IHF_WINDOWHIDDEN 6
index 47f8e577bc0c79ccdd11ee8026f08481c135a7c2..0a8609d5c360b97dd7b991c16617beba362b14bb 100644 (file)
@@ -4133,7 +4133,7 @@ static void init_quickstartdlg_tooltip (HWND hDlg, TCHAR *tt)
 static void init_quickstartdlg (HWND hDlg)
 {
        static int firsttime;
-       int i, j, idx, idx2, qssize;
+       int i, j, idx, idx2, qssize, total;
        TCHAR tmp1[2 * MAX_DPATH], tmp2[MAX_DPATH], hostconf[MAX_DPATH];
        TCHAR *p1, *p2;
 
@@ -4179,29 +4179,39 @@ static void init_quickstartdlg (HWND hDlg)
        }
        SendDlgItemMessage (hDlg, IDC_QUICKSTART_MODEL, CB_SETCURSEL, idx2, 0);
 
-       WIN32GUI_LoadUIString (amodels[quickstart_model].id, tmp1, sizeof (tmp1) / sizeof (TCHAR));
-       _tcscat (tmp1, L"\n");
-       p1 = tmp1;
-       init_quickstartdlg_tooltip (hDlg, 0);
+       total = 0;
        SendDlgItemMessage (hDlg, IDC_QUICKSTART_CONFIGURATION, CB_RESETCONTENT, 0, 0L);
-       i = 0;
-       for (;;) {
-               p2 = _tcschr (p1, '\n');
-               if (!p2)
-                       break;
-               *p2++= 0;
-               SendDlgItemMessage (hDlg, IDC_QUICKSTART_CONFIGURATION, CB_ADDSTRING, 0, (LPARAM)p1);
-               p1 = p2;
-               p2 = _tcschr (p1, '\n');
-               if (!p2)
-                       break;
-               *p2++= 0;
-               if (quickstart_conf == i && _tcslen (p1) > 0)
-                       init_quickstartdlg_tooltip (hDlg, p1);
-               p1 = p2;
-               i++;
+       if (amodels[quickstart_model].id == IDS_QS_MODEL_ARCADIA) {
+               struct romlist **rl = getarcadiaroms ();
+               for (i = 0; rl[i]; i++) {
+                       SendDlgItemMessage (hDlg, IDC_QUICKSTART_CONFIGURATION, CB_ADDSTRING, 0, (LPARAM)rl[i]->rd->name);
+                       total++;
+               }
+               xfree (rl);
+       } else {
+               WIN32GUI_LoadUIString (amodels[quickstart_model].id, tmp1, sizeof (tmp1) / sizeof (TCHAR));
+               _tcscat (tmp1, L"\n");
+               p1 = tmp1;
+               init_quickstartdlg_tooltip (hDlg, 0);
+               total = 0;
+               for (;;) {
+                       p2 = _tcschr (p1, '\n');
+                       if (!p2)
+                               break;
+                       *p2++= 0;
+                       SendDlgItemMessage (hDlg, IDC_QUICKSTART_CONFIGURATION, CB_ADDSTRING, 0, (LPARAM)p1);
+                       p1 = p2;
+                       p2 = _tcschr (p1, '\n');
+                       if (!p2)
+                               break;
+                       *p2++= 0;
+                       if (quickstart_conf == total && _tcslen (p1) > 0)
+                               init_quickstartdlg_tooltip (hDlg, p1);
+                       p1 = p2;
+                       total++;
+               }
        }
-       if (quickstart_conf >= i)
+       if (quickstart_conf >= total)
                quickstart_conf = 0;
        SendDlgItemMessage (hDlg, IDC_QUICKSTART_CONFIGURATION, CB_SETCURSEL, quickstart_conf, 0);
 
@@ -5254,6 +5264,7 @@ static void values_from_chipsetdlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
                        }
                        workprefs.immediate_blits = 0;
                        workprefs.gfx_framerate = 1;
+                       workprefs.cachesize = 0;
                }
        }
        workprefs.collision_level = IsDlgButtonChecked (hDlg, IDC_COLLISION0) ? 0
index 040fb5720306d3cd124f18e6f66a5c303653dc35..c93efeb117bb8f52e805393ac663cb856a1b61c5 100644 (file)
@@ -1,4 +1,16 @@
 
+Beta 25: (RC3)
+
+- directory filesystem parameter (label, bootpri, rw) changes were
+  ignored unless device name was also changed (b22)
+- BPLCON0 change was partially ignored if hpos was >= e0 (b17)
+- disable JIT when cycle exact is ticked in GUI
+- added Quickstart Arcadia ROM selection (lists all roms)
+- random jumping single black scanline bug finally fixed (variable
+  that was not reset properly caused BPL DMA emulation to think this
+  line had BPL DMA disabled) I finally managed to duplicate this bug
+  100% using Arcadia Leaderboard..
+
 Beta 24: (RC2)
 
 - non 8 divisible width and avi video recording crash fix