packages
packages.config
*.sqlite
+*.db-shm
+*.db-wal
static const TCHAR *cdconmodes[] = { _T(""), _T("uae"), _T("ide"), _T("scsi"), _T("cdtv"), _T("cd32"), 0 };
static const TCHAR *specialmonitors[] = { _T("none"), _T("autodetect"), _T("a2024"), _T("graffiti"),
_T("ham_e"), _T("ham_e_plus"), _T("videodac18"), _T("avideo12"), _T("avideo24"), _T("firecracker24"), _T("dctv"), _T("opalvision"), _T("colorburst"), 0 };
-static const TCHAR *genlockmodes[] = { _T("none"), _T("noise"), _T("testcard"), _T("image"), _T("video"), _T("stream"), NULL };
+static const TCHAR *genlockmodes[] = { _T("none"), _T("noise"), _T("testcard"), _T("image"), _T("video"), _T("stream"), _T("ld"), NULL };
static const TCHAR *ppc_implementations[] = {
_T("auto"),
_T("dummy"),
s = cfgfile_option_get(value, _T("pid"));
if (s)
rb->product = _tstol(s);
+ s = cfgfile_option_get(value, _T("no_reset_unmap"));
+ if (s)
+ rb->no_reset_unmap = true;
s = cfgfile_option_get(value, _T("data"));
if (s && _tcslen(s) >= 3 * 16 - 1) {
rb->autoconfig_inuse = true;
TCHAR *endptr;
rb->write_address = _tcstol(s1, &endptr, 16);
}
+
return true;
}
}
_stprintf(p, _T("mid=%u,pid=%u"), rb->manufacturer, rb->product);
p += _tcslen(p);
}
+ if (rb->no_reset_unmap) {
+ if (tmp2[0])
+ *p++ = ',';
+ _tcscpy(p, _T("no_reset_unmap=true"));
+ p += _tcslen(p);
+ }
if (rb->autoconfig_inuse) {
uae_u8 *ac = rb->autoconfig;
if (tmp2[0])
cfgfile_write_bool (f, _T("ntsc"), p->ntscmode);
cfgfile_write_bool(f, _T("genlock"), p->genlock);
cfgfile_dwrite_bool(f, _T("genlock_alpha"), p->genlock_alpha);
+ cfgfile_dwrite_bool(f, _T("genlock_aspect"), p->genlock_aspect);
cfgfile_dwrite_str(f, _T("genlockmode"), genlockmodes[p->genlock_image]);
cfgfile_dwrite_str(f, _T("genlock_image"), p->genlock_image_file);
cfgfile_dwrite_str(f, _T("genlock_video"), p->genlock_video_file);
cfgfile_dwrite(f, _T("genlock_mix"), _T("%d"), p->genlock_mix);
+ cfgfile_dwrite(f, _T("genlock_scale"), _T("%d"), p->genlock_scale);
cfgfile_dwrite_str(f, _T("monitoremu"), specialmonitors[p->monitoremu]);
cfgfile_dwrite_bool (f, _T("show_leds"), !!(p->leds_on_screen & STATUSLINE_CHIPSET));
|| cfgfile_yesno (option, value, _T("sana2"), &p->sana2)
|| cfgfile_yesno(option, value, _T("genlock"), &p->genlock)
|| cfgfile_yesno(option, value, _T("genlock_alpha"), &p->genlock_alpha)
+ || cfgfile_yesno(option, value, _T("genlock_aspect"), &p->genlock_aspect)
|| cfgfile_yesno(option, value, _T("cpu_compatible"), &p->cpu_compatible)
|| cfgfile_yesno(option, value, _T("cpu_threaded"), &p->cpu_thread)
|| cfgfile_yesno(option, value, _T("cpu_24bit_addressing"), &p->address_space_24)
|| cfgfile_intval (option, value, _T("uae_hide"), &p->uae_hide, 1)
|| cfgfile_intval (option, value, _T("cpu_frequency"), &p->cpu_frequency, 1)
|| cfgfile_intval(option, value, _T("kickstart_ext_rom_file2addr"), &p->romextfile2addr, 1)
+ || cfgfile_intval(option, value, _T("genlock_scale"), &p->genlock_scale, 1)
|| cfgfile_intval(option, value, _T("genlock_mix"), &p->genlock_mix, 1))
return 1;
} else if (romtype == ROMTYPE_x86_VGA) {
romname = _T("");
}
- addbcromtype(p, romtype, false, romname, devnum);
+ addbcromtype(p, romtype, true, romname, devnum);
devnum++;
}
}
}
memcpy(aci->autoconfig_raw, expamem, sizeof aci->autoconfig_raw);
+
+ if (p->fastmem[aci->devnum].no_reset_unmap && bank->allocated_size) {
+ map_banks_z2(bank, bank->start >> 16, size >> 16);
+ }
+
return true;
}
return true;
uae_u32 start = bank->start;
- bool alwaysmapz3 = aci->prefs->z3_mapping_mode != Z3MAPPING_REAL;
+ bool alwaysmapz3 = aci->prefs->z3_mapping_mode != Z3MAPPING_REAL || aci->prefs->z3fastmem[aci->devnum].no_reset_unmap;
if ((alwaysmapz3 || expamem_z3hack(aci->prefs)) && bank->allocated_size) {
map_banks_z3(bank, start >> 16, size >> 16);
}
struct ramboard *rb = &currprefs.fastmem[i];
if (rb->manual_config) {
map_banks(&fastmem_bank[i], rb->start_address >> 16, (rb->end_address - rb->start_address + 1) >> 16, 0);
+ } else if (rb->no_reset_unmap && rb->start_address) {
+ map_banks(&fastmem_bank[i], rb->start_address >> 16, rb->size >> 16, 0);
}
rb = &currprefs.z3fastmem[i];
if (rb->manual_config) {
map_banks(&z3fastmem_bank[i], rb->start_address >> 16, (rb->end_address - rb->start_address + 1) >> 16, 0);
+ } else if (rb->no_reset_unmap && rb->start_address) {
+ map_banks(&z3fastmem_bank[i], rb->start_address >> 16, rb->size >> 16, 0);
}
}
if (currprefs.z3chipmem_size) {
{
NULL
}
-};
\ No newline at end of file
+};
#define IDC_FASTERRTG 1221
#define IDC_GENLOCK_ALPHA 1221
#define IDC_COMPATIBLE24 1222
+#define IDC_GENLOCK_KEEP_ASPECT 1222
#define IDC_SPEED 1223
#define IDC_FPU0 1224
#define IDC_FPU1 1225
PUSHBUTTON "Cancel",IDCANCEL,201,57,48,15
END
-IDD_CHIPSET DIALOGEX 0, 0, 396, 266
+IDD_CHIPSET DIALOGEX 0, 0, 396, 287
STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
"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,172,181,10
- GROUPBOX "Genlock",IDC_STATIC,0,195,393,66
+ GROUPBOX "Genlock",IDC_STATIC,0,195,393,85
CONTROL "Genlock connected [] Allow boot sequence to detect genlock.",IDC_GENLOCK,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,209,150,10
- COMBOBOX IDC_GENLOCKMODE,197,209,124,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,211,109,10
+ COMBOBOX IDC_GENLOCKMODE,129,209,192,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_GENLOCKMIX,330,209,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Include alpha channel in screenshots and video captures.",IDC_GENLOCK_ALPHA,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,226,214,10
- COMBOBOX IDC_GENLOCKFILE,12,241,356,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_GENLOCKFILESELECT,375,240,10,15
+ "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,227,214,10
+ COMBOBOX IDC_GENLOCKFILE,12,258,356,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "...",IDC_GENLOCKFILESELECT,375,257,10,15
+ CONTROL "Keep aspect ratio",IDC_GENLOCK_KEEP_ASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,242,214,10
END
IDD_CHIPSET2 DIALOGEX 0, 0, 396, 305
IDD_CHIPSET, DIALOG
BEGIN
- BOTTOMMARGIN, 258
+ BOTTOMMARGIN, 280
END
IDD_CHIPSET2, DIALOG
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Test|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
#define LANG_DLL_FULL_VERSION_MATCH 1
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("16")
+#define WINUAEBETA _T("17")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2016, 11, 13)
+#define WINUAEDATE MAKEBD(2016, 11, 27)
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
c |= currprefs.genlock != changed_prefs.genlock ? (2 | 8) : 0;
c |= currprefs.genlock_alpha != changed_prefs.genlock_alpha ? (1 | 8) : 0;
c |= currprefs.genlock_mix != changed_prefs.genlock_mix ? (1 | 256) : 0;
+ c |= currprefs.genlock_aspect != changed_prefs.genlock_aspect ? (1 | 256) : 0;
+ c |= currprefs.genlock_scale != changed_prefs.genlock_scale ? (1 | 256) : 0;
c |= _tcsicmp(currprefs.genlock_image_file, changed_prefs.genlock_image_file) ? (2 | 8) : 0;
c |= _tcsicmp(currprefs.genlock_video_file, changed_prefs.genlock_video_file) ? (2 | 8) : 0;
currprefs.genlock = changed_prefs.genlock;
currprefs.genlock_mix = changed_prefs.genlock_mix;
currprefs.genlock_alpha = changed_prefs.genlock_alpha;
+ currprefs.genlock_aspect = changed_prefs.genlock_aspect;
+ currprefs.genlock_scale = changed_prefs.genlock_scale;
_tcscpy(currprefs.genlock_image_file, changed_prefs.genlock_image_file);
_tcscpy(currprefs.genlock_video_file, changed_prefs.genlock_video_file);
_tcscpy(prefs->genlock_image_file, full_path);
fullpath(prefs->genlock_image_file, sizeof prefs->genlock_image_file / sizeof(TCHAR));
DISK_history_add(prefs->genlock_image_file, -1, HISTORY_GENLOCK_IMAGE, 0);
- } else if (workprefs.genlock_image == 4) {
+ } else if (workprefs.genlock_image == 4 || workprefs.genlock_image == 6) {
_tcscpy(prefs->genlock_video_file, full_path);
fullpath(prefs->genlock_video_file, sizeof prefs->genlock_video_file / sizeof(TCHAR));
DISK_history_add(prefs->genlock_video_file, -1, HISTORY_GENLOCK_VIDEO, 0);
ew(hDlg, IDC_GENLOCKMODE, workprefs.genlock ? TRUE : FALSE);
ew(hDlg, IDC_GENLOCKMIX, workprefs.genlock ? TRUE : FALSE);
ew(hDlg, IDC_GENLOCK_ALPHA, workprefs.genlock ? TRUE : FALSE);
- ew(hDlg, IDC_GENLOCKFILE, workprefs.genlock && workprefs.genlock_image >= 3 && workprefs.genlock_image < 5 ? TRUE : FALSE);
- ew(hDlg, IDC_GENLOCKFILESELECT, workprefs.genlock && workprefs.genlock_image >= 3 && workprefs.genlock_image < 5 ? TRUE : FALSE);
+ ew(hDlg, IDC_GENLOCK_KEEP_ASPECT, workprefs.genlock ? TRUE : FALSE);
+ ew(hDlg, IDC_GENLOCKFILE, workprefs.genlock && (workprefs.genlock_image ==6 || (workprefs.genlock_image >= 3 && workprefs.genlock_image < 5)) ? TRUE : FALSE);
+ ew(hDlg, IDC_GENLOCKFILESELECT, workprefs.genlock && (workprefs.genlock_image ==6 || (workprefs.genlock_image >= 3 && workprefs.genlock_image < 5)) ? TRUE : FALSE);
}
static const int fakerefreshrates[] = { 50, 60, 100, 120, 0 };
SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_SETCURSEL, workprefs.genlock_image, 0);
SendDlgItemMessage(hDlg, IDC_GENLOCKMIX, CB_SETCURSEL, workprefs.genlock_mix / 25, 0);
CheckDlgButton(hDlg, IDC_GENLOCK_ALPHA, workprefs.genlock_alpha);
+ CheckDlgButton(hDlg, IDC_GENLOCK_KEEP_ASPECT, workprefs.genlock_aspect);
}
static int cs_compatible = CP_GENERIC;
workprefs.genlock = ischecked (hDlg, IDC_GENLOCK);
workprefs.genlock_alpha = ischecked(hDlg, IDC_GENLOCK_ALPHA);
+ workprefs.genlock_aspect = ischecked(hDlg, IDC_GENLOCK_KEEP_ASPECT);
workprefs.immediate_blits = ischecked (hDlg, IDC_BLITIMM);
workprefs.waiting_blits = ischecked (hDlg, IDC_BLITWAIT) ? 1 : 0;
setautocomplete(hDlg, IDC_GENLOCKFILE);
if (workprefs.genlock_image == 3) {
addhistorymenu(hDlg, workprefs.genlock_image_file, IDC_GENLOCKFILE, HISTORY_GENLOCK_IMAGE, true);
- } else if (workprefs.genlock_image == 4) {
+ } else if (workprefs.genlock_image == 4 || workprefs.genlock_image == 6) {
addhistorymenu(hDlg, workprefs.genlock_video_file, IDC_GENLOCKFILE, HISTORY_GENLOCK_VIDEO, true);
}
}
SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM)_T("Image file (png)"));
SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM)_T("Video file"));
SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM)_T("Capture device"));
+ SendDlgItemMessage(hDlg, IDC_GENLOCKMODE, CB_ADDSTRING, 0, (LPARAM)_T("American Laser Games LaserDisc Player"));
SendDlgItemMessage(hDlg, IDC_GENLOCKMIX, CB_RESETCONTENT, 0, 0);
for (int i = 0; i <= 10; i++) {
ew(hDlg, IDC_MEMORYRAM, true);
ew(hDlg, IDC_MEMORYMEM, true);
ew(hDlg, IDC_RAM_ADDRESS, manual && size);
- ew(hDlg, IDC_RAM_ADDRESS2, false);
+ ew(hDlg, IDC_RAM_ADDRESS2, manual && size);
}
static void setfastram_ramboard(HWND hDlg, int zram)
setchecked(hDlg, IDC_FASTMEMNOAUTOCONFIG, rb && rb->manual_config);
if (rb) {
if (rb->manual_config) {
- rb->end_address = rb->start_address + rb->size - 1;
+ if (rb->end_address <= rb->start_address || rb->start_address + rb->size >= rb->end_address)
+ rb->end_address = rb->start_address + rb->size - 1;
} else {
rb->start_address = 0;
rb->end_address = 0;
const struct memoryboardtype *mbt = getmemoryboardselect(hDlg);
if (mbt && fastram_select_ramboard->manual_config && mbt->address) {
fastram_select_ramboard->start_address = mbt->address;
+ if (fastram_select_ramboard->end_address <= fastram_select_ramboard->start_address ||
+ fastram_select_ramboard->end_address >= fastram_select_ramboard->start_address + fastram_select_ramboard->size)
fastram_select_ramboard->end_address = mbt->address + fastram_select_ramboard->size - 1;
}
setfastram_selectmenu(hDlg, 0);
TCHAR *endptr;
GetDlgItemText(hDlg, IDC_RAM_ADDRESS, tmp, sizeof tmp / sizeof(TCHAR));
fastram_select_ramboard->start_address = _tcstol(tmp, &endptr, 16);
+ GetDlgItemText(hDlg, IDC_RAM_ADDRESS2, tmp, sizeof tmp / sizeof(TCHAR));
+ fastram_select_ramboard->end_address = _tcstol(tmp, &endptr, 16);
setfastram_selectmenu(hDlg, HIWORD(wParam) == EN_KILLFOCUS ? 0 : 3);
}
break;
addromfiles (fkey, hDlg, IDC_ROMFILE, workprefs.romfile,
ROMTYPE_KICK | ROMTYPE_KICKCD32, 0);
addromfiles (fkey, hDlg, IDC_ROMFILE2, workprefs.romextfile,
- ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV | ROMTYPE_ARCADIABIOS, 0);
+ ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV | ROMTYPE_ARCADIABIOS | ROMTYPE_ALG, 0);
addromfiles (fkey, hDlg, IDC_CARTFILE, workprefs.cartfile,
ROMTYPE_FREEZER | ROMTYPE_ARCADIAGAME | ROMTYPE_CD32CART, 0);
}
static ACCEL HarddiskAccel[] = {
- { FVIRTKEY, VK_UP, 10001 }, { FVIRTKEY, VK_DOWN, 10002 },
{ FVIRTKEY|FSHIFT, VK_UP, IDC_UP }, { FVIRTKEY|FSHIFT, VK_DOWN, IDC_DOWN },
{ FVIRTKEY, VK_RETURN, IDC_EDIT }, { FVIRTKEY, VK_DELETE, IDC_REMOVE },
{ 0, 0, 0 }
{ FALT|FVIRTKEY, '6', 10006 }, { FALT|FVIRTKEY, '7', 10007 }, { FALT|FVIRTKEY, '8', 10008 }, { FALT|FVIRTKEY, '9', 10009 }, { FALT|FVIRTKEY, '0', 10010 },
{ FALT|FSHIFT|FVIRTKEY, '1', 10011 }, { FALT|FSHIFT|FVIRTKEY, '2', 10012 }, { FALT|FSHIFT|FVIRTKEY, '3', 10013 }, { FALT|FSHIFT|FVIRTKEY, '4', 10014 }, { FALT|FSHIFT|FVIRTKEY, '5', 10015 },
{ FALT|FSHIFT|FVIRTKEY, '6', 10016 }, { FALT|FSHIFT|FVIRTKEY, '7', 10017 }, { FALT|FSHIFT|FVIRTKEY, '8', 10018 }, { FALT|FSHIFT|FVIRTKEY, '9', 10019 }, { FALT|FSHIFT|FVIRTKEY, '0', 10020 },
- { FVIRTKEY, VK_UP, 10101 }, { FVIRTKEY, VK_DOWN, 10102 }, { FVIRTKEY, VK_RIGHT, 10104 },
+ { FVIRTKEY, VK_RIGHT, 10104 },
{ FVIRTKEY|FSHIFT, VK_UP, IDC_UP }, { FVIRTKEY|FSHIFT, VK_DOWN, IDC_DOWN },
{ FVIRTKEY|FCONTROL, '1', 10201 }, { FVIRTKEY|FCONTROL, '2', 10202 }, { FVIRTKEY|FCONTROL, '3', 10203 }, { FVIRTKEY|FCONTROL, '4', 10204 },
{ FVIRTKEY|FCONTROL|FSHIFT, '1', 10205 }, { FVIRTKEY|FCONTROL|FSHIFT, '2', 10206 }, { FVIRTKEY|FCONTROL|FSHIFT, '3', 10207 }, { FVIRTKEY|FCONTROL|FSHIFT, '4', 10208 },
}
}
-static HWND updatePanel (int id);
+static HWND updatePanel (int id, UINT action);
static int rawdisable[] = {
IDC_INPUTTYPE, 0, 0, IDC_INPUTDEVICE, 0, 0, IDC_INPUTDEVICEDISABLE, 0, 0,
*height = r.bottom - r.top;
}
-static HWND updatePanel (int id)
+static HWND updatePanel (int id, UINT action)
{
HWND hDlg = guiDlg;
static HWND hwndTT;
hAccelTable = ppage[currentpage].accel;
- if (ppage[id].focusid > 0) {
+ if (ppage[id].focusid > 0 && action != TVC_BYKEYBOARD) {
setfocus (panelDlg, ppage[id].focusid);
}
} else {
rd = scan_arcadia_rom (file, 0);
if (rd) {
- if (rd->type == ROMTYPE_ARCADIABIOS)
+ if (rd->type == ROMTYPE_ARCADIABIOS || ROMTYPE_ALG)
_tcscpy (prefs->romextfile, file);
else if (rd->type == ROMTYPE_ARCADIAGAME)
_tcscpy (prefs->cartfile, file);
KillTimer(hDlg, 3);
devicechangetimer = 0;
inputdevice_devicechange (&workprefs);
- updatePanel (currentpage);
+ updatePanel (currentpage, 0);
break;
}
KillTimer(hDlg, 3);
devicechangetimer = 0;
addnotifications (hDlg, TRUE, TRUE);
- updatePanel (-1);
+ updatePanel (-1, 0);
DestroyWindow(hDlg);
if (dialogreturn < 0) {
dialogreturn = 0;
ShowWindow (GetDlgItem (guiDlg, IDC_ERRORLOG), is_error_log () ? SW_SHOW : SW_HIDE);
centerWindow (hDlg);
createTreeView (hDlg);
- updatePanel (currentpage);
+ updatePanel (currentpage, 0);
addnotifications (hDlg, FALSE, TRUE);
return TRUE;
case WM_DROPFILES:
if (dragdrop (hDlg, (HDROP)wParam, (gui_active || full_property_sheet) ? &workprefs : &changed_prefs, currentpage))
SendMessage (hDlg, WM_COMMAND, IDOK, 0);
- updatePanel (currentpage);
+ updatePanel (currentpage, 0);
return FALSE;
case WM_NOTIFY:
{
cf = (int)(tv->itemNew.lParam >> 16);
if (cp != currentpage || cf != configtype) {
configtypepanel = configtype = cf;
- updatePanel (cp);
+ updatePanel (cp, tv->action);
}
return TRUE;
}
HtmlHelp (NULL, help_file, HH_DISPLAY_TOPIC, ppage[currentpage].help);
return TRUE;
case IDOK:
- updatePanel (-1);
+ updatePanel (-1, 0);
dialogreturn = 1;
DestroyWindow (hDlg);
gui_to_prefs ();
guiDlg = NULL;
return TRUE;
case IDCANCEL:
- updatePanel (-1);
+ updatePanel (-1, 0);
dialogreturn = 0;
DestroyWindow (hDlg);
if (allow_quit) {
<ProjectGuid>{4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}</ProjectGuid>
<RootNamespace>winuae</RootNamespace>
<TargetPlatformVersion>8.1</TargetPlatformVersion>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'" Label="Configuration">
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140_xp</PlatformToolset>
+ <PlatformToolset>v141_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140_xp</PlatformToolset>
+ <PlatformToolset>v141_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Test|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140_xp</PlatformToolset>
+ <PlatformToolset>v141_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Test|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
- 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 17:\r
+\r
+- Allow non-power of 2 manually configurable memory size, in 64k blocks. (Unsupported with JIT)\r
+- If possible bitplane overrun situation is active, skip BPLCON0 non-delayed modification optimization. (Massive / Skarla)\r
+- Do not steal focus from tree view GUI panel when moving selection up or down using keyboard.\r
+- Switching from 32-bit to 24-bit address space CPU with Z3 UAEGFX: Mode was changed to Z2 without validating old size.\r
+- Some Z2 fast mem only configs crashed at startup.\r
+- American Laser Games arcade hardware emulation. ROMs added to ROM scanner, LD drive is also emulated.\r
+ LaserDisc emulation uses recently added genlock video emulation to play the video. (Games will run without video but\r
+ it also makes them completely unplayble..). NVRAM load/save support. ALG input events added to Input panel.\r
+- Genlock video file sound track is also supported but it is only played in ALG LD emulator mode.\r
+- Genlock image/video is now always scaled to screen, previous limited integer only scaling is gone.\r
+- Added genlock keep aspect option.\r
+- Picasso IV and x86 VGA ROM file was cleared when loaded. (b12)\r
+- Updated to Visual Studio 2017 RC\r
+\r
+American Laser Games configuration:\r
+- Standard A500, KS 1.3, ECS Agnus. Extended ROM = game ROM selection.\r
+- Genlock ALG mode, with video path pointing to LaserDisc video file.\r
+- Input config: Lightpen (do not configure mouse in Amiga mouse port), ALG Right Trigger = fire. Service = service menu.\r
+ Right Start and Right Coin needed to start the game and use service menu. Mad Dog McCree also needs Right Holster (reload).\r
+ Player 2 is not fully supported.\r
+\r
Beta 16:\r
\r
- uaenet.device unit 0 and 1 (slirp units) didn't open (some previous beta)\r