{
uae_u32 chip = currprefs.chipmem_size - 0x10000;
int subtype = rd->id;
- int flags = rd->type;
+ int flags = rd->type & ROMTYPE_MASK;
const TCHAR *memname1, *memname2, *memname3;
memname1 = memname2 = memname3 = NULL;
hrtmon_ciaa = 0;
hrtmon_ciab = 0;
- if (flags & ROMTYPE_XPOWER) { /* xpower */
+ if (flags == ROMTYPE_XPOWER) { /* xpower */
hrtmem_start = 0xe20000;
hrtmem_size = 0x20000;
hrtmem2_start = 0xf20000;
hrtmem_rom = 1;
memname1 = _T("xpower_e2");
memname2 = _T("xpower_f2");
- } else if (flags & ROMTYPE_NORDIC) { /* nordic */
+ } else if (flags == ROMTYPE_NORDIC) { /* nordic */
hrtmem_start = 0xf00000;
hrtmem_size = 0x10000;
hrtmem_end = 0xf20000;
memset(hrtmemory3, 0, hrtmem3_size);
}
- if (flags & ROMTYPE_XPOWER) {
+ if (flags == ROMTYPE_XPOWER) {
hrtmon_custom = hrtmemory2 + 0xfc00;
hrtmon_ciaa = hrtmemory2 + 0xfc00;
hrtmon_ciab = hrtmemory2 + 0xfc01;
hrtmemory2[0xfc81] = chip >> 16;
hrtmemory2[0xfc82] = chip >> 8;
hrtmemory2[0xfc83] = chip >> 0;
- } else if (flags & ROMTYPE_NORDIC) {
+ } else if (flags == ROMTYPE_NORDIC) {
hrtmon_custom = hrtmemory2 + 0x3c00;
hrtmon_ciaa = hrtmemory2 + 0x3c00;
hrtmon_ciab = hrtmemory2 + 0x3c01;
armodel = 0;
action_replay_flag = ACTION_REPLAY_INACTIVE;
- write_log_debug (_T("Entered action_replay_load ()\n"));
/* Don't load a rom if one is already loaded. Use action_replay_unload () first. */
if (armemory_rom || hrtmemory) {
write_log (_T("action_replay_load () ROM already loaded.\n"));
return 0;
}
-
if (_tcslen (currprefs.cartfile) == 0)
return 0;
if (currprefs.cs_cd32fmv)
return 0;
+
+ write_log_debug (_T("Entered action_replay_load ()\n"));
+
rd = getromdatabypath (currprefs.cartfile);
if (rd) {
if (rd->id == 62)
if (!rd) {
write_log (_T("Unknown cartridge ROM\n"));
} else {
- if (rd->type & (ROMTYPE_SUPERIV | ROMTYPE_NORDIC | ROMTYPE_XPOWER)) {
+ int type = rd->type & ROMTYPE_MASK;
+ if (type == ROMTYPE_SUPERIV || rd->type == ROMTYPE_NORDIC || rd->type == ROMTYPE_XPOWER) {
return superiv_init (rd, f);
}
}
}
if (idx2 >= 0) {
struct romdata *rd = getromdatabyidgroup (idx2, group, subitem);
- if (rd && ((((rd->type & ROMTYPE_GROUP_MASK) & (type & ROMTYPE_GROUP_MASK)) && (rd->type & ROMTYPE_SUB_MASK) == (type & ROMTYPE_SUB_MASK)) ||
+ if (rd && ((((rd->type & ROMTYPE_GROUP_MASK) & (type & ROMTYPE_GROUP_MASK)) && ((rd->type & ROMTYPE_SUB_MASK) == (type & ROMTYPE_SUB_MASK) || !(type & ROMTYPE_SUB_MASK))) ||
(rd->type & type) == ROMTYPE_NONE)) {
getromname (rd, tmp);
if (SendDlgItemMessage (hDlg, d, CB_FINDSTRING, (WPARAM)-1, (LPARAM)tmp) < 0)