]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3000b26
authorToni Wilen <twilen@winuae.net>
Thu, 4 Dec 2014 18:07:52 +0000 (20:07 +0200)
committerToni Wilen <twilen@winuae.net>
Thu, 4 Dec 2014 18:07:52 +0000 (20:07 +0200)
17 files changed:
cfgfile.cpp
custom.cpp
debug.cpp
filesys.cpp
fpp.cpp
gencpu.cpp
gfxboard.cpp
include/events.h
include/options.h
newcpu.cpp
od-win32/mman.cpp
od-win32/resources/winuae.rc
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gui.cpp
od-win32/winuae_msvc11/winuae_msvc.vcxproj
od-win32/wix/Product.wxs

index 8953218c62c04ccd9ad6582c053ec4f71f7340bb..b04d03e626136b11e1d41c96420961739d840ec6 100644 (file)
@@ -1044,6 +1044,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
                cfgfile_write_str (f, _T("cart"), p->cartident);
        if (p->amaxromfile[0])
                cfgfile_write_path (f, &p->path_rom, _T("amax_rom_file"), p->amaxromfile);
+       cfgfile_dwrite_path (f, &p->path_rom, _T("picassoiv_rom_file"), p->picassoivromfile);
 
        cfgfile_write_bool (f, _T("kickshifter"), p->kickshifter);
        cfgfile_write_bool (f, _T("ks_write_enabled"), p->rom_readwrite);
@@ -3772,6 +3773,7 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, const TCHAR *option, TCH
                || cfgfile_path (option, value, _T("flash_file"), p->flashfile, sizeof p->flashfile / sizeof (TCHAR), &p->path_rom)
                || cfgfile_path (option, value, _T("cart_file"), p->cartfile, sizeof p->cartfile / sizeof (TCHAR), &p->path_rom)
                || cfgfile_path (option, value, _T("rtc_file"), p->rtcfile, sizeof p->rtcfile / sizeof (TCHAR), &p->path_rom)
+               || cfgfile_path (option, value, _T("picassoiv_rom_file"), p->picassoivromfile, sizeof p->picassoivromfile / sizeof (TCHAR), &p->path_rom)
                || cfgfile_string (option, value, _T("pci_devices"), p->pci_devices, sizeof p->pci_devices / sizeof (TCHAR))
                || cfgfile_string (option, value, _T("ghostscript_parameters"), p->ghostscript_parameters, sizeof p->ghostscript_parameters / sizeof (TCHAR)))
                return 1;
index a9d8b1429bc38bf3b09167ef565ae95fb41a7827..485f7e3fa78e964c1fa7608e03f162f065be5fe9 100644 (file)
@@ -3744,7 +3744,7 @@ void compute_framesync (void)
                gfxvidinfo.drawbuffer.inwidth = AMIGA_WIDTH_MAX << currprefs.gfx_resolution;
                gfxvidinfo.drawbuffer.extrawidth = currprefs.gfx_extrawidth ? currprefs.gfx_extrawidth : -1;
                gfxvidinfo.drawbuffer.inwidth2 = gfxvidinfo.drawbuffer.inwidth;
-               gfxvidinfo.drawbuffer.inheight = ((maxvpos_display + 1) - minfirstline + 1) << currprefs.gfx_vresolution;
+               gfxvidinfo.drawbuffer.inheight = (maxvpos_display - minfirstline + 1) << currprefs.gfx_vresolution;
                gfxvidinfo.drawbuffer.inheight2 = gfxvidinfo.drawbuffer.inheight;
 
        }
