This commit is contained in:
Toni Wilen 2018-09-22 20:40:10 +03:00
parent 9e8d928409
commit ddbdb9185d
9 changed files with 74 additions and 45 deletions

View File

@ -2253,7 +2253,7 @@ static int open_device (int unitnum, const TCHAR *ident, int flags)
}
ret = 1;
}
blkdev_cd_change (unitnum, cdu->imgname_in);
blkdev_cd_change (unitnum, cdu->imgname_out);
return ret;
}
@ -2275,7 +2275,7 @@ static void close_device (int unitnum)
unload_image (cdu);
uae_sem_destroy (&cdu->sub_sem);
}
blkdev_cd_change (unitnum, cdu->imgname_in);
blkdev_cd_change (unitnum, cdu->imgname_out);
}
static void close_bus (void)

View File

@ -203,15 +203,15 @@ extern addrbank gfxmem_bank;
extern addrbank *gfxmem_banks[MAX_RTG_BOARDS];
extern int rtg_index;
static void lockrtg(void)
void lockrtg(void)
{
if (currprefs.rtg_multithread)
if (currprefs.rtg_multithread && render_pipe)
EnterCriticalSection(&render_cs);
}
static void unlockrtg(void)
void unlockrtg(void)
{
if (currprefs.rtg_multithread)
if (currprefs.rtg_multithread && render_pipe)
LeaveCriticalSection(&render_cs);
}
@ -4456,6 +4456,8 @@ uae_u8 *getrtgbuffer(int monid, int *widthp, int *heightp, int *pitch, int *dept
width = state->VirtualWidth;
height = state->VirtualHeight;
pixbytes = state->BytesPerPixel == 1 && palette ? 1 : 4;
if (!width || !height || !pixbytes)
return NULL;
dst = xmalloc (uae_u8, width * height * pixbytes);
if (!dst)
@ -4490,7 +4492,6 @@ uae_u8 *getrtgbuffer(int monid, int *widthp, int *heightp, int *pitch, int *dept
*pitch = width * pixbytes;
*depth = pixbytes * 8;
return dst;
}
void freertgbuffer(int monid, uae_u8 *dst)

View File

@ -592,6 +592,9 @@ extern uae_u8 *gfx_lock_picasso(int monid, bool, bool);
extern void gfx_unlock_picasso(int monid, bool);
extern int createwindowscursor(int monid, uaecptr src, int w, int h, int hiressprite, int doubledsprite, int chipset);
void lockrtg(void);
void unlockrtg(void);
void fb_copyrow(int monid, uae_u8 *src, uae_u8 *dst, int x, int y, int width, int srcpixbytes, int dy);
extern int p96refresh_active;

View File

@ -467,7 +467,14 @@ STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,1,2,393,236,WS_EX_CLIENTEDGE
RTEXT "Search:",IDC_STATIC,7,245,44,8,SS_CENTERIMAGE
EDITTEXT IDC_CONFIGSEARCH,55,243,90,13,ES_AUTOHSCROLL
PUSHBUTTON "X",IDC_CONFIGSEARCHCLEAR,149,243,15,14
RTEXT "Filter:",IDC_STATIC,172,245,39,8,SS_CENTERIMAGE
COMBOBOX IDC_CONFIGFOLDER,216,243,177,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
RTEXT "Name:",IDC_STATIC,4,265,47,8,SS_CENTERIMAGE
COMBOBOX IDC_EDITNAME,55,264,175,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_EDITPATH,236,263,49,15,ES_AUTOHSCROLL | WS_DISABLED
RTEXT "Description:",IDC_STATIC,1,286,50,8,SS_CENTERIMAGE
EDITTEXT IDC_EDITDESCRIPTION,55,284,230,13,ES_AUTOHSCROLL
GROUPBOX "Additional Information",IDC_STATIC,289,260,105,38,BS_LEFT
@ -478,13 +485,6 @@ BEGIN
PUSHBUTTON "Load From...",IDC_LOAD,162,301,60,15
PUSHBUTTON "Save As...",IDC_SAVE,226,301,60,15
PUSHBUTTON "Delete",IDC_DELETE,335,301,60,15
COMBOBOX IDC_CONFIGFOLDER,216,243,177,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_CONFIGSEARCH,55,243,90,13,ES_AUTOHSCROLL
RTEXT "Search:",IDC_STATIC,7,245,44,8,SS_CENTERIMAGE
RTEXT "Filter:",IDC_STATIC,172,245,39,8,SS_CENTERIMAGE
PUSHBUTTON "X",IDC_CONFIGSEARCHCLEAR,149,243,15,14
EDITTEXT IDC_EDITPATH,236,263,49,15,ES_AUTOHSCROLL | WS_DISABLED
COMBOBOX IDC_EDITNAME,55,264,175,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
END
IDD_IOPORTS DIALOGEX 0, 0, 396, 295
@ -712,16 +712,16 @@ BEGIN
RTEXT "Path:",IDC_STATIC,5,15,36,15,SS_CENTERIMAGE
EDITTEXT IDC_PATH_NAME,46,15,324,15,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECTOR,376,15,10,15
PUSHBUTTON "OK",IDOK,146,102,48,15
PUSHBUTTON "Cancel",IDCANCEL,201,102,48,15
RTEXT "Link:",IDC_STATIC,6,37,33,8,SS_CENTERIMAGE
COMBOBOX IDC_CONFIGLINK,46,35,250,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
RTEXT "Category:",IDC_STATIC,6,58,33,8,SS_CENTERIMAGE
EDITTEXT IDC_CONFIGCATEGORY,46,54,249,15,ES_AUTOHSCROLL
RTEXT "Tags:",IDC_STATIC,6,76,33,8,SS_CENTERIMAGE
EDITTEXT IDC_CONFIGTAGS,46,74,249,15,ES_AUTOHSCROLL
CONTROL "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,305,37,58,12
CONTROL "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,305,56,51,12
RTEXT "Category:",IDC_STATIC,6,58,33,8,SS_CENTERIMAGE
RTEXT "Tags:",IDC_STATIC,6,76,33,8,SS_CENTERIMAGE
EDITTEXT IDC_CONFIGCATEGORY,46,54,324,15,ES_AUTOHSCROLL
EDITTEXT IDC_CONFIGTAGS,46,74,324,15,ES_AUTOHSCROLL
PUSHBUTTON "OK",IDOK,146,102,48,15
PUSHBUTTON "Cancel",IDCANCEL,201,102,48,15
END
IDD_CHIPSET DIALOGEX 0, 0, 396, 287
@ -2159,7 +2159,7 @@ BEGIN
"PPC native OS booted with incompatible UAE boot ROM enabled.\nSelect ROM panel ""New UAE (128k, ROM, Indirect)"" option\nor disable all UAE expansions.\n"
IDS_AUTOSCALE_OVERSCAN_BLANK "Overscan blanking"
IDS_NUMSG_NOMEMORY "Out of memory or too much Z3 autoconfig space configured.\nIf 64-bit, make sure RTG board is first in board list."
IDS_EXPANSION_CATEGORY "Built-in expansions\nSCSI controllers\nIDE controllers\nSASI controllers\nCustom controllers\nPCI bridgeboards\nx86 bridgeboards\nGraphics boards\nSound cards\nNetwork adapters\nDisk controllers\nx86 bridgeboard expansions"
IDS_EXPANSION_CATEGORY "Built-in expansions\nSCSI controllers\nIDE controllers\nSASI controllers\nCustom controllers\nPCI bridgeboards\nx86 Bridgeboards\nGraphics boards\nSound cards\nNetwork adapters\nDisk controllers\nx86 bridgeboard expansions"
IDS_WINUAETITLE_PAUSED "[Paused]"
IDS_MOUSE_UNTRAP_MODE "None (Alt-Tab)\nMiddle button\nMagic mouse\nBoth\n"
IDS_TABLET_MODE "-\nTablet emulation\n"

View File

@ -1757,7 +1757,7 @@ void rp_harddrive_image_change (int num, bool readonly, const TCHAR *name)
}
void rp_cd_image_change (int num, const TCHAR *name)
{
rp_device_change (RP_DEVICECATEGORY_CD, num, 0, 0, name);
rp_device_change (RP_DEVICECATEGORY_CD, num, 0, true, name);
}
void rp_floppy_device_enable (int num, bool enabled)

