#include "cpummu.h"
#include "cpummu030.h"
#include "ar.h"
+#include "pci.h"
#include "ppc/ppcd.h"
#include "uae/ppc.h"
a1 = a2;
}
}
+ pci_dump(log);
currprefs.illegal_mem = imold;
}
#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;
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];
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];
}
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) {
<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>
#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
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,
"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
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
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
//
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
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"
IDD_CHIPSET, DIALOG
BEGIN
+ BOTTOMMARGIN, 169
END
IDD_CHIPSET2, DIALOG
IDD_EXPANSION, DIALOG
BEGIN
+ BOTTOMMARGIN, 289
END
IDD_INPUTMAP, DIALOG
{
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;
final = 0;
rncnt = 0;
- pwfx_saved = NULL;
for (;;) {
if (sd->channels == 6) {
#define WITH_PPC
#define WITH_QEMU_CPU
#define WITH_TOCCATA
+#define WITH_PCI
#else
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;
#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")
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;
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;
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,
#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) {
}
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 };
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)
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)
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));
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;
}
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;
}
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;
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);
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;
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;
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);
}
}
+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;
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) {
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);
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;
<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>
<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" />
<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">