index 954d176f02ca58ba39608e27f34b2545ea6129a1..43bc6989bcd83d0e7c62936deb472a4e334a521d 100644 (file)
--- a/debug.cpp
+++ b/debug.cpp
@@ -198,7 +198,7 @@ uae_u32 get_byte_debug (uaecptr addr)
                                v = mmu_get_user_byte (addr, regs.s != 0, (debug_mmu_mode & 1) ? true : false, false, sz_byte);
                        }
                } CATCH(p) {
-               }
+               } ENDTRY
                regs.s = olds;
        } else {
                v = get_byte (addr);
@@ -218,7 +218,7 @@ uae_u32 get_word_debug (uaecptr addr)
                                v = mmu_get_user_word (addr, regs.s != 0, (debug_mmu_mode & 1) ? true : false, false, sz_word);
                        }
                } CATCH(p) {
-               }
+               } ENDTRY
                regs.s = olds;
        } else {
                v = get_word (addr);
@@ -238,7 +238,7 @@ uae_u32 get_long_debug (uaecptr addr)
                                v = mmu_get_user_long (addr, regs.s != 0, (debug_mmu_mode & 1) ? true : false, false, sz_long);
                        }
                } CATCH(p) {
-               }
+               } ENDTRY
                regs.s = olds;
        } else {
                v = get_long (addr);
@@ -278,7 +278,7 @@ int safe_addr (uaecptr addr, int size)
                                addr = mmu030_translate (addr, regs.s != 0, (debug_mmu_mode & 1), false);
                } CATCH(p) {
                        return 0;
-               }
+               } ENDTRY
                regs.s = olds;
        }
        addrbank *ab = &get_mem_bank (addr);
@@ -4517,10 +4517,10 @@ static BOOL debug_line (TCHAR *input)
                                                        console_out_f (_T(" RW"));
                                                } CATCH(prb2) {
                                                        console_out_f (_T(" RO"));
-                                               }
+                                               } ENDTRY
                                        } CATCH(prb) {
                                                console_out_f (_T("***********"));
-                                       }
+                                       } ENDTRY
                                        console_out_f (_T(" "));
                                }
                                console_out_f (_T("\n"));