View File

@ -20,12 +20,12 @@
#define LANG_DLL_FULL_VERSION_MATCH 1
#if WINUAEPUBLICBETA
#define WINUAEBETA _T("5")
#define WINUAEBETA _T("6")
#else
#define WINUAEBETA _T("")
#endif
#define WINUAEDATE MAKEBD(2018, 9, 16)
#define WINUAEDATE MAKEBD(2018, 9, 22)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")

View File

@ -4201,15 +4201,13 @@ bool target_graphics_buffer_update(int monid)
return true;
}
void updatedisplayarea(int monid)
static void updatedisplayarea2(int monid)
{
struct AmigaMonitor *mon = &AMonitors[monid];
struct amigadisplay *ad = &adisplays[monid];
if (!mon->screen_is_initialized)
return;
if (mon->screen_is_picasso)
return;
if (dx_islost ())
if (dx_islost())
return;
#if defined (GFXFILTER)
if (mon->currentmode.flags & DM_D3D) {
@ -4225,10 +4223,22 @@ void updatedisplayarea(int monid)
S2X_refresh(monid);
}
#endif
DirectDraw_Flip (0);
DirectDraw_Flip(0);
}
}
void updatedisplayarea(int monid)
{
if (monid >= 0) {
updatedisplayarea2(monid);
} else {
for (int i = 0; i < MAX_AMIGAMONITORS; i++) {
updatedisplayarea2(i);
}
}
}
void updatewinfsmode(int monid, struct uae_prefs *p)
{
struct MultiDisplay *md;

View File

@ -4651,8 +4651,6 @@ void InitializeListView (HWND hDlg)
DWORD extraflags = 0;
int listpadding;
SetWindowRedraw(hDlg, FALSE);
if (cachedlist) {
if (lv_old_type >= 0) {
lv_oldidx[lv_old_type] = ListView_GetTopIndex (cachedlist);
@ -4741,6 +4739,8 @@ void InitializeListView (HWND hDlg)
}
SetWindowRedraw(list, FALSE);
scalaresource_listview_font_info(&listpadding);
listpadding *= 2;
int flags = LVS_EX_DOUBLEBUFFER | extraflags;
@ -5202,8 +5202,6 @@ void InitializeListView (HWND hDlg)
}
#endif
}
SetWindowRedraw(hDlg, TRUE);
RedrawWindow(hDlg, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);
if (result != -1) {
if (GetWindowRect (list, &rect)) {
@ -5235,6 +5233,8 @@ void InitializeListView (HWND hDlg)
}
lv_old_type = lv_type;
SetWindowRedraw(list, TRUE);
RedrawWindow(list, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);
}
static int listview_find_selected (HWND list)
@ -7504,7 +7504,7 @@ static void update_da (HWND hDlg)
set_da (hDlg);
init_colors(0);
init_custom();
updatedisplayarea(0);
updatedisplayarea(-1);
}
static void handle_da (HWND hDlg)
@ -9715,6 +9715,8 @@ static void init_expansion2(HWND hDlg, bool init)
continue;
if (scsiromselectedcatnum == 0 && (expansionroms[i].deviceflags & (EXPANSIONTYPE_SASI | EXPANSIONTYPE_CUSTOM)))
continue;
if ((expansionroms[i].deviceflags & EXPANSIONTYPE_X86_EXPANSION) && scsiromselectedmask[scsiromselectedcatnum] != EXPANSIONTYPE_X86_EXPANSION)
continue;
int cnt = 0;
for (int j = 0; j < MAX_DUPLICATE_EXPANSION_BOARDS; j++) {
if (is_board_enabled(&workprefs, expansionroms[i].romtype, j)) {
@ -13390,7 +13392,7 @@ static void addhdcontroller(HWND hDlg, const struct expansionromtype *erc, int *
{
TCHAR name[MAX_DPATH];
name[0] = 0;
if (_tcsicmp(erc->friendlymanufacturer, erc->friendlyname)) {
if (erc->friendlymanufacturer && _tcsicmp(erc->friendlymanufacturer, erc->friendlyname)) {
_tcscat(name, erc->friendlymanufacturer);
_tcscat(name, _T(" "));
}
@ -19143,7 +19145,7 @@ static void filter_handle (HWND hDlg)
}
}
enable_for_hw3ddlg (hDlg);
updatedisplayarea(0);
updatedisplayarea(-1);
}
static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
@ -19251,7 +19253,7 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
currprefs.gf[filter_nativertg].gfx_filter_horiz_zoom_mult = workprefs.gf[filter_nativertg].gfx_filter_horiz_zoom_mult = 1.0;
currprefs.gf[filter_nativertg].gfx_filter_vert_zoom_mult = workprefs.gf[filter_nativertg].gfx_filter_vert_zoom_mult = 1.0;
values_to_hw3ddlg (hDlg, false);
updatedisplayarea(0);
updatedisplayarea(-1);
break;
case IDC_FILTERPRESETLOAD:
case IDC_FILTERPRESETSAVE:
@ -19268,14 +19270,14 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
currprefs.gf[filter_nativertg].gfx_filter_keep_aspect = workprefs.gf[filter_nativertg].gfx_filter_keep_aspect = 0;
enable_for_hw3ddlg (hDlg);
values_to_hw3ddlg (hDlg, false);
updatedisplayarea(0);
updatedisplayarea(-1);
}
case IDC_FILTERKEEPAUTOSCALEASPECT:
{
workprefs.gf[filter_nativertg].gfx_filter_keep_autoscale_aspect = currprefs.gf[filter_nativertg].gfx_filter_keep_autoscale_aspect = ischecked (hDlg, IDC_FILTERKEEPAUTOSCALEASPECT) ? 1 : 0;
enable_for_hw3ddlg (hDlg);
values_to_hw3ddlg (hDlg, false);
updatedisplayarea(0);
updatedisplayarea(-1);
}
break;
default:
@ -19333,7 +19335,7 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
item = SendDlgItemMessage (hDlg, IDC_FILTERSLR, CB_GETCURSEL, 0, 0L);
if (item != CB_ERR) {
currprefs.gf[filter_nativertg].gfx_filter_scanlineratio = workprefs.gf[filter_nativertg].gfx_filter_scanlineratio = scanlineindexes[item];
updatedisplayarea(0);
updatedisplayarea(-1);
}
break;
case IDC_FILTEROVERLAYTYPE:
@ -19351,11 +19353,11 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
break;
case IDC_FILTERHZMULT:
currprefs.gf[filter_nativertg].gfx_filter_horiz_zoom_mult = workprefs.gf[filter_nativertg].gfx_filter_horiz_zoom_mult = getfiltermult (hDlg, IDC_FILTERHZMULT);
updatedisplayarea(0);
updatedisplayarea(-1);
break;
case IDC_FILTERVZMULT:
currprefs.gf[filter_nativertg].gfx_filter_vert_zoom_mult = workprefs.gf[filter_nativertg].gfx_filter_vert_zoom_mult = getfiltermult (hDlg, IDC_FILTERVZMULT);
updatedisplayarea(0);
updatedisplayarea(-1);
break;
case IDC_FILTERASPECT:
{
@ -19370,7 +19372,7 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
v2 = getaspectratio (v - 2);
}
currprefs.gf[filter_nativertg].gfx_filter_aspect = workprefs.gf[filter_nativertg].gfx_filter_aspect = v2;
updatedisplayarea(0);
updatedisplayarea(-1);
}
break;
case IDC_FILTERASPECT2:
@ -19378,7 +19380,7 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
int v = SendDlgItemMessage (hDlg, IDC_FILTERASPECT2, CB_GETCURSEL, 0, 0L);
if (v != CB_ERR)
currprefs.gf[filter_nativertg].gfx_filter_keep_aspect = workprefs.gf[filter_nativertg].gfx_filter_keep_aspect = v;
updatedisplayarea(0);
updatedisplayarea(-1);
}
break;
@ -19459,7 +19461,7 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
init_colors(0);
notice_new_xcolors ();
}
updatedisplayarea(0);
updatedisplayarea(-1);
recursive--;
break;
}

View File

@ -1,5 +1,18 @@
Beta 6:
- Video recording from hardware emulated graphics boards recorded only black screen.
- Screenshot from hardware emulated graphics boards always captured visible output even if capture before filtering was ticked.
- Filter panel (D3D) scanlines work now properly in multimonitor mode. (Previously native/RTG selection was ignored)
- Taking screenshot/recording when in multithreaded RTG mode was not thread safe.
- x86 bridgeboard category move broke SCSI and IDE x86 expansions. Sound Blaster and NIC was not moved.
- x86 bridgeboard virtual serial mouse connected serial port was not reset at reboot.
- A2386SX bridgeboard chipset EMS banking emulation was not complete, chipset native EMS driver complained about invalid hardware.
- Creating state file when disk access was active and disk image included timing information (for example ipf) caused buffer overflow.
- Autoload checkbox was hidden under string field in Advanced information panel.
- Added untested MSBSYNC disk synchronization mode support.
Beta 5:
- Search clear ("X" button) didn't store new empty search filter to registry/ini.