#include <setupapi.h>
#include <cfgmgr32.h>
-#define PCI_CW_MK3 "PCI\\VEN_E159&DEV_0001&SUBSYS_00021212"
-#define PCI_CW_MK4 "PCI\\VEN_E159&DEV_0001&SUBSYS_00035213"
-#define PCI_CW_MK4_BUG "PCI\\VEN_E159&DEV_0001&SUBSYS_00025213"
+#define PCI_CW_MK3 L"PCI\\VEN_E159&DEV_0001&SUBSYS_00021212"
+#define PCI_CW_MK4 L"PCI\\VEN_E159&DEV_0001&SUBSYS_00035213"
+#define PCI_CW_MK4_BUG L"PCI\\VEN_E159&DEV_0001&SUBSYS_00025213"
extern int os_winnt;
int force_direct_catweasel;
TCHAR devID[MAX_DEVICE_ID_LEN];
if(CM_Get_Device_ID_Ex(devInfo.DevInst,devID,MAX_DEVICE_ID_LEN,0,devInfoListDetail.RemoteMachineHandle)!=CR_SUCCESS)
devID[0] = TEXT('\0');
- if (!memcmp (devID, PCI_CW_MK3, strlen (PCI_CW_MK3))) {
+ if (!_tcsncmp (devID, PCI_CW_MK3, _tcslen (PCI_CW_MK3))) {
if (cw > 3)
break;
cw = 3;
}
- if (!memcmp (devID, PCI_CW_MK4, strlen (PCI_CW_MK4)) ||
- !memcmp (devID, PCI_CW_MK4_BUG, strlen (PCI_CW_MK4_BUG)))
+ if (!_tcsncmp (devID, PCI_CW_MK4, _tcslen (PCI_CW_MK4)) ||
+ !_tcsncmp (devID, PCI_CW_MK4_BUG, _tcslen (PCI_CW_MK4_BUG)))
cw = 4;
if (cw) {
SP_DEVINFO_LIST_DETAIL_DATA devInfoListDetail;
int catweasel_init(void)
{
- TCHAR name[32], tmp[1000];
+ TCHAR name[32], tmp[1000], *s;
int i, len;
uae_u8 buffer[10000];
uae_u32 model, base;
if (!cwc.direct_type) {
if (!DeviceIoControl (handle, CW_GET_VERSION, 0, 0, buffer, sizeof (buffer), &len, 0)) {
- write_log (L"CW: CW_GET_VERSION failed %d\n", GetLastError());
+ write_log (L"CW: CW_GET_VERSION failed %d\n", GetLastError ());
goto fail;
}
- write_log (L"CW driver version string '%s'\n", buffer);
+ s = au (buffer);
+ write_log (L"CW driver version string '%s'\n", s);
+ xfree (s);
if (!DeviceIoControl (handle, CW_GET_HWVERSION, 0, 0, buffer, sizeof (buffer), &len, 0)) {
- write_log (L"CW: CW_GET_HWVERSION failed %d\n", GetLastError());
+ write_log (L"CW: CW_GET_HWVERSION failed %d\n", GetLastError ());
goto fail;
}
write_log (L"CW: v=%d 14=%d 28=%d 56=%d joy=%d dpm=%d sid=%d kb=%d sidfifo=%d\n",
//catweasel_init_controller(&cwc);
_stprintf (tmp, L"CW: Catweasel MK%d @%p (%s) enabled. %s.",
- cwc.type, (uae_u8*)cwc.iobase, name, cwc.direct_access ? "DIRECTIO": "API");
+ cwc.type, (uae_u8*)cwc.iobase, name, cwc.direct_access ? L"DIRECTIO": L"API");
if (cwc.direct_access) {
if (cwc.can_sid) {
TCHAR *p = tmp + _tcslen (tmp);
{
size_t v;
if (unicode_config) {
+ TCHAR lf = 10;
v = zfile_fwrite (b, _tcslen (b), sizeof (TCHAR), z);
+ zfile_fwrite (&lf, 1, 1, z);
} else {
+ char lf = 10;
char *s = ua (b);
v = zfile_fwrite (s, strlen(s), 1, z);
+ zfile_fwrite (&lf, 1, 1, z);
xfree (s);
}
return v;
}
+static void cfg_dowrite (struct zfile *f, const TCHAR *option, const TCHAR *value, int d, int target)
+{
+ TCHAR tmp[CONFIG_BLEN];
+
+ if (target)
+ _stprintf (tmp, L"%s.%s=%s", TARGET_NAME, option, value);
+ else
+ _stprintf (tmp, L"%s=%s", option, value);
+ if (d && isdefault (tmp))
+ return;
+ cfg_write (tmp, f);
+}
+
+void cfgfile_write_bool (struct zfile *f, TCHAR *option, int b)
+{
+ cfg_dowrite (f, option, b ? L"true" : L"false", 0, 0);
+}
+void cfgfile_dwrite_bool (struct zfile *f, TCHAR *option, int b)
+{
+ cfg_dowrite (f, option, b ? L"true" : L"false", 1, 0);
+}
+void cfgfile_write_str (struct zfile *f, TCHAR *option, const TCHAR *value)
+{
+ cfg_dowrite (f, option, value, 0, 0);
+}
+void cfgfile_dwrite_str (struct zfile *f, TCHAR *option, const TCHAR *value)
+{
+ cfg_dowrite (f, option, value, 1, 0);
+}
+
+void cfgfile_target_write_bool (struct zfile *f, TCHAR *option, int b)
+{
+ cfg_dowrite (f, option, b ? L"true" : L"false", 0, 1);
+}
+void cfgfile_target_dwrite_bool (struct zfile *f, TCHAR *option, int b)
+{
+ cfg_dowrite (f, option, b ? L"true" : L"false", 1, 1);
+}
+void cfgfile_target_write_str (struct zfile *f, TCHAR *option, const TCHAR *value)
+{
+ cfg_dowrite (f, option, value, 0, 1);
+}
+void cfgfile_target_dwrite_str (struct zfile *f, TCHAR *option, const TCHAR *value)
+{
+ cfg_dowrite (f, option, value, 1, 1);
+}
-void cfgfile_write (struct zfile *f, TCHAR *format,...)
+void cfgfile_write (struct zfile *f, TCHAR *option, TCHAR *format,...)
{
va_list parms;
TCHAR tmp[CONFIG_BLEN];
va_start (parms, format);
_vstprintf (tmp, format, parms);
- cfg_write (tmp, f);
+ cfg_dowrite (f, option, tmp, 0, 0);
va_end (parms);
}
-
-void cfgfile_dwrite (struct zfile *f, TCHAR *format,...)
+void cfgfile_dwrite (struct zfile *f, TCHAR *option, TCHAR *format,...)
{
va_list parms;
TCHAR tmp[CONFIG_BLEN];
va_start (parms, format);
_vstprintf (tmp, format, parms);
- if (!isdefault (tmp))
- cfg_write (tmp, f);
+ cfg_dowrite (f, option, tmp, 1, 0);
va_end (parms);
}
-
-void cfgfile_target_write (struct zfile *f, TCHAR *format,...)
+void cfgfile_target_write (struct zfile *f, TCHAR *option, TCHAR *format,...)
{
va_list parms;
TCHAR tmp[CONFIG_BLEN];
va_start (parms, format);
- _vstprintf (tmp + _tcslen (TARGET_NAME) + 1, format, parms);
- memcpy (tmp, TARGET_NAME, _tcslen (TARGET_NAME) * sizeof (TCHAR));
- tmp[_tcslen (TARGET_NAME)] = '.';
- cfg_write (tmp, f);
+ _vstprintf (tmp, format, parms);
+ cfg_dowrite (f, option, tmp, 0, 1);
va_end (parms);
}
-
-void cfgfile_target_dwrite (struct zfile *f, TCHAR *format,...)
+void cfgfile_target_dwrite (struct zfile *f, TCHAR *option, TCHAR *format,...)
{
va_list parms;
TCHAR tmp[CONFIG_BLEN];
va_start (parms, format);
- _vstprintf (tmp + _tcslen (TARGET_NAME) + 1, format, parms);
- memcpy (tmp, TARGET_NAME, _tcslen (TARGET_NAME) * sizeof (TCHAR));
- tmp[_tcslen (TARGET_NAME)] = '.';
- if (!isdefault (tmp))
- cfg_write (tmp, f);
+ _vstprintf (tmp, format, parms);
+ cfg_dowrite (f, option, tmp, 1, 1);
va_end (parms);
}
bp = -129;
str = cfgfile_subst_path (default_path, unexpanded, uci->rootdir);
if (!uci->ishdf) {
- _stprintf (tmp, L"%s,%s:%s:%s,%d\n", uci->readonly ? L"ro" : L"rw",
+ _stprintf (tmp, L"%s,%s:%s:%s,%d", uci->readonly ? L"ro" : L"rw",
uci->devname ? uci->devname : L"", uci->volname, str, bp);
- _stprintf (tmp2, L"filesystem2=%s", tmp);
- zfile_fputs (f, tmp2);
+ cfgfile_write_str (f, L"filesystem2", tmp);
#if 0
- _stprintf (tmp2, L"filesystem=%s,%s:%s\n", uci->readonly ? L"ro" : L"rw",
+ _stprintf (tmp2, L"filesystem=%s,%s:%s", uci->readonly ? L"ro" : L"rw",
uci->volname, str);
zfile_fputs (f, tmp2);
#endif
} else {
- _stprintf (tmp, L"%s,%s:%s,%d,%d,%d,%d,%d,%s,%s\n",
+ _stprintf (tmp, L"%s,%s:%s,%d,%d,%d,%d,%d,%s,%s",
uci->readonly ? L"ro" : L"rw",
uci->devname ? uci->devname : L"", str,
uci->sectors, uci->surfaces, uci->reserved, uci->blocksize,
bp, uci->filesys ? uci->filesys : L"", hdcontrollers[uci->controller]);
- _stprintf (tmp2, L"hardfile2=%s", tmp);
- zfile_fputs (f, tmp2);
+ cfgfile_write_str (f, L"hardfile2", tmp);
#if 0
- _stprintf (tmp2, L"hardfile=%s,%d,%d,%d,%d,%s\n",
+ _stprintf (tmp2, L"hardfile=%s,%d,%d,%d,%d,%s",
uci->readonly ? "ro" : "rw", uci->sectors,
uci->surfaces, uci->reserved, uci->blocksize, str);
zfile_fputs (f, tmp2);
#endif
}
- _stprintf (tmp2, L"uaehf%d=%s,%s", i, uci->ishdf ? L"hdf" : L"dir", tmp);
- zfile_fputs (f, tmp2);
+ _stprintf (tmp2, L"uaehf%d", i);
+ cfgfile_write (f, tmp2, L"%s,%s", uci->ishdf ? L"hdf" : L"dir", tmp);
xfree (str);
}
}
_stprintf (tmp, L"%d", model);
if (model == 68020 && (p->fpu_model == 68881 || p->fpu_model == 68882))
_tcscat (tmp, L"/68881");
- cfgfile_write (f, L"cpu_type=%s\n", tmp);
+ cfgfile_write (f, L"cpu_type", tmp);
}
void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
{
struct strlist *sl;
- TCHAR *str;
+ TCHAR *str, tmp[MAX_DPATH];
int i;
- cfgfile_write (f, L"config_description=%s\n", p->description);
- cfgfile_write (f, L"config_hardware=%s\n", (type & CONFIG_TYPE_HARDWARE) ? L"true" : L"false");
- cfgfile_write (f, L"config_host=%s\n", (type & CONFIG_TYPE_HOST) ? L"true" : L"false");
+ cfgfile_write_str (f, L"config_description", p->description);
+ cfgfile_write_bool (f, L"config_hardware", type & CONFIG_TYPE_HARDWARE);
+ cfgfile_write_bool (f, L"config_host", type & CONFIG_TYPE_HOST);
if (p->info[0])
- cfgfile_write (f, L"config_info=%s\n", p->info);
- cfgfile_write (f, L"config_version=%d.%d.%d\n", UAEMAJOR, UAEMINOR, UAESUBREV);
- cfgfile_write (f, L"config_hardware_path=%s\n", p->config_hardware_path);
- cfgfile_write (f, L"config_host_path=%s\n", p->config_host_path);
+ cfgfile_write (f, L"config_info", p->info);
+ cfgfile_write (f, L"config_version", L"%d.%d.%d", UAEMAJOR, UAEMINOR, UAESUBREV);
+ cfgfile_write_str (f, L"config_hardware_path", p->config_hardware_path);
+ cfgfile_write_str (f, L"config_host_path", p->config_host_path);
for (sl = p->all_lines; sl; sl = sl->next) {
if (sl->unknown)
- cfgfile_write (f, L"%s=%s\n", sl->option, sl->value);
+ cfgfile_write_str (f, sl->option, sl->value);
}
- cfgfile_write (f, L"%s.rom_path=%s\n", TARGET_NAME, p->path_rom);
- cfgfile_write (f, L"%s.floppy_path=%s\n", TARGET_NAME, p->path_floppy);
- cfgfile_write (f, L"%s.hardfile_path=%s\n", TARGET_NAME, p->path_hardfile);
+ _stprintf (tmp, L"%s.rom_path", TARGET_NAME);
+ cfgfile_write_str (f, tmp, p->path_rom);
+ _stprintf (tmp, L"%s.floppy_path", TARGET_NAME);
+ cfgfile_write_str (f, tmp, p->path_floppy);
+ _stprintf (tmp, L"%s.hardfile_path", TARGET_NAME);
+ cfgfile_write_str (f, tmp, p->path_hardfile);
- cfgfile_write (f, L"; host-specific\n");
+ cfg_write (L"; host-specific", f);
target_save_options (f, p);
- cfgfile_write (f, L"; common\n");
+ cfg_write (L"; common", f);
- cfgfile_write (f, L"use_gui=%s\n", guimode1[p->start_gui]);
- cfgfile_write (f, L"use_debugger=%s\n", p->start_debugger ? L"true" : L"false");
+ cfgfile_write_str (f, L"use_gui", guimode1[p->start_gui]);
+ cfgfile_write_bool (f, L"use_debugger", p->start_debugger);
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->romfile);
- cfgfile_write (f, L"kickstart_rom_file=%s\n", str);
- free (str);
+ cfgfile_write_str (f, L"kickstart_rom_file", str);
+ xfree (str);
if (p->romident[0])
- cfgfile_dwrite (f, L"kickstart_rom=%s\n", p->romident);
+ cfgfile_dwrite_str (f, L"kickstart_rom", p->romident);
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->romextfile);
- cfgfile_write (f, L"kickstart_ext_rom_file=%s\n", str);
- free (str);
+ cfgfile_write_str (f, L"kickstart_ext_rom_file", str);
+ xfree (str);
if (p->romextident[0])
- cfgfile_write (f, L"kickstart_ext_rom=%s\n", p->romextident);
+ cfgfile_write_str (f, L"kickstart_ext_rom=", p->romextident);
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->flashfile);
- cfgfile_write (f, L"flash_file=%s\n", str);
- free (str);
+ cfgfile_write_str (f, L"flash_file", str);
+ xfree (str);
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->cartfile);
- cfgfile_write (f, L"cart_file=%s\n", str);
- free (str);
+ cfgfile_write_str (f, L"cart_file", str);
+ xfree (str);
if (p->cartident[0])
- cfgfile_write (f, L"cart=%s\n", p->cartident);
- //cfgfile_write (f, L"cart_internal=%s\n", cartsmode[p->cart_internal]);
+ cfgfile_write_str (f, L"cart", p->cartident);
if (p->amaxromfile[0]) {
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->amaxromfile);
- cfgfile_write (f, L"amax_rom_file=%s\n", str);
- free (str);
+ cfgfile_write_str (f, L"amax_rom_file", str);
+ xfree (str);
}
- cfgfile_write (f, L"kickshifter=%s\n", p->kickshifter ? L"true" : L"false");
+ cfgfile_write_bool (f, L"kickshifter", p->kickshifter);
p->nr_floppies = 4;
for (i = 0; i < 4; i++) {
str = cfgfile_subst_path (p->path_floppy, UNEXPANDED, p->df[i]);
- cfgfile_write (f, L"floppy%d=%s\n", i, str);
- free (str);
- cfgfile_dwrite (f, L"floppy%dtype=%d\n", i, p->dfxtype[i]);
- cfgfile_dwrite (f, L"floppy%dsound=%d\n", i, p->dfxclick[i]);
- if (p->dfxclick[i] < 0 && p->dfxclickexternal[i][0])
- cfgfile_dwrite (f, L"floppy%dsoundext=%s\n", i, p->dfxclickexternal[i]);
+ _stprintf (tmp, L"floppy%d", i);
+ cfgfile_write_str (f, tmp, str);
+ xfree (str);
+ _stprintf (tmp, L"floppy%dtype", i);
+ cfgfile_dwrite (f, tmp, L"%d", p->dfxtype[i]);
+ _stprintf (tmp, L"floppy%dsound", i);
+ cfgfile_dwrite (f, tmp, L"%d", p->dfxclick[i]);
+ if (p->dfxclick[i] < 0 && p->dfxclickexternal[i][0]) {
+ _stprintf (tmp, L"floppy%dsoundext", i);
+ cfgfile_dwrite (f, tmp, p->dfxclickexternal[i]);
+ }
if (p->dfxtype[i] < 0 && p->nr_floppies > i)
p->nr_floppies = i;
}
for (i = 0; i < MAX_SPARE_DRIVES; i++) {
- if (p->dfxlist[i][0])
- cfgfile_dwrite (f, L"diskimage%d=%s\n", i, p->dfxlist[i]);
- }
-
- cfgfile_write (f, L"nr_floppies=%d\n", p->nr_floppies);
- cfgfile_write (f, L"floppy_speed=%d\n", p->floppy_speed);
- cfgfile_write (f, L"floppy_volume=%d\n", p->dfxclickvolume);
- cfgfile_write (f, L"parallel_on_demand=%s\n", p->parallel_demand ? L"true" : L"false");
- cfgfile_write (f, L"serial_on_demand=%s\n", p->serial_demand ? L"true" : L"false");
- cfgfile_write (f, L"serial_hardware_ctsrts=%s\n", p->serial_hwctsrts ? L"true" : L"false");
- cfgfile_write (f, L"serial_direct=%s\n", p->serial_direct ? L"true" : L"false");
- cfgfile_write (f, L"scsi=%s\n", scsimode[p->scsi]);
- cfgfile_write (f, L"uaeserial=%s\n", p->uaeserial ? L"true" : L"false");
- cfgfile_write (f, L"sana2=%s\n", p->sana2 ? L"true" : L"false");
-
- cfgfile_write (f, L"sound_output=%s\n", soundmode1[p->produce_sound]);
- cfgfile_write (f, L"sound_channels=%s\n", stereomode[p->sound_stereo]);
- cfgfile_write (f, L"sound_stereo_separation=%d\n", p->sound_stereo_separation);
- cfgfile_write (f, L"sound_stereo_mixing_delay=%d\n", p->sound_mixed_stereo_delay >= 0 ? p->sound_mixed_stereo_delay : 0);
- cfgfile_write (f, L"sound_max_buff=%d\n", p->sound_maxbsiz);
- cfgfile_write (f, L"sound_frequency=%d\n", p->sound_freq);
- cfgfile_write (f, L"sound_latency=%d\n", p->sound_latency);
- cfgfile_write (f, L"sound_interpol=%s\n", interpolmode[p->sound_interpol]);
- cfgfile_write (f, L"sound_filter=%s\n", soundfiltermode1[p->sound_filter]);
- cfgfile_write (f, L"sound_filter_type=%s\n", soundfiltermode2[p->sound_filter_type]);
- cfgfile_write (f, L"sound_volume=%d\n", p->sound_volume);
- cfgfile_write (f, L"sound_auto=%s\n", p->sound_auto ? L"yes" : L"no");
- cfgfile_write (f, L"sound_stereo_swap_paula=%s\n", p->sound_stereo_swap_paula ? L"yes" : L"no");
- cfgfile_write (f, L"sound_stereo_swap_ahi=%s\n", p->sound_stereo_swap_ahi ? L"yes" : L"no");
-
- cfgfile_write (f, L"comp_trustbyte=%s\n", compmode[p->comptrustbyte]);
- cfgfile_write (f, L"comp_trustword=%s\n", compmode[p->comptrustword]);
- cfgfile_write (f, L"comp_trustlong=%s\n", compmode[p->comptrustlong]);
- cfgfile_write (f, L"comp_trustnaddr=%s\n", compmode[p->comptrustnaddr]);
- cfgfile_write (f, L"comp_nf=%s\n", p->compnf ? L"true" : L"false");
- cfgfile_write (f, L"comp_constjump=%s\n", p->comp_constjump ? L"true" : L"false");
- cfgfile_write (f, L"comp_oldsegv=%s\n", p->comp_oldsegv ? L"true" : L"false");
-
- cfgfile_write (f, L"comp_flushmode=%s\n", flushmode[p->comp_hardflush]);
- cfgfile_write (f, L"compfpu=%s\n", p->compfpu ? L"true" : L"false");
- cfgfile_write (f, L"fpu_strict=%s\n", p->fpu_strict ? L"true" : L"false");
- cfgfile_write (f, L"comp_midopt=%s\n", p->comp_midopt ? L"true" : L"false");
- cfgfile_write (f, L"comp_lowopt=%s\n", p->comp_lowopt ? L"true" : L"false");
- cfgfile_write (f, L"avoid_cmov=%s\n", p->avoid_cmov ? L"true" : L"false" );
- cfgfile_write (f, L"avoid_dga=%s\n", p->avoid_dga ? L"true" : L"false" );
- cfgfile_write (f, L"avoid_vid=%s\n", p->avoid_vid ? L"true" : L"false" );
- cfgfile_write (f, L"cachesize=%d\n", p->cachesize);
+ if (p->dfxlist[i][0]) {
+ _stprintf (tmp, L"diskimage%d", i);
+ cfgfile_dwrite_str (f, tmp, p->dfxlist[i]);
+ }
+ }
+
+ cfgfile_write (f, L"nr_floppies", L"%d", p->nr_floppies);
+ cfgfile_write (f, L"floppy_speed", L"%d", p->floppy_speed);
+ cfgfile_write (f, L"floppy_volume", L"%d", p->dfxclickvolume);
+ cfgfile_write_bool (f, L"parallel_on_demand", p->parallel_demand);
+ cfgfile_write_bool (f, L"serial_on_demand", p->serial_demand);
+ cfgfile_write_bool (f, L"serial_hardware_ctsrts", p->serial_hwctsrts);
+ cfgfile_write_bool (f, L"serial_direct", p->serial_direct);
+ cfgfile_write_str (f, L"scsi", scsimode[p->scsi]);
+ cfgfile_write_bool (f, L"uaeserial", p->uaeserial);
+ cfgfile_write_bool (f, L"sana2", p->sana2);
+
+ cfgfile_write_str (f, L"sound_output", soundmode1[p->produce_sound]);
+ cfgfile_write_str (f, L"sound_channels", stereomode[p->sound_stereo]);
+ cfgfile_write (f, L"sound_stereo_separation", L"%d", p->sound_stereo_separation);
+ cfgfile_write (f, L"sound_stereo_mixing_delay", L"%d", p->sound_mixed_stereo_delay >= 0 ? p->sound_mixed_stereo_delay : 0);
+ cfgfile_write (f, L"sound_max_buff", L"%d", p->sound_maxbsiz);
+ cfgfile_write (f, L"sound_frequency", L"%d", p->sound_freq);
+ cfgfile_write (f, L"sound_latency", L"%d", p->sound_latency);
+ cfgfile_write_str (f, L"sound_interpol", interpolmode[p->sound_interpol]);
+ cfgfile_write_str (f, L"sound_filter", soundfiltermode1[p->sound_filter]);
+ cfgfile_write_str (f, L"sound_filter_type", soundfiltermode2[p->sound_filter_type]);
+ cfgfile_write (f, L"sound_volume", L"%d", p->sound_volume);
+ cfgfile_write_bool (f, L"sound_auto", p->sound_auto);
+ cfgfile_write_bool (f, L"sound_stereo_swap_paula", p->sound_stereo_swap_paula);
+ cfgfile_write_bool (f, L"sound_stereo_swap_ahi", p->sound_stereo_swap_ahi);
+
+ cfgfile_write_str (f, L"comp_trustbyte", compmode[p->comptrustbyte]);
+ cfgfile_write_str (f, L"comp_trustword", compmode[p->comptrustword]);
+ cfgfile_write_str (f, L"comp_trustlong", compmode[p->comptrustlong]);
+ cfgfile_write_str (f, L"comp_trustnaddr", compmode[p->comptrustnaddr]);
+ cfgfile_write_bool (f, L"comp_nf", p->compnf);
+ cfgfile_write_bool (f, L"comp_constjump", p->comp_constjump);
+ cfgfile_write_bool (f, L"comp_oldsegv", p->comp_oldsegv);
+
+ cfgfile_write_str (f, L"comp_flushmode", flushmode[p->comp_hardflush]);
+ cfgfile_write_bool (f, L"compfpu", p->compfpu);
+ cfgfile_write_bool (f, L"fpu_strict", p->fpu_strict);
+ cfgfile_write_bool (f, L"comp_midopt", p->comp_midopt);
+ cfgfile_write_bool (f, L"comp_lowopt", p->comp_lowopt);
+ cfgfile_write_bool (f, L"avoid_cmov", p->avoid_cmov);
+ cfgfile_write_bool (f, L"avoid_dga", p->avoid_dga);
+ cfgfile_write_bool (f, L"avoid_vid", p->avoid_vid);
+ cfgfile_write (f, L"cachesize", L"%d", p->cachesize);
if (p->override_dga_address)
- cfgfile_write (f, L"override_dga_address=0x%08x\n", p->override_dga_address);
+ cfgfile_write (f, L"override_dga_address", L"0x%08x", p->override_dga_address);
for (i = 0; i < 2; i++) {
struct jport *jp = &p->jports[i];
if (v - JSEM_MICE > 0)
_stprintf (tmp2, L"mouse%d", v - JSEM_MICE);
}
- _stprintf (tmp1, L"joyport%d=%s\n", i, tmp2);
- cfgfile_write (f, tmp1);
+ _stprintf (tmp1, L"joyport%d", i);
+ cfgfile_write (f, tmp1, tmp2);
if (jp->name) {
- _stprintf (tmp1, L"joyportfriendlyname%d=%s\n", i, jp->name);
- cfgfile_write (f, tmp1);
+ _stprintf (tmp1, L"joyportfriendlyname%d", i);
+ cfgfile_write (f, tmp1, jp->name);
}
if (jp->configname) {
- _stprintf (tmp1, L"joyportname%d=%s\n", i, jp->configname);
- cfgfile_write (f, tmp1);
+ _stprintf (tmp1, L"joyportname%d", i);
+ cfgfile_write (f, tmp1, jp->configname);
}
}
- cfgfile_write (f, L"bsdsocket_emu=%s\n", p->socket_emu ? L"true" : L"false");
-
- cfgfile_write (f, L"synchronize_clock=%s\n", p->tod_hack ? L"yes" : L"no");
- cfgfile_write (f, L"maprom=0x%x\n", p->maprom);
- cfgfile_write (f, L"parallel_postscript_emulation=%s\n", p->parallel_postscript_emulation ? L"yes" : L"no");
- cfgfile_write (f, L"parallel_postscript_detection=%s\n", p->parallel_postscript_detection ? L"yes" : L"no");
- cfgfile_write (f, L"ghostscript_parameters=%s\n", p->ghostscript_parameters);
- cfgfile_write (f, L"parallel_autoflush=%d\n", p->parallel_autoflush_time);
- cfgfile_dwrite (f, L"uae_hide=%d\n", p->uae_hide);
- cfgfile_dwrite (f, L"magic_mouse=%s\n", p->input_magic_mouse ? L"true" : L"false");
- cfgfile_dwrite (f, L"magic_mousecursor=%s\n", magiccursors[p->input_magic_mouse_cursor]);
- cfgfile_dwrite (f, L"absolute_mouse=%s\n", abspointers[p->input_tablet]);
-
- cfgfile_write (f, L"gfx_display=%d\n", p->gfx_display);
- cfgfile_write (f, L"gfx_display_name=%s\n", p->gfx_display_name);
- cfgfile_write (f, L"gfx_framerate=%d\n", p->gfx_framerate);
- cfgfile_write (f, L"gfx_width=%d\n", p->gfx_size_win.width); /* compatibility with old versions */
- cfgfile_write (f, L"gfx_height=%d\n", p->gfx_size_win.height); /* compatibility with old versions */
- cfgfile_write (f, L"gfx_top_windowed=%d\n", p->gfx_size_win.x);
- cfgfile_write (f, L"gfx_left_windowed=%d\n", p->gfx_size_win.y);
- cfgfile_write (f, L"gfx_width_windowed=%d\n", p->gfx_size_win.width);
- cfgfile_write (f, L"gfx_height_windowed=%d\n", p->gfx_size_win.height);
- cfgfile_write (f, L"gfx_width_fullscreen=%d\n", p->gfx_size_fs.width);
- cfgfile_write (f, L"gfx_height_fullscreen=%d\n", p->gfx_size_fs.height);
- cfgfile_write (f, L"gfx_refreshrate=%d\n", p->gfx_refreshrate);
- cfgfile_write (f, L"gfx_autoresolution=%d\n", p->gfx_autoresolution);
- cfgfile_write (f, L"gfx_vsync=%s\n", p->gfx_avsync ? L"true" : L"false");
- cfgfile_write (f, L"gfx_vsync_picasso=%s\n", p->gfx_pvsync ? L"true" : L"false");
- cfgfile_write (f, L"gfx_lores=%s\n", p->gfx_resolution == 0 ? L"true" : L"false");
- cfgfile_write (f, L"gfx_resolution=%s\n", lorestype1[p->gfx_resolution]);
- cfgfile_write (f, L"gfx_lores_mode=%s\n", loresmode[p->gfx_lores_mode]);
- cfgfile_write (f, L"gfx_flickerfixer=%s\n", p->gfx_scandoubler ? L"true" : L"false");
- cfgfile_write (f, L"gfx_linemode=%s\n", linemode1[p->gfx_linedbl]);
- cfgfile_write (f, L"gfx_fullscreen_amiga=%s\n", fullmodes[p->gfx_afullscreen]);
- cfgfile_write (f, L"gfx_fullscreen_picasso=%s\n", fullmodes[p->gfx_pfullscreen]);
- cfgfile_write (f, L"gfx_center_horizontal=%s\n", centermode1[p->gfx_xcenter]);
- cfgfile_write (f, L"gfx_center_vertical=%s\n", centermode1[p->gfx_ycenter]);
- cfgfile_write (f, L"gfx_colour_mode=%s\n", colormode1[p->color_mode]);
- cfgfile_write (f, L"gfx_blacker_than_black=%s\n", p->gfx_blackerthanblack ? L"true" : L"false");
+ cfgfile_write_bool (f, L"bsdsocket_emu", p->socket_emu);
+
+ cfgfile_write_bool (f, L"synchronize_clock", p->tod_hack);
+ cfgfile_write (f, L"maprom", L"0x%x", p->maprom);
+ cfgfile_write_bool (f, L"parallel_postscript_emulation", p->parallel_postscript_emulation);
+ cfgfile_write_bool (f, L"parallel_postscript_detection", p->parallel_postscript_detection);
+ cfgfile_write_str (f, L"ghostscript_parameters", p->ghostscript_parameters);
+ cfgfile_write (f, L"parallel_autoflush", L"%d", p->parallel_autoflush_time);
+ cfgfile_dwrite (f, L"uae_hide", L"%d", p->uae_hide);
+ cfgfile_dwrite_bool (f, L"magic_mouse", p->input_magic_mouse);
+ cfgfile_dwrite_str (f, L"magic_mousecursor", magiccursors[p->input_magic_mouse_cursor]);
+ cfgfile_dwrite_str (f, L"absolute_mouse", abspointers[p->input_tablet]);
+
+ cfgfile_write (f, L"gfx_display", L"%d", p->gfx_display);
+ cfgfile_write_str (f, L"gfx_display_name", p->gfx_display_name);
+ cfgfile_write (f, L"gfx_framerate", L"%d", p->gfx_framerate);
+ cfgfile_write (f, L"gfx_width", L"%d", p->gfx_size_win.width); /* compatibility with old versions */
+ cfgfile_write (f, L"gfx_height", L"%d", p->gfx_size_win.height); /* compatibility with old versions */
+ cfgfile_write (f, L"gfx_top_windowed", L"%d", p->gfx_size_win.x);
+ cfgfile_write (f, L"gfx_left_windowed", L"%d", p->gfx_size_win.y);
+ cfgfile_write (f, L"gfx_width_windowed", L"%d", p->gfx_size_win.width);
+ cfgfile_write (f, L"gfx_height_windowed", L"%d", p->gfx_size_win.height);
+ cfgfile_write (f, L"gfx_width_fullscreen", L"%d", p->gfx_size_fs.width);
+ cfgfile_write (f, L"gfx_height_fullscreen", L"%d", p->gfx_size_fs.height);
+ cfgfile_write (f, L"gfx_refreshrate", L"%d", p->gfx_refreshrate);
+ cfgfile_write (f, L"gfx_autoresolution", L"%d", p->gfx_autoresolution);
+ cfgfile_write_bool (f, L"gfx_vsync", p->gfx_avsync);
+ cfgfile_write_bool (f, L"gfx_vsync_picasso", p->gfx_pvsync);
+ cfgfile_write_bool (f, L"gfx_lores", p->gfx_resolution == 0);
+ cfgfile_write_str (f, L"gfx_resolution", lorestype1[p->gfx_resolution]);
+ cfgfile_write_str (f, L"gfx_lores_mode", loresmode[p->gfx_lores_mode]);
+ cfgfile_write_bool (f, L"gfx_flickerfixer", p->gfx_scandoubler);
+ cfgfile_write_str (f, L"gfx_linemode", linemode1[p->gfx_linedbl]);
+ cfgfile_write_str (f, L"gfx_fullscreen_amiga", fullmodes[p->gfx_afullscreen]);
+ cfgfile_write_str (f, L"gfx_fullscreen_picasso", fullmodes[p->gfx_pfullscreen]);
+ cfgfile_write_str (f, L"gfx_center_horizontal", centermode1[p->gfx_xcenter]);
+ cfgfile_write_str (f, L"gfx_center_vertical", centermode1[p->gfx_ycenter]);
+ cfgfile_write_str (f, L"gfx_colour_mode", colormode1[p->color_mode]);
+ cfgfile_write_bool (f, L"gfx_blacker_than_black", p->gfx_blackerthanblack);
#ifdef GFXFILTER
if (p->gfx_filter > 0) {
uf = &uaefilters[i];
if (uf->type == p->gfx_filter) {
if (p->gfx_filtershader[0])
- cfgfile_dwrite (f, L"gfx_filter=%s:%s\n", uf->cfgname, p->gfx_filtershader);
+ cfgfile_dwrite (f, L"gfx_filter", L"%s:%s", uf->cfgname, p->gfx_filtershader);
else
- cfgfile_dwrite (f, L"gfx_filter=%s\n", uf->cfgname);
+ cfgfile_dwrite_str (f, L"gfx_filter", uf->cfgname);
if (uf->type == p->gfx_filter) {
if (uf->x[0]) {
- cfgfile_dwrite (f, L"gfx_filter_mode=%s\n", filtermode1[p->gfx_filter_filtermode]);
+ cfgfile_dwrite_str (f, L"gfx_filter_mode", filtermode1[p->gfx_filter_filtermode]);
} else {
int mt[4], i = 0;
if (uf->x[1])
mt[i++] = 3;
if (uf->x[4])
mt[i++] = 4;
- cfgfile_dwrite (f, L"gfx_filter_mode=%dx\n", mt[p->gfx_filter_filtermode]);
+ cfgfile_dwrite (f, L"gfx_filter_mode", L"%dx", mt[p->gfx_filter_filtermode]);
}
}
}
i++;
}
} else {
- cfgfile_dwrite (f, L"gfx_filter=no\n");
- }
-
- cfgfile_dwrite (f, L"gfx_filter_vert_zoom=%d\n", p->gfx_filter_vert_zoom);
- cfgfile_dwrite (f, L"gfx_filter_horiz_zoom=%d\n", p->gfx_filter_horiz_zoom);
- cfgfile_dwrite (f, L"gfx_filter_vert_zoom_mult=%d\n", p->gfx_filter_vert_zoom_mult);
- cfgfile_dwrite (f, L"gfx_filter_horiz_zoom_mult=%d\n", p->gfx_filter_horiz_zoom_mult);
- cfgfile_dwrite (f, L"gfx_filter_vert_offset=%d\n", p->gfx_filter_vert_offset);
- cfgfile_dwrite (f, L"gfx_filter_horiz_offset=%d\n", p->gfx_filter_horiz_offset);
- cfgfile_dwrite (f, L"gfx_filter_scanlines=%d\n", p->gfx_filter_scanlines);
- cfgfile_dwrite (f, L"gfx_filter_scanlinelevel=%d\n", p->gfx_filter_scanlinelevel);
- cfgfile_dwrite (f, L"gfx_filter_scanlineratio=%d\n", p->gfx_filter_scanlineratio);
- cfgfile_dwrite (f, L"gfx_filter_luminance=%d\n", p->gfx_filter_luminance);
- cfgfile_dwrite (f, L"gfx_filter_contrast=%d\n", p->gfx_filter_contrast);
- cfgfile_dwrite (f, L"gfx_filter_saturation=%d\n", p->gfx_filter_saturation);
- cfgfile_dwrite (f, L"gfx_filter_gamma=%d\n", p->gfx_filter_gamma);
- cfgfile_dwrite (f, L"gfx_filter_blur=%d\n", p->gfx_filter_blur);
- cfgfile_dwrite (f, L"gfx_filter_noise=%d\n", p->gfx_filter_noise);
- cfgfile_dwrite (f, L"gfx_filter_keep_aspect=%s\n", p->gfx_filter_keep_aspect ? L"true" : L"false");
- cfgfile_dwrite (f, L"gfx_filter_autoscale=%s\n", autoscale[p->gfx_filter_autoscale]);
- cfgfile_dwrite (f, L"gfx_filter_aspect_ratio=%d:%d\n",
+ cfgfile_dwrite (f, L"gfx_filter", L"no");
+ }
+
+ cfgfile_dwrite (f, L"gfx_filter_vert_zoom", L"%d", p->gfx_filter_vert_zoom);
+ cfgfile_dwrite (f, L"gfx_filter_horiz_zoom", L"%d", p->gfx_filter_horiz_zoom);
+ cfgfile_dwrite (f, L"gfx_filter_vert_zoom_mult", L"%d", p->gfx_filter_vert_zoom_mult);
+ cfgfile_dwrite (f, L"gfx_filter_horiz_zoom_mult", L"%d", p->gfx_filter_horiz_zoom_mult);
+ cfgfile_dwrite (f, L"gfx_filter_vert_offset", L"%d", p->gfx_filter_vert_offset);
+ cfgfile_dwrite (f, L"gfx_filter_horiz_offset", L"%d", p->gfx_filter_horiz_offset);
+ cfgfile_dwrite (f, L"gfx_filter_scanlines", L"%d", p->gfx_filter_scanlines);
+ cfgfile_dwrite (f, L"gfx_filter_scanlinelevel", L"%d", p->gfx_filter_scanlinelevel);
+ cfgfile_dwrite (f, L"gfx_filter_scanlineratio", L"%d", p->gfx_filter_scanlineratio);
+ cfgfile_dwrite (f, L"gfx_filter_luminance", L"%d", p->gfx_filter_luminance);
+ cfgfile_dwrite (f, L"gfx_filter_contrast", L"%d", p->gfx_filter_contrast);
+ cfgfile_dwrite (f, L"gfx_filter_saturation", L"%d", p->gfx_filter_saturation);
+ cfgfile_dwrite (f, L"gfx_filter_gamma", L"%d", p->gfx_filter_gamma);
+ cfgfile_dwrite (f, L"gfx_filter_blur", L"%d", p->gfx_filter_blur);
+ cfgfile_dwrite (f, L"gfx_filter_noise", L"%d", p->gfx_filter_noise);
+ cfgfile_dwrite_bool (f, L"gfx_filter_keep_aspect", p->gfx_filter_keep_aspect);
+ cfgfile_dwrite_str (f, L"gfx_filter_autoscale", autoscale[p->gfx_filter_autoscale]);
+ cfgfile_dwrite (f, L"gfx_filter_aspect_ratio", L"%d:%d",
p->gfx_filter_aspect >= 0 ? (p->gfx_filter_aspect >> 8) : -1,
p->gfx_filter_aspect >= 0 ? (p->gfx_filter_aspect & 0xff) : -1);
- cfgfile_dwrite (f, L"gfx_luminance=%d\n", p->gfx_luminance);
- cfgfile_dwrite (f, L"gfx_contrast=%d\n", p->gfx_contrast);
- cfgfile_dwrite (f, L"gfx_gamma=%d\n", p->gfx_gamma);
+ cfgfile_dwrite (f, L"gfx_luminance", L"%d", p->gfx_luminance);
+ cfgfile_dwrite (f, L"gfx_contrast", L"%d", p->gfx_contrast);
+ cfgfile_dwrite (f, L"gfx_gamma", L"%d", p->gfx_gamma);
#endif
- cfgfile_write (f, L"immediate_blits=%s\n", p->immediate_blits ? L"true" : L"false");
- cfgfile_write (f, L"ntsc=%s\n", p->ntscmode ? L"true" : L"false");
- cfgfile_write (f, L"genlock=%s\n", p->genlock ? L"true" : L"false");
- cfgfile_dwrite (f, L"show_leds=%s\n", (p->leds_on_screen & STATUSLINE_CHIPSET) ? L"true" : L"false");
- cfgfile_dwrite (f, L"keyboard_leds=numlock:%s,capslock:%s,scrolllock:%s\n",
+ cfgfile_write_bool (f, L"immediate_blits", p->immediate_blits);
+ cfgfile_write_bool (f, L"ntsc", p->ntscmode);
+ cfgfile_write_bool (f, L"genlock", p->genlock);
+ cfgfile_dwrite_bool (f, L"show_leds", p->leds_on_screen & STATUSLINE_CHIPSET);
+ cfgfile_dwrite (f, L"keyboard_leds", L"numlock:%s,capslock:%s,scrolllock:%s",
kbleds[p->keyboard_leds[0]], kbleds[p->keyboard_leds[1]], kbleds[p->keyboard_leds[2]]);
if (p->chipset_mask & CSMASK_AGA)
- cfgfile_dwrite (f, L"chipset=aga\n");
+ cfgfile_dwrite (f, L"chipset",L"aga");
else if ((p->chipset_mask & CSMASK_ECS_AGNUS) && (p->chipset_mask & CSMASK_ECS_DENISE))
- cfgfile_dwrite (f, L"chipset=ecs\n");
+ cfgfile_dwrite (f, L"chipset",L"ecs");
else if (p->chipset_mask & CSMASK_ECS_AGNUS)
- cfgfile_dwrite (f, L"chipset=ecs_agnus\n");
+ cfgfile_dwrite (f, L"chipset",L"ecs_agnus");
else if (p->chipset_mask & CSMASK_ECS_DENISE)
- cfgfile_dwrite (f, L"chipset=ecs_denise\n");
+ cfgfile_dwrite (f, L"chipset",L"ecs_denise");
else
- cfgfile_dwrite (f, L"chipset=ocs\n");
- cfgfile_write (f, L"chipset_refreshrate=%d\n", p->chipset_refreshrate);
- cfgfile_write (f, L"collision_level=%s\n", collmode[p->collision_level]);
-
- cfgfile_write (f, L"chipset_compatible=%s\n", cscompa[p->cs_compatible]);
- cfgfile_dwrite (f, L"ciaatod=%s\n", ciaatodmode[p->cs_ciaatod]);
- cfgfile_dwrite (f, L"rtc=%s\n", rtctype[p->cs_rtc]);
- //cfgfile_dwrite (f, L"chipset_rtc_adjust=%d\n", p->cs_rtc_adjust);
- cfgfile_dwrite (f, L"ksmirror_e0=%s\n", p->cs_ksmirror_e0 ? L"true" : L"false");
- cfgfile_dwrite (f, L"ksmirror_a8=%s\n", p->cs_ksmirror_a8 ? L"true" : L"false");
- cfgfile_dwrite (f, L"cd32cd=%s\n", p->cs_cd32cd ? L"true" : L"false");
- cfgfile_dwrite (f, L"cd32c2p=%s\n", p->cs_cd32c2p ? L"true" : L"false");
- cfgfile_dwrite (f, L"cd32nvram=%s\n", p->cs_cd32nvram ? L"true" : L"false");
- cfgfile_dwrite (f, L"cdtvcd=%s\n", p->cs_cdtvcd ? L"true" : L"false");
- cfgfile_dwrite (f, L"cdtvram=%s\n", p->cs_cdtvram ? L"true" : L"false");
- cfgfile_dwrite (f, L"cdtvramcard=%d\n", p->cs_cdtvcard);
- cfgfile_dwrite (f, L"ide=%s\n", p->cs_ide == 1 ? L"a600/a1200" : (p->cs_ide == 2 ? L"a4000" : L"none"));
- cfgfile_dwrite (f, L"a1000ram=%s\n", p->cs_a1000ram ? L"true" : L"false");
- cfgfile_dwrite (f, L"fatgary=%d\n", p->cs_fatgaryrev);
- cfgfile_dwrite (f, L"ramsey=%d\n", p->cs_ramseyrev);
- cfgfile_dwrite (f, L"pcmcia=%s\n", p->cs_pcmcia ? L"true" : L"false");
- cfgfile_dwrite (f, L"scsi_cdtv=%s\n", p->cs_cdtvscsi ? L"true" : L"false");
- cfgfile_dwrite (f, L"scsi_a2091=%s\n", p->cs_a2091 ? L"true" : L"false");
- cfgfile_dwrite (f, L"scsi_a4091=%s\n", p->cs_a4091 ? L"true" : L"false");
- cfgfile_dwrite (f, L"scsi_a3000=%s\n", p->cs_mbdmac == 1 ? L"true" : L"false");
- cfgfile_dwrite (f, L"scsi_a4000t=%s\n", p->cs_mbdmac == 2 ? L"true" : L"false");
- cfgfile_dwrite (f, L"bogomem_fast=%s\n", p->cs_slowmemisfast ? L"true" : L"false");
- cfgfile_dwrite (f, L"resetwarning=%s\n", p->cs_resetwarning ? L"true" : L"false");
- cfgfile_dwrite (f, L"denise_noehb=%s\n", p->cs_denisenoehb ? L"true" : L"false");
- cfgfile_dwrite (f, L"agnus_bltbusybug=%s\n", p->cs_agnusbltbusybug ? L"true" : L"false");
-
- cfgfile_write (f, L"fastmem_size=%d\n", p->fastmem_size / 0x100000);
- cfgfile_write (f, L"a3000mem_size=%d\n", p->mbresmem_low_size / 0x100000);
- cfgfile_write (f, L"mbresmem_size=%d\n", p->mbresmem_high_size / 0x100000);
- cfgfile_write (f, L"z3mem_size=%d\n", p->z3fastmem_size / 0x100000);
- cfgfile_write (f, L"z3mem2_size=%d\n", p->z3fastmem2_size / 0x100000);
- cfgfile_write (f, L"z3mem_start=0x%x\n", p->z3fastmem_start);
- cfgfile_write (f, L"bogomem_size=%d\n", p->bogomem_size / 0x40000);
- cfgfile_write (f, L"gfxcard_size=%d\n", p->gfxmem_size / 0x100000);
- cfgfile_write (f, L"chipmem_size=%d\n", p->chipmem_size == 0x20000 ? -1 : (p->chipmem_size == 0x40000 ? 0 : p->chipmem_size / 0x80000));
+ cfgfile_dwrite (f, L"chipset", L"ocs");
+ cfgfile_write (f, L"chipset_refreshrate", L"%d", p->chipset_refreshrate);
+ cfgfile_write_str (f, L"collision_level", collmode[p->collision_level]);
+
+ cfgfile_write_str(f, L"chipset_compatible", cscompa[p->cs_compatible]);
+ cfgfile_dwrite_str (f, L"ciaatod", ciaatodmode[p->cs_ciaatod]);
+ cfgfile_dwrite_str (f, L"rtc", rtctype[p->cs_rtc]);
+ //cfgfile_dwrite (f, L"chipset_rtc_adjust", L"%d", p->cs_rtc_adjust);
+ cfgfile_dwrite_bool (f, L"ksmirror_e0", p->cs_ksmirror_e0);
+ cfgfile_dwrite_bool (f, L"ksmirror_a8", p->cs_ksmirror_a8);
+ cfgfile_dwrite_bool (f, L"cd32cd", p->cs_cd32cd);
+ cfgfile_dwrite_bool (f, L"cd32c2p", p->cs_cd32c2p);
+ cfgfile_dwrite_bool (f, L"cd32nvram", p->cs_cd32nvram);
+ cfgfile_dwrite_bool (f, L"cdtvcd", p->cs_cdtvcd);
+ cfgfile_dwrite_bool (f, L"cdtvram", p->cs_cdtvram);
+ cfgfile_dwrite (f, L"cdtvramcard", L"%d", p->cs_cdtvcard);
+ cfgfile_dwrite_str (f, L"ide", p->cs_ide == 1 ? L"a600/a1200" : (p->cs_ide == 2 ? L"a4000" : L"none"));
+ cfgfile_dwrite_bool (f, L"a1000ram", p->cs_a1000ram);
+ cfgfile_dwrite (f, L"fatgary", L"%d", p->cs_fatgaryrev);
+ cfgfile_dwrite (f, L"ramsey", L"%d", p->cs_ramseyrev);
+ cfgfile_dwrite_bool (f, L"pcmcia", p->cs_pcmcia);
+ cfgfile_dwrite_bool (f, L"scsi_cdtv", p->cs_cdtvscsi);
+ cfgfile_dwrite_bool (f, L"scsi_a2091", p->cs_a2091);
+ cfgfile_dwrite_bool (f, L"scsi_a4091", p->cs_a4091);
+ cfgfile_dwrite_bool (f, L"scsi_a3000", p->cs_mbdmac == 1);
+ cfgfile_dwrite_bool (f, L"scsi_a4000t", p->cs_mbdmac == 2);
+ cfgfile_dwrite_bool (f, L"bogomem_fast", p->cs_slowmemisfast);
+ cfgfile_dwrite_bool (f, L"resetwarning", p->cs_resetwarning);
+ cfgfile_dwrite_bool (f, L"denise_noehb", p->cs_denisenoehb);
+ cfgfile_dwrite_bool (f, L"agnus_bltbusybug", p->cs_agnusbltbusybug);
+
+ cfgfile_write (f, L"fastmem_size", L"%d", p->fastmem_size / 0x100000);
+ cfgfile_write (f, L"a3000mem_size", L"%d", p->mbresmem_low_size / 0x100000);
+ cfgfile_write (f, L"mbresmem_size", L"%d", p->mbresmem_high_size / 0x100000);
+ cfgfile_write (f, L"z3mem_size", L"%d", p->z3fastmem_size / 0x100000);
+ cfgfile_write (f, L"z3mem2_size", L"%d", p->z3fastmem2_size / 0x100000);
+ cfgfile_write (f, L"z3mem_start", L"0x%x", p->z3fastmem_start);
+ cfgfile_write (f, L"bogomem_size", L"%d", p->bogomem_size / 0x40000);
+ cfgfile_write (f, L"gfxcard_size", L"%d", p->gfxmem_size / 0x100000);
+ cfgfile_write (f, L"chipmem_size", L"%d", p->chipmem_size == 0x20000 ? -1 : (p->chipmem_size == 0x40000 ? 0 : p->chipmem_size / 0x80000));
if (p->m68k_speed > 0)
- cfgfile_write (f, L"finegrain_cpu_speed=%d\n", p->m68k_speed);
+ cfgfile_write (f, L"finegrain_cpu_speed", L"%d", p->m68k_speed);
else
- cfgfile_write (f, L"cpu_speed=%s\n", p->m68k_speed == -1 ? L"max" : L"real");
+ cfgfile_write_str (f, L"cpu_speed", p->m68k_speed == -1 ? L"max" : L"real");
/* do not reorder start */
write_compatibility_cpu(f, p);
- cfgfile_write (f, L"cpu_model=%d\n", p->cpu_model);
+ cfgfile_write (f, L"cpu_model", L"%d", p->cpu_model);
if (p->fpu_model)
- cfgfile_write (f, L"fpu_model=%d\n", p->fpu_model);
- cfgfile_write (f, L"cpu_compatible=%s\n", p->cpu_compatible ? L"true" : L"false");
- cfgfile_write (f, L"cpu_24bit_addressing=%s\n", p->address_space_24 ? L"true" : L"false");
+ cfgfile_write (f, L"fpu_model", L"%d", p->fpu_model);
+ cfgfile_write_bool (f, L"cpu_compatible", p->cpu_compatible);
+ cfgfile_write_bool (f, L"cpu_24bit_addressing", p->address_space_24);
/* do not reorder end */
- cfgfile_write (f, L"cpu_cycle_exact=%s\n", p->cpu_cycle_exact ? L"true" : L"false");
- cfgfile_write (f, L"blitter_cycle_exact=%s\n", p->blitter_cycle_exact ? L"true" : L"false");
- cfgfile_write (f, L"rtg_nocustom=%s\n", p->picasso96_nocustom ? L"true" : L"false");
- cfgfile_write (f, L"rtg_modes=0x%x\n", p->picasso96_modeflags);
+ cfgfile_write_bool (f, L"cpu_cycle_exact", p->cpu_cycle_exact);
+ cfgfile_write_bool (f, L"blitter_cycle_exact", p->blitter_cycle_exact);
+ cfgfile_write_bool (f, L"rtg_nocustom", p->picasso96_nocustom);
+ cfgfile_write (f, L"rtg_modes", L"0x%x", p->picasso96_modeflags);
- cfgfile_write (f, L"log_illegal_mem=%s\n", p->illegal_mem ? L"true" : L"false");
+ cfgfile_write_bool (f, L"log_illegal_mem", p->illegal_mem);
if (p->catweasel >= 100)
- cfgfile_dwrite (f, L"catweasel=0x%x\n", p->catweasel);
+ cfgfile_dwrite (f, L"catweasel", L"0x%x", p->catweasel);
else
- cfgfile_dwrite (f, L"catweasel=%d\n", p->catweasel);
+ cfgfile_dwrite (f, L"catweasel", L"%d", p->catweasel);
- cfgfile_write (f, L"kbd_lang=%s\n", (p->keyboard_lang == KBD_LANG_DE ? L"de"
+ cfgfile_write_str (f, L"kbd_lang", (p->keyboard_lang == KBD_LANG_DE ? L"de"
: p->keyboard_lang == KBD_LANG_DK ? L"dk"
: p->keyboard_lang == KBD_LANG_ES ? L"es"
: p->keyboard_lang == KBD_LANG_US ? L"us"
: p->keyboard_lang == KBD_LANG_IT ? L"it"
: L"FOO"));
- cfgfile_dwrite (f, L"state_replay=%s\n", p->statecapture ? L"yes" : L"no");
- cfgfile_dwrite (f, L"state_replay_rate=%d\n", p->statecapturerate);
- cfgfile_dwrite (f, L"state_replay_buffer=%d\n", p->statecapturebuffersize);
+ cfgfile_dwrite_str (f, L"state_replay", p->statecapture ? L"yes" : L"no");
+ cfgfile_dwrite (f, L"state_replay_rate", L"%d", p->statecapturerate);
+ cfgfile_dwrite (f, L"state_replay_buffer", L"%d", p->statecapturebuffersize);
#ifdef FILESYS
write_filesys_config (p, UNEXPANDED, p->path_hardfile, f);
if (p->filesys_no_uaefsdb)
- cfgfile_write (f, L"filesys_no_fsdb=%s\n", p->filesys_no_uaefsdb ? L"true" : L"false");
+ cfgfile_write_bool (f, L"filesys_no_fsdb", p->filesys_no_uaefsdb);
#endif
write_inputdevice_config (p, f);
*tmpp++= 0;
if (num >= 0) {
p->keyboard_leds[num] = match_string (kbleds, tmpp2);
- if (p->keyboard_leds[num]) p->keyboard_leds_in_use = 1;
+ if (p->keyboard_leds[num])
+ p->keyboard_leds_in_use = 1;
}
tmpp2 = tmpp;
}
jsr -$01bc(a6) ;OpenDevice
tst.l d0
bne.s cfloop2
-
+ move.l 20(a4),a0 ;device node
+ cmp.w #37,20(a0) ;must be at least v37
+ bcc.s cfversion
+ ;too lazy free everything..
+cfloop3
+ moveq #0,d0
+ jsr -$013e(a6)
+ bra.s cfloop3
+
+cfversion
move.w #$FF38,d0
moveq #15,d1
bsr.w getrtbase
static void prepare_for_open (TCHAR *name)
{
#if 0
- struct stat statbuf;
+ struct _stat64 statbuf;
int mode;
if (-1 == stat (name, &statbuf))
TCHAR *build_nname (const TCHAR *d, const TCHAR *n)
{
- TCHAR dsep[2] = { FSDB_DIR_SEPARATOR, '\0' };
- TCHAR *p = xmalloc ((_tcslen (d) + _tcslen (n) + 2) * sizeof (TCHAR));
+ TCHAR dsep[2] = { FSDB_DIR_SEPARATOR, 0 };
+ TCHAR *p = xmalloc ((_tcslen (d) + 1 + _tcslen (n) + 1) * sizeof (TCHAR));
_tcscpy (p, d);
_tcscat (p, dsep);
_tcscat (p, n);
TCHAR *build_aname (const TCHAR *d, const TCHAR *n)
{
- TCHAR *p = xmalloc ((_tcslen (d) + _tcslen (n) + 2) * sizeof (TCHAR));
+ TCHAR *p = xmalloc ((_tcslen (d) + 1 + _tcslen (n) + 1) * sizeof (TCHAR));
_tcscpy (p, d);
_tcscat (p, L"/");
_tcscat (p, n);
if (unit->volflags & MYVOLUMEINFO_ARCHIVE)
zfile_stat_archive (aino->nname, &statbuf);
else
- _wstat64 (aino->nname, &statbuf);
+ stat (aino->nname, &statbuf);
if (aino->parent == 0) {
/* Guru book says ST_ROOT = 1 (root directory, not currently used)
char *x = NULL, *comment = NULL;
int ret = 0;
- memset(&statbuf, 0, sizeof statbuf);
+ memset (&statbuf, 0, sizeof statbuf);
if (unit->volflags & MYVOLUMEINFO_ARCHIVE)
zfile_stat_archive (aino->nname, &statbuf);
else
- _wstat64 (aino->nname, &statbuf);
+ stat (aino->nname, &statbuf);
if (aino->parent == 0) {
entrytype = 2;
/* change file/dir's parent dir modification time */
static void updatedirtime (a_inode *a1, int now)
{
- struct stat statbuf;
+ struct _stat64 statbuf;
struct utimbuf ut;
long days, mins, ticks;
k->file_pos += actual;
}
} else {
- TCHAR *buf;
+ uae_u8 *buf;
off_t old, filesize;
write_log (L"unixfs warning: Bad pointer passed for read: %08x, size %d\n", addr, size);
Key *k = lookup_key (unit, GET_PCK_ARG1 (packet));
long pos = (uae_s32)GET_PCK_ARG2 (packet);
long mode = (uae_s32)GET_PCK_ARG3 (packet);
- off_t res;
- long old;
+ uae_s64 res;
+ uae_s64 old;
int whence = SEEK_CUR;
if (k == 0) {
old = fs_lseek (unit, k->fd, 0, SEEK_CUR);
{
- uae_s32 temppos;
- long filesize = fs_lseek (unit, k->fd, 0, SEEK_END);
+ uae_s64 temppos;
+ uae_s64 filesize = fs_lseek64 (unit, k->fd, 0, SEEK_END);
fs_lseek (unit, k->fd, old, SEEK_SET);
if (whence == SEEK_CUR)
return;
}
}
- res = fs_lseek (unit, k->fd, pos, whence);
+ res = fs_lseek64 (unit, k->fd, pos, whence);
- if (-1 == res || res > MAXFILESIZE32) {
- PUT_PCK_RES1 (packet, res);
+ if (-1 == res || old > MAXFILESIZE32) {
+ PUT_PCK_RES1 (packet, -1);
PUT_PCK_RES2 (packet, ERROR_SEEK_ERROR);
- } else
+ fs_lseek64 (unit, k->fd, old, SEEK_SET);
+ res = old;
+ } else {
PUT_PCK_RES1 (packet, old);
+ }
k->file_pos = res;
}
PUT_PCK64_RES0 (packet, DP64_INIT);
if (k == 0) {
- PUT_PCK64_RES1 (packet, (uae_s64)-1);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_INVALID_LOCK);
return;
}
res = fs_lseek64 (unit, k->fd, pos, whence);
if (-1 == res) {
- PUT_PCK64_RES1 (packet, res);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_SEEK_ERROR);
} else {
PUT_PCK64_RES1 (packet, TRUE);
PUT_PCK64_RES2 (packet, 0);
+ k->file_pos = res;
}
- k->file_pos = res;
}
PUT_PCK64_RES0 (packet, DP64_INIT);
if (k == 0) {
- PUT_PCK64_RES1 (packet, (uae_s64)-1);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_INVALID_LOCK);
return;
}
k = lookup_key (unit, GET_PCK64_ARG1 (packet));
if (k == 0) {
- PUT_PCK64_RES1 (packet, DOS_TRUE);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_OBJECT_NOT_AROUND);
return;
}
PUT_PCK64_RES0 (packet, DP64_INIT);
if (k == 0) {
- PUT_PCK64_RES1 (packet, (uae_s64)-1);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_INVALID_LOCK);
return;
}
return;
}
}
- PUT_PCK64_RES1 (packet, (uae_s64)-1);
+ PUT_PCK64_RES1 (packet, DOS_FALSE);
PUT_PCK64_RES2 (packet, ERROR_SEEK_ERROR);
}
/* iterate from root to last to previous path part,
* create ainos if not already created.
*/
- path = xcalloc((_tcslen(npath) + 2) * sizeof (TCHAR), 1);
+ path = xcalloc((_tcslen (npath) + 2) * sizeof (TCHAR), 1);
cnt = 1;
for (;;) {
_tcscpy (path, npath);
Key *k;
missing = 0;
- k = xcalloc (sizeof(Key), 1);
+ k = xcalloc (sizeof (Key), 1);
k->uniq = restore_u64 ();
k->file_pos = restore_u32 ();
k->createmode = restore_u32 ();
db(0x60); db(0x00); db(0x09); db(0x8e); db(0x00); db(0x00); db(0x07); db(0x6c);
db(0x00); db(0x00); db(0x00); db(0x30); db(0x00); db(0x00); db(0x01); db(0x8c);
db(0x00); db(0x00); db(0x00); db(0x1c); db(0x00); db(0x00); db(0x02); db(0x48);
- db(0x00); db(0x00); db(0x0d); db(0x5c); db(0x43); db(0xfa); db(0x16); db(0x64);
+ db(0x00); db(0x00); db(0x0d); db(0x5c); db(0x43); db(0xfa); db(0x16); db(0x78);
db(0x4e); db(0xae); db(0xff); db(0xa0); db(0x20); db(0x40); db(0x20); db(0x28);
db(0x00); db(0x16); db(0x20); db(0x40); db(0x4e); db(0x90); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0xff); db(0xfe); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x30); db(0x3c); db(0xff); db(0xfc); db(0x61); db(0x00); db(0x0b); db(0x8a);
- db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x16); db(0x6d); db(0x70); db(0x24);
+ db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x16); db(0x81); db(0x70); db(0x24);
db(0x7a); db(0x01); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80);
- db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x16); db(0x5d); db(0x70); db(0x00);
+ db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x16); db(0x71); db(0x70); db(0x00);
db(0x7a); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x28); db(0x40);
db(0x4a); db(0xad); db(0x01); db(0x0c); db(0x67); db(0x5a); db(0x20); db(0x3c);
db(0x00); db(0x00); db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01);
db(0x0a); db(0xf8); db(0x4e); db(0x90); db(0x72); db(0x03); db(0x74); db(0xf6);
db(0x20); db(0x7c); db(0x00); db(0x20); db(0x00); db(0x00); db(0x90); db(0x88);
db(0x65); db(0x0a); db(0x67); db(0x08); db(0x78); db(0x00); db(0x22); db(0x44);
- db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x15); db(0x68);
+ db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x15); db(0x7c);
db(0x43); db(0xfa); db(0x00); db(0x54); db(0x70); db(0x0a); db(0x61); db(0x00);
db(0x0b); db(0xac); db(0x22); db(0x40); db(0x72); db(0x01); db(0x30); db(0x3c);
db(0xff); db(0x48); db(0x61); db(0x00); db(0x0a); db(0xc4); db(0x4e); db(0x90);
db(0x4c); db(0xdf); db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0x38); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x24); db(0x00);
db(0x28); db(0x01); db(0x26); db(0x09); db(0x24); db(0x48); db(0x43); db(0xfa);
- db(0x15); db(0x62); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x15); db(0x76); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
db(0x4a); db(0x80); db(0x67); db(0x14); db(0x2c); db(0x40); db(0x22); db(0x0a);
db(0xe4); db(0x8b); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x22); db(0x4e);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62);
db(0x4c); db(0xdf); db(0x44); db(0x1c); db(0x4e); db(0x75); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
- db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x15); db(0x13);
+ db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x15); db(0x27);
db(0x43); db(0xfa); db(0x00); db(0x16); db(0x70); db(0x0f); db(0x22); db(0x3c);
db(0x00); db(0x00); db(0x1f); db(0x40); db(0x61); db(0x00); db(0xff); db(0xa8);
db(0x60); db(0xdc); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x10);
db(0x70); db(0x01); db(0x4c); db(0xdf); db(0x04); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0xc0); db(0xc0); db(0x70); db(0x1a); db(0x22); db(0x3c);
db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x22); db(0x40); db(0x41); db(0xfa); db(0x13); db(0xeb); db(0x23); db(0x48);
+ db(0x22); db(0x40); db(0x41); db(0xfa); db(0x13); db(0xff); db(0x23); db(0x48);
db(0x00); db(0x0a); db(0x41); db(0xfa); db(0xff); db(0x28); db(0x23); db(0x48);
db(0x00); db(0x0e); db(0x41); db(0xfa); db(0xff); db(0x20); db(0x23); db(0x48);
db(0x00); db(0x12); db(0x33); db(0x7c); db(0x02); db(0x14); db(0x00); db(0x08);
db(0x00); db(0x00); db(0x00); db(0x0e); db(0x52); db(0x40); db(0x0c); db(0x40);
db(0x00); db(0x8c); db(0x66); db(0xf2); db(0x20); db(0x0a); db(0xe4); db(0x88);
db(0x21); db(0x40); db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa);
- db(0x13); db(0x6f); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
+ db(0x13); db(0x83); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
db(0x01); db(0x98); db(0x41); db(0xe8); db(0x00); db(0x12); db(0x4e); db(0xae);
db(0xff); db(0x10); db(0x4c); db(0xdf); db(0x4f); db(0x03); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x7f); db(0x7e); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x60); db(0xf4); db(0x48); db(0xe7); db(0x40); db(0xe2); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50);
db(0x4a); db(0x90); db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a);
- db(0x45); db(0xfa); db(0x12); db(0xc1); db(0x10); db(0x19); db(0x12); db(0x1a);
+ db(0x45); db(0xfa); db(0x12); db(0xd5); db(0x10); db(0x19); db(0x12); db(0x1a);
db(0xb0); db(0x01); db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x42);
db(0x60); db(0xf2); db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08);
- db(0x00); db(0x08); db(0x41); db(0xfa); db(0x12); db(0x97); db(0x25); db(0x48);
- db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x12); db(0x13); db(0x25); db(0x48);
+ db(0x00); db(0x08); db(0x41); db(0xfa); db(0x12); db(0xab); db(0x25); db(0x48);
+ db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x12); db(0x27); db(0x25); db(0x48);
db(0x00); db(0x0e); db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88);
db(0x58); db(0x90); db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee);
db(0x01); db(0x50); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a);
db(0x67); db(0x3a); db(0x20); db(0x52); db(0x24); db(0x40); db(0x22); db(0x4a);
db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c); db(0x00); db(0x3a);
db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x43); db(0xfa); db(0x0d); db(0x90); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0x43); db(0xfa); db(0x0d); db(0xa4); db(0x70); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x2c); db(0x40); db(0x22); db(0x0a); db(0x4e); db(0xae);
db(0xff); db(0x52); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a); db(0x20); db(0x02);
db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2c); db(0x01); db(0x7e); db(0x06);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0d); db(0x8b);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0d); db(0x9f);
db(0x70); db(0x24); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80);
db(0x66); db(0x0e); db(0x08); db(0x87); db(0x00); db(0x02); db(0x43); db(0xfa);
- db(0x0d); db(0x79); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x0d); db(0x8d); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x20); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x2c);
db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x4e); db(0x75);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x93); db(0xc9); db(0x4e); db(0xae);
db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8); db(0x00); db(0x5c);
- db(0x43); db(0xfa); db(0x0c); db(0xe0); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0x43); db(0xfa); db(0x0c); db(0xf4); db(0x70); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x24); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x00); db(0xb9); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x7c); db(0x00);
db(0x26); db(0x86); db(0x27); db(0x46); db(0x00); db(0x04); db(0x27); db(0x46);
db(0x00); db(0x08); db(0x27); db(0x4a); db(0x00); db(0xa0); db(0x50); db(0xeb);
db(0x00); db(0x9e); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
- db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x0b); db(0xdc);
+ db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x0b); db(0xf0);
db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0x84);
- db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x0b); db(0xd9);
+ db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x0b); db(0xed);
db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0x74);
db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00); db(0x20); db(0x4d);
db(0x4e); db(0xae); db(0xfe); db(0x80); db(0x20); db(0x4d); db(0x4e); db(0xae);
db(0x25); db(0x4b); db(0x00); db(0x36); db(0x22); db(0x4a); db(0x24); db(0x43);
db(0x97); db(0xcb); db(0x24); db(0x09); db(0x4e); db(0xae); db(0xfe); db(0xe6);
db(0x20); db(0x02); db(0x4c); db(0xdf); db(0x4c); db(0x1c); db(0x4e); db(0x75);
- db(0x41); db(0xfa); db(0x09); db(0x34); db(0x43); db(0xfa); db(0x01); db(0x5c);
+ db(0x41); db(0xfa); db(0x09); db(0x48); db(0x43); db(0xfa); db(0x01); db(0x5c);
db(0x70); db(0x13); db(0x61); db(0x00); db(0xff); db(0x98); db(0x4e); db(0x75);
db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x33); db(0x7c); db(0x00); db(0x0a);
db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
db(0x00); db(0x08); db(0x27); db(0x46); db(0x00); db(0x0c); db(0x70); db(0xff);
db(0x37); db(0x40); db(0x00); db(0x00); db(0x43); db(0xed); db(0x00); db(0x00);
db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08); db(0x13); db(0x7c);
- db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x07); db(0x78);
+ db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x07); db(0x8c);
db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x02); db(0xda);
db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4d); db(0x00); db(0x0e);
db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x20); db(0x06);
db(0x00); db(0x1c); db(0x6a); db(0x06); db(0x70); db(0x0a); db(0x27); db(0x40);
db(0x00); db(0x1c); db(0x4a); db(0xab); db(0x00); db(0x14); db(0x66); db(0x16);
db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xe0); db(0x43); db(0xfa);
- db(0x07); db(0x96); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x07); db(0xaa); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8);
db(0x27); db(0x40); db(0x00); db(0x14); db(0x67); db(0xd0); db(0x4a); db(0xab);
db(0x00); db(0x18); db(0x66); db(0x18); db(0x4a); db(0xab); db(0x00); db(0x1c);
- db(0x66); db(0xc4); db(0x43); db(0xfa); db(0x07); db(0x8c); db(0x70); db(0x00);
+ db(0x66); db(0xc4); db(0x43); db(0xfa); db(0x07); db(0xa0); db(0x70); db(0x00);
db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18);
db(0x67); db(0x00); db(0xff); db(0xb4); db(0x4a); db(0xad); db(0x02); db(0x08);
db(0x66); db(0x38); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xa6);
db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e);
- db(0x43); db(0xfa); db(0x06); db(0x80); db(0x4e); db(0xae); db(0xfe); db(0xec);
+ db(0x43); db(0xfa); db(0x06); db(0x94); db(0x4e); db(0xae); db(0xfe); db(0xec);
db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82);
- db(0x67); db(0x8c); db(0x41); db(0xfa); db(0x06); db(0x6e); db(0x70); db(0x00);
+ db(0x67); db(0x8c); db(0x41); db(0xfa); db(0x06); db(0x82); db(0x70); db(0x00);
db(0x72); db(0x00); db(0x61); db(0x00); db(0xfd); db(0x16); db(0x2b); db(0x40);
db(0x02); db(0x08); db(0x67); db(0x00); db(0x02); db(0x42); db(0x60); db(0x00);
db(0xff); db(0x76); db(0x4a); db(0xad); db(0x02); db(0x0c); db(0x66); db(0x48);
db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0x00); db(0xff); db(0x68);
db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e);
- db(0x43); db(0xfa); db(0x06); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0xec);
+ db(0x43); db(0xfa); db(0x06); db(0x61); db(0x4e); db(0xae); db(0xfe); db(0xec);
db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82);
- db(0x67); db(0x00); db(0xff); db(0x4c); db(0x41); db(0xfa); db(0x06); db(0x39);
+ db(0x67); db(0x00); db(0xff); db(0x4c); db(0x41); db(0xfa); db(0x06); db(0x4d);
db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0xd4);
db(0x2b); db(0x40); db(0x02); db(0x0c); db(0x67); db(0x00); db(0x02); db(0x00);
db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x00); db(0x61); db(0x00);
db(0x33); db(0x7c); db(0x00); db(0x32); db(0x00); db(0x46); db(0x30); db(0x3c);
db(0xff); db(0x38); db(0x72); db(0x02); db(0x61); db(0x00); db(0xf9); db(0xea);
db(0x4e); db(0x90); db(0x41); db(0xf9); db(0x00); db(0xdf); db(0xf0); db(0x00);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x04); db(0x32);
+ db(0x70); db(0x00); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x04); db(0x46);
db(0x43); db(0xfa); db(0x00); db(0x0a); db(0x70); db(0xf6); db(0x61); db(0x00);
db(0xfa); db(0xac); db(0x4e); db(0x75); db(0x9b); db(0xcd); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88);
db(0x20); db(0x0d); db(0x4e); db(0x90); db(0x70); db(0x00); db(0x08); db(0xc0);
db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x4e); db(0xae);
db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x7a); db(0x43); db(0xfa);
- db(0x04); db(0x3a); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
+ db(0x04); db(0x4e); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0xdc);
- db(0x42); db(0xad); db(0x00); db(0x08); db(0x41); db(0xfa); db(0x03); db(0xc2);
+ db(0x42); db(0xad); db(0x00); db(0x08); db(0x41); db(0xfa); db(0x03); db(0xd6);
db(0x43); db(0xfa); db(0x01); db(0x0a); db(0x70); db(0xf6); db(0x22); db(0x3c);
db(0x00); db(0x00); db(0x27); db(0x10); db(0x61); db(0x00); db(0xee); db(0xa0);
db(0x70); db(0x00); db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x38);
db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x20); db(0x3c);
db(0x00); db(0x00); db(0x00); db(0x88); db(0x4e); db(0xae); db(0xff); db(0x2e);
db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x3e);
- db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x03); db(0x58);
+ db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x03); db(0x6c);
db(0x22); db(0x08); db(0x24); db(0x3c); db(0x00); db(0x00); db(0x03); db(0xed);
db(0x4e); db(0xae); db(0xff); db(0xe2); db(0x28); db(0x00); db(0x67); db(0x4c);
db(0x45); db(0xed); db(0x00); db(0x68); db(0x42); db(0x92); db(0x34); db(0xaa);
db(0xf8); db(0xc0); db(0x4e); db(0x90); db(0x22); db(0x04); db(0x67); db(0x04);
db(0x4e); db(0xae); db(0xff); db(0xdc); db(0x4c); db(0xdf); db(0x7c); db(0x1c);
db(0x4e); db(0x75); db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa);
- db(0x02); db(0xd0); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
+ db(0x02); db(0xe4); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
db(0xff); db(0xac); db(0x22); db(0x00); db(0x67); db(0x34); db(0x4e); db(0xae);
db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x45); db(0xed);
db(0x00); db(0x38); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
- db(0x15); db(0x40); db(0x00); db(0x14); db(0x41); db(0xfa); db(0x02); db(0xc0);
+ db(0x15); db(0x40); db(0x00); db(0x14); db(0x41); db(0xfa); db(0x02); db(0xd4);
db(0x24); db(0x88); db(0x25); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x12);
db(0x00); db(0x0c); db(0x25); db(0x6d); db(0x00); db(0x08); db(0x00); db(0x10);
db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x22); db(0x0a); db(0x4e); db(0xae);
db(0xf8); db(0x50); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
db(0xfe); db(0xf4); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14);
db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x2b); db(0x40);
- db(0x00); db(0x08); db(0x43); db(0xfa); db(0x02); db(0xee); db(0x70); db(0x00);
+ db(0x00); db(0x08); db(0x43); db(0xfa); db(0x03); db(0x02); db(0x70); db(0x00);
db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2b); db(0x40); db(0x00); db(0x18);
db(0x4a); db(0x80); db(0x67); db(0x00); db(0xfe); db(0xd0); db(0x2c); db(0x40);
db(0x72); db(0x32); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x41); db(0xfa);
- db(0x02); db(0x24); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
+ db(0x02); db(0x38); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
db(0xff); db(0xac); db(0x4a); db(0x80); db(0x67); db(0xea); db(0x22); db(0x00);
db(0x4e); db(0xae); db(0xff); db(0xa6); db(0x72); db(0x32); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x02); db(0x0e); db(0x22); db(0x08);
+ db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x02); db(0x22); db(0x22); db(0x08);
db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac); db(0x4a); db(0x80);
db(0x67); db(0x00); db(0xfe); db(0x9a); db(0x22); db(0x00); db(0x4e); db(0xae);
db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x61); db(0x00);
db(0x61); db(0x00); db(0xf8); db(0x40); db(0x28); db(0x40); db(0x4a); db(0x80);
db(0x67); db(0x00); db(0xfe); db(0x7a); db(0x70); db(0x00); db(0x08); db(0xc0);
db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x72); db(0x00);
- db(0x20); db(0x2d); db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x01); db(0xe7);
+ db(0x20); db(0x2d); db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x01); db(0xfb);
db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x4a); db(0x80);
- db(0x66); db(0xe2); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0f);
- db(0x61); db(0x00); db(0xf7); db(0xa6); db(0x4e); db(0x90); db(0x61); db(0x00);
- db(0xfe); db(0xf2); db(0x41); db(0xed); db(0x00); db(0x1c); db(0x29); db(0x48);
- db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x24);
- db(0x39); db(0x7c); db(0x00); db(0x0c); db(0x00); db(0x1c); db(0x2b); db(0x4d);
- db(0x00); db(0x2c); db(0x41); db(0xfa); db(0x01); db(0x4a); db(0x2b); db(0x48);
- db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
- db(0x70); db(0x00); db(0x74); db(0x00); db(0x14); db(0x2d); db(0x00); db(0x4c);
- db(0x05); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae);
- db(0xfe); db(0xc2); db(0x05); db(0x00); db(0x67); db(0x06); db(0x61); db(0x00);
- db(0xfe); db(0x3c); db(0x60); db(0xe4); db(0x20); db(0x2d); db(0x00); db(0x00);
- db(0x67); db(0x00); db(0x00); db(0x72); db(0x72); db(0x01); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x2b); db(0x40); db(0x00); db(0x04); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x0c); db(0x61); db(0x00); db(0xf7); db(0x42);
- db(0x4e); db(0x90); db(0x4a); db(0xad); db(0x00); db(0x04); db(0x67); db(0x3a);
- db(0x39); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x1c); db(0x42); db(0x2c);
- db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x20); db(0x29); db(0x6d);
- db(0x00); db(0x00); db(0x00); db(0x24); db(0x29); db(0x6d); db(0x00); db(0x04);
- db(0x00); db(0x28); db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac);
- db(0x00); db(0x30); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
- db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10); db(0x39); db(0x7c);
- db(0x00); db(0x04); db(0x00); db(0x1c); db(0x22); db(0x4c); db(0x4e); db(0xae);
- db(0xfe); db(0x38); db(0x20); db(0x2d); db(0x00); db(0x00); db(0x42); db(0xad);
- db(0x00); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x04); db(0x67); db(0x00);
- db(0xff); db(0x78); db(0x22); db(0x41); db(0x4e); db(0xae); db(0xff); db(0x2e);
- db(0x60); db(0x00); db(0xff); db(0x6e); db(0x39); db(0x7c); db(0x00); db(0x02);
- db(0x00); db(0x1c); db(0x41); db(0xed); db(0x00); db(0x30); db(0x42); db(0x90);
- db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0x2c); db(0x00); db(0x1f);
- db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac); db(0x00); db(0x30);
- db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x08); db(0x29); db(0x40);
+ db(0x66); db(0xe2); db(0x20); db(0x6c); db(0x00); db(0x14); db(0x0c); db(0x68);
+ db(0x00); db(0x25); db(0x00); db(0x14); db(0x64); db(0x08); db(0x70); db(0x00);
+ db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x60); db(0xf8); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x0f); db(0x61); db(0x00); db(0xf7); db(0x92);
+ db(0x4e); db(0x90); db(0x61); db(0x00); db(0xfe); db(0xde); db(0x41); db(0xed);
+ db(0x00); db(0x1c); db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01);
+ db(0x29); db(0x40); db(0x00); db(0x24); db(0x39); db(0x7c); db(0x00); db(0x0c);
+ db(0x00); db(0x1c); db(0x2b); db(0x4d); db(0x00); db(0x2c); db(0x41); db(0xfa);
+ db(0x01); db(0x4a); db(0x2b); db(0x48); db(0x00); db(0x24); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x70); db(0x00); db(0x74); db(0x00);
+ db(0x14); db(0x2d); db(0x00); db(0x4c); db(0x05); db(0xc0); db(0x08); db(0xc0);
+ db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x05); db(0x00);
+ db(0x67); db(0x06); db(0x61); db(0x00); db(0xfe); db(0x28); db(0x60); db(0xe4);
+ db(0x20); db(0x2d); db(0x00); db(0x00); db(0x67); db(0x00); db(0x00); db(0x72);
+ db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2b); db(0x40);
+ db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0c);
+ db(0x61); db(0x00); db(0xf7); db(0x2e); db(0x4e); db(0x90); db(0x4a); db(0xad);
+ db(0x00); db(0x04); db(0x67); db(0x3a); db(0x39); db(0x7c); db(0x00); db(0x03);
+ db(0x00); db(0x1c); db(0x42); db(0x2c); db(0x00); db(0x1f); db(0x42); db(0xac);
+ db(0x00); db(0x20); db(0x29); db(0x6d); db(0x00); db(0x00); db(0x00); db(0x24);
+ db(0x29); db(0x6d); db(0x00); db(0x04); db(0x00); db(0x28); db(0x42); db(0xac);
+ db(0x00); db(0x2c); db(0x42); db(0xac); db(0x00); db(0x30); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x2b); db(0x6c); db(0x00); db(0x30);
+ db(0x00); db(0x10); db(0x39); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x1c);
+ db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x20); db(0x2d);
+ db(0x00); db(0x00); db(0x42); db(0xad); db(0x00); db(0x00); db(0x22); db(0x2d);
+ db(0x00); db(0x04); db(0x67); db(0x00); db(0xff); db(0x78); db(0x22); db(0x41);
+ db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x60); db(0x00); db(0xff); db(0x6e);
+ db(0x39); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x1c); db(0x41); db(0xed);
+ db(0x00); db(0x30); db(0x42); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04);
+ db(0x42); db(0x2c); db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x2c);
+ db(0x42); db(0xac); db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28);
+ db(0x70); db(0x08); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x0c); db(0xad); db(0x46); db(0x4f);
+ db(0x52); db(0x4d); db(0x00); db(0x30); db(0x66); db(0x52); db(0x20); db(0x2d);
+ db(0x00); db(0x34); db(0x67); db(0x4c); db(0x6b); db(0x4a); db(0x2b); db(0x6c);
+ db(0x00); db(0x30); db(0x00); db(0x10); db(0x50); db(0x80); db(0x24); db(0x00);
+ db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80);
+ db(0x67); db(0x36); db(0x24); db(0x40); db(0x20); db(0x4a); db(0x20); db(0xed);
+ db(0x00); db(0x30); db(0x20); db(0xed); db(0x00); db(0x34); db(0x29); db(0x48);
+ db(0x00); db(0x28); db(0x20); db(0x02); db(0x51); db(0x80); db(0x29); db(0x40);
db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
- db(0x0c); db(0xad); db(0x46); db(0x4f); db(0x52); db(0x4d); db(0x00); db(0x30);
- db(0x66); db(0x52); db(0x20); db(0x2d); db(0x00); db(0x34); db(0x67); db(0x4c);
- db(0x6b); db(0x4a); db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10);
- db(0x50); db(0x80); db(0x24); db(0x00); db(0x72); db(0x01); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x36); db(0x24); db(0x40);
- db(0x20); db(0x4a); db(0x20); db(0xed); db(0x00); db(0x30); db(0x20); db(0xed);
- db(0x00); db(0x34); db(0x29); db(0x48); db(0x00); db(0x28); db(0x20); db(0x02);
- db(0x51); db(0x80); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c);
- db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x30); db(0x3c); db(0xff); db(0x38);
- db(0x72); db(0x0b); db(0x61); db(0x00); db(0xf6); db(0x6c); db(0x20); db(0x2c);
- db(0x00); db(0x20); db(0x4e); db(0x90); db(0x22); db(0x4a); db(0x20); db(0x02);
- db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4a); db(0xac); db(0x00); db(0x20);
- db(0x67); db(0x00); db(0xfe); db(0xde); db(0x41); db(0xed); db(0x00); db(0x30);
- db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40);
- db(0x00); db(0x24); db(0x42); db(0xac); db(0x00); db(0x20); db(0x22); db(0x4c);
- db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x60); db(0xde); db(0x41); db(0xe8);
- db(0xff); db(0xe4); db(0x20); db(0x29); db(0x00); db(0x08); db(0xb0); db(0xa8);
- db(0x00); db(0x10); db(0x67); db(0x1a); db(0x21); db(0x40); db(0x00); db(0x10);
- db(0x2f); db(0x0e); db(0x2c); db(0x68); db(0x00); db(0x14); db(0x22); db(0x68);
- db(0x00); db(0x08); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
- db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x2c); db(0x5f); db(0x70); db(0x00);
- db(0x4e); db(0x75); db(0x69); db(0x6e); db(0x70); db(0x75); db(0x74); db(0x2e);
- db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x74);
- db(0x69); db(0x6d); db(0x65); db(0x72); db(0x2e); db(0x64); db(0x65); db(0x76);
- db(0x69); db(0x63); db(0x65); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53);
- db(0x3a); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53); db(0x3a); db(0x63);
- db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64);
+ db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0b); db(0x61); db(0x00);
+ db(0xf6); db(0x58); db(0x20); db(0x2c); db(0x00); db(0x20); db(0x4e); db(0x90);
+ db(0x22); db(0x4a); db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e);
+ db(0x4a); db(0xac); db(0x00); db(0x20); db(0x67); db(0x00); db(0xfe); db(0xde);
+ db(0x41); db(0xed); db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28);
+ db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x24); db(0x42); db(0xac);
+ db(0x00); db(0x20); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38);
+ db(0x60); db(0xde); db(0x41); db(0xe8); db(0xff); db(0xe4); db(0x20); db(0x29);
+ db(0x00); db(0x08); db(0xb0); db(0xa8); db(0x00); db(0x10); db(0x67); db(0x1a);
+ db(0x21); db(0x40); db(0x00); db(0x10); db(0x2f); db(0x0e); db(0x2c); db(0x68);
+ db(0x00); db(0x14); db(0x22); db(0x68); db(0x00); db(0x08); db(0x70); db(0x00);
+ db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xbc);
+ db(0x2c); db(0x5f); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x69); db(0x6e);
+ db(0x70); db(0x75); db(0x74); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69);
+ db(0x63); db(0x65); db(0x00); db(0x74); db(0x69); db(0x6d); db(0x65); db(0x72);
db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00);
- db(0x52); db(0x41); db(0x4d); db(0x3a); db(0x00); db(0x63); db(0x6c); db(0x69);
- db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64);
- db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x52); db(0x41);
- db(0x4d); db(0x3a); db(0x45); db(0x6e); db(0x76); db(0x2f); db(0x53); db(0x79);
- db(0x73); db(0x2f); db(0x50); db(0x6f); db(0x69); db(0x6e); db(0x74); db(0x65);
- db(0x72); db(0x2e); db(0x70); db(0x72); db(0x65); db(0x66); db(0x73); db(0x00);
- db(0x55); db(0x41); db(0x45); db(0x20); db(0x63); db(0x6c); db(0x69); db(0x70);
- db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x20); db(0x73); db(0x68);
- db(0x61); db(0x72); db(0x69); db(0x6e); db(0x67); db(0x00); db(0x55); db(0x41);
- db(0x45); db(0x20); db(0x6d); db(0x6f); db(0x75); db(0x73); db(0x65); db(0x20);
- db(0x64); db(0x72); db(0x69); db(0x76); db(0x65); db(0x72); db(0x00); db(0x55);
- db(0x41); db(0x45); db(0x20); db(0x66); db(0x69); db(0x6c); db(0x65); db(0x73);
- db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x00); db(0x55); db(0x41);
- db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74);
- db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x65); db(0x72);
- db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); db(0x20);
- db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e);
- db(0x74); db(0x20); db(0x70); db(0x72); db(0x6f); db(0x63); db(0x65); db(0x73);
- db(0x73); db(0x00); db(0x64); db(0x6f); db(0x73); db(0x2e); db(0x6c); db(0x69);
- db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x69); db(0x6e);
- db(0x74); db(0x75); db(0x69); db(0x74); db(0x69); db(0x6f); db(0x6e); db(0x2e);
- db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00);
- db(0x67); db(0x72); db(0x61); db(0x70); db(0x68); db(0x69); db(0x63); db(0x73);
- db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79);
- db(0x00); db(0x65); db(0x78); db(0x70); db(0x61); db(0x6e); db(0x73); db(0x69);
- db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61);
- db(0x72); db(0x79); db(0x00); db(0x46); db(0x69); db(0x6c); db(0x65); db(0x53);
- db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x2e); db(0x72); db(0x65);
- db(0x73); db(0x6f); db(0x75); db(0x72); db(0x63); db(0x65); db(0x00); db(0x00);
- db(0x00); db(0x00); db(0x03); db(0xf2);
+ db(0x44); db(0x45); db(0x56); db(0x53); db(0x3a); db(0x00); db(0x44); db(0x45);
+ db(0x56); db(0x53); db(0x3a); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62);
+ db(0x6f); db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76);
+ db(0x69); db(0x63); db(0x65); db(0x00); db(0x52); db(0x41); db(0x4d); db(0x3a);
+ db(0x00); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61);
+ db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63);
+ db(0x65); db(0x00); db(0x52); db(0x41); db(0x4d); db(0x3a); db(0x45); db(0x6e);
+ db(0x76); db(0x2f); db(0x53); db(0x79); db(0x73); db(0x2f); db(0x50); db(0x6f);
+ db(0x69); db(0x6e); db(0x74); db(0x65); db(0x72); db(0x2e); db(0x70); db(0x72);
+ db(0x65); db(0x66); db(0x73); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20);
+ db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72);
+ db(0x64); db(0x20); db(0x73); db(0x68); db(0x61); db(0x72); db(0x69); db(0x6e);
+ db(0x67); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x6d); db(0x6f);
+ db(0x75); db(0x73); db(0x65); db(0x20); db(0x64); db(0x72); db(0x69); db(0x76);
+ db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66);
+ db(0x69); db(0x6c); db(0x65); db(0x73); db(0x79); db(0x73); db(0x74); db(0x65);
+ db(0x6d); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x73);
+ db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75);
+ db(0x6e); db(0x74); db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); db(0x45);
+ db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f);
+ db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x20); db(0x70); db(0x72);
+ db(0x6f); db(0x63); db(0x65); db(0x73); db(0x73); db(0x00); db(0x64); db(0x6f);
+ db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72);
+ db(0x79); db(0x00); db(0x69); db(0x6e); db(0x74); db(0x75); db(0x69); db(0x74);
+ db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72);
+ db(0x61); db(0x72); db(0x79); db(0x00); db(0x67); db(0x72); db(0x61); db(0x70);
+ db(0x68); db(0x69); db(0x63); db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62);
+ db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x65); db(0x78); db(0x70);
+ db(0x61); db(0x6e); db(0x73); db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c);
+ db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x46);
+ db(0x69); db(0x6c); db(0x65); db(0x53); db(0x79); db(0x73); db(0x74); db(0x65);
+ db(0x6d); db(0x2e); db(0x72); db(0x65); db(0x73); db(0x6f); db(0x75); db(0x72);
+ db(0x63); db(0x65); db(0x00); db(0x00); db(0x00); db(0x00); db(0x03); db(0xf2);
/* Contains the filename of .uaerc */
extern TCHAR optionsfile[];
extern void save_options (struct zfile *, struct uae_prefs *, int);
-extern void cfgfile_write (struct zfile *, TCHAR *format,...);
-extern void cfgfile_dwrite (struct zfile *, TCHAR *format,...);
-extern void cfgfile_target_write (struct zfile *, TCHAR *format,...);
-extern void cfgfile_target_dwrite (struct zfile *, TCHAR *format,...);
+
+extern void cfgfile_write (struct zfile *, TCHAR *option, TCHAR *format,...);
+extern void cfgfile_dwrite (struct zfile *, TCHAR *option, TCHAR *format,...);
+extern void cfgfile_target_write (struct zfile *, TCHAR *option, TCHAR *format,...);
+extern void cfgfile_target_dwrite (struct zfile *, TCHAR *option, TCHAR *format,...);
+
+extern void cfgfile_write_bool (struct zfile *f, TCHAR *option, int b);
+extern void cfgfile_dwrite_bool (struct zfile *f, TCHAR *option, int b);
+extern void cfgfile_target_write_bool (struct zfile *f, TCHAR *option, int b);
+extern void cfgfile_target_dwrite_bool (struct zfile *f, TCHAR *option, int b);
+
+extern void cfgfile_write_str (struct zfile *f, TCHAR *option, const TCHAR *value);
+extern void cfgfile_dwrite_str (struct zfile *f, TCHAR *option, const TCHAR *value);
+extern void cfgfile_target_write_str (struct zfile *f, TCHAR *option, const TCHAR *value);
+extern void cfgfile_target_dwrite_str (struct zfile *f, TCHAR *option, const TCHAR *value);
+
extern void cfgfile_backup (const TCHAR *path);
extern struct uaedev_config_info *add_filesys_config (struct uae_prefs *p, int index,
TCHAR *devname, TCHAR *volname, TCHAR *rootdir, int readonly,
extern TCHAR *au_copy (TCHAR *dst, int maxlen, const char *src);
extern char *uacp_copy (char *dst, int maxlen, const TCHAR *src, unsigned int cp);
extern TCHAR *aucp_copy (TCHAR *dst, int maxlen, const char *src, unsigned int cp);
+extern char *uutf8 (const TCHAR *s);
+extern TCHAR *utf8u (const char *s);
extern void *xmalloc (size_t);
extern void *xcalloc (size_t, size_t);
/* These are prototypes for functions from the Win32 posixemu file */
extern void get_time (time_t t, long* days, long* mins, long* ticks);
extern time_t put_time (long days, long mins, long ticks);
-extern DWORD getattr (const TCHAR *name, LPFILETIME lpft, size_t *size);
/* #define DONT_HAVE_POSIX - don't need all of Mathias' posixemu_functions, just a subset (below) */
#define chmod(a,b) posixemu_chmod ((a), (b))
extern int posixemu_chmod (const TCHAR *, int);
#define stat(a,b) posixemu_stat ((a), (b))
-extern int posixemu_stat (const TCHAR *, struct stat *);
+extern int posixemu_stat (const TCHAR *, struct _stat64 *);
#define mkdir(x,y) mkdir(x)
#define truncate posixemu_truncate
extern int posixemu_truncate (const TCHAR *, long int);
static void out_config (struct zfile *f, int id, int num, TCHAR *s1, TCHAR *s2)
{
- cfgfile_write (f, L"input.%d.%s%d=%s\n", id, s1, num, s2);
+ TCHAR tmp[MAX_DPATH];
+ _stprintf (tmp, L"input.%d.%s%d", id, s1, num);
+ cfgfile_write_str (f, tmp, s2);
}
static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR *tmp1, struct uae_input_device *id)
{
- TCHAR tmp2[200], *p;
+ TCHAR tmp2[200], tmp3[200], *p;
int evt, got, j, k;
TCHAR *custom;
_stprintf (p, L"%s.%d", events[evt].confname, id->flags[i + offset][j]);
p += _tcslen (p);
}
- if (p > tmp2)
- cfgfile_write (f, L"input.%d.%s%d=%s\n", idnum, tmp1, i, tmp2);
+ if (p > tmp2) {
+ _stprintf (tmp3, L"input.%d.%s%d", idnum, tmp1, i);
+ cfgfile_write_str (f, tmp3, tmp2);
+ }
}
static struct inputdevice_functions *getidf (int devnum);
static void write_config (struct zfile *f, int idnum, int devnum, TCHAR *name, struct uae_input_device *id, struct uae_input_device2 *id2, struct inputdevice_functions *idf)
{
- TCHAR tmp1[MAX_DPATH], *s;
+ TCHAR tmp1[MAX_DPATH], tmp2[MAX_DPATH], *s;
int i;
if (!isdevice (id)) {
- cfgfile_write (f, L"input.%d.%s.%d.empty=true\n", idnum, name, devnum);
- if (id->enabled)
- cfgfile_write (f, L"input.%d.%s.%d.disabled=%d\n", idnum, name, devnum, id->enabled ? 0 : 1);
+ _stprintf (tmp2, L"input.%d.%s.%d.empty", idnum, name, devnum);
+ cfgfile_write_bool (f, tmp2, 1);
+ if (id->enabled) {
+ _stprintf (tmp2, L"input.%d.%s.%d.disabled", idnum, name, devnum);
+ cfgfile_write (f, tmp2, L"%d", id->enabled ? 0 : 1);
+ }
return;
}
- cfgfile_write (f, L"input.%d.%s.%d.empty=false\n", idnum, name, devnum);
- cfgfile_write (f, L"input.%d.%s.%d.disabled=%d\n", idnum, name, devnum, id->enabled ? 0 : 1);
+
+ _stprintf (tmp2, L"input.%d.%s.%d.empty", idnum, name, devnum);
+ cfgfile_write_bool (f, tmp2, 0);
+ _stprintf (tmp2, L"input.%d.%s.%d.disabled", idnum, name, devnum);
+ cfgfile_write (f, tmp2, L"%d", id->enabled ? 0 : 1);
s = NULL;
if (id->name)
s = id->name;
else if (devnum < idf->get_num ())
s = idf->get_friendlyname (devnum);
- if (s)
- cfgfile_write (f, L"input.%d.%s.%d.friendlyname=%s\n", idnum, name, devnum, s);
+ if (s) {
+ _stprintf (tmp2, L"input.%d.%s.%d.friendlyname", idnum, name, devnum);
+ cfgfile_write_str (f, tmp2, s);
+ }
s = NULL;
if (id->configname)
s = id->configname;
else if (devnum < idf->get_num ())
s = idf->get_uniquename (devnum);
- if (s)
- cfgfile_write (f, L"input.%d.%s.%d.name=%s\n", idnum, name, devnum, s);
+ if (s) {
+ _stprintf (tmp2, L"input.%d.%s.%d.name", idnum, name, devnum);
+ cfgfile_write_str (f, tmp2, s);
+ }
_stprintf (tmp1, L"%s.%d.axis.", name, devnum);
for (i = 0; i < ID_AXIS_TOTAL; i++)
static void write_kbr_config (struct zfile *f, int idnum, int devnum, struct uae_input_device *kbr, struct inputdevice_functions *idf)
{
- TCHAR tmp1[200], tmp2[200], tmp3[200], *p;
+ TCHAR tmp1[200], tmp2[200], tmp3[200], tmp4[200], *p;
int i, j, k, evt, skip;
if (!keyboard_default)
_stprintf (tmp3, L"%d", kbr->extra[i][0]);
kbrlabel (tmp3);
_stprintf (tmp1, L"keyboard.%d.button.%s", devnum, tmp3);
- cfgfile_write (f, L"input.%d.%s=%s\n", idnum, tmp1, tmp2[0] ? tmp2 : L"NULL");
+ _stprintf (tmp4, L"input.%d.%s", idnum, tmp1);
+ cfgfile_write_str (f, tmp4, tmp2[0] ? tmp2 : L"NULL");
i++;
}
}
{
int i, id;
- cfgfile_write (f, L"input.config=%d\n", p->input_selected_setting);
- cfgfile_write (f, L"input.joymouse_speed_analog=%d\n", p->input_joymouse_multiplier);
- cfgfile_write (f, L"input.joymouse_speed_digital=%d\n", p->input_joymouse_speed);
- cfgfile_write (f, L"input.joymouse_deadzone=%d\n", p->input_joymouse_deadzone);
- cfgfile_write (f, L"input.joystick_deadzone=%d\n", p->input_joystick_deadzone);
- cfgfile_write (f, L"input.analog_joystick_multiplier=%d\n", p->input_analog_joystick_mult);
- cfgfile_write (f, L"input.analog_joystick_offset=%d\n", p->input_analog_joystick_offset);
- cfgfile_write (f, L"input.mouse_speed=%d\n", p->input_mouse_speed);
- cfgfile_write (f, L"input.autofire=%d\n", p->input_autofire_framecnt);
+ cfgfile_write (f, L"input.config", L"%d", p->input_selected_setting);
+ cfgfile_write (f, L"input.joymouse_speed_analog", L"%d", p->input_joymouse_multiplier);
+ cfgfile_write (f, L"input.joymouse_speed_digital", L"%d", p->input_joymouse_speed);
+ cfgfile_write (f, L"input.joymouse_deadzone", L"%d", p->input_joymouse_deadzone);
+ cfgfile_write (f, L"input.joystick_deadzone", L"%d", p->input_joystick_deadzone);
+ cfgfile_write (f, L"input.analog_joystick_multiplier", L"%d", p->input_analog_joystick_mult);
+ cfgfile_write (f, L"input.analog_joystick_offset", L"%d", p->input_analog_joystick_offset);
+ cfgfile_write (f, L"input.mouse_speed", L"%d", p->input_mouse_speed);
+ cfgfile_write (f, L"input.autofire", L"%d", p->input_autofire_framecnt);
for (id = 1; id <= MAX_INPUT_SETTINGS; id++) {
for (i = 0; i < MAX_INPUT_DEVICES; i++)
write_config (f, id, i, L"joystick", &p->joystick_settings[id][i], &joysticks2[i], &idev[IDTYPE_JOYSTICK]);
extendedkickmem_type = EXTENDED_ROM_CDTV;
} else if (size > 300000) {
extendedkickmem_type = EXTENDED_ROM_CD32;
- } else {
+ } else if (need_uae_boot_rom () != 0xf00000) {
extendedkickmem_type = EXTENDED_ROM_CDTV;
- }
+ } else
+ return 0;
zfile_fseek (f, off, SEEK_SET);
switch (extendedkickmem_type) {
xfree (buf);
}
-FILE *moduleripper_fopen (const char *name, const char *mode)
+FILE *moduleripper_fopen (const char *aname, const char *amode)
{
TCHAR tmp2[MAX_DPATH];
TCHAR tmp[MAX_DPATH];
- TCHAR *ufn, *umode;
+ TCHAR *name, *mode;
FILE *f;
fetch_ripperpath (tmp, sizeof tmp);
- ufn = au (name);
- umode = au (mode);
- _stprintf (tmp2, L"%s%s", tmp, ufn);
- f = _tfopen (tmp2, umode);
- xfree (umode);
- xfree (ufn);
+ name = au (aname);
+ mode = au (amode);
+ _stprintf (tmp2, L"%s%s", tmp, name);
+ f = _tfopen (tmp2, mode);
+ xfree (mode);
+ xfree (name);
return f;
}
-FILE *moduleripper2_fopen (const char *name, const char *mode, const char *id, int addr, int size)
+FILE *moduleripper2_fopen (const char *name, const char *mode, const char *aid, int addr, int size)
{
TCHAR msg[MAX_DPATH], msg2[MAX_DPATH];
+ TCHAR *id;
int ret;
if (canceled)
return NULL;
got++;
translate_message (NUMSG_MODRIP_SAVE, msg);
+ id = au (aid);
_stprintf (msg2, msg, id, addr, size);
ret = gui_message_multibutton (2, msg2);
+ xfree (id);
if (ret < 0)
canceled = 1;
if (ret < 0 || ret != 1)
if (!sb->hostent) {
write_log (L"BSDSOCK: WARNING - gethostby%s() ran out of Amiga memory "
L"(couldn't allocate %ld bytes) while returning result of lookup for '%s'\n",
- addrtype == -1 ? "name" : "addr", size, name_rp);
+ addrtype == -1 ? L"name" : L"addr", size, name_rp);
bsdsocklib_seterrno(sb, 12); // ENOMEM
return;
}
#define secs_per_day (24 * 60 * 60)
#define diff ((8 * 365 + 2) * secs_per_day)
-static void get_time(time_t t, long *days, long *mins, long *ticks)
+static void get_time (time_t t, long *days, long *mins, long *ticks)
{
/* time_t is secs since 1-1-1970 */
/* days since 1-1-1978 */
*ticks = t * 50;
}
-static DWORD getattr(const TCHAR *name, LPFILETIME lpft, size_t *size)
+static DWORD getattr (const TCHAR *name, LPFILETIME lpft, uae_u64 *size)
{
HANDLE hFind;
WIN32_FIND_DATA fd;
- if ((hFind = FindFirstFile (name,&fd)) == INVALID_HANDLE_VALUE) {
+ if ((hFind = FindFirstFile (name, &fd)) == INVALID_HANDLE_VALUE) {
fd.dwFileAttributes = GetFileAttributes (name);
return fd.dwFileAttributes;
}
if (lpft)
*lpft = fd.ftLastWriteTime;
if (size)
- *size = fd.nFileSizeLow;
+ *size = (((uae_u64)fd.nFileSizeHigh) << 32) | fd.nFileSizeLow;
return fd.dwFileAttributes;
}
-int posixemu_stat(const TCHAR *name, struct stat *statbuf)
+int posixemu_stat (const TCHAR *name, struct _stat64 *statbuf)
{
DWORD attr;
FILETIME ft, lft;
- if ((attr = getattr (name,&ft,(size_t*)&statbuf->st_size)) == (DWORD)~0) {
+ if ((attr = getattr (name, &ft, &statbuf->st_size)) == (DWORD)~0) {
return -1;
} else {
statbuf->st_mode = (attr & FILE_ATTRIBUTE_READONLY) ? FILEFLAG_READ : FILEFLAG_READ | FILEFLAG_WRITE;
return 0;
}
-int posixemu_chmod(const TCHAR *name, int mode)
+int posixemu_chmod (const TCHAR *name, int mode)
{
DWORD attr = FILE_ATTRIBUTE_NORMAL;
if (!(mode & FILEFLAG_WRITE))
attr |= FILE_ATTRIBUTE_READONLY;
if (mode & FILEFLAG_ARCHIVE)
attr |= FILE_ATTRIBUTE_ARCHIVE;
- if (SetFileAttributes(name,attr))
+ if (SetFileAttributes (name,attr))
return 1;
return -1;
}
-static void tmToSystemTime(struct tm *tmtime, LPSYSTEMTIME systime)
+static void tmToSystemTime (struct tm *tmtime, LPSYSTEMTIME systime)
{
if (tmtime == NULL) {
GetSystemTime (systime);
uae_u8 crc[20];
int s, v1, v2, v3;
TCHAR path[MAX_DPATH], fpath[MAX_PATH];
+ FILE *f;
if (!ppath) {
int ok = 0;
DeleteFile (path);
if (GetFileAttributes (path) != INVALID_FILE_ATTRIBUTES)
goto end;
+ f = _tfopen (path, L"wb");
+ if (f) {
+ uae_u8 bom[3] = { 0xef, 0xbb, 0xbf };
+ fwrite (bom, sizeof (bom), 1, f);
+ fclose (f);
+ }
r = regcreatetree (NULL, L"Warning");
if (!r)
goto end;
#include "sysconfig.h"
#include "sysdeps.h"
+char *uutf8 (const WCHAR *s)
+{
+ char *d;
+ int len;
+
+ if (s == NULL)
+ return NULL;
+ len = WideCharToMultiByte (CP_UTF8, 0, s, -1, NULL, 0, 0, FALSE);
+ if (!len)
+ return strdup ("");
+ d = xmalloc (len + 1);
+ WideCharToMultiByte (CP_UTF8, 0, s, -1, d, len, 0, FALSE);
+ return d;
+}
+WCHAR *utf8u (const char *s)
+{
+ WCHAR *d;
+ int len;
+
+ if (s == NULL)
+ return NULL;
+ len = MultiByteToWideChar (CP_UTF8, MB_PRECOMPOSED, s, -1, NULL, 0);
+ if (!len)
+ return xcalloc (2, 1);
+ d = xmalloc ((len + 1) * sizeof (WCHAR));
+ MultiByteToWideChar (CP_UTF8, MB_PRECOMPOSED, s, -1, d, len);
+ return d;
+}
+
static char *ua_2 (const WCHAR *s, UINT cp)
{
char *d;
#define LOG_BOOT L"winuaebootlog.txt"
#define LOG_NORMAL L"winuaelog.txt"
-void logging_open(int bootlog, int append)
+void logging_open (int bootlog, int append)
{
TCHAR debugfilename[MAX_DPATH];
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
-void logging_init(void)
+void logging_init (void)
{
LPFN_ISWOW64PROCESS fnIsWow64Process;
int wow64 = 0;
void target_save_options (struct zfile *f, struct uae_prefs *p)
{
- cfgfile_target_dwrite (f, L"middle_mouse=%s\n", p->win32_middle_mouse ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"logfile=%s\n", p->win32_logfile ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"map_drives=%s\n", p->win32_automount_drives ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"map_drives_auto=%s\n", p->win32_automount_removable ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"map_cd_drives=%s\n", p->win32_automount_cddrives ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"map_net_drives=%s\n", p->win32_automount_netdrives ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"map_removable_drives=%s\n", p->win32_automount_removabledrives ? L"true" : L"false");
+ cfgfile_target_dwrite_bool (f, L"middle_mouse", p->win32_middle_mouse);
+ cfgfile_target_dwrite_bool (f, L"logfile", p->win32_logfile);
+ cfgfile_target_dwrite_bool (f, L"map_drives", p->win32_automount_drives);
+ cfgfile_target_dwrite_bool (f, L"map_drives_auto", p->win32_automount_removable);
+ cfgfile_target_dwrite_bool (f, L"map_cd_drives", p->win32_automount_cddrives);
+ cfgfile_target_dwrite_bool (f, L"map_net_drives", p->win32_automount_netdrives);
+ cfgfile_target_dwrite_bool (f, L"map_removable_drives", p->win32_automount_removabledrives);
serdevtoname (p->sername);
- cfgfile_target_dwrite (f, L"serial_port=%s\n", p->sername[0] ? p->sername : L"none");
+ cfgfile_target_dwrite_str (f, L"serial_port", p->sername[0] ? p->sername : L"none");
sernametodev (p->sername);
- cfgfile_target_dwrite (f, L"parallel_port=%s\n", p->prtname[0] ? p->prtname : L"none");
-
- cfgfile_target_dwrite (f, L"active_priority=%d\n", priorities[p->win32_active_priority].value);
- cfgfile_target_dwrite (f, L"inactive_priority=%d\n", priorities[p->win32_inactive_priority].value);
- cfgfile_target_dwrite (f, L"inactive_nosound=%s\n", p->win32_inactive_nosound ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"inactive_pause=%s\n", p->win32_inactive_pause ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"iconified_priority=%d\n", priorities[p->win32_iconified_priority].value);
- cfgfile_target_dwrite (f, L"iconified_nosound=%s\n", p->win32_iconified_nosound ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"iconified_pause=%s\n", p->win32_iconified_pause ? L"true" : L"false");
-
- cfgfile_target_dwrite (f, L"ctrl_f11_is_quit=%s\n", p->win32_ctrl_F11_is_quit ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"midiout_device=%d\n", p->win32_midioutdev);
- cfgfile_target_dwrite (f, L"midiin_device=%d\n", p->win32_midiindev);
- cfgfile_target_dwrite (f, L"rtg_match_depth=%s\n", p->win32_rtgmatchdepth ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"rtg_scale_small=%s\n", p->win32_rtgscaleifsmall ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"rtg_scale_allow=%s\n", p->win32_rtgallowscaling ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"rtg_scale_aspect_ratio=%d:%d\n",
+ cfgfile_target_dwrite_str (f, L"parallel_port", p->prtname[0] ? p->prtname : L"none");
+
+ cfgfile_target_dwrite (f, L"active_priority", L"%d", priorities[p->win32_active_priority].value);
+ cfgfile_target_dwrite (f, L"inactive_priority", L"%d", priorities[p->win32_inactive_priority].value);
+ cfgfile_target_dwrite_bool (f, L"inactive_nosound", p->win32_inactive_nosound);
+ cfgfile_target_dwrite_bool (f, L"inactive_pause", p->win32_inactive_pause);
+ cfgfile_target_dwrite (f, L"iconified_priority", L"%d", priorities[p->win32_iconified_priority].value);
+ cfgfile_target_dwrite_bool (f, L"iconified_nosound", p->win32_iconified_nosound);
+ cfgfile_target_dwrite_bool (f, L"iconified_pause", p->win32_iconified_pause);
+
+ cfgfile_target_dwrite_bool (f, L"ctrl_f11_is_quit", p->win32_ctrl_F11_is_quit);
+ cfgfile_target_dwrite (f, L"midiout_device", L"%d", p->win32_midioutdev);
+ cfgfile_target_dwrite (f, L"midiin_device", L"%d", p->win32_midiindev);
+ cfgfile_target_dwrite_bool (f, L"rtg_match_depth", p->win32_rtgmatchdepth);
+ cfgfile_target_dwrite_bool (f, L"rtg_scale_small", p->win32_rtgscaleifsmall);
+ cfgfile_target_dwrite_bool (f, L"rtg_scale_allow", p->win32_rtgallowscaling);
+ cfgfile_target_dwrite (f, L"rtg_scale_aspect_ratio", L"%d:%d",
p->win32_rtgscaleaspectratio >= 0 ? (p->win32_rtgscaleaspectratio >> 8) : -1,
p->win32_rtgscaleaspectratio >= 0 ? (p->win32_rtgscaleaspectratio & 0xff) : -1);
if (p->win32_rtgvblankrate <= 0)
- cfgfile_target_dwrite (f, L"rtg_vblank=%s\n", p->win32_rtgvblankrate == -1 ? L"real" : (p->win32_rtgvblankrate == -2 ? L"disabled" : L"chipset"));
+ cfgfile_target_dwrite_str (f, L"rtg_vblank", p->win32_rtgvblankrate == -1 ? L"real" : (p->win32_rtgvblankrate == -2 ? L"disabled" : L"chipset"));
else
- cfgfile_target_dwrite (f, L"rtg_vblank=%d\n", p->win32_rtgvblankrate);
- cfgfile_target_dwrite (f, L"borderless=%s\n", p->win32_borderless ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"uaescsimode=%s\n", scsimode[p->win32_uaescsimode]);
- cfgfile_target_dwrite (f, L"soundcard=%d\n", p->win32_soundcard);
+ cfgfile_target_dwrite (f, L"rtg_vblank", L"%d", p->win32_rtgvblankrate);
+ cfgfile_target_dwrite_bool (f, L"borderless", p->win32_borderless);
+ cfgfile_target_dwrite_str (f, L"uaescsimode", scsimode[p->win32_uaescsimode]);
+ cfgfile_target_dwrite (f, L"soundcard", L"%d", p->win32_soundcard);
if (sound_devices[p->win32_soundcard].cfgname)
- cfgfile_target_dwrite (f, L"soundcardname=%s\n", sound_devices[p->win32_soundcard].cfgname);
- cfgfile_target_dwrite (f, L"cpu_idle=%d\n", p->cpu_idle);
- cfgfile_target_dwrite (f, L"notaskbarbutton=%s\n", p->win32_notaskbarbutton ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"always_on_top=%s\n", p->win32_alwaysontop ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"no_recyclebin=%s\n", p->win32_norecyclebin ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"specialkey=0x%x\n", p->win32_specialkey);
+ cfgfile_target_dwrite_str (f, L"soundcardname", sound_devices[p->win32_soundcard].cfgname);
+ cfgfile_target_dwrite (f, L"cpu_idle", L"%d", p->cpu_idle);
+ cfgfile_target_dwrite_bool (f, L"notaskbarbutton", p->win32_notaskbarbutton);
+ cfgfile_target_dwrite_bool (f, L"always_on_top", p->win32_alwaysontop);
+ cfgfile_target_dwrite_bool (f, L"no_recyclebin", p->win32_norecyclebin);
+ cfgfile_target_dwrite (f, L"specialkey", L"0x%x", p->win32_specialkey);
if (p->win32_guikey >= 0)
- cfgfile_target_dwrite (f, L"guikey=0x%x\n", p->win32_guikey);
- cfgfile_target_dwrite (f, L"kbledmode=%d\n", p->win32_kbledmode);
- cfgfile_target_dwrite (f, L"powersavedisabled=%s\n", p->win32_powersavedisabled ? L"true" : L"false");
- cfgfile_target_dwrite (f, L"filesystem_codepage=%d\n", p->win32_fscodepage);
+ cfgfile_target_dwrite (f, L"guikey", L"0x%x", p->win32_guikey);
+ cfgfile_target_dwrite (f, L"kbledmode", L"%d", p->win32_kbledmode);
+ cfgfile_target_dwrite_bool (f, L"powersavedisabled", p->win32_powersavedisabled);
+ cfgfile_target_dwrite (f, L"filesystem_codepage", L"%d", p->win32_fscodepage);
}
return 1;
}
- if (cfgfile_string (option, value, L"rtg_scale_aspect_ratio", tmpbuf, sizeof tmpbuf) / sizeof (TCHAR)) {
+ if (cfgfile_string (option, value, L"rtg_scale_aspect_ratio", tmpbuf, sizeof tmpbuf / sizeof (TCHAR))) {
int v1, v2;
TCHAR *s;
__time64_t now;
if (os_winnt && GetModuleFileName (NULL, path, MAX_DPATH)) {
+ TCHAR beta[100];
TCHAR *slash = _tcsrchr (path, '\\');
_time64 (&now);
when = *_localtime64 (&now);
p = slash + 1;
else
p = path2;
- _stprintf (p, L"winuae_%d%d%d%d_%d%02d%02d_%02d%02d%02d.dmp",
- UAEMAJOR, UAEMINOR, UAESUBREV, WINUAEBETA,
+ beta[0] = 0;
+ if (WINUAEPUBLICBETA > 0)
+ _stprintf (beta, L"b%s", WINUAEBETA);
+ _stprintf (p, L"winuae_%d%d%d%s_%d%02d%02d_%02d%02d%02d.dmp",
+ UAEMAJOR, UAEMINOR, UAESUBREV, beta,
when.tm_year + 1900, when.tm_mon + 1, when.tm_mday, when.tm_hour, when.tm_min, when.tm_sec);
if (dll == NULL)
dll = WIN32_LoadLibrary (L"DBGHELP.DLL");
#define WINUAEPUBLICBETA 1
-#define WINUAEBETA L"16"
-#define WINUAEDATE MAKEBD(2009, 3, 9)
+#define WINUAEBETA L"17"
+#define WINUAEDATE MAKEBD(2009, 3, 15)
#define WINUAEEXTRA L""
#define WINUAEREV L""
SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)L"SPTI");
SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)L"SPTI + SCSI SCAN");
- SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(0)) ? "AdaptecASPI" : "(AdaptecASPI)"));
- SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(1)) ? "NeroASPI" : "(NeroASPI)"));
- SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(2)) ? "FrogASPI" : "(FrogASPI)"));
+ SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(0)) ? L"AdaptecASPI" : L"(AdaptecASPI)"));
+ SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(1)) ? L"NeroASPI" : L"(NeroASPI)"));
+ SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(2)) ? L"FrogASPI" : L"(FrogASPI)"));
SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_SETCURSEL, workprefs.win32_uaescsimode - 1, 0);
}
+Beta 17: (even more fixes. do not use b15 or b16)
+
+- module ripper text conversion fixed
+- winuae.ini UTF-8 support (only new ones are created in UTF-8)
+- ACTION_READ with "illegal" length or address crashed (b15)
+- catweasel log information string wrong encoding fixed
+- ACTION_SEEK 2G limit and 64-bit filesystem packet fixes
+- configuration file handling bugs fixed (b15)
+- directory filesystem date field ignored timezone (b15)
+- crash dump file naming fixed (old bug)
+
Beta 16:
- multiple unicode conversion issues fixed, hardfile/drive issues,
if (!consoleopen)
openconsole();
if (consoleopen > 0)
- WriteOutput (buffer, _tcslen(buffer));
+ WriteOutput (buffer, _tcslen (buffer));
else if (consoleopen < 0)
WriteConsole (stdoutput, buffer, _tcslen (buffer), &temp,0);
}
va_list parms;
EnterCriticalSection (&cs);
- va_start(parms, format);
+ va_start (parms, format);
bufp = buffer;
for (;;) {
count = _vsntprintf (bufp, bufsize - 1, format, parms);
bufsize *= 10;
if (bufp != buffer)
xfree (bufp);
- bufp = xmalloc (bufsize);
+ bufp = xmalloc (bufsize * sizeof (TCHAR));
continue;
}
break;