From: Toni Wilen Date: Thu, 22 Dec 2011 20:15:58 +0000 (+0200) Subject: 2400b7 X-Git-Tag: 2400~21 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=0a6cf4c7f48a17c70b5704f28634ca3a9ce717a2;p=francis%2Fwinuae.git 2400b7 --- diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index ddedae92..8c86b4c5 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -303,8 +303,8 @@ BEGIN CONTROL "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,154,100,10 CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,154,119,10 CONTROL "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,165,121,10 - CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,188,101,10 - CONTROL "Include CD/DVD drives..",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,177,100,10 + CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,177,101,10 + CONTROL "CDFS automount CD/DVD drives.",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,189,201,10 CONTROL "Automount removable drives",IDC_MAPDRIVES_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,177,115,10 CONTROL "Include removable drives..",IDC_MAPDRIVES_REMOVABLE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,165,100,10 diff --git a/od-win32/win32.h b/od-win32/win32.h index ff3f8802..4f1428cb 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -19,7 +19,7 @@ #define LANG_DLL 1 //#define WINUAEBETA L"" -#define WINUAEBETA L"Beta 6" +#define WINUAEBETA L"Beta 7" #define WINUAEDATE MAKEBD(2011, 12, 22) #define WINUAEEXTRA L"" #define WINUAEREV L"" diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index d5414eb0..b07dd143 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -2274,6 +2274,7 @@ bool vblank_getstate (bool *state) { int vp, opos; + *state = false; opos = prevvblankpos; if (!getvblankpos (&vp)) return false; @@ -2451,11 +2452,12 @@ bool vsync_busywait_do (int *freetime) return true; } - while (!framelost && read_processor_time () - prevtime < vblankbasewait) + while (!framelost && read_processor_time () - prevtime < vblankbasewait) { sleep_millis_main (1); + } framelost = false; - vblank_busywait (); + v = vblank_busywait (); } if (v) { @@ -2474,7 +2476,7 @@ struct remembered_vsync struct remembered_vsync *next; int width, height, depth, rate, mode; bool rtg; - double remembered_rate; + double remembered_rate, remembered_rate2; }; double vblank_calibrate (double approx_vblank, bool waitonly) @@ -2502,10 +2504,10 @@ double vblank_calibrate (double approx_vblank, bool waitonly) rv = vsyncmemory; while (rv) { if (rv->width == width && rv->height == height && rv->depth == depth && rv->rate == rate && rv->mode == mode && rv->rtg == picasso_on) { - approx_vblank = rv->remembered_rate; - rval = approx_vblank; + approx_vblank = rv->remembered_rate2; + rval = rv->remembered_rate; waitonly = true; - write_log (L"VSync calibration: remembered rate %.6fHz\n", rval); + write_log (L"VSync calibration: remembered rate %.6fHz (%.6fHz)\n", rval, approx_vblank); break; } rv = rv->next; @@ -2518,6 +2520,7 @@ double vblank_calibrate (double approx_vblank, bool waitonly) vblankbasewait = (syncbase / approx_vblank) * 3 / 4; vblankbasewait2 = (syncbase / approx_vblank) * 70 / 100; vblankbasewait3 = (syncbase / approx_vblank) * 90 / 100; + vblank_prev_time = read_processor_time (); return rval; } @@ -2591,7 +2594,7 @@ double vblank_calibrate (double approx_vblank, bool waitonly) vblankbasewait2 = (syncbase / tsum2) * 70 / 100; vblankbasewait3 = (syncbase / tsum2) * 90 / 100; write_log (L"VSync calibration: %.6fHz/%d=%.6fHz. MaxV=%d Units=%d Mode=%s\n", tsum, div, tsum2, maxvpos, vblankbasefull, threaded_vsync ? L"threaded" : L"normal"); - remembered_vblank = tsum2; + remembered_vblank = tsum; vblank_prev_time = read_processor_time (); rv = xcalloc (struct remembered_vsync, 1); @@ -2601,7 +2604,8 @@ double vblank_calibrate (double approx_vblank, bool waitonly) rv->rate = rate; rv->mode = isfullscreen (); rv->rtg = picasso_on; - rv->remembered_rate = tsum2; + rv->remembered_rate = tsum; + rv->remembered_rate2 = tsum2; if (vsyncmemory == NULL) { vsyncmemory = rv; } else { diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 402f7751..9b44e04c 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -57,7 +57,7 @@ #include "arcadia.h" #include "drawing.h" #include "fsdb.h" - +#include "blkdev.h" #include "dxwrap.h" #include "win32.h" #include "registry.h" @@ -9439,6 +9439,12 @@ static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA workprefs.cdslots[0].inuse = true; } + if (full_property_sheet) { + for (int i = 1; i < MAX_TOTAL_SCSI_DEVICES; i++) { + if (workprefs.cdslots[i].inuse == false) + workprefs.cdslots[i].type = SCSI_UNIT_DISABLED; + } + } addcdtype (hDlg, IDC_CD_TYPE); addfloppyhistory_2 (hDlg, 0, IDC_CD_TEXT, HISTORY_CD); } diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 06d768d4..50620828 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,10 @@ +Beta 7: + +- vsync in non-fastest CPU modes fix (b6) +- Renamed "Include CD/DVD drives.." +- Disable other uaescsi.device CD drives if image mode or drive letter is selected from CD type select menu. + Beta 6: New vsync should finally work in all modes.