mirror of
https://github.com/LIV2/WinUAE.git
synced 2025-12-06 00:12:52 +00:00
3600b9
This commit is contained in:
parent
1f39a2c92c
commit
c81a3c40cb
133
cfgfile.cpp
133
cfgfile.cpp
@ -2158,6 +2158,8 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
|
||||
cfgfile_dwrite_bool(f, _T("z3_autoconfig"), p->cs_z3autoconfig);
|
||||
cfgfile_dwrite_bool(f, _T("1mchipjumper"), p->cs_1mchipjumper);
|
||||
cfgfile_dwrite_bool(f, _T("color_burst"), p->cs_color_burst);
|
||||
cfgfile_dwrite_bool(f, _T("toshiba_gary"), p->cs_toshibagary);
|
||||
cfgfile_dwrite_bool(f, _T("rom_is_slow"), p->cs_romisslow);
|
||||
cfgfile_dwrite_str(f, _T("unmapped_address_space"), unmapped[p->cs_unmapped_space]);
|
||||
cfgfile_dwrite (f, _T("chipset_hacks"), _T("0x%x"), p->cs_hacks);
|
||||
|
||||
@ -3970,6 +3972,8 @@ struct uaedev_config_data *add_filesys_config (struct uae_prefs *p, int index, s
|
||||
} else if (ci->type == UAEDEV_TAPE) {
|
||||
if (ci->controller_type == HD_CONTROLLER_TYPE_UAE)
|
||||
break;
|
||||
if (ci->controller_type >= HD_CONTROLLER_TYPE_IDE_FIRST && ci->controller_type <= HD_CONTROLLER_TYPE_IDE_LAST)
|
||||
break;
|
||||
if (ci->controller_type >= HD_CONTROLLER_TYPE_SCSI_FIRST && ci->controller_type <= HD_CONTROLLER_TYPE_SCSI_LAST)
|
||||
break;
|
||||
} else {
|
||||
@ -5030,6 +5034,8 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, const TCHAR *option, TCH
|
||||
|| cfgfile_yesno(option, value, _T("ics_agnus"), &p->cs_dipagnus)
|
||||
|| cfgfile_yesno(option, value, _T("z3_autoconfig"), &p->cs_z3autoconfig)
|
||||
|| cfgfile_yesno(option, value, _T("color_burst"), &p->cs_color_burst)
|
||||
|| cfgfile_yesno(option, value, _T("toshiba_gary"), &p->cs_toshibagary)
|
||||
|| cfgfile_yesno(option, value, _T("rom_is_slow"), &p->cs_romisslow)
|
||||
|| cfgfile_yesno(option, value, _T("1mchipjumper"), &p->cs_1mchipjumper)
|
||||
|| cfgfile_yesno(option, value, _T("agnus_bltbusybug"), &p->cs_agnusbltbusybug)
|
||||
|| cfgfile_yesno(option, value, _T("gfxcard_hardware_vblank"), &p->rtg_hardwareinterrupt)
|
||||
@ -6073,11 +6079,55 @@ static int cfgfile_load_2 (struct uae_prefs *p, const TCHAR *filename, bool real
|
||||
if (real) {
|
||||
cfgfile_parse_separated_line (p, line1b, line2b, askedtype);
|
||||
} else {
|
||||
// metadata
|
||||
cfgfile_string (line1b, line2b, _T("config_description"), p->description, sizeof p->description / sizeof (TCHAR));
|
||||
cfgfile_path (line1b, line2b, _T("config_hardware_path"), p->config_hardware_path, sizeof p->config_hardware_path / sizeof (TCHAR));
|
||||
cfgfile_path (line1b, line2b, _T("config_host_path"), p->config_host_path, sizeof p->config_host_path / sizeof(TCHAR));
|
||||
cfgfile_path (line1b, line2b, _T("config_all_path"), p->config_all_path, sizeof p->config_all_path / sizeof(TCHAR));
|
||||
cfgfile_string (line1b, line2b, _T("config_window_title"), p->config_window_title, sizeof p->config_window_title / sizeof (TCHAR));
|
||||
// boxart checks
|
||||
cfgfile_path(line1b, line2b, _T("floppy0"), p->floppyslots[0].df, sizeof p->floppyslots[0].df / sizeof(TCHAR));
|
||||
TCHAR tmp[MAX_DPATH];
|
||||
if (!p->mountitems && (cfgfile_string(line1b, line2b, _T("hardfile2"), tmp, sizeof tmp / sizeof(TCHAR)) || cfgfile_string(line1b, line2b, _T("filesystem2"), tmp, sizeof tmp / sizeof(TCHAR)))) {
|
||||
const TCHAR *s = _tcschr(tmp, ':');
|
||||
if (s) {
|
||||
if (!_tcscmp(line1b, _T("filesystem2"))) {
|
||||
s++;
|
||||
s = _tcschr(s, ':');
|
||||
}
|
||||
if (s) {
|
||||
s++;
|
||||
bool quoted = false;
|
||||
if (s[0] == '"') {
|
||||
s++;
|
||||
quoted = true;
|
||||
}
|
||||
const TCHAR *se = _tcschr(s, quoted ? '"' : ',');
|
||||
if (se) {
|
||||
tmp[se - tmp] = 0;
|
||||
_tcscpy(p->mountconfig[0].ci.rootdir, s);
|
||||
cfgfile_adjust_path(p->mountconfig[0].ci.rootdir, MAX_DPATH, NULL);
|
||||
p->mountitems = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!p->cdslots[0].inuse && cfgfile_path(line1b, line2b, _T("cdimage0"), tmp, sizeof tmp / sizeof(TCHAR))) {
|
||||
TCHAR *s = tmp;
|
||||
if (s[0] == '"') {
|
||||
s++;
|
||||
const TCHAR *se = _tcschr(s, '"');
|
||||
if (se)
|
||||
tmp[se - tmp] = 0;
|
||||
} else {
|
||||
const TCHAR *se = _tcschr(s, ',');
|
||||
if (se)
|
||||
tmp[se - tmp] = 0;
|
||||
}
|
||||
cfgfile_adjust_path(s, MAX_DPATH, NULL);
|
||||
_tcscpy(p->cdslots[0].name, s);
|
||||
p->cdslots[0].inuse = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6182,25 +6232,82 @@ int cfgfile_save (struct uae_prefs *p, const TCHAR *filename, int type)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cfgfile_get_description (const TCHAR *filename, TCHAR *description, TCHAR *hostlink, TCHAR *hardwarelink, int *type)
|
||||
struct uae_prefs *cfgfile_open(const TCHAR *filename, int *type)
|
||||
{
|
||||
int result = 0;
|
||||
struct uae_prefs *p = xmalloc (struct uae_prefs, 1);
|
||||
struct uae_prefs *p = xcalloc(struct uae_prefs, 1);
|
||||
if (cfgfile_load_2(p, filename, false, type))
|
||||
return p;
|
||||
xfree(p);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void cfgfile_close(struct uae_prefs *p)
|
||||
{
|
||||
xfree(p);
|
||||
}
|
||||
|
||||
int cfgfile_get_description (struct uae_prefs *p, const TCHAR *filename, TCHAR *description, TCHAR *hostlink, TCHAR *hardwarelink, int *type)
|
||||
{
|
||||
bool alloc = false;
|
||||
|
||||
if (!p) {
|
||||
p = xmalloc(struct uae_prefs, 1);
|
||||
alloc = true;
|
||||
}
|
||||
p->description[0] = 0;
|
||||
p->config_host_path[0] = 0;
|
||||
p->config_hardware_path[0] = 0;
|
||||
if (cfgfile_load_2 (p, filename, 0, type)) {
|
||||
result = 1;
|
||||
if (description)
|
||||
_tcscpy (description, p->description);
|
||||
if (hostlink)
|
||||
_tcscpy (hostlink, p->config_host_path);
|
||||
if (hardwarelink)
|
||||
_tcscpy (hardwarelink, p->config_hardware_path);
|
||||
if (!p) {
|
||||
alloc = true;
|
||||
p = cfgfile_open(filename, type);
|
||||
}
|
||||
xfree (p);
|
||||
return result;
|
||||
if (!p)
|
||||
return 0;
|
||||
if (description)
|
||||
_tcscpy (description, p->description);
|
||||
if (hostlink)
|
||||
_tcscpy (hostlink, p->config_host_path);
|
||||
if (hardwarelink)
|
||||
_tcscpy (hardwarelink, p->config_hardware_path);
|
||||
if (alloc) {
|
||||
cfgfile_close(p);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool cfgfile_detect_art_path(const TCHAR *path, TCHAR *outpath)
|
||||
{
|
||||
TCHAR tmp[MAX_DPATH];
|
||||
const TCHAR *p;
|
||||
if (!path[0])
|
||||
return false;
|
||||
write_log(_T("Possible boxart path: '%s'\n"), path);
|
||||
_tcscpy(tmp, path);
|
||||
p = _tcsrchr(tmp, '\\');
|
||||
if (!p)
|
||||
p = _tcsrchr(tmp, '/');
|
||||
if (!p)
|
||||
return false;
|
||||
tmp[p - tmp] = 0;
|
||||
_tcscat(tmp, FSDB_DIR_SEPARATOR_S);
|
||||
_tcscat(tmp, _T("___Title.png"));
|
||||
if (!zfile_exists(tmp))
|
||||
return false;
|
||||
tmp[p - tmp + 1] = 0;
|
||||
_tcscpy(outpath, tmp);
|
||||
write_log(_T("Detected!\n"));
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cfgfile_detect_art(struct uae_prefs *p, TCHAR *path)
|
||||
{
|
||||
if (cfgfile_detect_art_path(p->floppyslots[0].df, path))
|
||||
return true;
|
||||
if (p->mountitems > 0 && cfgfile_detect_art_path(p->mountconfig[0].ci.rootdir, path))
|
||||
return true;
|
||||
if (p->cdslots[0].inuse && cfgfile_detect_art_path(p->cdslots[0].name, path))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int cfgfile_configuration_change (int v)
|
||||
|
||||
29
disk.cpp
29
disk.cpp
@ -2972,27 +2972,34 @@ void DISK_select (uae_u8 data)
|
||||
|
||||
if (disk_debug_logging > 2) {
|
||||
if (velvet) {
|
||||
write_log (_T(" %d%d "), (selected & 1) ? 0 : 1, (selected & 2) ? 0 : 1);
|
||||
write_log (_T(" %d%d"), (selected & 1) ? 0 : 1, (selected & 2) ? 0 : 1);
|
||||
if ((prev_data & 0x08) != (data & 0x08))
|
||||
write_log (_T(" dsksel0 %d "), (data & 0x08) ? 0 : 1);
|
||||
write_log (_T(" dsksel0>%d"), (data & 0x08) ? 0 : 1);
|
||||
if ((prev_data & 0x10) != (data & 0x10))
|
||||
write_log (_T(" dsksel1 %d "), (data & 0x10) ? 0 : 1);
|
||||
write_log (_T(" dsksel1>%d"), (data & 0x10) ? 0 : 1);
|
||||
if ((prev_data & 0x20) != (data & 0x20))
|
||||
write_log (_T(" dskmotor0 %d "), (data & 0x20) ? 0 : 1);
|
||||
write_log (_T(" dskmotor0>%d"), (data & 0x20) ? 0 : 1);
|
||||
if ((prev_data & 0x40) != (data & 0x40))
|
||||
write_log (_T(" dskmotor1 %d "), (data & 0x40) ? 0 : 1);
|
||||
write_log (_T(" dskmotor1>%d"), (data & 0x40) ? 0 : 1);
|
||||
if ((prev_data & 0x02) != (data & 0x02))
|
||||
write_log (_T(" direct %d "), (data & 0x02) ? 1 : 0);
|
||||
write_log (_T(" direct>%d"), (data & 0x02) ? 1 : 0);
|
||||
if ((prev_data & 0x04) != (data & 0x04))
|
||||
write_log (_T(" side %d "), (data & 0x04) ? 1 : 0);
|
||||
write_log (_T(" side>%d"), (data & 0x04) ? 1 : 0);
|
||||
} else {
|
||||
write_log (_T(" %d%d%d%d "), (selected & 1) ? 0 : 1, (selected & 2) ? 0 : 1, (selected & 4) ? 0 : 1, (selected & 8) ? 0 : 1);
|
||||
write_log (_T(" %d%d%d%d"), (selected & 1) ? 0 : 1, (selected & 2) ? 0 : 1, (selected & 4) ? 0 : 1, (selected & 8) ? 0 : 1);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int im = 1 << i;
|
||||
if ((selected & im) && !(prev_selected & im))
|
||||
write_log(_T(" sel%d>0"), i);
|
||||
if (!(selected & im) && (prev_selected & im))
|
||||
write_log(_T(" sel%d>1"), i);
|
||||
}
|
||||
if ((prev_data & 0x80) != (data & 0x80))
|
||||
write_log (_T(" dskmotor %d "), (data & 0x80) ? 1 : 0);
|
||||
write_log (_T(" dskmotor>%d"), (data & 0x80) ? 1 : 0);
|
||||
if ((prev_data & 0x02) != (data & 0x02))
|
||||
write_log (_T(" direct %d "), (data & 0x02) ? 1 : 0);
|
||||
write_log (_T(" direct>%d"), (data & 0x02) ? 1 : 0);
|
||||
if ((prev_data & 0x04) != (data & 0x04))
|
||||
write_log (_T(" side %d "), (data & 0x04) ? 1 : 0);
|
||||
write_log (_T(" side>%d"), (data & 0x04) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
#ifdef DEBUGGER
|
||||
|
||||
#define MAX_HIST 500
|
||||
#define MAX_LINEWIDTH 100
|
||||
#define MAX_LINEWIDTH 150
|
||||
|
||||
extern int debugging;
|
||||
extern int memwatch_enabled;
|
||||
|
||||
@ -612,6 +612,8 @@ struct uae_prefs {
|
||||
bool cs_cia6526;
|
||||
bool cs_bytecustomwritebug;
|
||||
bool cs_color_burst;
|
||||
bool cs_romisslow;
|
||||
bool cs_toshibagary;
|
||||
int cs_unmapped_space;
|
||||
int cs_hacks;
|
||||
|
||||
@ -871,12 +873,14 @@ extern void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type
|
||||
extern int target_get_display (const TCHAR*);
|
||||
extern const TCHAR *target_get_display_name (int, bool);
|
||||
|
||||
extern struct uae_prefs *cfgfile_open(const TCHAR *filename, int *type);
|
||||
extern void cfgfile_close(struct uae_prefs *p);
|
||||
extern int cfgfile_load (struct uae_prefs *p, const TCHAR *filename, int *type, int ignorelink, int userconfig);
|
||||
extern int cfgfile_save (struct uae_prefs *p, const TCHAR *filename, int);
|
||||
extern void cfgfile_parse_line (struct uae_prefs *p, TCHAR *, int);
|
||||
extern void cfgfile_parse_lines (struct uae_prefs *p, const TCHAR *, int);
|
||||
extern int cfgfile_parse_option (struct uae_prefs *p, const TCHAR *option, TCHAR *value, int);
|
||||
extern int cfgfile_get_description (const TCHAR *filename, TCHAR *description, TCHAR *hostlink, TCHAR *hardwarelink, int *type);
|
||||
extern int cfgfile_get_description (struct uae_prefs *p, const TCHAR *filename, TCHAR *description, TCHAR *hostlink, TCHAR *hardwarelink, int *type);
|
||||
extern void cfgfile_show_usage (void);
|
||||
extern int cfgfile_searchconfig(const TCHAR *in, int index, TCHAR *out, int outsize);
|
||||
extern uae_u32 cfgfile_uaelib(TrapContext *ctx, int mode, uae_u32 name, uae_u32 dst, uae_u32 maxlen);
|
||||
@ -893,6 +897,7 @@ extern void fixup_prefs (struct uae_prefs *prefs, bool userconfig);
|
||||
extern void fixup_cpu (struct uae_prefs *prefs);
|
||||
extern void cfgfile_compatibility_romtype(struct uae_prefs *p);
|
||||
extern void cfgfile_compatibility_rtg(struct uae_prefs *p);
|
||||
extern bool cfgfile_detect_art(struct uae_prefs *p, TCHAR *path);
|
||||
|
||||
extern void check_prefs_changed_custom (void);
|
||||
extern void check_prefs_changed_cpu (void);
|
||||
|
||||
@ -1129,7 +1129,9 @@
|
||||
#define IDC_CS_COMPOSITECOLOR 1756
|
||||
#define IDC_DBG_DASM 1757
|
||||
#define IDC_DBG_MEMDOWNFAST 1758
|
||||
#define IDC_CS_TOSHIBAGARY 1758
|
||||
#define IDC_DBG_MEMTOPC 1759
|
||||
#define IDC_CS_ROMISSLOW 1759
|
||||
#define IDC_DBG_MEMUPFAST 1760
|
||||
#define IDC_DA_RESET 1761
|
||||
#define IDC_DBG_STATUS 1762
|
||||
@ -1196,6 +1198,7 @@
|
||||
#define IDC_RTG_BUFFERCNT 1795
|
||||
#define IDC_PATHS_RECURSIVEROMS 1795
|
||||
#define IDC_RTG_VBINTERRUPT 1796
|
||||
#define IDC_PATHS_ARTCACHE 1796
|
||||
#define IDC_INPUTMAPLIST 1797
|
||||
#define IDC_RTG_HWSPRITE 1797
|
||||
#define IDC_PORT1_REMAP 1798
|
||||
|
||||
@ -382,7 +382,7 @@ BEGIN
|
||||
PUSHBUTTON "Add &Hardfile...",IDC_NEW_HF,135,153,126,15
|
||||
PUSHBUTTON "Add Ha&rd Drive...",IDC_NEW_HD,267,153,127,15
|
||||
PUSHBUTTON "Add SCSI/IDE CD Drive",IDC_NEW_CD,1,172,128,15
|
||||
PUSHBUTTON "Add SCSI Tape Drive",IDC_NEW_TAPE,135,172,126,15
|
||||
PUSHBUTTON "Add SCSI/IDE Tape Drive",IDC_NEW_TAPE,135,172,126,15
|
||||
PUSHBUTTON "&Properties",IDC_EDIT,267,172,60,15
|
||||
PUSHBUTTON "Remove",IDC_REMOVE,334,172,60,15
|
||||
GROUPBOX "Options",IDC_STATIC,1,189,393,66
|
||||
@ -764,7 +764,7 @@ BEGIN
|
||||
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_CHIPSET2 DIALOGEX 0, 0, 396, 317
|
||||
STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Sans Serif", 0, 0, 0x0
|
||||
BEGIN
|
||||
@ -775,51 +775,53 @@ BEGIN
|
||||
CONTROL "RF5C01A",IDC_CS_RTC3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,165,32,67,10
|
||||
CONTROL "A2000 MSM6242B",IDC_CS_RTC4,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,240,32,78,10
|
||||
EDITTEXT IDC_CS_RTCADJUST,325,30,64,13,ES_AUTOHSCROLL
|
||||
GROUPBOX "CIA-A TOD Clock Source",IDC_STATIC,1,52,394,29
|
||||
CONTROL "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,41,64,86,10
|
||||
CONTROL "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,133,64,109,10
|
||||
CONTROL "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,248,64,116,10
|
||||
GROUPBOX "Chipset Features",IDC_STATIC,0,84,395,137
|
||||
CONTROL "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,98,104,11
|
||||
CONTROL "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,111,104,11
|
||||
CONTROL "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,124,105,11
|
||||
CONTROL "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,137,104,11
|
||||
CONTROL "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,150,104,11
|
||||
CONTROL "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,163,104,11
|
||||
CONTROL "CIA TOD bug",IDC_CS_CIATODBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,176,104,11
|
||||
CONTROL "1M Chip / 0.5M+0.5M",IDC_CS_1MCHIPJUMPER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,189,104,11
|
||||
CONTROL "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,98,121,11
|
||||
CONTROL "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,111,121,11
|
||||
CONTROL "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,124,121,11
|
||||
CONTROL "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,137,121,11
|
||||
CONTROL "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,150,121,11
|
||||
CONTROL "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,163,121,11
|
||||
CONTROL "Z3 Autoconfig",IDC_CS_Z3AUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,176,104,11
|
||||
GROUPBOX "CIA-A TOD Clock Source",IDC_STATIC,1,52,394,27
|
||||
CONTROL "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,41,63,86,10
|
||||
CONTROL "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,133,63,109,10
|
||||
CONTROL "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,248,63,116,10
|
||||
GROUPBOX "Chipset Features",IDC_STATIC,0,82,395,148
|
||||
CONTROL "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,95,104,11
|
||||
CONTROL "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,108,104,11
|
||||
CONTROL "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,121,105,11
|
||||
CONTROL "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,134,104,11
|
||||
CONTROL "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,147,104,11
|
||||
CONTROL "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,160,104,11
|
||||
CONTROL "CIA TOD bug",IDC_CS_CIATODBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,173,104,11
|
||||
CONTROL "1M Chip / 0.5M+0.5M",IDC_CS_1MCHIPJUMPER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,186,104,11
|
||||
CONTROL "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,95,121,11
|
||||
CONTROL "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,108,121,11
|
||||
CONTROL "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,121,121,11
|
||||
CONTROL "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,134,121,11
|
||||
CONTROL "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,147,121,11
|
||||
CONTROL "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,160,121,11
|
||||
CONTROL "Z3 Autoconfig",IDC_CS_Z3AUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,173,104,11
|
||||
CONTROL "Custom register byte write bug",IDC_CS_BYTECUSTOMWRITEBUG,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,189,130,11
|
||||
CONTROL "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,98,125,11
|
||||
CONTROL "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,111,125,11
|
||||
CONTROL "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,124,125,11
|
||||
CONTROL "CDTV-CR",IDC_CS_CDTVCR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,137,123,11
|
||||
CONTROL "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,150,125,11
|
||||
CONTROL "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,163,125,11
|
||||
CONTROL "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,176,125,11
|
||||
CONTROL "Composite color burst",IDC_CS_COMPOSITECOLOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,189,125,12
|
||||
GROUPBOX "Internal SCSI Hardware",IDC_STATIC,0,224,395,33
|
||||
CONTROL "A3000 WD33C93 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,239,108,11
|
||||
CONTROL "A4000T NCR53C710 SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,239,125,11
|
||||
CONTROL "CDTV WD33C93 SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,263,239,121,11
|
||||
GROUPBOX "Chipset Revision",IDC_STATIC,1,259,393,46
|
||||
CONTROL "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,275,97,11
|
||||
CONTROL "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,289,97,11
|
||||
EDITTEXT IDC_CS_RAMSEYREV,136,274,45,13,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_CS_FATGARYREV,136,288,45,13,ES_AUTOHSCROLL
|
||||
CONTROL "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,275,107,11
|
||||
CONTROL "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,289,107,11
|
||||
EDITTEXT IDC_CS_AGNUSREV,311,274,45,13,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_CS_DENISEREV,311,289,45,13,ES_AUTOHSCROLL
|
||||
COMBOBOX IDC_CS_UNMAPPED,126,202,113,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
RTEXT "Unmapped address space:",IDC_STATIC,15,205,101,9
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,186,130,11
|
||||
CONTROL "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,95,125,11
|
||||
CONTROL "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,108,125,11
|
||||
CONTROL "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,121,125,11
|
||||
CONTROL "CDTV-CR",IDC_CS_CDTVCR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,134,123,11
|
||||
CONTROL "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,147,125,11
|
||||
CONTROL "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,160,125,11
|
||||
CONTROL "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,173,125,11
|
||||
CONTROL "Composite color burst",IDC_CS_COMPOSITECOLOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,186,125,12
|
||||
GROUPBOX "Internal SCSI Hardware",IDC_STATIC,0,232,395,30
|
||||
CONTROL "A3000 WD33C93 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,247,108,11
|
||||
CONTROL "A4000T NCR53C710 SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,247,125,11
|
||||
CONTROL "CDTV WD33C93 SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,263,247,121,11
|
||||
GROUPBOX "Chipset Revision",IDC_STATIC,1,264,393,52
|
||||
CONTROL "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,285,97,11
|
||||
CONTROL "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,299,97,11
|
||||
EDITTEXT IDC_CS_RAMSEYREV,136,284,45,13,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_CS_FATGARYREV,136,298,45,13,ES_AUTOHSCROLL
|
||||
CONTROL "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,285,107,11
|
||||
CONTROL "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,299,107,11
|
||||
EDITTEXT IDC_CS_AGNUSREV,311,284,45,13,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_CS_DENISEREV,311,298,45,13,ES_AUTOHSCROLL
|
||||
COMBOBOX IDC_CS_UNMAPPED,126,199,113,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
RTEXT "Unmapped address space:",IDC_STATIC,15,202,101,9
|
||||
CONTROL "Toshiba Gary",IDC_CS_TOSHIBAGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,200,125,12
|
||||
CONTROL "KS ROM has Chip RAM speed",IDC_CS_ROMISSLOW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,214,125,12
|
||||
END
|
||||
|
||||
IDD_AVIOUTPUT DIALOGEX 0, 0, 396, 260
|
||||
@ -1026,29 +1028,29 @@ IDD_PATHS DIALOGEX 0, 0, 396, 303
|
||||
STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Sans Serif", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "System ROMs:",IDC_PATHS_ROML,3,2,167,8,SS_CENTERIMAGE
|
||||
LTEXT "System ROMs:",IDC_PATHS_ROML,3,2,138,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_ROM,3,13,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_ROMS,384,13,11,15
|
||||
CONTROL "Scan subfolders",IDC_PATHS_RECURSIVEROMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,1,197,11
|
||||
LTEXT "Configuration files:",IDC_PATHS_CONFIGL,3,32,164,8,SS_CENTERIMAGE
|
||||
CONTROL "Scan subfolders",IDC_PATHS_RECURSIVEROMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,1,197,11
|
||||
LTEXT "Configuration files:",IDC_PATHS_CONFIGL,3,32,134,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_CONFIGS,384,43,11,15
|
||||
CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,31,197,11
|
||||
LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,3,62,260,8,SS_CENTERIMAGE
|
||||
CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,31,99,11
|
||||
LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,3,62,143,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_SCREENSHOT,3,73,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_SCREENSHOTS,384,72,11,15
|
||||
LTEXT "State files:",IDC_PATHS_STATEFILEL,3,91,260,8,SS_CENTERIMAGE
|
||||
LTEXT "State files:",IDC_PATHS_STATEFILEL,3,91,129,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_SAVESTATE,3,102,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_SAVESTATES,384,101,11,15
|
||||
LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,3,120,260,8,SS_CENTERIMAGE
|
||||
LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,3,120,130,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_AVIOUTPUT,3,131,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,384,130,11,15
|
||||
LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,149,158,8,SS_CENTERIMAGE
|
||||
LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,149,129,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_SAVEIMAGE,3,161,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_SAVEIMAGES,384,160,11,15
|
||||
CONTROL "Use original image's path",IDC_PATHS_SAVEIMAGEORIGINALPATH,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,148,197,11
|
||||
LTEXT "Rips:",IDC_PATHS_RIPSL,3,179,260,8,SS_CENTERIMAGE
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,148,197,11
|
||||
LTEXT "Rips:",IDC_PATHS_RIPSL,3,179,131,8,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_PATHS_RIP,3,190,377,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",IDC_PATHS_RIPS,383,189,11,15
|
||||
PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,2,212,92,14
|
||||
@ -1065,6 +1067,7 @@ BEGIN
|
||||
PUSHBUTTON "Save All [] Create zip file that includes both logs and config file.",IDC_LOGSAVE,337,264,51,14
|
||||
PUSHBUTTON "Open [] Open selected file.",IDC_LOGOPEN,337,280,51,14
|
||||
EDITTEXT IDC_LOGPATH,7,281,324,13,ES_READONLY
|
||||
CONTROL "Cache Boxart files",IDC_PATHS_ARTCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,267,30,125,11
|
||||
END
|
||||
|
||||
IDD_QUICKSTART DIALOGEX 0, 0, 396, 262
|
||||
|
||||
@ -1807,7 +1807,7 @@ void rp_update_leds (int led, int onoff, int brightness, int write)
|
||||
if (ledstate == oldled[led])
|
||||
return;
|
||||
oldled[led] = ledstate;
|
||||
RPSendMessage (RP_IPC_TO_HOST_POWERLED, ledstate, 0, NULL, 0, &guestinfo, NULL);
|
||||
RPPostMessagex(RP_IPC_TO_HOST_POWERLED, ledstate, 0, &guestinfo);
|
||||
break;
|
||||
case LED_DF0:
|
||||
case LED_DF1:
|
||||
@ -1818,7 +1818,7 @@ void rp_update_leds (int led, int onoff, int brightness, int write)
|
||||
if (ledstate == oldled[led])
|
||||
return;
|
||||
oldled[led] = ledstate;
|
||||
RPPostMessagex (RP_IPC_TO_HOST_DEVICEACTIVITY, MAKEWORD (RP_DEVICECATEGORY_FLOPPY, led - LED_DF0),
|
||||
RPPostMessagex(RP_IPC_TO_HOST_DEVICEACTIVITY, MAKEWORD (RP_DEVICECATEGORY_FLOPPY, led - LED_DF0),
|
||||
MAKELONG ((ledstate & 1) ? -1 : 0, (ledstate & 2) ? RP_DEVICEACTIVITY_WRITE : RP_DEVICEACTIVITY_READ) , &guestinfo);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -212,7 +212,7 @@ TCHAR bootlogpath[MAX_DPATH];
|
||||
TCHAR logpath[MAX_DPATH];
|
||||
bool winuaelog_temporary_enable;
|
||||
int af_path_2005;
|
||||
int quickstart = 1, configurationcache = 1, relativepaths = 0;
|
||||
int quickstart = 1, configurationcache = 1, relativepaths = 0, artcache = 0;
|
||||
int saveimageoriginalpath = 0;
|
||||
int recursiveromscan = 0;
|
||||
|
||||
@ -5037,6 +5037,11 @@ static void WIN32_HandleRegistryStuff (void)
|
||||
else
|
||||
regsetint (NULL, _T("ConfigurationCache"), configurationcache);
|
||||
|
||||
if (regexists(NULL, _T("ArtCache")))
|
||||
regqueryint(NULL, _T("ArtCache"), &artcache);
|
||||
else
|
||||
regsetint(NULL, _T("ArtCache"), artcache);
|
||||
|
||||
if (regexists (NULL, _T("SaveImageOriginalPath")))
|
||||
regqueryint (NULL, _T("SaveImageOriginalPath"), &saveimageoriginalpath);
|
||||
else
|
||||
|
||||
@ -20,12 +20,12 @@
|
||||
#define LANG_DLL_FULL_VERSION_MATCH 1
|
||||
|
||||
#if WINUAEPUBLICBETA
|
||||
#define WINUAEBETA _T("8")
|
||||
#define WINUAEBETA _T("9")
|
||||
#else
|
||||
#define WINUAEBETA _T("")
|
||||
#endif
|
||||
|
||||
#define WINUAEDATE MAKEBD(2017, 11, 19)
|
||||
#define WINUAEDATE MAKEBD(2017, 12, 2)
|
||||
|
||||
//#define WINUAEEXTRA _T("AmiKit Preview")
|
||||
//#define WINUAEEXTRA _T("Amiga Forever Edition")
|
||||
@ -96,7 +96,7 @@ extern BOOL os_dwm_enabled;
|
||||
extern OSVERSIONINFO osVersion;
|
||||
extern int paraport_mask;
|
||||
extern int gui_active;
|
||||
extern int quickstart, configurationcache, saveimageoriginalpath, relativepaths, recursiveromscan;
|
||||
extern int quickstart, configurationcache, saveimageoriginalpath, relativepaths, artcache, recursiveromscan;
|
||||
|
||||
extern HKEY hWinUAEKey;
|
||||
extern int screen_is_picasso;
|
||||
|
||||
@ -2088,6 +2088,7 @@ struct ConfigStruct {
|
||||
TCHAR HostLink[MAX_DPATH];
|
||||
TCHAR HardwareLink[MAX_DPATH];
|
||||
TCHAR Description[CFG_DESCRIPTION_LENGTH];
|
||||
TCHAR Artpath[MAX_DPATH];
|
||||
int Type, Directory;
|
||||
struct ConfigStruct *Parent, *Child;
|
||||
int host, hardware;
|
||||
@ -2138,7 +2139,7 @@ int target_cfgfile_load (struct uae_prefs *p, const TCHAR *filename, int type, i
|
||||
qs_override = 1;
|
||||
if (type < 0) {
|
||||
type = 0;
|
||||
cfgfile_get_description (fname, NULL, NULL, NULL, &type);
|
||||
cfgfile_get_description(NULL, fname, NULL, NULL, NULL, &type);
|
||||
}
|
||||
if (type == 0 || type == 1) {
|
||||
discard_prefs (p, 0);
|
||||
@ -2162,6 +2163,11 @@ int target_cfgfile_load (struct uae_prefs *p, const TCHAR *filename, int type, i
|
||||
return v;
|
||||
if (type > 0)
|
||||
return v;
|
||||
if (cfgfile_detect_art(p, tmp1)) {
|
||||
show_box_art(tmp1);
|
||||
} else {
|
||||
show_box_art(NULL);
|
||||
}
|
||||
for (i = 1; i <= 2; i++) {
|
||||
if (type != i) {
|
||||
size = sizeof (ct);
|
||||
@ -3341,6 +3347,16 @@ static void getconfigcache (TCHAR *dst, const TCHAR *path)
|
||||
_tcsncat (dst, _T("configuration.cache"), MAX_DPATH);
|
||||
}
|
||||
|
||||
static void deleteconfigcache(void)
|
||||
{
|
||||
TCHAR path[MAX_DPATH], path2[MAX_DPATH];
|
||||
GetConfigPath(path, NULL, FALSE);
|
||||
if (!path[0])
|
||||
return;
|
||||
getconfigcache(path2, path);
|
||||
_wunlink(path2);
|
||||
}
|
||||
|
||||
static TCHAR *fgetsx (TCHAR *dst, FILE *f)
|
||||
{
|
||||
TCHAR *s2;
|
||||
@ -3549,6 +3565,10 @@ static struct ConfigStruct *readconfigcache (const TCHAR *path)
|
||||
fgetsx (buf, zcache);
|
||||
lines--;
|
||||
cs->Type = _tstol (buf);
|
||||
if (lines > 0) {
|
||||
fgetsx(cs->Artpath, zcache);
|
||||
lines--;
|
||||
}
|
||||
}
|
||||
|
||||
setconfighosthard (cs);
|
||||
@ -3616,6 +3636,8 @@ static void writeconfigcacheentry (FILE *zcache, const TCHAR *relpath, struct Co
|
||||
_stprintf (path2, _T("%d"), cs->Type);
|
||||
fwrite (path2, _tcslen (path2), sizeof (TCHAR), zcache);
|
||||
fwrite (&lf, 1, sizeof (TCHAR), zcache);
|
||||
fwrite(cs->Artpath, _tcslen(cs->Artpath), sizeof(TCHAR), zcache);
|
||||
fwrite(&lf, 1, sizeof(TCHAR), zcache);
|
||||
}
|
||||
|
||||
fwrite (el, _tcslen (el), sizeof (TCHAR), zcache);
|
||||
@ -3623,12 +3645,10 @@ static void writeconfigcacheentry (FILE *zcache, const TCHAR *relpath, struct Co
|
||||
|
||||
static void writeconfigcacherec (FILE *zcache, const TCHAR *relpath, struct ConfigStruct *cs)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!cs->Directory)
|
||||
return;
|
||||
writeconfigcacheentry (zcache, relpath, cs);
|
||||
for (i = 0; i < configstoresize; i++) {
|
||||
for (int i = 0; i < configstoresize; i++) {
|
||||
struct ConfigStruct *cs2 = configstore[i];
|
||||
if (cs2->Parent == cs)
|
||||
writeconfigcacherec (zcache, relpath, cs2);
|
||||
@ -3637,7 +3657,6 @@ static void writeconfigcacherec (FILE *zcache, const TCHAR *relpath, struct Conf
|
||||
|
||||
static void writeconfigcache (const TCHAR *path)
|
||||
{
|
||||
int i;
|
||||
TCHAR lf = 10;
|
||||
FILE *zcache;
|
||||
TCHAR cachepath[MAX_DPATH];
|
||||
@ -3661,15 +3680,15 @@ static void writeconfigcache (const TCHAR *path)
|
||||
fwrite (&lf, 1, sizeof (TCHAR), zcache);
|
||||
ul.HighPart = t.dwHighDateTime;
|
||||
ul.LowPart = t.dwLowDateTime;
|
||||
_stprintf (path2, _T("3\n4\n7\n%I64u\n;\n"), ul.QuadPart);
|
||||
_stprintf (path2, _T("3\n4\n8\n%I64u\n;\n"), ul.QuadPart);
|
||||
fwrite (path2, _tcslen (path2), sizeof (TCHAR), zcache);
|
||||
GetFullPathName (path, sizeof path2 / sizeof (TCHAR), path2, NULL);
|
||||
for (i = 0; i < configstoresize; i++) {
|
||||
for (int i = 0; i < configstoresize; i++) {
|
||||
struct ConfigStruct *cs = configstore[i];
|
||||
if (cs->Directory && cs->Parent == NULL)
|
||||
writeconfigcacherec (zcache, path2, cs);
|
||||
}
|
||||
for (i = 0; i < configstoresize; i++) {
|
||||
for (int i = 0; i < configstoresize; i++) {
|
||||
struct ConfigStruct *cs = configstore[i];
|
||||
if (!cs->Directory)
|
||||
writeconfigcacheentry (zcache, path2, cs);
|
||||
@ -3755,8 +3774,15 @@ static struct ConfigStruct *GetConfigs (struct ConfigStruct *configparent, int u
|
||||
if (_tcslen (find_data.cFileName) > 4 && !strcasecmp (find_data.cFileName + _tcslen (find_data.cFileName) - 4, _T(".uae"))) {
|
||||
_tcscpy (path3, path);
|
||||
_tcsncat (path3, find_data.cFileName, MAX_DPATH);
|
||||
if (cfgfile_get_description (path3, config->Description, config->HostLink, config->HardwareLink, &config->Type)) {
|
||||
_tcscpy (config->Name, find_data.cFileName);
|
||||
config->Artpath[0] = 0;
|
||||
struct uae_prefs *p = cfgfile_open(path3, &config->Type);
|
||||
if (p) {
|
||||
cfgfile_get_description(p, NULL, config->Description, config->HostLink, config->HardwareLink, NULL);
|
||||
_tcscpy(config->Name, find_data.cFileName);
|
||||
if (artcache) {
|
||||
cfgfile_detect_art(p, config->Artpath);
|
||||
}
|
||||
cfgfile_close(p);
|
||||
ok = 1;
|
||||
}
|
||||
}
|
||||
@ -5191,6 +5217,7 @@ static void InitializeConfig (HWND hDlg, struct ConfigStruct *config)
|
||||
}
|
||||
}
|
||||
SendDlgItemMessage (hDlg, IDC_CONFIGLINK, CB_SETCURSEL, idx2, 0);
|
||||
show_box_art(config && config->Artpath[0] ? config->Artpath : NULL);
|
||||
}
|
||||
|
||||
static void DeleteConfigTree (HWND hDlg)
|
||||
@ -5753,29 +5780,30 @@ static void rewritepaths(void)
|
||||
|
||||
static void resetregistry (void)
|
||||
{
|
||||
regdeletetree (NULL, _T("DetectedROMs"));
|
||||
regdelete (NULL, _T("QuickStartMode"));
|
||||
regdelete (NULL, _T("ConfigFile"));
|
||||
regdelete (NULL, _T("ConfigFileHardware"));
|
||||
regdelete (NULL, _T("ConfigFileHost"));
|
||||
regdelete (NULL, _T("ConfigFileHardware_Auto"));
|
||||
regdelete (NULL, _T("ConfigFileHost_Auto"));
|
||||
regdelete (NULL, _T("ConfigurationPath"));
|
||||
regdelete (NULL, _T("SaveimagePath"));
|
||||
regdelete (NULL, _T("ScreenshotPath"));
|
||||
regdelete (NULL, _T("StatefilePath"));
|
||||
regdelete (NULL, _T("VideoPath"));
|
||||
regdelete (NULL, _T("RipperPath"));
|
||||
regdelete (NULL, _T("QuickStartModel"));
|
||||
regdelete (NULL, _T("QuickStartConfiguration"));
|
||||
regdelete (NULL, _T("QuickStartCompatibility"));
|
||||
regdelete (NULL, _T("QuickStartHostConfig"));
|
||||
regdelete (NULL, _T("RecursiveROMScan"));
|
||||
regdelete (NULL, _T("ConfigurationCache"));
|
||||
regdelete (NULL, _T("SaveImageOriginalPath"));
|
||||
regdelete (NULL, _T("RelativePaths"));
|
||||
regdelete (NULL, _T("DirectDraw_Secondary"));
|
||||
regdelete (NULL, _T("ShownsupportedModes"));
|
||||
regdeletetree(NULL, _T("DetectedROMs"));
|
||||
regdelete(NULL, _T("QuickStartMode"));
|
||||
regdelete(NULL, _T("ConfigFile"));
|
||||
regdelete(NULL, _T("ConfigFileHardware"));
|
||||
regdelete(NULL, _T("ConfigFileHost"));
|
||||
regdelete(NULL, _T("ConfigFileHardware_Auto"));
|
||||
regdelete(NULL, _T("ConfigFileHost_Auto"));
|
||||
regdelete(NULL, _T("ConfigurationPath"));
|
||||
regdelete(NULL, _T("SaveimagePath"));
|
||||
regdelete(NULL, _T("ScreenshotPath"));
|
||||
regdelete(NULL, _T("StatefilePath"));
|
||||
regdelete(NULL, _T("VideoPath"));
|
||||
regdelete(NULL, _T("RipperPath"));
|
||||
regdelete(NULL, _T("QuickStartModel"));
|
||||
regdelete(NULL, _T("QuickStartConfiguration"));
|
||||
regdelete(NULL, _T("QuickStartCompatibility"));
|
||||
regdelete(NULL, _T("QuickStartHostConfig"));
|
||||
regdelete(NULL, _T("RecursiveROMScan"));
|
||||
regdelete(NULL, _T("ConfigurationCache"));
|
||||
regdelete(NULL, _T("ArtCache"));
|
||||
regdelete(NULL, _T("SaveImageOriginalPath"));
|
||||
regdelete(NULL, _T("RelativePaths"));
|
||||
regdelete(NULL, _T("DirectDraw_Secondary"));
|
||||
regdelete(NULL, _T("ShownsupportedModes"));
|
||||
}
|
||||
|
||||
#include "zip.h"
|
||||
@ -5962,6 +5990,7 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
|
||||
setac (hDlg, IDC_PATHS_RIP);
|
||||
CheckDlgButton(hDlg, IDC_PATHS_RECURSIVEROMS, recursiveromscan);
|
||||
CheckDlgButton(hDlg, IDC_PATHS_CONFIGCACHE, configurationcache);
|
||||
CheckDlgButton(hDlg, IDC_PATHS_ARTCACHE, artcache);
|
||||
CheckDlgButton(hDlg, IDC_PATHS_SAVEIMAGEORIGINALPATH, saveimageoriginalpath);
|
||||
CheckDlgButton(hDlg, IDC_PATHS_RELATIVE, relativepaths);
|
||||
CheckDlgButton(hDlg, IDC_REGISTRYMODE, getregmode() != NULL);
|
||||
@ -6196,8 +6225,14 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
|
||||
regsetint (NULL, _T("RecursiveROMScan"), recursiveromscan);
|
||||
break;
|
||||
case IDC_PATHS_CONFIGCACHE:
|
||||
configurationcache = ischecked (hDlg, IDC_PATHS_CONFIGCACHE) ? 1 : 0;
|
||||
regsetint (NULL, _T("ConfigurationCache"), configurationcache);
|
||||
configurationcache = ischecked(hDlg, IDC_PATHS_CONFIGCACHE) ? 1 : 0;
|
||||
regsetint(NULL, _T("ConfigurationCache"), configurationcache);
|
||||
deleteconfigcache();
|
||||
break;
|
||||
case IDC_PATHS_ARTCACHE:
|
||||
artcache = ischecked(hDlg, IDC_PATHS_ARTCACHE) ? 1 : 0;
|
||||
regsetint(NULL, _T("ArtCache"), artcache);
|
||||
deleteconfigcache();
|
||||
break;
|
||||
case IDC_PATHS_SAVEIMAGEORIGINALPATH:
|
||||
saveimageoriginalpath = ischecked (hDlg, IDC_PATHS_SAVEIMAGEORIGINALPATH) ? 1 : 0;
|
||||
@ -8103,6 +8138,8 @@ static void values_to_chipsetdlg2 (HWND hDlg)
|
||||
CheckDlgButton(hDlg, IDC_CS_1MCHIPJUMPER, workprefs.cs_1mchipjumper || workprefs.chipmem_size >= 0x100000);
|
||||
CheckDlgButton(hDlg, IDC_CS_BYTECUSTOMWRITEBUG, workprefs.cs_bytecustomwritebug);
|
||||
CheckDlgButton(hDlg, IDC_CS_COMPOSITECOLOR, workprefs.cs_color_burst);
|
||||
CheckDlgButton(hDlg, IDC_CS_TOSHIBAGARY, workprefs.cs_toshibagary);
|
||||
CheckDlgButton(hDlg, IDC_CS_ROMISSLOW, workprefs.cs_romisslow);
|
||||
SendDlgItemMessage(hDlg, IDC_CS_UNMAPPED, CB_SETCURSEL, workprefs.cs_unmapped_space, 0);
|
||||
txt[0] = 0;
|
||||
_stprintf (txt, _T("%d"), workprefs.cs_rtc_adjust);
|
||||
@ -8194,6 +8231,8 @@ static void values_from_chipsetdlg2 (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
|
||||
workprefs.cs_1mchipjumper = ischecked(hDlg, IDC_CS_1MCHIPJUMPER);
|
||||
workprefs.cs_bytecustomwritebug = ischecked(hDlg, IDC_CS_BYTECUSTOMWRITEBUG);
|
||||
workprefs.cs_color_burst = ischecked(hDlg, IDC_CS_COMPOSITECOLOR);
|
||||
workprefs.cs_toshibagary = ischecked(hDlg, IDC_CS_TOSHIBAGARY);
|
||||
workprefs.cs_romisslow = ischecked(hDlg, IDC_CS_ROMISSLOW);
|
||||
LRESULT val = SendDlgItemMessage(hDlg, IDC_CS_UNMAPPED, CB_GETCURSEL, 0, 0L);
|
||||
if (val != CB_ERR)
|
||||
workprefs.cs_unmapped_space = val;
|
||||
@ -8283,6 +8322,8 @@ static void enable_for_chipsetdlg2 (HWND hDlg)
|
||||
ew(hDlg, IDC_CS_1MCHIPJUMPER, e && workprefs.chipmem_size < 0x100000);
|
||||
ew(hDlg, IDC_CS_BYTECUSTOMWRITEBUG, e);
|
||||
ew(hDlg, IDC_CS_COMPOSITECOLOR, e);
|
||||
ew(hDlg, IDC_CS_TOSHIBAGARY, e);
|
||||
ew(hDlg, IDC_CS_ROMISSLOW, e);
|
||||
ew(hDlg, IDC_CS_UNMAPPED, e);
|
||||
}
|
||||
|
||||
@ -13082,13 +13123,11 @@ static INT_PTR CALLBACK TapeDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara
|
||||
|
||||
case WM_INITDIALOG:
|
||||
recursive++;
|
||||
if (current_tapedlg.ci.controller_type < HD_CONTROLLER_TYPE_SCSI_AUTO)
|
||||
current_tapedlg.ci.controller_type = HD_CONTROLLER_TYPE_SCSI_AUTO;
|
||||
inithdcontroller(hDlg, current_tapedlg.ci.controller_type, current_tapedlg.ci.controller_type_unit, UAEDEV_TAPE, current_tapedlg.ci.rootdir[0] != 0);
|
||||
SendDlgItemMessage(hDlg, IDC_HDF_CONTROLLER_UNIT, CB_SETCURSEL, current_tapedlg.ci.controller_type != HD_CONTROLLER_TYPE_PCMCIA ? current_tapedlg.ci.controller_unit : current_tapedlg.ci.controller_type_unit, 0);
|
||||
setautocomplete (hDlg, IDC_PATH_NAME);
|
||||
addhistorymenu(hDlg, current_tapedlg.ci.rootdir, IDC_PATH_NAME, HISTORY_TAPE, false);
|
||||
readonly = my_existsfile (current_tapedlg.ci.rootdir);
|
||||
readonly = !tape_can_write(current_tapedlg.ci.rootdir);
|
||||
CheckDlgButton (hDlg, IDC_TAPE_RW, current_tapedlg.ci.readonly == 0 && !readonly);
|
||||
ew (hDlg, IDC_TAPE_RW, !readonly);
|
||||
recursive--;
|
||||
@ -13103,7 +13142,7 @@ static INT_PTR CALLBACK TapeDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara
|
||||
if (getcomboboxtext(hDlg, IDC_PATH_NAME, tmp, sizeof tmp / sizeof(TCHAR))) {
|
||||
if (_tcscmp (tmp, current_tapedlg.ci.rootdir)) {
|
||||
_tcscpy (current_tapedlg.ci.rootdir, tmp);
|
||||
readonly = my_existsfile (current_tapedlg.ci.rootdir);
|
||||
readonly = !tape_can_write(current_tapedlg.ci.rootdir);
|
||||
ew (hDlg, IDC_TAPE_RW, !readonly);
|
||||
if (readonly)
|
||||
CheckDlgButton (hDlg, IDC_TAPE_RW, FALSE);
|
||||
@ -13146,7 +13185,7 @@ static INT_PTR CALLBACK TapeDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara
|
||||
GetDlgItemText (hDlg, IDC_PATH_NAME, current_tapedlg.ci.rootdir, sizeof current_tapedlg.ci.rootdir / sizeof (TCHAR));
|
||||
DISK_history_add(current_tapedlg.ci.rootdir, -1, HISTORY_TAPE, 1);
|
||||
fullpath (current_tapedlg.ci.rootdir, sizeof current_tapedlg.ci.rootdir / sizeof (TCHAR));
|
||||
readonly = my_existsfile (current_tapedlg.ci.rootdir);
|
||||
readonly = !tape_can_write(current_tapedlg.ci.rootdir);
|
||||
ew (hDlg, IDC_TAPE_RW, !readonly);
|
||||
if (readonly)
|
||||
CheckDlgButton (hDlg, IDC_TAPE_RW, FALSE);
|
||||
@ -13166,7 +13205,7 @@ static INT_PTR CALLBACK TapeDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara
|
||||
}
|
||||
_tcscpy (current_tapedlg.ci.rootdir, directory_path);
|
||||
DISK_history_add(current_tapedlg.ci.rootdir, -1, HISTORY_TAPE, 1);
|
||||
readonly = my_existsfile (current_tapedlg.ci.rootdir);
|
||||
readonly = !tape_can_write(current_tapedlg.ci.rootdir);
|
||||
ew (hDlg, IDC_TAPE_RW, !readonly);
|
||||
if (readonly)
|
||||
CheckDlgButton (hDlg, IDC_TAPE_RW, FALSE);
|
||||
@ -19336,8 +19375,8 @@ static void getguisize (HWND hDlg, int *width, int *height)
|
||||
RECT r;
|
||||
|
||||
GetWindowRect (hDlg, &r);
|
||||
*width = r.right - r.left;
|
||||
*height = r.bottom - r.top;
|
||||
*width = (r.right - r.left);
|
||||
*height = (r.bottom - r.top);
|
||||
}
|
||||
|
||||
static HWND updatePanel (int id, UINT action)
|
||||
@ -19414,7 +19453,7 @@ static HWND updatePanel (int id, UINT action)
|
||||
gui_height = r2c.bottom;
|
||||
|
||||
fullpanel = ppage[id].fullpanel;
|
||||
tres = scaleresource (ppage[id].nres, hDlg, -1, 0, 0);
|
||||
tres = scaleresource (ppage[id].nres, hDlg, -1, 0, 0, false);
|
||||
panelDlg = CreateDialogIndirectParam (tres->inst, tres->resource, hDlg, ppage[id].dlgproc, id);
|
||||
freescaleresource(tres);
|
||||
|
||||
@ -19992,8 +20031,8 @@ static INT_PTR CALLBACK DialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
|
||||
RECT *r = (RECT*)lParam;
|
||||
previous_dpix = dx;
|
||||
previous_dpiy = dy;
|
||||
gui_width = r->right - r->left;
|
||||
gui_height = r->bottom - r->top;
|
||||
gui_width = (r->right - r->left);
|
||||
gui_height = (r->bottom - r->top);
|
||||
gui_size_changed = 1;
|
||||
}
|
||||
}
|
||||
@ -20232,7 +20271,7 @@ INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc)
|
||||
res = getresource (templ);
|
||||
if (!res)
|
||||
return h;
|
||||
r = scaleresource (res, hDlg, -1, 0, 0);
|
||||
r = scaleresource (res, hDlg, -1, 0, 0, false);
|
||||
if (r) {
|
||||
h = DialogBoxIndirect (r->inst, r->resource, hDlg, proc);
|
||||
freescaleresource (r);
|
||||
@ -20251,7 +20290,7 @@ HWND CustomCreateDialog (int templ, HWND hDlg, DLGPROC proc)
|
||||
res = getresource (templ);
|
||||
if (!res)
|
||||
return h;
|
||||
r = scaleresource (res, hDlg, -1, 0, 0);
|
||||
r = scaleresource (res, hDlg, -1, 0, 0, false);
|
||||
if (r) {
|
||||
h = CreateDialogIndirect (r->inst, r->resource, hDlg, proc);
|
||||
freescaleresource (r);
|
||||
@ -20538,7 +20577,7 @@ static int GetSettings (int all_options, HWND hwnd)
|
||||
}
|
||||
}
|
||||
|
||||
tres = scaleresource (panelresource, hwnd, gui_resize_enabled, gui_fullscreen, workprefs.win32_gui_alwaysontop || workprefs.win32_main_alwaysontop ? WS_EX_TOPMOST : 0);
|
||||
tres = scaleresource (panelresource, hwnd, gui_resize_enabled, gui_fullscreen, workprefs.win32_gui_alwaysontop || workprefs.win32_main_alwaysontop ? WS_EX_TOPMOST : 0, true);
|
||||
dhwnd = CreateDialogIndirect (tres->inst, tres->resource, isfullscreen () != 0 ? hwnd : NULL, DialogProc);
|
||||
dialog_rect.top = dialog_rect.left = 0;
|
||||
dialog_rect.right = tres->width;
|
||||
|
||||
@ -33,7 +33,7 @@ struct newresource
|
||||
|
||||
extern struct uae_prefs workprefs;
|
||||
|
||||
extern struct newresource *scaleresource (struct newresource *res, HWND, int, int, DWORD);
|
||||
extern struct newresource *scaleresource (struct newresource *res, HWND, int, int, DWORD, bool);
|
||||
extern void freescaleresource (struct newresource*);
|
||||
extern void scaleresource_setmult (HWND hDlg, int w, int h, int fs);
|
||||
extern void scaleresource_getmult (int *mx, int *my);
|
||||
@ -48,4 +48,5 @@ extern void scaleresource_setfont (HWND hDlg);
|
||||
extern void scaleresource_getdpimult (double*, double*, int*, int*);
|
||||
extern void scalaresource_listview_font_info(int*);
|
||||
extern int getscaledfontsize(int size);
|
||||
extern bool show_box_art(const TCHAR*);
|
||||
#endif
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
#include "win32.h"
|
||||
#include "win32gui.h"
|
||||
#include "xwin.h"
|
||||
#include "zfile.h"
|
||||
|
||||
#define MAX_GUI_FONTS 2
|
||||
#define DEFAULT_FONTSIZE 8
|
||||
@ -36,6 +37,13 @@ static HFONT listviewfont;
|
||||
static TEXTMETRIC listview_tm;
|
||||
static const TCHAR *fontprefix;
|
||||
|
||||
#define BASEMULT 1000
|
||||
static int baseunitx, baseunity;
|
||||
static RECT baserect, baseclientrect;
|
||||
static int baseborderwidth, baseborderheight;
|
||||
static int basewidth, baseheight;
|
||||
static int baseclientwidth, baseclientheight;
|
||||
|
||||
#include <pshpack2.h>
|
||||
typedef struct {
|
||||
WORD dlgVer;
|
||||
@ -216,8 +224,10 @@ static INT_PTR CALLBACK DummyProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lP
|
||||
|
||||
extern int full_property_sheet;
|
||||
|
||||
static struct newresource *scaleresource2 (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle)
|
||||
static struct newresource *scaleresource2 (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle, bool main)
|
||||
{
|
||||
static int main_width, main_height;
|
||||
|
||||
DLGTEMPLATEEX *d, *s;
|
||||
DLGTEMPLATEEX_END *d2, *s2;
|
||||
DLGITEMTEMPLATEEX *dt;
|
||||
@ -314,9 +324,9 @@ static struct newresource *scaleresource2 (struct newresource *res, HWND parent,
|
||||
return ns;
|
||||
}
|
||||
|
||||
struct newresource *scaleresource (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle)
|
||||
struct newresource *scaleresource (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle, bool main)
|
||||
{
|
||||
return scaleresource2(res, parent, resize, fullscreen, exstyle);
|
||||
return scaleresource2(res, parent, resize, fullscreen, exstyle, main);
|
||||
}
|
||||
|
||||
void freescaleresource (struct newresource *ns)
|
||||
@ -462,13 +472,6 @@ void scaleresource_setdefaults (void)
|
||||
openfont (true);
|
||||
}
|
||||
|
||||
#define BASEMULT 1000
|
||||
static int baseunitx, baseunity;
|
||||
static RECT baserect, baseclientrect;
|
||||
static int baseborderwidth, baseborderheight;
|
||||
static int basewidth, baseheight;
|
||||
static int baseclientwidth, baseclientheight;
|
||||
|
||||
static INT_PTR CALLBACK TestProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (msg == WM_INITDIALOG) {
|
||||
@ -498,7 +501,7 @@ static void getbaseunits (int fullscreen)
|
||||
write_log (_T("getbaseunits fail!\n"));
|
||||
abort();
|
||||
}
|
||||
nr2 = scaleresource2(nr, NULL, -1, 0, 0);
|
||||
nr2 = scaleresource2(nr, NULL, -1, 0, 0, false);
|
||||
hwnd = CreateDialogIndirect (nr2->inst, nr2->resource, NULL, TestProc);
|
||||
if (hwnd) {
|
||||
DestroyWindow (hwnd);
|
||||
@ -685,7 +688,57 @@ int scaleresource_choosefont (HWND hDlg, int fonttype)
|
||||
|
||||
openfont (true);
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#include <gdiplus.h>
|
||||
|
||||
static bool boxart_inited;
|
||||
static ULONG_PTR gdiplusToken;
|
||||
|
||||
static void boxart_init(void)
|
||||
{
|
||||
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
|
||||
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
|
||||
}
|
||||
|
||||
static const TCHAR *boxartnames[] = {
|
||||
_T("Boxart"),
|
||||
_T("SShot"),
|
||||
_T("Title"),
|
||||
NULL
|
||||
};
|
||||
|
||||
bool show_box_art(const TCHAR *path)
|
||||
{
|
||||
TCHAR tmp1[MAX_DPATH];
|
||||
|
||||
if (!path || !artcache)
|
||||
return false;
|
||||
if (!boxart_inited) {
|
||||
boxart_init();
|
||||
boxart_inited = true;
|
||||
}
|
||||
|
||||
write_log(_T("Box art path '%s'\n"), path);
|
||||
for (int i = 0; boxartnames[i]; i++) {
|
||||
_tcscpy(tmp1, path);
|
||||
_tcscat(tmp1, _T("___"));
|
||||
_tcscat(tmp1, boxartnames[i]);
|
||||
_tcscat(tmp1, _T(".png"));
|
||||
|
||||
Gdiplus::Image *image = Gdiplus::Image::FromFile(tmp1);
|
||||
// above returns out of memory if file does not exist!
|
||||
if (image->GetLastStatus() != Gdiplus::Ok) {
|
||||
_tcscpy(tmp1 + _tcslen(tmp1) - 3, _T("jpg"));
|
||||
image = Gdiplus::Image::FromFile(tmp1);
|
||||
}
|
||||
if (image->GetLastStatus() == Gdiplus::Ok) {
|
||||
int w = image->GetWidth();
|
||||
int h = image->GetHeight();
|
||||
write_log(_T("Image '%s' loaded %d*%d\n"), tmp1, w, h);
|
||||
}
|
||||
delete image;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -357,18 +357,20 @@
|
||||
<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;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;gdiplus.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<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>
|
||||
<DelayLoadDLLs>d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;gdiplus.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Release/winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>2621440</StackReserveSize>
|
||||
<StackCommitSize>2621440</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
@ -436,7 +438,7 @@
|
||||
<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;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;gdiplus.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
|
||||
@ -446,8 +448,10 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Test/winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>2621440</StackReserveSize>
|
||||
<StackCommitSize>2621440</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
@ -514,7 +518,7 @@
|
||||
<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;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;gdiplus.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>NotSet</ShowProgress>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
@ -524,8 +528,10 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>0</StackReserveSize>
|
||||
<StackCommitSize>0</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
@ -598,8 +604,10 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>0</StackReserveSize>
|
||||
<StackCommitSize>0</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
@ -662,18 +670,20 @@
|
||||
<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;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;gdiplus.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<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>
|
||||
<DelayLoadDLLs>d3dx9_43.dll;openal32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;ddraw.dll;Iphlpapi.dll;gdiplus.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\FullRelease/winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>2621440</StackReserveSize>
|
||||
<StackCommitSize>2621440</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
@ -740,18 +750,20 @@
|
||||
<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;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;gdiplus.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>NotSet</ShowProgress>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);MSVCRT</IgnoreSpecificDefaultLibraries>
|
||||
<DelayLoadDLLs>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;gdiplus.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\x64\FullRelease/winuae.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>0</StackReserveSize>
|
||||
<StackCommitSize>0</StackCommitSize>
|
||||
<StackReserveSize>
|
||||
</StackReserveSize>
|
||||
<StackCommitSize>
|
||||
</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
@ -761,6 +773,7 @@
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<BaseAddress>0x10000000</BaseAddress>
|
||||
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
|
||||
@ -4,6 +4,27 @@ JIT Direct current rules are less complex now. It automatically switches off onl
|
||||
- RTG VRAM is outside of reserved natmem space. Workaround: Move RTG in earlier position using Hardware info GUI panel.
|
||||
Note that in 64-bit version RTG VRAM must be inside of reserved natmem space. (Outside = error message and return back to GUI)
|
||||
|
||||
Beta 9:
|
||||
|
||||
- Added workaround that disables RTG HW sprite if enabled in D3D11 mode. (HW sprite is not yet supported in D3D11)
|
||||
- Fixed D3D11 position calculation bug that for example caused full window RTG to be partially off-screen.
|
||||
- 16-bit color depth is now supported in D3D11 mode.
|
||||
- D3D11 to D3D9 fall back didn't work correctly, it tried D3D11 twice and then selected DirectDraw.
|
||||
- READ CD-DA (MSF) really works now.
|
||||
- KS 1.2 autoboot didn't work without extra reset if UAE autoconfig board wasn't first board in autoconfig chain.
|
||||
- Fixed AdIDE emulation, AdIDE data line "scrambling" got broken in b1.
|
||||
- Added untested ATAPI tape drive support.
|
||||
- Selecting index.tape directly (instead of selecting directory where it is located) will also mount the tape in directory mode.
|
||||
- Tape emulation ignored new index file if tape was first written, rewound and read in same session.
|
||||
- Tape emulation accuracy improvements.
|
||||
- Added Toshiba Gary to Advanced chipset, if ticked, 0xe80000 to 0xf7ffff has chip ram access speed.
|
||||
- Added ROM is slow (Toshiba Gary without transistor fix), KS ROM space also has chip ram access speed.
|
||||
- 68030 data cache emulation didn't work correctly if write was cached and address was odd. (Bug found by Hatari developers)
|
||||
- ECS Denise BPLCON2 ECS-only bits were masked unless AGA was selected, ECS-specific KILLEHB linetoscr was not implemented. Seven Seas/Andromeda now shows correctly corrupted palette if ECS Denise.
|
||||
- IDE FORMAT TRACK fixed, it needs to transfer single block of data (and then toss it away). Fixes Gigatron Arriba installer.
|
||||
- Emulated Gigatron Arriba IDE controller. ROM dump not available.
|
||||
- 64-bit only bad stack linker setting correctded, caused random crashes and caused file dialogs to crash if certain shell extensions were installed. (Thanks mutetus!)
|
||||
|
||||
Beta 8:
|
||||
|
||||
- Replaced b7 unmapped zero checkbox with a 3 option select menu. Different A2000/B2000 variants can have either pullup or pulldown resistors connected to CPU data lines.
|
||||
|
||||
@ -28,7 +28,7 @@ void uaeexe_install (void)
|
||||
{
|
||||
uaecptr loop;
|
||||
|
||||
if (!uae_boot_rom_type)
|
||||
if (!uae_boot_rom_type && !currprefs.uaeboard)
|
||||
return;
|
||||
loop = here ();
|
||||
org (UAEEXE_ORG);
|
||||
|
||||
@ -462,16 +462,11 @@ static uae_u32 REGPARAM2 uaelib_demux (TrapContext *ctx)
|
||||
void emulib_install (void)
|
||||
{
|
||||
uaecptr a;
|
||||
if (!uae_boot_rom_type)
|
||||
if (!uae_boot_rom_type && !currprefs.uaeboard)
|
||||
return;
|
||||
a = here ();
|
||||
currprefs.mmkeyboard = 0;
|
||||
org (rtarea_base + 0xFF60);
|
||||
#if 0
|
||||
dw (0x4eb9);
|
||||
dw ((rtarea_base >> 16) | get_word (rtarea_base + 36));
|
||||
dw (get_word (rtarea_base + 38) + 12);
|
||||
#endif
|
||||
calltrap (deftrapres (uaelib_demux, 0, _T("uaelib_demux")));
|
||||
dw (RTS);
|
||||
org (a);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user