index 2e977ba0475eac0d4d96a8b748d42a15827259c9..73955e20fad0c3d8daa3dbfeff4b7375bde40be2 100644 (file)
@@ -7894,7 +7894,6 @@ static a_inode *restore_filesys_get_base (Unit *u, TCHAR *npath)
        cnt = 1;
        for (;;) {
                _tcscpy (path, npath);
-               _tcscat (path, _T("/"));
                p = path;
                for (i = 0; i < cnt ;i++) {
                        if (i > 0)
@@ -8010,9 +8009,10 @@ static uae_u8 *restore_aino (UnitInfo *ui, Unit *u, uae_u8 *src)
        pn = makenativepath (ui, p);
        a->nname = pn;
        a->aname = my_strdup (p2);
-       /* find parent of a->aname (Already restored previously. I hope..) */
+       /* create path to parent dir */
        if (p2 != p)
-               p2[-1] = 0;
+               p2[0] = 0;
+       /* find parent of a->aname (Already restored previously. I hope..) */
        base = restore_filesys_get_base (u, p);
        xfree(p);
        if (flags & 2) {
diff --git a/fpp.cpp b/fpp.cpp
index 6f14b41d2aee1304f13a72d3bd888de09e36acdb..5aa540304d803e3695400108a1109fedbaf34305 100644 (file)
--- a/fpp.cpp
+++ b/fpp.cpp
@@ -33,7 +33,9 @@
 #include "cpummu030.h"
 #include "debug.h"
 
+#ifdef WITH_SOFTFLOAT 
 #include "softfloatx80.h"
+#endif
 
 #ifdef X86_MSVC_ASSEMBLY
 #define X86_MSVC_ASSEMBLY_FPU
index 9146854167dc8c885070881197e00aa44156e483..cc5109ec9699e2e16f62530701bb5b9ef6bb629b 100644 (file)
@@ -318,7 +318,7 @@ static void returncycles (const char *s, int cycles)
                return;
        }
        if (using_simple_cycles)
-               printf ("%sreturn (%d + count_cycles) * CYCLE_UNIT / 2;\n", s, cycles);
+               printf ("%sreturn %d * CYCLE_UNIT / 2 + count_cycles;\n", s, cycles);
        else
                printf ("%sreturn %d * CYCLE_UNIT / 2;\n", s, cycles);
 }
@@ -352,7 +352,7 @@ static void addcycles_ce020 (const char *name, int head, int tail, int cycles, i
 static void addcycles000_nonce(const char *s, const char *sc)
 {
        if (using_simple_cycles)
-               printf("%scount_cycles += %s;\n", s, sc);
+               printf("%scount_cycles += %s * CYCLE_UNIT / 2;\n", s, sc);
 }
 
 static void addcycles000 (int cycles)
@@ -3914,8 +3914,10 @@ static void gen_opcode (unsigned int opcode)
                        printf ("\t}\n");
                        need_endlabel = 1;
                }
-               if (curi->smode == Ad16 || curi->smode == Ad8r || curi->smode == absw || curi->smode == PC16 || curi->smode == PC8r)
+               if (curi->smode == Ad16 || curi->smode == absw || curi->smode == PC16)
                        addcycles000 (2);
+               if (curi->smode == Ad8r || curi->smode == PC8r)
+                       addcycles000 (6);
                setpc ("srca");
                m68k_pc_offset = 0;
                fill_prefetch_full ();
index d83ae5928be3f477dad5bf991cce41e85dbdd5d3..06278957fa9cca39b22e43e272a595a9ce171bde 100644 (file)
@@ -2123,7 +2123,11 @@ addrbank *gfxboard_init_memory (void)
                TCHAR path[MAX_DPATH];
                fetch_rompath (path, sizeof path / sizeof (TCHAR));
 
-               if (rl) {
+               p4rom = NULL;
+               if (currprefs.picassoivromfile[0])
+                       p4rom = read_rom_name(currprefs.picassoivromfile);
+
+               if (!p4rom && rl) {
                        p4rom = read_rom (rl->rd);
                }
                if (!p4rom) {
index b44e9e666d6d25789adc45b94926aa5ff2962870..f63d5450690996638883167b43ce39e9214bb547 100644 (file)
@@ -27,9 +27,7 @@ extern bool event_wait;
 extern void compute_vsynctime (void);
 extern void init_eventtab (void);
 extern void do_cycles_ce (unsigned long cycles);
-extern void do_cycles_ce_internal (unsigned long cycles);
 extern void do_cycles_ce020 (unsigned long cycles);
-extern void do_cycles_ce020_interal (unsigned long cycles);
 extern void events_schedule (void);
 extern void do_cycles_slow (unsigned long cycles_to_add);
 extern void do_cycles_fast (unsigned long cycles_to_add);
index b16ed65904c95c5cffd6ec40d9c7601cec658b78..f56a5ae0c827b5faa759297f3691f26af711ca21 100644 (file)
@@ -10,8 +10,8 @@
 #ifndef UAE_OPTIONS_H
 #define UAE_OPTIONS_H
 
-#define UAEMAJOR 2
-#define UAEMINOR 9
+#define UAEMAJOR 3
+#define UAEMINOR 0
 #define UAESUBREV 0
 
 typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
@@ -495,6 +495,7 @@ struct uae_prefs {
        TCHAR sername[256];
        TCHAR amaxromfile[MAX_DPATH];
        TCHAR a2065name[MAX_DPATH];
+       TCHAR picassoivromfile[MAX_DPATH];
        struct cdslot cdslots[MAX_TOTAL_SCSI_DEVICES];
        TCHAR quitstatefile[MAX_DPATH];
        TCHAR statefile[MAX_DPATH];
index f6c41afbe141b692b9362aaa38924cca5fbd9c74..bb959c44b54ff1568b1df4a3e49bb754205cf970 100644 (file)
@@ -4131,7 +4131,7 @@ retry:
                } CATCH (prb2) {
                        cpu_halt (1);
                        return;
-               }
+               } ENDTRY
                goto retry;
        } ENDTRY
 
@@ -4187,7 +4187,7 @@ retry:
                } CATCH (prb2) {
                        cpu_halt (1);
                        return;
-               }
+               } ENDTRY
                goto retry;
        } ENDTRY
 
@@ -4273,7 +4273,7 @@ insretry:
                } CATCH (prb2) {
                        cpu_halt (1);
                        return;
-               }
+               } ENDTRY
                goto retry;
        } ENDTRY
 
@@ -4311,7 +4311,7 @@ retry:
        } CATCH(prb) {
                bus_error();
                goto retry;
-       }
+       } ENDTRY
 }
 
 /* "prefetch" 68040/060 */
@@ -4348,7 +4348,7 @@ retry:
        } CATCH(prb) {
                bus_error();
                goto retry;
-       }
+       } ENDTRY
 }
 /* "cycle exact" 68020/030  */
 
@@ -4475,7 +4475,7 @@ retry:
        } CATCH(prb) {
                bus_error();
                goto retry;
-       }
+       } ENDTRY
 }
 
 #ifdef CPUEMU_20
