]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3400b13
authorToni Wilen <twilen@winuae.net>
Fri, 21 Oct 2016 16:03:59 +0000 (19:03 +0300)
committerToni Wilen <twilen@winuae.net>
Fri, 21 Oct 2016 16:03:59 +0000 (19:03 +0300)
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gui.cpp
od-win32/winuae_msvc15/winuae_msvc.vcxproj
od-win32/winuaechangelog.txt

index a55b0f2d09262fe7ce464af2a32d60c2686782f7..08d2dbdc99b1d2461a29610d39842f2d52512875 100644 (file)
 #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
 #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
index 2697f824502e4b66885382ee8e80104227e41904..204471e3fb57b2a87e691849128cca22fc8cd22b 100644 (file)
@@ -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
 
 
index 439cbf4e61c1bf52d2d4ff081472315bbfa7667d..e3f0b9f4d2c8b4c4f17bec551607e8b134fe35ad 100644 (file)
@@ -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;
index bbd6f1484fa29cbb81b77fc527cbf4134fde46fe..70ce09691395b11338f8f6763e4f2ef49e476b6c 100644 (file)
 #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")
index 108fcacdf32ec628c55e6327694979fe100e8041..aa174089903684b4800c311470d7d39bf5a94a28 100644 (file)
@@ -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);
index b82a02e4037cd690096ca1a572b81b7f0522746b..2fd7a1ff73b94933ab396de09469cf70e8d3bd32 100644 (file)
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>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)</DelayLoadDLLs>
+      <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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\Debug/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>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)</DelayLoadDLLs>
+      <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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\Release/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>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)</DelayLoadDLLs>
+      <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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\Test/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <ShowProgress>NotSet</ShowProgress>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>MSVCRT.lib;%(IgnoreSpecificDefaultLibraries);MSVCRT</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;Iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <DelayLoadDLLs>d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;Iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <ShowProgress>NotSet</ShowProgress>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);MSVCRT</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <DelayLoadDLLs>d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>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)</DelayLoadDLLs>
+      <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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\FullRelease/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;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)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <ShowProgress>NotSet</ShowProgress>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);MSVCRT</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <DelayLoadDLLs>d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\FullRelease/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
index 64ba3cb57cc0a6730ebfcc23faa4832f19908512..31b527bf4f898092b97b8ce0e99de73d03b40f9b 100644 (file)
@@ -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.\r
   Note that in 64-bit version RTG VRAM must be inside of reserved natmem space. (Outside = error message and return back to GUI)\r
 \r
+Beta 12:\r
+\r
+- Fixed double free in RTL8019 9346 EEPROM emulation. Caused random crashes.\r
+- Implemented DP8390 NIC support (Same register set as NE2000 but without on board RAM "fake DMA" support)\r
+- Added DP8390 based NICs, ASDG LAN Rover/EB920 and Hydra AmigaNET.\r
+- Moved slirp/winpcap option to Expansions -> Network Adapters. Note: Still can't have more than 1 network device active.\r
+- Removed A2065, NE2000 PCMCIA and Realtek 8029 PCI GUI checkboxes. Everything is now under Network Adapters.\r
+- Expansion device select menu sorting fixed.\r
+- 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\r
+  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\r
+  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\r
+  automatically if NIC MAC does not match Amiga side MAC.\r
+- Ignore all received winpcap packets when emulation is paused.\r
+- FFS partition HDF (with WB 1.3 disk L:FastFileSystem) now fully boots under KS 1.0.\r
+\r
+WinPCap note: Use http://www.win10pcap.org/ if you have Windows 10. NOTE2: It has a bug that causes "FATAL Bad Memory Block."\r
+errors to appear in winuae's log. It is fortunately harmless. https://nmap.org/npcap/ may also work. (npcap DLL path\r
+locations are now supported)\r
+\r
+NOTE: Only 3.3 (and older) config files with old style A2065 or RTL8029 PCI config entries are loaded.\r
+3.4 beta created config files need manual A2065/RTL8029/NE2000 PCMCIA reconfiguration. Old config entries are still created\r
+for backwards compatibility but they are ignored when loading.\r
 \r
 Beta 12:\r
 \r