zn: implement (incomplete?) ROM banking in nbajamex, shows some graphics now [Peter Ferrie]

This commit is contained in:
peterferrie 2015-01-08 22:49:12 -08:00
parent b60ada63a5
commit 15a5ab001c

View File

@ -106,6 +106,7 @@ public:
DECLARE_MACHINE_RESET(coh1002tb);
DECLARE_MACHINE_RESET(coh1002e);
DECLARE_MACHINE_RESET(bam2);
DECLARE_MACHINE_RESET(nbajamex);
DECLARE_MACHINE_RESET(coh1001l);
DECLARE_MACHINE_RESET(coh1002v);
DECLARE_MACHINE_RESET(coh1002m);
@ -2043,6 +2044,7 @@ WRITE16_MEMBER(zn_state::nbajamex_80_w)
verboselog(0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
psxirq_device *psxirq = (psxirq_device *) machine().device("maincpu:irq");
psxirq->intin10(1);
membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + (data ? 0xe00000 : 0));
}
READ16_MEMBER(zn_state::nbajamex_08_r)
@ -2060,7 +2062,6 @@ READ16_MEMBER(zn_state::nbajamex_80_r)
}
static ADDRESS_MAP_START(coh1000a_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1fbfff00, 0x1fbfff03) AM_WRITE16(acpsx_00_w, 0xffffffff)
AM_RANGE(0x1fbfff10, 0x1fbfff13) AM_WRITE16(acpsx_10_w, 0xffff0000)
@ -2068,6 +2069,7 @@ static ADDRESS_MAP_START(coh1000a_map, AS_PROGRAM, 32, zn_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1f200000, 0x1f207fff) AM_RAM AM_SHARE("eeprom")
AM_RANGE(0x1fbfff08, 0x1fbfff0b) AM_READ16(nbajamex_08_r, 0xffff)
AM_RANGE(0x1fbfff80, 0x1fbfff83) AM_READWRITE16(nbajamex_80_r, nbajamex_80_w, 0xffff)
@ -2075,7 +2077,13 @@ static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
AM_IMPORT_FROM(coh1000a_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,nbajamex)
{
membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() );
}
static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1fbfff80, 0x1fbfff8f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff)
AM_RANGE(0x1fbfff90, 0x1fbfff9f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff)
@ -2091,6 +2099,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( nbajamex, zn1_2mb_vram )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nbajamex_map)
MCFG_MACHINE_RESET_OVERRIDE(zn_state, nbajamex)
MACHINE_CONFIG_END
@ -4663,7 +4672,7 @@ ROM_END
ROM_START( nbajamex )
AC_BIOS
ROM_REGION32_LE( 0x2000000, "roms", 0 )
ROM_REGION32_LE( 0x2000000, "bankedroms", 0 )
ROM_LOAD16_BYTE( "360mpa1o.u36", 0x0000001, 0x100000, CRC(c433e827) SHA1(1d2a5a6990a1b1864e63ce3ba7306d48ebbd4775) )
ROM_LOAD16_BYTE( "360mpa1e.u35", 0x0000000, 0x100000, CRC(d8f5b2f7) SHA1(e38609d314721b8b612e047406e2888395917b0d) )
ROM_LOAD16_BYTE( "nbax0o.u28", 0x0200001, 0x200000, CRC(be13c5af) SHA1(eee5c9d985384ecfe4f00fae27d66fbefc15b28e) )