@@ -4512,7 +4512,7 @@ retry:
        } CATCH(prb) {
                bus_error();
                goto retry;
-       }
+       } ENDTRY
 }
 
 #endif
@@ -4547,7 +4547,7 @@ retry:
        } CATCH(prb) {
                bus_error();
                goto retry;
-       }
+       } ENDTRY
 }
 
 /* fake MMU 68k  */
index ede075ce229214b521c9b217007aea5523a8081a..38abda18fa7b08b1f4dd2e66d06fe827b2b6f7ae 100644 (file)
@@ -357,10 +357,10 @@ static int doinit_shm (void)
                        startbarrier = 0;
                        write_log(_T("Z3 REAL mapping. JIT direct compatible.\n"));
                        jit_direct_compatible_memory = true;
-               } else if (changed_prefs.z3_mapping_mode == Z3MAPPING_AUTO) {
+               } else if (changed_prefs.z3_mapping_mode == Z3MAPPING_AUTO && currprefs.cachesize) {
                        changed_prefs.z3autoconfig_start = currprefs.z3autoconfig_start = Z3BASE_UAE;
                        jit_direct_compatible_memory = true;
-                       write_log(_T("Z3 UAE mapping.\n"));
+                       write_log(_T("Z3 UAE mapping (auto).\n"));
                } else {
                        changed_prefs.z3autoconfig_start = currprefs.z3autoconfig_start = Z3BASE_REAL;
                        write_log(_T("Z3 REAL mapping. Not JIT direct compatible.\n"));
index a3b1c7293bcebdcf35d41f3e10c86b6e794ddb0a..2b700d97340663e4ff53ac9bfe077ae179e24b35 100644 (file)
@@ -1223,8 +1223,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,9,0,0
- PRODUCTVERSION 2,9,0,0
+ FILEVERSION 3,0,0,0
+ PRODUCTVERSION 3,0,0,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -1240,12 +1240,12 @@ BEGIN
         BLOCK "040904b0"
         BEGIN
             VALUE "FileDescription", "WinUAE"
-            VALUE "FileVersion", "2.9.0.0"
+            VALUE "FileVersion", "3.0.0.0"
             VALUE "InternalName", "WinUAE"
             VALUE "LegalCopyright", "© 1996-2014 under the GNU Public License (GPL)"
             VALUE "OriginalFilename", "WinUAE.exe"
             VALUE "ProductName", "WinUAE"
-            VALUE "ProductVersion", "2.9.0.0"
+            VALUE "ProductVersion", "3.0.0.0"
         END
     END
     BLOCK "VarFileInfo"
index ce070d332935c7f9ad9869d4cc1b5a27d333fc46..d738cb8ce2e2ee9995b2a7a524f8e862df5fd4cf 100644 (file)
@@ -134,6 +134,7 @@ HMODULE hUIDLL = NULL;
 HWND (WINAPI *pHtmlHelp)(HWND, LPCWSTR, UINT, LPDWORD) = NULL;
 HWND hAmigaWnd, hMainWnd, hHiddenWnd, hGUIWnd;
 RECT amigawin_rect, mainwin_rect;
+static RECT amigawinclip_rect;
 int setcursoroffset_x, setcursoroffset_y;
 static int mouseposx, mouseposy;
 static UINT TaskbarRestart;
@@ -424,29 +425,32 @@ static int windowmouse_max_h;
 
 static void setcursor (int oldx, int oldy)
 {
-       int x = abs (amigawin_rect.right - amigawin_rect.left) / 2;
-       int y = abs (amigawin_rect.bottom - amigawin_rect.top) / 2;
-       mouseposx = oldx - x;
-       mouseposy = oldy - y;
+       int dx = (amigawinclip_rect.left - amigawin_rect.left) + (amigawinclip_rect.right - amigawinclip_rect.left) / 2;
+       int dy = (amigawinclip_rect.top - amigawin_rect.top) + (amigawinclip_rect.bottom - amigawinclip_rect.top) / 2;
+       mouseposx = oldx - dx;
+       mouseposy = oldy - dy;
 
-       windowmouse_max_w = (amigawin_rect.right - amigawin_rect.left) / 2 - 25;
-       windowmouse_max_h = (amigawin_rect.bottom - amigawin_rect.top) / 2 - 25;
+       windowmouse_max_w = (amigawinclip_rect.right - amigawinclip_rect.left) / 2 - 50;
+       windowmouse_max_h = (amigawinclip_rect.bottom - amigawinclip_rect.top) / 2 - 50;
+       if (windowmouse_max_w < 10)
+               windowmouse_max_w = 10;
+       if (windowmouse_max_h < 10)
+               windowmouse_max_h = 10;
 
        if (currprefs.input_magic_mouse && currprefs.input_tablet > 0 && mousehack_alive () && isfullscreen () <= 0) {
                mouseposx = mouseposy = 0;
                return;
        }
 #if MOUSECLIP_LOG
-       write_log (_T("%dx%d %dx%d %dx%d %d%d (%dx%d %dx%d)\n"),
-               x, y,
+       write_log (_T("%dx%d %dx%d %dx%d %dx%d (%dx%d %dx%d)\n"),
+               dx, dy,
                mouseposx, mouseposy,
                oldx, oldy,
-               oldx + amigawin_rect.left, oldy + amigawin_rect.top,
-               amigawin_rect.left, amigawin_rect.top,
-               amigawin_rect.right, amigawin_rect.bottom);
+               oldx + amigawinclip_rect.left, oldy + amigawinclip_rect.top,
+               amigawinclip_rect.left, amigawinclip_rect.top,
+               amigawinclip_rect.right, amigawinclip_rect.bottom);
 #endif
        if (oldx >= 30000 || oldy >= 30000 || oldx <= -30000 || oldy <= -30000) {
-               mouseposx = mouseposy = 0;
                oldx = oldy = 0;
        } else {
                if (abs (mouseposx) < windowmouse_max_w && abs (mouseposy) < windowmouse_max_h)
@@ -458,8 +462,8 @@ static void setcursor (int oldx, int oldy)
                        amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom);
                return;
        }
-       int cx = amigawin_rect.left + x;
-       int cy = amigawin_rect.top + y;
+       int cx = (amigawinclip_rect.right - amigawinclip_rect.left) / 2 + amigawin_rect.left + (amigawinclip_rect.left - amigawin_rect.left);
+       int cy = (amigawinclip_rect.bottom - amigawinclip_rect.top) / 2 + amigawin_rect.top + (amigawinclip_rect.top - amigawin_rect.top);
 #if MOUSECLIP_LOG
        write_log (_T("SetCursorPos(%d,%d)\n"), cx, cy);
 #endif
@@ -632,10 +636,20 @@ static void releasecapture (void)
 void updatemouseclip (void)
 {
        if (showcursor) {
+               ClipCursor(NULL);
+               amigawinclip_rect = amigawin_rect;
+               if (0 && !isfullscreen()) {
+                       RECT cliprect;
+                       GetClipCursor(&cliprect);
+                       IntersectRect(&amigawinclip_rect, &cliprect, &amigawin_rect);
+#if MOUSECLIP_LOG
+                       write_log (_T("CLIPW %dx%d %dx%d %d\n"), amigawinclip_rect.left, amigawinclip_rect.top, amigawinclip_rect.right, amigawinclip_rect.bottom, isfullscreen ());
+#endif
+               }
 #if MOUSECLIP_LOG
                write_log (_T("CLIP %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, isfullscreen ());
 #endif
-               if (!ClipCursor (&amigawin_rect))
+               if (!ClipCursor (&amigawinclip_rect))
                        write_log(_T("ClipCursor error %d\n"), GetLastError());
        }
 }
@@ -646,6 +660,7 @@ void updatewinrect (bool allowfullscreen)
        if (!allowfullscreen && f > 0)
                return;
        GetWindowRect (hAmigaWnd, &amigawin_rect);
+       GetWindowRect (hAmigaWnd, &amigawinclip_rect);
 #if MOUSECLIP_LOG
        write_log (_T("GetWindowRect %dx%d %dx%d %d\n"), amigawin_rect.left, amigawin_rect.top, amigawin_rect.right, amigawin_rect.bottom, f);
 #endif
@@ -1360,14 +1375,14 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
                                        return DefWindowProc (hWnd, message, wParam, lParam);
                                if (dinput_winmousemode () == 0) {
                                        /* relative */
-                                       int mxx = (amigawin_rect.right - amigawin_rect.left) / 2;
-                                       int myy = (amigawin_rect.bottom - amigawin_rect.top) / 2;
+                                       int mxx = (amigawinclip_rect.left - amigawin_rect.left) + (amigawinclip_rect.right - amigawinclip_rect.left) / 2;
+                                       int myy = (amigawinclip_rect.top - amigawin_rect.top) + (amigawinclip_rect.bottom - amigawinclip_rect.top) / 2;
                                        mx = mx - mxx;
                                        my = my - myy;
                                        setmousestate (dinput_winmouse (), 0, mx, 0);
                                        setmousestate (dinput_winmouse (), 1, my, 0);
                                }
-               } else if (isfocus () < 0 && (istablet || currprefs.input_tablet >= TABLET_MOUSEHACK)) {
+                       } else if (isfocus () < 0 && (istablet || currprefs.input_tablet >= TABLET_MOUSEHACK)) {
                                setmousestate (0, 0, mx, 1);
                                setmousestate (0, 1, my, 1);
                        }
@@ -6207,8 +6222,14 @@ HMODULE uae_dlopen_plugin(const TCHAR *name)
 {
        HMODULE h;
        TCHAR path[MAX_DPATH];
+#ifdef WIN64
+       _tcscpy(path, _T("qemu\\"));
+       _tcscat(path, name);
+       _tcscat(path, _T("_x64.dll"));
+#else
        _tcscpy(path, name);
        _tcscat(path, _T(".dll"));
+#endif
        h = WIN32_LoadLibrary(path);
        return h;
 }
index bd500ce34f1b699240ef8fe731d028a7e3c4d3ab..d62afa5f32210baba674ac278ad703b4c4770bc9 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("25")
+#define WINUAEBETA _T("26")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2014, 11, 23)
+#define WINUAEDATE MAKEBD(2014, 12, 4)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index ea1058dd982374df3182f199baddfeeeecf28e4e..4e4992d3f540e550c33a8a4a907c7adf895aaec7 100644 (file)
@@ -218,6 +218,8 @@ static int quickstart_floppy = 1, quickstart_cd = 0, quickstart_ntsc = 0;
 static int quickstart_cdtype = 0;
 static TCHAR quickstart_cddrive[16];
 static int quickstart_ok, quickstart_ok_floppy;
+// don't enable yet. issues with quickstart panel
+static bool firstautoloadconfig = false;
 static void addfloppytype (HWND hDlg, int n);
 static void addfloppyhistory (HWND hDlg);
 static void addhistorymenu (HWND hDlg, const TCHAR*, int f_text, int type, bool manglepath);
@@ -4747,7 +4749,7 @@ static struct ConfigStruct *fixloadconfig (HWND hDlg, struct ConfigStruct *confi
        return config;
 }
 
-static struct ConfigStruct *initloadsave (HWND hDlg, struct ConfigStruct *config)
+static struct ConfigStruct *initloadsave (HWND hDlg, struct ConfigStruct *config, bool init)
 {
        HTREEITEM root;
        TCHAR name_buf[MAX_DPATH];
@@ -4759,6 +4761,10 @@ static struct ConfigStruct *initloadsave (HWND hDlg, struct ConfigStruct *config
        SetDlgItemText (hDlg, IDC_EDITDESCRIPTION, workprefs.description);
        root = InitializeConfigTreeView (hDlg);
        if (regquerystr (NULL, configreg[configtypepanel], name_buf, &dwRFPsize)) {
+               if (init) {
+                       if (_tcsicmp(name_buf, _T("default.uae")))
+                               target_cfgfile_load (&workprefs, name_buf, CONFIG_TYPE_DEFAULT, 0);
+               }
                struct ConfigStruct *config2 = getconfigstorefrompath (name_buf, path, configtypepanel);
                if (config2)
                        config = config2;
@@ -4785,7 +4791,7 @@ static void loadsavecommands (HWND hDlg, WPARAM wParam, struct ConfigStruct **co
                        DeleteConfigTree (hDlg);
                        config = CreateConfigStore (config, TRUE);
                        ConfigToRegistry (config, configtypepanel);
-                       config = initloadsave (hDlg, config);
+                       config = initloadsave (hDlg, config, false);
                        InitializeConfig (hDlg, config);
                }
                break;
@@ -4794,7 +4800,7 @@ static void loadsavecommands (HWND hDlg, WPARAM wParam, struct ConfigStruct **co
                        DeleteConfigTree (hDlg);
                        config = CreateConfigStore (config, TRUE);
                        ConfigToRegistry (config, configtypepanel);
-                       config = initloadsave (hDlg, config);
+                       config = initloadsave (hDlg, config, false);
                        InitializeConfig (hDlg, config);
                }
                break;
@@ -4828,7 +4834,7 @@ static void loadsavecommands (HWND hDlg, WPARAM wParam, struct ConfigStruct **co
                if (HandleConfiguration (hDlg, CONFIG_DELETE, config, NULL)) {
                        DeleteConfigTree (hDlg);
                        config = CreateConfigStore (config, TRUE);
-                       config = initloadsave (hDlg, config);
+                       config = initloadsave (hDlg, config, false);
                        InitializeConfig (hDlg, config);
                }
                break;
@@ -4892,7 +4898,8 @@ static INT_PTR CALLBACK LoadSaveDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA
                }
                pages[LOADSAVE_ID] = hDlg;
                currentpage = LOADSAVE_ID;
-               config = initloadsave (hDlg, config);
+               config = initloadsave (hDlg, config, firstautoloadconfig);
+               firstautoloadconfig = false;
                recursive--;
                return TRUE;
 
@@ -5622,6 +5629,7 @@ static void init_quickstartdlg (HWND hDlg)
        TCHAR tmp1[2 * MAX_DPATH], tmp2[MAX_DPATH], hostconf[MAX_DPATH];
        TCHAR *p1, *p2;
 
+       firstautoloadconfig = false;
        qssize = sizeof (tmp1) / sizeof (TCHAR);
        regquerystr (NULL, _T("QuickStartHostConfig"), hostconf, &qssize);
        if (firsttime == 0 && workprefs.start_gui) {
index e20b5bec35e126fa764b3c239bb071703b601232..05c17696c25622d18bd5aeec6ae1b476cbf14a7b 100644 (file)
       <ProgramDataBaseFileName>$(Platform)\$(Configuration)\</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CallingConvention>FastCall</CallingConvention>
+      <CallingConvention>Cdecl</CallingConvention>
       <CompileAs>Default</CompileAs>
       <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
index 4ec290af69a551588b8b9edfefcfa0cea55bd775..555f707021d4d4f0c8b405e9f23fbabe112db702 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-  <Product Id="*" Name="WinUAE" Language="1033" Version="2.8.1.0" Manufacturer="Arabuusimiehet" UpgradeCode="88C6D045-E416-4AEA-9EE9-0B7A53EE0F16">
+  <Product Id="*" Name="WinUAE" Language="1033" Version="3.0.0.0" Manufacturer="Arabuusimiehet" UpgradeCode="88C6D045-E416-4AEA-9EE9-0B7A53EE0F16">
     <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
 
     <?define SRCDIST="$(var.winuae.ProjectDir)/../../../distribution/"?>
       <Component Id="AdditionalFiles13" Guid="66C7D080-B50D-41F7-BDBD-4A5EE2F70D2F">
         <File Source="$(var.SRCDIST)/Amiga Programs/transrom" KeyPath="yes"/>
       </Component>
-      <Component Id="AdditionalFiles14" Guid="92BD1DA6-AB73-4DAA-97EF-617AF09C647B">
-        <File Source="$(var.SRCDIST)/Amiga Programs/rtg.library" KeyPath="yes"/>
-      </Component>
       <Component Id="AdditionalFiles15" Guid="41DBB732-7ACB-4B5A-ADBA-0B48A08D5DC3">
         <File Source="$(var.SRCDIST)/Amiga Programs/p96refresh" KeyPath="yes"/>
       </Component>
       <ComponentRef Id="AdditionalFiles11" />
       <ComponentRef Id="AdditionalFiles12" />
       <ComponentRef Id="AdditionalFiles13" />
-      <ComponentRef Id="AdditionalFiles14" />
       <ComponentRef Id="AdditionalFiles15" />
       <ComponentRef Id="AdditionalFiles16" />
       <ComponentRef Id="AdditionalFiles17" />