Naomi/AW: Backport rom list from lr. Skip ram test at aw startup

This commit is contained in:
Flyinghead 2018-11-12 14:53:15 +01:00
parent 9ccf0efdea
commit 895b3a5af1
3 changed files with 1705 additions and 450 deletions

View File

@ -632,6 +632,7 @@ void Update_naomi()
static u8 aw_maple_devs;
extern bool coin_chute;
static bool once = false;
u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size) {
addr &= 0x7ff;
@ -644,6 +645,12 @@ u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size) {
// c/d - 3P/4P coin inputs (EX. IO board), active low
//
// (ab == 0) -> BIOS skip RAM test
if (!once)
{
// Skip RAM test at startup
once = true;
return 0;
}
if (coin_chute)
{
// FIXME Coin Error if coin_chute is set for too long
@ -658,8 +665,12 @@ u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size) {
// 2,3: mouse/trackball
//printf("NAOMI 600284 read %x\n", aw_maple_devs);
return aw_maple_devs;
case 0x288:
// ??? Dolphin Blue
return 0;
}
EMUERROR("Unhandled read @ %x", addr);
EMUERROR("Unhandled read @ %x sz %d", addr, size);
return 0xFF;
}
@ -671,10 +682,13 @@ void libExtDevice_WriteMem_A0_006(u32 addr,u32 data,u32 size) {
case 0x284: // Atomiswave maple devices
printf("NAOMI 600284 write %x\n", data);
aw_maple_devs = data & 0xF0;
break;
return;
case 0x288:
// ??? Dolphin Blue
return;
//case 0x28C: // Wheel force feedback?
default:
break;
}
EMUERROR("Unhandled write @ %x: %x", addr, data);
EMUERROR("Unhandled write @ %x (%d): %x", addr, size, data);
}

View File

@ -366,7 +366,7 @@ static bool naomi_cart_LoadZip(char *filename)
}
size_t read = zip_fread(file, buf, game->blobs[romid].length);
CurrentCartridge->SetKeyData(buf);
printf("Loaded %s: %lx bytes M4 Key\n", game->blobs[romid].filename, read);
printf("Loaded %s: %lx bytes cart key\n", game->blobs[romid].filename, read);
}
else
die("Unknown blob type\n");

File diff suppressed because it is too large Load Diff