From: Toni Wilen Date: Fri, 21 Oct 2016 16:03:59 +0000 (+0300) Subject: 3400b13 X-Git-Tag: 3400~46 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=076ceec32b5e7e455b56c8e173673aa48450d4e0;p=francis%2Fwinuae.git 3400b13 --- diff --git a/od-win32/resources/resource.h b/od-win32/resources/resource.h index a55b0f2d..08d2dbdc 100644 --- a/od-win32/resources/resource.h +++ b/od-win32/resources/resource.h @@ -861,19 +861,15 @@ #define IDC_AVIOUTPUT_VIDEO_CODEC 1615 #define IDC_INPUTDEVICEDISABLE 1615 #define IDC_AVIOUTPUT_ACTIVATED 1615 -#define IDC_A2065 1615 #define IDC_AVIOUTPUT_AUDIO_CODEC 1616 #define IDC_INPUTAMIGACNT 1616 #define IDC_FILTERHZ 1616 #define IDC_SAMPLERIPPER_ACTIVATED 1616 -#define IDC_NE2000 1616 #define IDC_AVIOUTPUT_BORDER_TRIM 1617 #define IDC_FILTERVZ 1617 #define IDC_ACCELERATORBOARDCHECKBOX 1617 #define IDC_AVIOUTPUT_AUDIO_STATIC 1618 #define IDC_FILTERHO 1618 -#define IDC_NE2001 1618 -#define IDC_NE2000PCMCIA 1618 #define IDC_AVIOUTPUT_VIDEO_STATIC 1619 #define IDC_FILTERVO 1619 #define IDC_AVIOUTPUT_8BIT 1620 @@ -1044,7 +1040,6 @@ #define IDC_PROGRESSBAR_TEXT 1706 #define IDC_LANGUAGE 1706 #define IDC_CREATE_NAME 1707 -#define IDC_NETDEVICE 1707 #define IDC_SOUND_AUTO 1709 #define IDC_FILTERKEEPASPECT 1709 #define IDC_CS_RTC 1710 diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index 2697f824..204471e3 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -1268,7 +1268,7 @@ BEGIN EDITTEXT IDC_DISKINFOBOX,5,4,481,292,ES_MULTILINE | ES_READONLY | WS_VSCROLL END -IDD_EXPANSION2 DIALOGEX 0, 0, 396, 287 +IDD_EXPANSION2 DIALOGEX 0, 0, 396, 248 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN @@ -1290,19 +1290,13 @@ BEGIN COMBOBOX IDC_CPUBOARDROMFILE,202,120,169,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "...",IDC_CPUBOARDROMCHOOSER,376,119,10,15 GROUPBOX "Accelerator Board Settings",IDC_STATIC,1,97,394,91 - GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,255,394,28 - CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,266,147,11 - CONTROL "CD32 Full Motion Video cartridge",IDC_CS_CD32FMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,266,151,11 - GROUPBOX "Network",IDC_STATIC,0,192,395,61 + GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,192,394,51 + CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,223,147,11 + CONTROL "CD32 Full Motion Video cartridge",IDC_CS_CD32FMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,223,151,11 CONTROL "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,204,187,11 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,207,187,11 CONTROL "uaenet.device [] Sana 2 compatible network device emulation.",IDC_SANA2, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,204,187,11 - CONTROL "A2065 Z2 [] A2065 Ethernet Zorro II card emulation.",IDC_A2065, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,218,187,11 - COMBOBOX IDC_NETDEVICE,193,232,178,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Realtek 8029 PCI [] Realtek 8029 PCI NIC emulation",IDC_NE2000, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,218,187,11 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,207,187,11 CONTROL "Enabled",IDC_SCSIROMSELECTED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,43,99,12 COMBOBOX IDC_SCSIROMSELECTCAT,12,23,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_EXPANSIONBOARDITEMSELECTOR,12,76,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP @@ -1311,7 +1305,6 @@ BEGIN COMBOBOX IDC_ACCELERATORBOARDITEMSELECTOR,12,169,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP CONTROL "",IDC_ACCELERATORBOARDCHECKBOX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,170,99,12 COMBOBOX IDC_ACCELERATORBOARDSELECTOR,202,169,171,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "NE2000 PCMCIA",IDC_NE2000PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,232,187,11 END diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 439cbf4e..e3f0b9f4 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -129,6 +129,7 @@ void *globalipc; int cpu_mmx = 1; int D3DEX = 1; +int shaderon = -1; int d3ddebug = 0; int max_uae_width; int max_uae_height; @@ -5683,10 +5684,14 @@ static int parseargs (const TCHAR *argx, const TCHAR *np, const TCHAR *np2) // obsolete return 1; } - if (!_tcscmp (arg, _T("nod3d9ex"))) { + if (!_tcscmp(arg, _T("nod3d9ex"))) { D3DEX = 0; return 1; } + if (!_tcscmp(arg, _T("nod3d9shader"))) { + shaderon = 0; + return 1; + } if (!_tcscmp (arg, _T("d3ddebug"))) { d3ddebug = 1; return 1; @@ -6420,10 +6425,15 @@ static void create_dump (struct _EXCEPTION_POINTERS *pExceptionPointers) ClipCursor(NULL); ReleaseCapture(); ShowCursor(TRUE); + if (debugfile) + log_close(debugfile); if (isfullscreen () <= 0) { _stprintf (msg, _T("Crash detected. MiniDump saved as:\n%s\n"), path3); MessageBox (NULL, msg, _T("Crash"), MB_OK | MB_ICONWARNING | MB_TASKMODAL | MB_SETFOREGROUND); } + HANDLE h = GetCurrentProcess(); + TerminateProcess(h, 0); + WaitForSingleObject(h, INFINITE); } } all_events_disabled = 0; diff --git a/od-win32/win32.h b/od-win32/win32.h index bbd6f148..70ce0969 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("12") +#define WINUAEBETA _T("13") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2016, 10, 15) +#define WINUAEDATE MAKEBD(2016, 10, 21) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 108fcacd..aa174089 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -8837,7 +8837,9 @@ static void create_expansionrom_gui(HWND hDlg, struct expansionrom_gui *eg, cons int bitcnt = 0; for (int i = 0; i < item; i++) { const struct expansionboardsettings *eb = &ebs[i]; - if (eb->multiselect) { + if (eb->type == EXPANSIONBOARD_STRING) { + ; + } else if (eb->type == EXPANSIONBOARD_MULTI) { const TCHAR *p = eb->configname; int itemcnt = -1; while (p[0]) { @@ -8867,7 +8869,11 @@ static void create_expansionrom_gui(HWND hDlg, struct expansionrom_gui *eg, cons } eb = &ebs[item]; bitcnt += eb->bitshift; - if (eb->multiselect) { + if (eb->type == EXPANSIONBOARD_STRING) { + hide(hDlg, selector, 1); + hide(hDlg, checkbox, 1); + eg->expansionrom_gui_settingsbits = 0; + } else if (eb->type == EXPANSIONBOARD_MULTI) { SendDlgItemMessage(hDlg, selector, CB_RESETCONTENT, 0, 0); int itemcnt = -1; const TCHAR *p = eb->name; @@ -8919,7 +8925,9 @@ static void get_expansionrom_gui(HWND hDlg, struct expansionrom_gui *eg) return; } const struct expansionboardsettings *eb = &eg->expansionrom_gui_ebs[eg->expansionrom_gui_item]; - if (eb->multiselect) { + if (eb->type == EXPANSIONBOARD_STRING) { + ; + } else if (eb->type == EXPANSIONBOARD_MULTI) { val = SendDlgItemMessage(hDlg, eg->expansionrom_gui_selector, CB_GETCURSEL, 0, 0); if (val != CB_ERR) { int mask = (1 << eg->expansionrom_gui_settingsbits) - 1; @@ -8941,44 +8949,15 @@ static void get_expansionrom_gui(HWND hDlg, struct expansionrom_gui *eg) static struct netdriverdata *ndd[MAX_TOTAL_NET_DEVICES + 1]; +static int net_enumerated; -static void expansion_net (HWND hDlg) +struct netdriverdata **target_ethernet_enumerate(void) { - int i, cnt; - TCHAR tmp[MAX_DPATH]; - bool notset = true; - - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_RESETCONTENT, 0, 0); - WIN32GUI_LoadUIString (IDS_NETDISCONNECTED, tmp, sizeof tmp / sizeof (TCHAR)); - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_ADDSTRING, 0, (LPARAM)tmp); - if (!_tcsicmp (workprefs.a2065name, _T("none")) && !_tcsicmp(workprefs.ne2000pciname, _T("none")) && !_tcsicmp(workprefs.ne2000pcmcianame, _T("none"))) { - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_SETCURSEL, 0, 0); - notset = false; - } - cnt = 1; - for (i = 0; ndd && i < MAX_TOTAL_NET_DEVICES; i++) { - if (ndd[i]) { - TCHAR mac[20]; - if (ndd[i]->type == UAENET_SLIRP || ndd[i]->type == UAENET_SLIRP_INBOUND) { - _stprintf(mac, _T("xx:xx:xx:%02X:%02X:%02X"), - ndd[i]->mac[3], ndd[i]->mac[4], ndd[i]->mac[5]); - } else { - _stprintf (mac, _T("%02X:%02X:%02X:%02X:%02X:%02X"), - ndd[i]->mac[0], ndd[i]->mac[1], ndd[i]->mac[2], ndd[i]->mac[3], ndd[i]->mac[4], ndd[i]->mac[5]); - } - _stprintf (tmp, _T("%s %s"), mac, ndd[i]->desc); - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_ADDSTRING, 0, (LPARAM)tmp); - if (!_tcsicmp (workprefs.a2065name, mac) || !_tcsicmp (workprefs.a2065name, ndd[i]->name) || - !_tcsicmp(workprefs.ne2000pciname, mac) || !_tcsicmp(workprefs.ne2000pciname, ndd[i]->name) || - !_tcsicmp(workprefs.ne2000pcmcianame, mac) || !_tcsicmp(workprefs.ne2000pcmcianame, ndd[i]->name)) { - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_SETCURSEL, cnt, 0); - notset = false; - } - cnt++; - } - } - if (notset) - SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_SETCURSEL, 0, 0); + if (net_enumerated) + return ndd; + ethernet_enumerate(ndd, 0); + net_enumerated = 1; + return ndd; } static const int scsiromselectedmask[] = { @@ -9011,7 +8990,7 @@ static void init_expansion2(HWND hDlg, bool init) continue; int cnt = 0; for (int j = 0; j < MAX_DUPLICATE_EXPANSION_BOARDS; j++) { - if (cfgfile_board_enabled(&workprefs, expansionroms[i].romtype, j)) { + if (is_board_enabled(&workprefs, expansionroms[i].romtype, j)) { cnt++; } } @@ -9026,33 +9005,39 @@ static void init_expansion2(HWND hDlg, bool init) } for (int j = 0; j < idcnt; j += 2) { TCHAR *nameval = NULL; + TCHAR *cnameval = NULL; int ididx = -1; for (int i = 0; i < idcnt; i += 2) { - TCHAR name[256]; + TCHAR name[256], cname[256]; int id = idtab[i]; int cnt = idtab[i + 1]; if (id < 0) continue; name[0] = 0; + cname[0] = 0; if (cnt == 1) _tcscat(name, _T("* ")); else if (cnt > 1) _stprintf(name + _tcslen(name), _T("[%d] "), cnt); _tcscat(name, expansionroms[id].friendlyname); + _tcscat(cname, expansionroms[id].friendlyname); if (expansionroms[id].friendlymanufacturer) { _tcscat(name, _T(" (")); _tcscat(name, expansionroms[id].friendlymanufacturer); _tcscat(name, _T(")")); } - if (!nameval || _tcsicmp(nameval, name) > 0) { + if (!cnameval || _tcsicmp(cnameval, cname) > 0) { xfree(nameval); + xfree(cnameval); nameval = my_strdup(name); + cnameval = my_strdup(cname); ididx = i; } } gui_add_string(scsiromselect_table, hDlg, IDC_SCSIROMSELECT, idtab[ididx], nameval); idtab[ididx] = -1; xfree(nameval); + xfree(cnameval); } xfree(idtab); @@ -9067,7 +9052,7 @@ static void init_expansion2(HWND hDlg, bool init) continue; if (scsiromselectedcatnum == 0 && (expansionroms[i].deviceflags & (EXPANSIONTYPE_SASI | EXPANSIONTYPE_CUSTOM))) continue; - if (cfgfile_board_enabled(&workprefs, romtype, 0)) { + if (is_board_enabled(&workprefs, romtype, 0)) { if (found == -1) found = i; else @@ -9344,10 +9329,6 @@ static void enable_for_expansion2dlg (HWND hDlg) ew(hDlg, IDC_SCSIDEVICE, en); ew(hDlg, IDC_CATWEASEL, en); ew(hDlg, IDC_SANA2, en); - ew(hDlg, IDC_A2065, en); - ew(hDlg, IDC_NE2000, en); - ew(hDlg, IDC_NE2000PCMCIA, en || workprefs.cs_pcmcia); - ew(hDlg, IDC_NETDEVICE, (workprefs.cs_pcmcia && workprefs.ne2000pcmcianame) || (en && (workprefs.a2065name[0] || workprefs.ne2000pciname[0]))); ew(hDlg, IDC_CS_CD32FMV, en); @@ -9385,9 +9366,6 @@ static void values_to_expansion2dlg (HWND hDlg, int mode) CheckDlgButton(hDlg, IDC_CATWEASEL, workprefs.catweasel); CheckDlgButton(hDlg, IDC_SCSIDEVICE, workprefs.scsi == 1); CheckDlgButton(hDlg, IDC_SANA2, workprefs.sana2); - CheckDlgButton(hDlg, IDC_A2065, workprefs.a2065name[0] ? 1 : 0); - CheckDlgButton(hDlg, IDC_NE2000, workprefs.ne2000pciname[0] ? 1 : 0); - CheckDlgButton(hDlg, IDC_NE2000PCMCIA, workprefs.ne2000pcmcianame[0] ? 1 : 0); CheckDlgButton(hDlg, IDC_CS_CD32FMV, workprefs.cs_cd32fmv); cw = catweasel_detect (); ew (hDlg, IDC_CATWEASEL, cw); @@ -9470,7 +9448,6 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP int v, val; TCHAR tmp[MAX_DPATH]; static int recursive = 0; - static int enumerated; switch (msg) { @@ -9482,8 +9459,8 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP int ids[] = { IDC_SCSIROMFILE, IDC_CPUBOARDROMFILE, -1 }; setmultiautocomplete(hDlg, ids); - if (!enumerated) { - ethernet_enumerate(ndd, NULL); + if (!net_enumerated) { + target_ethernet_enumerate(); for (int i = 0; ndd[i]; i++) { struct netdriverdata *n = ndd[i]; if (!n->active) @@ -9497,7 +9474,8 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP n->desc = my_strdup(tmp); } } - enumerated = 1; + ethernet_updateselection(); + net_enumerated = 1; } SendDlgItemMessage(hDlg, IDC_CPUBOARD_TYPE, CB_RESETCONTENT, 0, 0); @@ -9523,7 +9501,6 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP reset_expansionrom_gui(hDlg, &accelerator_gui_item, IDC_ACCELERATORBOARDITEMSELECTOR, IDC_ACCELERATORBOARDSELECTOR, IDC_ACCELERATORBOARDCHECKBOX); hide(hDlg, IDC_SCSIROMSELECTED, 1); - expansion_net(hDlg); init_expansion2(hDlg, true); updatecpuboardsubtypes(hDlg); setcpuboardmemsize(hDlg); @@ -9566,59 +9543,6 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP case IDC_SANA2: workprefs.sana2 = ischecked(hDlg, IDC_SANA2); break; - case IDC_A2065: - if (ischecked(hDlg, IDC_A2065)) { - _tcscpy(workprefs.a2065name, _T("none")); - workprefs.ne2000pciname[0] = 0; - workprefs.ne2000pcmcianame[0] = 0; - setchecked(hDlg, IDC_NE2000, false); - setchecked(hDlg, IDC_NE2000PCMCIA, false); - cfgfile_compatibility_romtype(&workprefs); - expansion_net(hDlg); - enable_for_expansion2dlg(hDlg); - } else { - if (!workprefs.ne2000pcmcianame[0] && !workprefs.ne2000pciname[0]) - ew(hDlg, IDC_NETDEVICE, FALSE); - workprefs.a2065name[0] = 0; - cfgfile_compatibility_romtype(&workprefs); - enable_for_expansion2dlg(hDlg); - } - break; - case IDC_NE2000: - if (ischecked(hDlg, IDC_NE2000)) { - _tcscpy(workprefs.ne2000pciname, _T("none")); - workprefs.a2065name[0] = 0; - workprefs.ne2000pcmcianame[0] = 0; - setchecked(hDlg, IDC_A2065, false); - setchecked(hDlg, IDC_NE2000PCMCIA, false); - cfgfile_compatibility_romtype(&workprefs); - expansion_net(hDlg); - enable_for_expansion2dlg(hDlg); - } else { - if (!workprefs.a2065name[0] && !workprefs.ne2000pcmcianame[0]) - ew(hDlg, IDC_NETDEVICE, FALSE); - workprefs.ne2000pciname[0] = 0; - cfgfile_compatibility_romtype(&workprefs); - enable_for_expansion2dlg(hDlg); - } - case IDC_NE2000PCMCIA: - if (ischecked(hDlg, IDC_NE2000PCMCIA)) { - _tcscpy(workprefs.ne2000pcmcianame, _T("none")); - workprefs.a2065name[0] = 0; - workprefs.ne2000pciname[0] = 0; - setchecked(hDlg, IDC_A2065, false); - setchecked(hDlg, IDC_NE2000, false); - cfgfile_compatibility_romtype(&workprefs); - expansion_net(hDlg); - enable_for_expansion2dlg(hDlg); - } else { - if (!workprefs.a2065name[0] && !workprefs.ne2000pciname[0]) - ew(hDlg, IDC_NETDEVICE, FALSE); - workprefs.ne2000pcmcianame[0] = 0; - cfgfile_compatibility_romtype(&workprefs); - enable_for_expansion2dlg(hDlg); - } - break; case IDC_CATWEASEL: workprefs.catweasel = ischecked(hDlg, IDC_CATWEASEL) ? -1 : 0; cfgfile_compatibility_romtype(&workprefs); @@ -9720,40 +9644,6 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP values_to_expansion2dlg(hDlg, 2); } break; - case IDC_NETDEVICE: - v = SendDlgItemMessage(hDlg, IDC_NETDEVICE, CB_GETCURSEL, 0, 0L); - if (v != CB_ERR) { - const TCHAR *s; - if (v == 0) { - s = _T("none"); - } - else if (ndd) { - v--; - s = ndd[v]->name; - } - if (ischecked(hDlg, IDC_A2065)) { - _tcscpy(workprefs.a2065name, s); - workprefs.ne2000pciname[0] = 0; - workprefs.ne2000pcmcianame[0] = 0; - setchecked(hDlg, IDC_NE2000, false); - setchecked(hDlg, IDC_NE2000PCMCIA, false); - } - if (ischecked(hDlg, IDC_NE2000)) { - _tcscpy(workprefs.ne2000pciname, s); - workprefs.a2065name[0] = 0; - workprefs.ne2000pcmcianame[0] = 0; - setchecked(hDlg, IDC_A2065, false); - setchecked(hDlg, IDC_NE2000PCMCIA, false); - } - if (ischecked(hDlg, IDC_NE2000PCMCIA)) { - _tcscpy(workprefs.ne2000pcmcianame, s); - workprefs.a2065name[0] = 0; - workprefs.ne2000pciname[0] = 0; - setchecked(hDlg, IDC_A2065, false); - setchecked(hDlg, IDC_NE2000, false); - } - } - break; } } #if 0 @@ -11682,12 +11572,20 @@ static INT_PTR CALLBACK CPUDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l idx = 3; workprefs.cpu_clock_multiplier = 0; workprefs.cpu_frequency = 0; + } else { + if (!workprefs.cpu_frequency && (idx == 1 || idx == 2)) + workprefs.cpu_clock_multiplier = (1 << idx) << 8; } SendDlgItemMessage (hDlg, IDC_CPU_FREQUENCY, CB_SETCURSEL, idx, 0); if (!workprefs.cpu_clock_multiplier) { TCHAR txt[20]; _stprintf (txt, _T("%.6f"), workprefs.cpu_frequency / 1000000.0); SendDlgItemMessage (hDlg, IDC_CPU_FREQUENCY2, WM_SETTEXT, 0, (LPARAM)txt); + } else { + TCHAR txt[20]; + double f = getcpufreq(workprefs.cpu_clock_multiplier); + _stprintf(txt, _T("%.6f"), f / 1000000.0); + SendDlgItemMessage(hDlg, IDC_CPU_FREQUENCY2, WM_SETTEXT, 0, (LPARAM)txt); } recursive--; @@ -12584,7 +12482,7 @@ static void addhdcontroller(HWND hDlg, const struct expansionromtype *erc, int * if (get_boardromconfig(&workprefs, erc->romtype, NULL) || get_boardromconfig(&workprefs, erc->romtype_extra, NULL)) { gui_add_string(hdmenutable, hDlg, IDC_HDF_CONTROLLER, firstid, name); for (int j = 1; j < MAX_DUPLICATE_EXPANSION_BOARDS; j++) { - if (cfgfile_board_enabled(&workprefs, erc->romtype, j)) { + if (is_board_enabled(&workprefs, erc->romtype, j)) { TCHAR tmp[MAX_DPATH]; _stprintf(tmp, _T("%s [%d]"), name, j + 1); gui_add_string(hdmenutable, hDlg, IDC_HDF_CONTROLLER, firstid + j * HD_CONTROLLER_NEXT_UNIT, tmp); @@ -12991,8 +12889,8 @@ static INT_PTR CALLBACK CDDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wParam, case WM_INITDIALOG: recursive++; if (current_cddlg.ci.controller_type == HD_CONTROLLER_TYPE_UAE) - current_cddlg.ci.controller_type = (cfgfile_board_enabled(&workprefs, ROMTYPE_A2091, 0) || - cfgfile_board_enabled(&workprefs, ROMTYPE_GVPS2, 0) || cfgfile_board_enabled(&workprefs, ROMTYPE_A4091, 0) || + current_cddlg.ci.controller_type = (is_board_enabled(&workprefs, ROMTYPE_A2091, 0) || + is_board_enabled(&workprefs, ROMTYPE_GVPS2, 0) || is_board_enabled(&workprefs, ROMTYPE_A4091, 0) || workprefs.cs_cdtvscsi || (workprefs.cs_mbdmac & 3)) ? HD_CONTROLLER_TYPE_SCSI_AUTO : HD_CONTROLLER_TYPE_IDE_AUTO; inithdcontroller(hDlg, current_cddlg.ci.controller_type, current_cddlg.ci.controller_type_unit, UAEDEV_CD); diff --git a/od-win32/winuae_msvc15/winuae_msvc.vcxproj b/od-win32/winuae_msvc15/winuae_msvc.vcxproj index b82a02e4..2fd7a1ff 100644 --- a/od-win32/winuae_msvc15/winuae_msvc.vcxproj +++ b/od-win32/winuae_msvc15/winuae_msvc.vcxproj @@ -229,7 +229,7 @@ $(OutDir)$(TargetName)$(TargetExt) true LIBCMT;%(IgnoreSpecificDefaultLibraries) - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;avrt.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;avrt.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) true .\Debug/winuae.pdb Windows @@ -356,13 +356,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;libpng16.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;lzmalib.lib;prowizard.lib;libFLAC_static.lib;hid.lib;zlibstat.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;libpng16.lib;lglcd.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;lzmalib.lib;prowizard.lib;libFLAC_static.lib;hid.lib;zlibstat.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ %(AdditionalManifestDependencies) %(IgnoreSpecificDefaultLibraries) - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) true .\Release/winuae.pdb Windows @@ -435,13 +435,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;libpng16.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;lzmalib.lib;prowizard.lib;libFLAC_static.lib;hid.lib;zlibstat.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;libpng16.lib;lglcd.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;lzmalib.lib;prowizard.lib;libFLAC_static.lib;hid.lib;zlibstat.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ %(AdditionalManifestDependencies) %(IgnoreSpecificDefaultLibraries) - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) true .\Test/winuae.pdb Windows @@ -513,13 +513,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) NotSet $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ MSVCRT.lib;%(IgnoreSpecificDefaultLibraries);MSVCRT - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;Iphlpapi.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;Iphlpapi.dll;%(DelayLoadDLLs) true $(Platform)\$(Configuration)\winuae.pdb Windows @@ -587,13 +587,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) NotSet $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ %(IgnoreSpecificDefaultLibraries);MSVCRT - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs) true $(Platform)\$(Configuration)\winuae.pdb Windows @@ -661,13 +661,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng16.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;prowizard.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng16.lib;lglcd.lib;openal32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;prowizard.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ %(AdditionalManifestDependencies) %(IgnoreSpecificDefaultLibraries) - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;%(DelayLoadDLLs) true .\FullRelease/winuae.pdb Windows @@ -739,13 +739,13 @@ 0x0409 - ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;openal32.lib;libpng16.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;hid.lib;Iphlpapi.lib;luastatic.lib;libmpeg2_ff.lib;softfloat.lib;%(AdditionalDependencies) NotSet $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ %(IgnoreSpecificDefaultLibraries);MSVCRT - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs) + d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs) true .\x64\FullRelease/winuae.pdb Windows diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 64ba3cb5..31b527bf 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -4,6 +4,28 @@ JIT Direct current rules are less complex now. It automatically switches off onl - RTG VRAM is outside of reserved natmem space. Workaround: Move RTG in earlier position using Hardware info GUI panel. Note that in 64-bit version RTG VRAM must be inside of reserved natmem space. (Outside = error message and return back to GUI) +Beta 12: + +- Fixed double free in RTL8019 9346 EEPROM emulation. Caused random crashes. +- Implemented DP8390 NIC support (Same register set as NE2000 but without on board RAM "fake DMA" support) +- Added DP8390 based NICs, ASDG LAN Rover/EB920 and Hydra AmigaNET. +- Moved slirp/winpcap option to Expansions -> Network Adapters. Note: Still can't have more than 1 network device active. +- Removed A2065, NE2000 PCMCIA and Realtek 8029 PCI GUI checkboxes. Everything is now under Network Adapters. +- Expansion device select menu sorting fixed. +- winpcap mode now by default uses generated local MAC address (aa-82-8a-xx-xx-xx xx=from physical NIC MAC), or if A2065, it uses real + A2065 00-80-10-xx-xx-xx MAC. This fixes conflicts with Windows' use of same physical NIC. Custom winpcap MAC address can be forced by + editing config file (*_rom_options=mac=xx.xx.xx.xx.xx.xx). GUI is not yet supported. Physical NIC is also switched to promiscous mode + automatically if NIC MAC does not match Amiga side MAC. +- Ignore all received winpcap packets when emulation is paused. +- FFS partition HDF (with WB 1.3 disk L:FastFileSystem) now fully boots under KS 1.0. + +WinPCap note: Use http://www.win10pcap.org/ if you have Windows 10. NOTE2: It has a bug that causes "FATAL Bad Memory Block." +errors to appear in winuae's log. It is fortunately harmless. https://nmap.org/npcap/ may also work. (npcap DLL path +locations are now supported) + +NOTE: Only 3.3 (and older) config files with old style A2065 or RTL8029 PCI config entries are loaded. +3.4 beta created config files need manual A2065/RTL8029/NE2000 PCMCIA reconfiguration. Old config entries are still created +for backwards compatibility but they are ignored when loading. Beta 12: