]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Misc updates.
authorToni Wilen <twilen@winuae.net>
Thu, 18 Jun 2015 17:37:13 +0000 (20:37 +0300)
committerToni Wilen <twilen@winuae.net>
Thu, 18 Jun 2015 17:37:13 +0000 (20:37 +0300)
15 files changed:
debug.cpp
include/options.h
main.cpp
od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/sounddep/sound.cpp
od-win32/sysconfig.h
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gfx.cpp
od-win32/win32gui.cpp
od-win32/winuae_msvc11/winuae_msvc.vcxproj
od-win32/winuae_msvc14/winuae_msvc.vcxproj
od-win32/winuae_msvc14/winuae_msvc.vcxproj.filters

index d868c3c7d0bb15de04a8283b69e2071486e6595f..6048d20ab56bd2fb5f73a2eae5ff7729ae471335 100644 (file)
--- a/debug.cpp
+++ b/debug.cpp
@@ -39,6 +39,7 @@
 #include "cpummu.h"
 #include "cpummu030.h"
 #include "ar.h"
+#include "pci.h"
 #include "ppc/ppcd.h"
 #include "uae/ppc.h"
 
@@ -3089,6 +3090,7 @@ static void memory_map_dump_3(UaeMemoryMap *map, int log)
                        a1 = a2;
                }
        }
+       pci_dump(log);
        currprefs.illegal_mem = imold;
 }
 
index 80ea6597e0698c9db223e3b2d1b6d63ffa782fe7..988765c32042f347862fbb9fc7f88b9eedc640c8 100644 (file)
@@ -12,7 +12,7 @@
 
 #define UAEMAJOR 3
 #define UAEMINOR 1
-#define UAESUBREV 0
+#define UAESUBREV 1
 
 typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
 
@@ -426,6 +426,8 @@ struct uae_prefs {
        unsigned int chipset_mask;
        bool ntscmode;
        bool genlock;
+       int genlock_image;
+       TCHAR genlock_image_file[MAX_DPATH];
        int monitoremu;
        double chipset_refreshrate;
        struct chipset_refresh cr[MAX_CHIPSET_REFRESH + 2];
@@ -523,6 +525,7 @@ struct uae_prefs {
        TCHAR prtname[256];
        TCHAR sername[256];
        TCHAR a2065name[MAX_DPATH];
+       TCHAR ne2000pciname[MAX_DPATH];
        TCHAR picassoivromfile[MAX_DPATH];
        struct cdslot cdslots[MAX_TOTAL_SCSI_DEVICES];
        TCHAR quitstatefile[MAX_DPATH];
index 3ea9c0da2ad03b1e6fd2c074541cb601aabc02f2..e4f6e304cad2822a319665f3d50dbf2faad1d728 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -192,7 +192,7 @@ void fixup_prefs_dimensions (struct uae_prefs *prefs)
                }
                if (i == 0) {
                        if (prefs->gf[i].gfx_filter == 0 && prefs->monitoremu) {
-                               error_log(_T("A2024 and Graffiti require at least null filter enabled."));
+                               error_log(_T("Display port adapter emulation require at least null filter enabled."));
                                prefs->gf[i].gfx_filter = 1;
                        }
                        if (prefs->gf[i].gfx_filter == 0 && prefs->cs_cd32fmv) {
index c66f9c80a61d29f884dac6106b85f16f668349a4..c953fd1c3edf46cea02d327259f218c4e12c5403 100644 (file)
@@ -41,7 +41,7 @@
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
+    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
index 285ebc225c37eddc8be6da0ae7327cc22389181e..bca8fbcba00620261f6ae98dbf3d1bf1ae659958 100644 (file)
 #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_AVIOUTPUT_AUDIO_STATIC      1618
 #define IDC_SOUND_DS                    1713
 #define IDC_MONITOREMU                  1713
 #define IDC_CS_COMPATIBLE               1714
+#define IDC_GENLOCKMODE                 1714
 #define IDC_CS_RAMSEYREV                1715
 #define IDC_SOUND_WASAPI                1715
 #define IDC_CS_KSMIRROR_E0              1716
index a59eea2c561c994af59141ae904bab00ca6959e2..39bcab67c1c9efeadc7cc3beb63a045a263e00c2 100644 (file)
@@ -672,11 +672,11 @@ BEGIN
     PUSHBUTTON      "Cancel",IDCANCEL,201,57,48,15
 END
 
-IDD_CHIPSET DIALOGEX 0, 0, 396, 169
+IDD_CHIPSET DIALOGEX 0, 0, 396, 192
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
 FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN
-    GROUPBOX        "Chipset",IDC_STATIC,1,0,212,111
+    GROUPBOX        "Chipset",IDC_STATIC,1,0,212,136
     CONTROL         "OCS [] Original chipset. A1000 and most A500s.",IDC_OCS,
                     "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,14,15,88,10
     CONTROL         "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). CDTV and later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS,
@@ -693,24 +693,26 @@ BEGIN
                     "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,69,170,10
     RTEXT           "Chipset Extra:",IDC_STATIC,72,89,71,15,SS_CENTERIMAGE
     COMBOBOX        IDC_CS_EXT,148,90,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Options",IDC_STATIC,221,0,173,111
+    GROUPBOX        "Options",IDC_STATIC,221,0,173,137
     CONTROL         "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,16,150,10
     CONTROL         "Wait for Blitter [] Compatibility hack for programs that don't wait for the blitter correctly, causing graphics corruption if CPU is too fast.",IDC_BLITWAIT,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,29,150,10
     CONTROL         "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK,
                     "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,234,42,150,10
-    CTEXT           "Video port display hardware:",IDC_STATIC,228,59,117,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_MONITOREMU,238,78,147,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Collision Level",IDC_STATIC,1,116,393,48
+    LTEXT           "Video port display hardware:",IDC_STATIC,237,97,117,15,SS_CENTERIMAGE
+    COMBOBOX        IDC_MONITOREMU,237,115,147,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        "Collision Level",IDC_STATIC,1,141,393,48
     CONTROL         "None [] Collision hardware emulation disabled.",IDC_COLLISION0,
-                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,47,132,101,10
+                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,47,157,101,10
     CONTROL         "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,47,147,101,10
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,47,172,101,10
     CONTROL         "Sprites and Sprites vs. Playfield [] Recommended collision emulation level.",IDC_COLLISION2,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,132,181,10
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,157,181,10
     CONTROL         "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,147,181,10
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,172,181,10
+    LTEXT           "Genlock emulation mode",IDC_STATIC,237,59,117,15,SS_CENTERIMAGE
+    COMBOBOX        IDC_GENLOCKMODE,237,77,147,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
 END
 
 IDD_CHIPSET2 DIALOGEX 0, 0, 396, 305
@@ -1108,7 +1110,7 @@ BEGIN
     CTEXT           "Enter address",IDC_DBG_ADDRINPUTTXT,20,1,100,10,SS_CENTERIMAGE | WS_TABSTOP
 END
 
-IDD_EXPANSION DIALOGEX 0, 0, 396, 289
+IDD_EXPANSION DIALOGEX 0, 0, 396, 302
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
@@ -1139,22 +1141,24 @@ BEGIN
     COMBOBOX        IDC_RTG_BUFFERCNT,153,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
     CTEXT           "Aspect ratio:",IDC_STATIC,282,149,83,10,SS_CENTERIMAGE
     COMBOBOX        IDC_RTG_SCALE_ASPECTRATIO,282,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Miscellaneous Expansions",IDC_STATIC,1,197,172,87
+    GROUPBOX        "Miscellaneous Expansions",IDC_STATIC,1,197,172,100
     CONTROL         "Catweasel Z2 emulation [] Catweasel MK2 Zorro II card emulation. Physical Windows compatible Catweasel card and drivers required.",IDC_CATWEASEL,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,216,147,11
     CONTROL         "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,229,147,11
     CONTROL         "CD32 Full Motion Video cartridge",IDC_CS_CD32FMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,242,151,11
     CONTROL         "Toccata Z2 sound card emulation",IDC_CS_TOCCATA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,255,151,11
     CONTROL         "Toccata Paula/CD audio mix",IDC_CS_TOCCATAMIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,267,151,11
-    GROUPBOX        "Network",IDC_STATIC,181,197,213,86
+    GROUPBOX        "Network",IDC_STATIC,181,197,213,101
     CONTROL         "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,215,187,11
     CONTROL         "uaenet.device [] Sana 2 compatible network device emulation.",IDC_SANA2,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,228,187,11
     CONTROL         "A2065 Z2 [] A2065 Ethernet Zorro II card emulation.",IDC_A2065,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,241,187,11
-    COMBOBOX        IDC_NETDEVICE,202,256,178,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,271,147,11
+    COMBOBOX        IDC_NETDEVICE,202,269,178,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,284,147,11
+    CONTROL         "Realtek 8029 PCI [] Realtek 8029 PCI NIC emulation",IDC_NE2000,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,255,187,11
 END
 
 IDD_INPUTMAP DIALOGEX 0, 0, 421, 341
@@ -1246,8 +1250,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,1,0,0
- PRODUCTVERSION 3,1,0,0
+ FILEVERSION 3,1,1,0
+ PRODUCTVERSION 3,1,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -1263,12 +1267,12 @@ BEGIN
         BLOCK "040904b0"
         BEGIN
             VALUE "FileDescription", "WinUAE"
-            VALUE "FileVersion", "3.1.0.0"
+            VALUE "FileVersion", "3.1.1.0"
             VALUE "InternalName", "WinUAE"
             VALUE "LegalCopyright", "© 1996-2015 under the GNU Public License (GPL)"
             VALUE "OriginalFilename", "WinUAE.exe"
             VALUE "ProductName", "WinUAE"
-            VALUE "ProductVersion", "3.1.0.0"
+            VALUE "ProductVersion", "3.1.1.0"
         END
     END
     BLOCK "VarFileInfo"
@@ -1466,6 +1470,7 @@ BEGIN
 
     IDD_CHIPSET, DIALOG
     BEGIN
+        BOTTOMMARGIN, 169
     END
 
     IDD_CHIPSET2, DIALOG
@@ -1530,6 +1535,7 @@ BEGIN
 
     IDD_EXPANSION, DIALOG
     BEGIN
+        BOTTOMMARGIN, 289
     END
 
     IDD_INPUTMAP, DIALOG
index c85c45458fc6d3cb88a77a68018a9f0d659814a4..9a75c2a87acb866be96ebcdd22343fcf0c98921b 100644 (file)
@@ -1084,7 +1084,8 @@ static int open_audio_wasapi (struct sound_data *sd, int index, int exclusive)
 {
        HRESULT hr;
        struct sound_dp *s = sd->data;
-       WAVEFORMATEX *pwfx, *pwfx_saved;
+       WAVEFORMATEX *pwfx = NULL;
+       WAVEFORMATEX *pwfx_saved = NULL;
        WAVEFORMATEXTENSIBLE wavfmt;
        int final;
        LPWSTR name = NULL;
@@ -1143,7 +1144,6 @@ static int open_audio_wasapi (struct sound_data *sd, int index, int exclusive)
 
        final = 0;
        rncnt = 0;
-       pwfx_saved = NULL;
        for (;;) {
 
                if (sd->channels == 6) {
index 36a6954dabed8ed94c7e889075ee56c433a0a2d5..30045dbb28eea45086d9f1615725344a7ed6b077 100644 (file)
@@ -93,6 +93,7 @@
 #define WITH_PPC
 #define WITH_QEMU_CPU
 #define WITH_TOCCATA
+#define WITH_PCI
 
 #else
 
index e20bb65777944b0dae5fb838cb44509b0647f357..6460142723321d2eaecfd7455f6b803d1629a1a7 100644 (file)
@@ -5333,10 +5333,14 @@ static int parseargs (const TCHAR *argx, const TCHAR *np, const TCHAR *np2)
                log_a2065 = 1;
                return 1;
        }
-       if (!_tcscmp (arg, _T("a2065log2"))) {
+       if (!_tcscmp(arg, _T("a2065log2"))) {
                log_a2065 = 2;
                return 1;
        }
+       if (!_tcscmp(arg, _T("a2065log3"))) {
+               log_a2065 = 3;
+               return 1;
+       }
        if (!_tcscmp (arg, _T("a2065_promiscuous"))) {
                a2065_promiscuous = 1;
                return 1;
index 6abc68bc0fc9b309e2809f619c50173c8a9a0902..4482c96c947dfe4d15bd61c8a82a33f53874f93a 100644 (file)
 #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
 #define GETBDD(x) ((x) % 100)
 
-#define WINUAEPUBLICBETA 0
+#define WINUAEPUBLICBETA 1
 #define LANG_DLL 1
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("")
+#define WINUAEBETA _T("0")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2015, 6, 7)
+#define WINUAEDATE MAKEBD(2015, 6, 18)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index fb2e377cfb3f2e1c2e039d49bcb77f9567d9b024..fbdb43d690d7dfb76a90e30bf7b090dc0343c353 100644 (file)
@@ -1893,6 +1893,8 @@ int check_prefs_changed_gfx (void)
        c |= currprefs.gfx_iscanlines != changed_prefs.gfx_iscanlines ? (2 | 8) : 0;
        c |= currprefs.gfx_pscanlines != changed_prefs.gfx_pscanlines ? (2 | 8) : 0;
        c |= currprefs.monitoremu != changed_prefs.monitoremu ? (2 | 8) : 0;
+       c |= currprefs.genlock_image != changed_prefs.genlock_image ? (2 | 8) : 0;
+       c |= currprefs.genlock != changed_prefs.genlock ? (2 | 8) : 0;
 
        c |= currprefs.gfx_lores_mode != changed_prefs.gfx_lores_mode ? (2 | 8) : 0;
        c |= currprefs.gfx_scandoubler != changed_prefs.gfx_scandoubler ? (2 | 8) : 0;
@@ -1973,6 +1975,8 @@ int check_prefs_changed_gfx (void)
                currprefs.gfx_iscanlines = changed_prefs.gfx_iscanlines;
                currprefs.gfx_pscanlines = changed_prefs.gfx_pscanlines;
                currprefs.monitoremu = changed_prefs.monitoremu;
+               currprefs.genlock_image = changed_prefs.genlock_image;
+               currprefs.genlock = changed_prefs.genlock;
 
                currprefs.gfx_lores_mode = changed_prefs.gfx_lores_mode;
                currprefs.gfx_scandoubler = changed_prefs.gfx_scandoubler;
@@ -4307,7 +4311,7 @@ static BOOL doInit (void)
                        allocsoftbuffer (_T("draw"), &gfxvidinfo.drawbuffer, currentmode->flags,
                                1600, 1280, currentmode->current_depth);
                }
-               if (currprefs.monitoremu || currprefs.cs_cd32fmv) {
+               if (currprefs.monitoremu || currprefs.cs_cd32fmv || (currprefs.genlock && currprefs.genlock_image)) {
                        allocsoftbuffer (_T("monemu"), &gfxvidinfo.tempbuffer, currentmode->flags,
                                currentmode->amiga_width > 1024 ? currentmode->amiga_width : 1024,
                                currentmode->amiga_height > 1024 ? currentmode->amiga_height : 1024,
index d4ca555607301a4447fa2524e46140918940156f..a8b16d60a7d838a4019dab4473efc392c36870ea 100644 (file)
@@ -6320,7 +6320,6 @@ static void enable_for_chipsetdlg (HWND hDlg)
 #if !defined (CPUEMU_13)
        ew (hDlg, IDC_CYCLEEXACT, FALSE);
 #endif
-       ew (hDlg, IDC_GENLOCK, full_property_sheet);
 #if 0
        ew (hDlg, IDC_BLITIMM, enable);
        if (enable == FALSE) {
@@ -6334,6 +6333,7 @@ static void enable_for_chipsetdlg (HWND hDlg)
        }
        ew (hDlg, IDC_BLITWAIT, workprefs.immediate_blits ? FALSE : TRUE);
        ew (hDlg, IDC_CS_EXT, workprefs.cs_compatible ? TRUE : FALSE);
+       ew(hDlg, IDC_GENLOCKMODE, workprefs.genlock ? TRUE : FALSE);
 }
 
 static const int fakerefreshrates[] = { 50, 60, 100, 120, 0 };
@@ -7266,8 +7266,8 @@ static void values_to_chipsetdlg (HWND hDlg)
        CheckRadioButton (hDlg, IDC_COLLISION0, IDC_COLLISION3, IDC_COLLISION0 + workprefs.collision_level);
        CheckDlgButton (hDlg, IDC_CYCLEEXACT, workprefs.cpu_cycle_exact);
        SendDlgItemMessage (hDlg, IDC_CS_EXT, CB_SETCURSEL, workprefs.cs_compatible, 0);
-       SendDlgItemMessage (hDlg, IDC_MONITOREMU, CB_SETCURSEL, workprefs.monitoremu, 0);
-
+       SendDlgItemMessage(hDlg, IDC_MONITOREMU, CB_SETCURSEL, workprefs.monitoremu, 0);
+       SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_SETCURSEL, workprefs.genlock_image, 0);
 }
 
 static void values_from_chipsetdlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
@@ -7312,6 +7312,10 @@ static void values_from_chipsetdlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
        nn = SendDlgItemMessage (hDlg, IDC_MONITOREMU, CB_GETCURSEL, 0, 0);
        if (nn != CB_ERR)
                workprefs.monitoremu = nn;
+
+       nn = SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_GETCURSEL, 0, 0);
+       if (nn != CB_ERR)
+               workprefs.genlock_image = nn;
 }
 
 static INT_PTR CALLBACK ChipsetDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
@@ -7343,6 +7347,11 @@ static INT_PTR CALLBACK ChipsetDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR
                SendDlgItemMessage (hDlg, IDC_CS_EXT, CB_ADDSTRING, 0, (LPARAM)_T("A4000T"));
                SendDlgItemMessage (hDlg, IDC_CS_EXT, CB_ADDSTRING, 0, (LPARAM)_T("Velvet"));
 
+               SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_RESETCONTENT, 0, 0);
+               SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM) _T("-"));
+               SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM) _T("Noise"));
+               SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM) _T("Test card"));
+
                SendDlgItemMessage (hDlg, IDC_MONITOREMU, CB_RESETCONTENT, 0, 0);
                SendDlgItemMessage (hDlg, IDC_MONITOREMU, CB_ADDSTRING, 0, (LPARAM)_T("-"));
                WIN32GUI_LoadUIString(IDS_AUTODETECT, buffer, sizeof buffer / sizeof (TCHAR));
@@ -8100,7 +8109,7 @@ static void expansion_net (HWND hDlg)
        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"))) {
+       if (!_tcsicmp (workprefs.a2065name, _T("none")) && !_tcsicmp(workprefs.ne2000pciname, _T("none"))) {
                SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_SETCURSEL, 0, 0);
                notset = false;
        }
@@ -8108,11 +8117,17 @@ static void expansion_net (HWND hDlg)
        for (i = 0; ndd && i < MAX_TOTAL_NET_DEVICES; i++) {
                if (ndd[i]) {
                        TCHAR mac[20];
-                       _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]);
+                       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("2X:%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)) {
+                       if (!_tcsicmp (workprefs.a2065name, mac) || !_tcsicmp (workprefs.a2065name, ndd[i]->name) ||
+                               !_tcsicmp(workprefs.ne2000pciname, mac) || !_tcsicmp(workprefs.ne2000pciname, ndd[i]->name)) {
                                SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_SETCURSEL, cnt, 0);
                                notset = false;
                        }
@@ -8137,7 +8152,7 @@ static void enable_for_expansiondlg (HWND hDlg)
        ew (hDlg, IDC_NETDEVICE, en);
        ew (hDlg, IDC_SANA2, en);
        ew (hDlg, IDC_A2065, en);
-       ew (hDlg, IDC_NETDEVICE, en && workprefs.a2065name[0]);
+       ew (hDlg, IDC_NETDEVICE, en && (workprefs.a2065name[0] || workprefs.ne2000pciname[0]));
 
        int rtg = workprefs.rtgmem_size && full_property_sheet && workprefs.rtgmem_type < GFXBOARD_HARDWARE;
        int rtg2 = workprefs.rtgmem_size || workprefs.rtgmem_type >= GFXBOARD_HARDWARE;
@@ -8180,7 +8195,8 @@ static void values_to_expansiondlg (HWND hDlg)
        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_A2065, workprefs.a2065name[0] ? 1 : 0);
+       CheckDlgButton(hDlg, IDC_NE2000, workprefs.ne2000pciname[0] ? 1 : 0);
        CheckDlgButton(hDlg, IDC_CS_CD32FMV, workprefs.cs_cd32fmv);
        CheckDlgButton(hDlg, IDC_CS_TOCCATA, workprefs.sound_toccata);
        CheckDlgButton(hDlg, IDC_CS_TOCCATAMIXER, workprefs.sound_toccata_mixer);
@@ -8337,16 +8353,29 @@ static INT_PTR CALLBACK ExpansionDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP
                                workprefs.sana2 = ischecked (hDlg, IDC_SANA2);
                                break;
                        case IDC_A2065:
-                               if (ischecked (hDlg, IDC_A2065)) {
-                                       _tcscpy (workprefs.a2065name, _T("none"));
-                                       expansion_net (hDlg);
-                                       enable_for_expansiondlg (hDlg);
-                               } else {
-                                       ew (hDlg, IDC_NETDEVICE, FALSE);
-                                       workprefs.a2065name[0] = 0;
-                                       enable_for_expansiondlg (hDlg);
-                               }
-                               break;
+                       if (ischecked(hDlg, IDC_A2065)) {
+                               _tcscpy(workprefs.a2065name, _T("none"));
+                               expansion_net(hDlg);
+                               enable_for_expansiondlg(hDlg);
+                       } else {
+                               if (!workprefs.ne2000pciname[0])
+                                       ew(hDlg, IDC_NETDEVICE, FALSE);
+                               workprefs.a2065name[0] = 0;
+                               enable_for_expansiondlg(hDlg);
+                       }
+                       break;
+                       case IDC_NE2000:
+                       if (ischecked(hDlg, IDC_NE2000)) {
+                               _tcscpy(workprefs.ne2000pciname, _T("none"));
+                               expansion_net(hDlg);
+                               enable_for_expansiondlg(hDlg);
+                       } else {
+                               if (!workprefs.a2065name[0])
+                                       ew(hDlg, IDC_NETDEVICE, FALSE);
+                               workprefs.ne2000pciname[0] = 0;
+                               enable_for_expansiondlg(hDlg);
+                       }
+                       break;
                        case IDC_CATWEASEL:
                                workprefs.catweasel = ischecked (hDlg, IDC_CATWEASEL) ? -1 : 0;
                                break;
@@ -8478,12 +8507,17 @@ static INT_PTR CALLBACK ExpansionDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP
                                case IDC_NETDEVICE:
                                        v = SendDlgItemMessage (hDlg, IDC_NETDEVICE, CB_GETCURSEL, 0, 0L);
                                        if (v != CB_ERR) {
+                                               const TCHAR *s;
                                                if (v == 0) {
-                                                       _tcscpy (workprefs.a2065name, _T("none"));
+                                                       s = _T("none");
                                                } else if (ndd) {
                                                        v--;
-                                                       _tcscpy (workprefs.a2065name, ndd[v]->name);
+                                                       s = ndd[v]->name;
                                                }
+                                               if (ischecked(hDlg, IDC_A2065))
+                                                       _tcscpy(workprefs.a2065name, s);
+                                               if (ischecked(hDlg, IDC_NE2000))
+                                                       _tcscpy(workprefs.ne2000pciname, s);
                                        }
                                        break;
 
@@ -8671,7 +8705,7 @@ static void addromfiles (UAEREG *fkey, HWND hDlg, DWORD d, const TCHAR *path, in
                                        int type = i ? type2 : type1;
                                        if (type) {
                                                if (rd && ((((rd->type & ROMTYPE_GROUP_MASK) & (type & ROMTYPE_GROUP_MASK)) && ((rd->type & ROMTYPE_SUB_MASK) == (type & ROMTYPE_SUB_MASK) || !(type & ROMTYPE_SUB_MASK))) ||
-                                                       (rd->type & type) == ROMTYPE_NONE)) {
+                                                       (rd->type & type) == ROMTYPE_NONE || (rd->type & type) == ROMTYPE_NOT)) {
                                                        getromname (rd, tmp);
                                                        if (SendDlgItemMessage (hDlg, d, CB_FINDSTRING, (WPARAM)-1, (LPARAM)tmp) < 0)
                                                                SendDlgItemMessage(hDlg, d, CB_ADDSTRING, 0, (LPARAM)tmp);
@@ -8798,6 +8832,34 @@ static void values_from_kickstartdlg (HWND hDlg)
        }
 }
 
+static void values_to_kickstartdlg_expansion_roms(HWND hDlg, UAEREG *fkey)
+{
+       int index;
+       bool keyallocated = false;
+       struct boardromconfig *brc;
+
+       if (!fkey) {
+               fkey = regcreatetree(NULL, _T("DetectedROMs"));
+               keyallocated = true;
+       }
+       const struct expansionromtype *ert = &expansionroms[scsiromselected];
+       int romtype = ert->romtype;
+       int romtype_extra = ert->romtype_extra;
+
+       brc = get_device_rom(&workprefs, romtype, scsiromselectednum, &index);
+       if (brc && ert->subtypes) {
+               const struct expansionsubromtype *esrt = &ert->subtypes[brc->roms[index].subtype];
+               if (esrt->romtype) {
+                       romtype = esrt->romtype;
+                       romtype_extra = 0;
+               }
+       }
+       addromfiles(fkey, hDlg, IDC_SCSIROMFILE, brc ? brc->roms[index].romfile : NULL, romtype, romtype_extra);
+       CheckDlgButton(hDlg, IDC_SCSIROMFILEAUTOBOOT, brc && brc->roms[index].autoboot_disabled);
+       if (keyallocated)
+               regclosetree(fkey);
+}
+
 static void values_to_kickstartdlg_expansion_settings(HWND hDlg)
 {
        int index;
@@ -8853,10 +8915,7 @@ static void values_to_kickstartdlg (HWND hDlg)
        addromfiles (fkey, hDlg, IDC_CARTFILE, workprefs.cartfile,
                ROMTYPE_FREEZER | ROMTYPE_ARCADIAGAME | ROMTYPE_CD32CART, 0);
 
-       brc = get_device_rom(&workprefs, expansionroms[scsiromselected].romtype, scsiromselectednum, &index);
-       addromfiles (fkey, hDlg, IDC_SCSIROMFILE, brc ? brc->roms[index].romfile : NULL,
-               expansionroms[scsiromselected].romtype, expansionroms[scsiromselected].romtype_extra);
-       CheckDlgButton(hDlg, IDC_SCSIROMFILEAUTOBOOT, brc && brc->roms[index].autoboot_disabled);
+       values_to_kickstartdlg_expansion_roms(hDlg, fkey);
        values_to_kickstartdlg_expansion_settings(hDlg);
 
        if (workprefs.cpuboard_type) {
@@ -9051,12 +9110,16 @@ static INT_PTR CALLBACK KickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP
                        case IDC_CARTFILE:
                        case IDC_SCSIROMFILE:
                        case IDC_SCSIROMID:
-                       case IDC_SCSIROMSUBSELECT:
                        case IDC_CPUBOARDROMFILE:
                        case IDC_CPUBOARDROMSUBSELECT:
                                values_from_kickstartdlg (hDlg);
                                values_to_kickstartdlg_expansion_settings(hDlg);
                                break;
+                       case IDC_SCSIROMSUBSELECT:
+                               values_from_kickstartdlg(hDlg);
+                               values_to_kickstartdlg_expansion_roms(hDlg, NULL);
+                               values_to_kickstartdlg_expansion_settings(hDlg);
+                               break;
                        case IDC_SCSIROMSELECTNUM:
                        case IDC_SCSIROMSELECT:
                                val = SendDlgItemMessage (hDlg, IDC_SCSIROMSELECTNUM, CB_GETCURSEL, 0, 0);
@@ -9064,15 +9127,9 @@ static INT_PTR CALLBACK KickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP
                                        scsiromselectednum = val;
                                val = gui_get_string_cursor(scsiromselect_table, hDlg, IDC_SCSIROMSELECT);      
                                if (val != CB_ERR) {
-                                       int index;
-                                       struct boardromconfig *brc;
-                                       UAEREG *fkey = regcreatetree (NULL, _T("DetectedROMs"));
                                        scsiromselected = val;
-                                       brc = get_device_rom(&workprefs, expansionroms[scsiromselected].romtype, scsiromselectednum, &index);
-                                       addromfiles (fkey, hDlg, IDC_SCSIROMFILE, brc ? brc->roms[index].romfile : NULL,
-                                               expansionroms[scsiromselected].romtype, 0);
+                                       values_to_kickstartdlg_expansion_roms(hDlg, NULL);
                                        values_to_kickstartdlg_expansion_settings(hDlg);
-                                       regclosetree(fkey);
                                        values_to_kickstartdlg_sub(hDlg);
                                }
                                break;
index 892c9b275badc69de1ed9edee3daa105e214e507..80eb2ebd88e674000ed01a43d126d9a148704e84 100644 (file)
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
index 89f3aeefbc7aba0638fb0e19ae7dc38731e775f5..ccc395e89c83d88986fe5d15c5dd3993f1d86cf0 100644 (file)
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>false</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
       <FloatingPointModel>Precise</FloatingPointModel>
       <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
       <RuntimeTypeInfo>false</RuntimeTypeInfo>
     <ClCompile Include="..\..\luascript.cpp" />
     <ClCompile Include="..\..\ncr9x_scsi.cpp" />
     <ClCompile Include="..\..\newcpu_common.cpp" />
+    <ClCompile Include="..\..\pci.cpp" />
     <ClCompile Include="..\..\ppc\ppc.cpp" />
     <ClCompile Include="..\..\ppc\ppcd.cpp" />
     <ClCompile Include="..\..\qemuvga\cirrus_vga.cpp" />
     <ClCompile Include="..\..\qemuvga\esp.cpp" />
     <ClCompile Include="..\..\qemuvga\lsi53c710.cpp" />
     <ClCompile Include="..\..\qemuvga\lsi53c895a.cpp" />
+    <ClCompile Include="..\..\qemuvga\ne2000.cpp" />
     <ClCompile Include="..\..\qemuvga\qemu.cpp" />
     <ClCompile Include="..\..\qemuvga\qemuuaeglue.cpp" />
     <ClCompile Include="..\..\qemuvga\vga.cpp" />
     <ClCompile Include="..\..\specialmonitors.cpp" />
     <ClCompile Include="..\..\statusline.cpp" />
     <ClCompile Include="..\..\tabletlibrary.cpp" />
+    <ClCompile Include="..\..\test_card.cpp" />
     <ClCompile Include="..\..\uaenative.cpp" />
     <ClCompile Include="..\ahidsound_dsonly.cpp" />
     <ClCompile Include="..\ahidsound_new.cpp" />
index 9a9d9bfe7ea76cfcb128a8635acc897d721c7921..75e5cdc76ebf24969a60f0c89cbccb74a225a6dc 100644 (file)
     <ClCompile Include="..\..\archivers\zip\ioapi.cpp">
       <Filter>unpackers\zip</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\pci.cpp">
+      <Filter>common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\test_card.cpp">
+      <Filter>common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\qemuvga\ne2000.cpp">
+      <Filter>qemu</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\resources\35floppy.ico">