Remove global memory banking functions in favor of referencing

subbanks of a device and directly acting on them.

First round S&R:

memory_configure_bank( *)\(( *)([^,]+), *([^,]+), *
\3.root_device().subbank\1\(\2\4\2\)->configure_entries\1\(\2

memory_configure_bank_decrypted( *)\(( *)([^,]+), *([^,]+), *
\3.root_device().subbank\1\(\2\4\2\)->configure_decrypted_entries\1\(\2

memory_set_bank( *)\(( *)([^,]+), *([^,]+), *
\3.root_device().subbank\1\(\2\4\2\)->set_entry\1\(\2

memory_set_bankptr( *)\(( *)([^,]+), *([^,]+), *
\3.root_device().subbank\1\(\2\4\2\)->set_base\1\(\2


Then convert single entries to simpler form:

configure_entries( *\( *[^,]+, *)1 *, *([^,]+),[^)]+\)
configure_entry\1\2\)

configure_decrypted_entries( *\( *[^,]+, *)1 *, *([^,]+),[^)]+\)
configure_decrypted_entry\1\2\)


Remove renundant root_device lookup for methods:

([ \t])machine\(\)\.root_device\(\)\.
\1


Use state-> instead of root_device lookup where available (this
one must be done by hand unfortunately):

([^ \t]*)machine[()]*\.root_device\(\)\.
state->
This commit is contained in:
Aaron Giles 2012-04-19 20:35:01 +00:00
parent 70eab27301
commit b5b7808cb7
405 changed files with 1683 additions and 1715 deletions

View File

@ -5538,17 +5538,3 @@ void handler_entry_write::write_stub_legacy(address_space &space, offs_t offset,
{
m_legacy_info.handler.space64(m_legacy_info.object.space, offset, data, mask);
}
// configure the addresses for a bank
void memory_configure_bank(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) { machine.root_device().subbank(tag)->configure_entries(startentry, numentries, base, stride); }
// configure the decrypted addresses for a bank
void memory_configure_bank_decrypted(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) { machine.root_device().subbank(tag)->configure_decrypted_entries(startentry, numentries, base, stride); }
// select one pre-configured entry to be the new bank base
void memory_set_bank(running_machine &machine, const char *tag, int entrynum) { machine.root_device().subbank(tag)->set_entry(entrynum); }
// set the absolute address of a bank base
void memory_set_bankptr(running_machine &machine, const char *tag, void *base) { machine.root_device().subbank(tag)->set_base(base); }

View File

@ -899,24 +899,6 @@ extern const char *const address_space_names[ADDRESS_SPACES];
//**************************************************************************
// FUNCTION PROTOTYPES FOR CORE MEMORY FUNCTIONS
//**************************************************************************
// configure the addresses for a bank
void memory_configure_bank(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) ATTR_NONNULL(5);
// configure the decrypted addresses for a bank
void memory_configure_bank_decrypted(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) ATTR_NONNULL(5);
// select one pre-configured entry to be the new bank base
void memory_set_bank(running_machine &machine, const char *tag, int entrynum);
// set the absolute address of a bank base
void memory_set_bankptr(running_machine &machine, const char *tag, void *base) ATTR_NONNULL(3);
//**************************************************************************
// INLINE FUNCTIONS
//**************************************************************************

View File

@ -228,7 +228,7 @@ void okim6295_device::set_bank_base(offs_t base, bool bDontUpdateStream)
if (m_bank_installed)
{
m_bank_offs = base;
memory_set_bankptr(machine(), tag(), m_region->base() + base);
subbank(tag())->set_base(m_region->base() + base);
}
}

View File

@ -340,7 +340,7 @@ static VIDEO_START( pc_cga )
cga.videoram = auto_alloc_array(machine, UINT8, 0x4000);
cga.is_superimpose = 0;
memory_set_bankptr(machine,"bank11", cga.videoram);
machine.root_device().subbank("bank11")->set_base(cga.videoram);
}
@ -381,7 +381,7 @@ static VIDEO_START( pc_cga32k )
cga.videoram = auto_alloc_array(machine, UINT8, 0x8000);
cga.is_superimpose = 0;
memory_set_bankptr(machine,"bank11", cga.videoram);
machine.root_device().subbank("bank11")->set_base(cga.videoram);
}
SCREEN_UPDATE_RGB32( mc6845_cga )
@ -1485,7 +1485,7 @@ static WRITE8_HANDLER ( pc1512_w )
}
else
{
memory_set_bankptr(space->machine(),"bank1", videoram + videoram_offset[0]);
space->machine().root_device().subbank("bank1")->set_base(videoram + videoram_offset[0]);
}
cga.mode_control = data;
switch( cga.mode_control & 0x3F )
@ -1543,7 +1543,7 @@ static WRITE8_HANDLER ( pc1512_w )
pc1512.read = data;
if ( ( cga.mode_control & 0x12 ) == 0x12 )
{
memory_set_bankptr(space->machine(),"bank1", videoram + videoram_offset[data & 3]);
space->machine().root_device().subbank("bank1")->set_base(videoram + videoram_offset[data & 3]);
}
break;
@ -1618,7 +1618,7 @@ static VIDEO_START( pc1512 )
address_space *io_space = machine.firstcpu->memory().space( AS_IO );
space->install_read_bank( 0xb8000, 0xbbfff, 0, 0x0C000, "bank1" );
memory_set_bankptr(machine, "bank1", cga.videoram + videoram_offset[0]);
machine.root_device().subbank("bank1")->set_base(cga.videoram + videoram_offset[0]);
space->install_legacy_write_handler( 0xb8000, 0xbbfff, 0, 0x0C000, FUNC(pc1512_videoram16le_w) );
io_space->install_legacy_read_handler( 0x3d0, 0x3df, FUNC(pc1512_16le_r) );

View File

@ -166,9 +166,9 @@ void atarijsa_init(running_machine &machine, const char *testport, int testmask)
{
const char *bank = (rgn != 2) ? "bank12" : "bank14";
const char *bank_plus_1 = (rgn != 2) ? "bank13" : "bank15";
memory_configure_bank(machine, bank, 0, 2, base + 0x00000, 0x00000);
memory_configure_bank(machine, bank, 2, 2, base + 0x20000, 0x20000);
memory_set_bankptr(machine, bank_plus_1, base + 0x60000);
machine.root_device().subbank(bank)->configure_entries(0, 2, base + 0x00000, 0x00000);
machine.root_device().subbank(bank)->configure_entries(2, 2, base + 0x20000, 0x20000);
machine.root_device().subbank(bank_plus_1)->set_base(base + 0x60000);
}
}
}
@ -548,7 +548,7 @@ static WRITE8_HANDLER( jsa3_io_w )
/* update the OKI bank */
if (oki6295 != NULL)
memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
/* update the bank */
memcpy(bank_base, &bank_source_data[0x1000 * ((data >> 6) & 3)], 0x1000);
@ -572,7 +572,7 @@ static WRITE8_HANDLER( jsa3_io_w )
/* update the OKI bank */
if (oki6295 != NULL)
memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
/* update the volumes */
ym2151_volume = ((data >> 1) & 7) * 100 / 7;
@ -681,7 +681,7 @@ static WRITE8_HANDLER( jsa3s_io_w )
if ((data&1) == 0) devtag_reset(space->machine(), "ymsnd");
/* update the OKI bank */
memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
/* update the bank */
memcpy(bank_base, &bank_source_data[0x1000 * ((data >> 6) & 3)], 0x1000);
@ -705,8 +705,8 @@ static WRITE8_HANDLER( jsa3s_io_w )
*/
/* update the OKI bank */
memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
memory_set_bank(space->machine(), "bank14", data >> 6);
space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
space->machine().root_device().subbank("bank14")->set_entry(data >> 6);
/* update the volumes */
ym2151_volume = ((data >> 1) & 7) * 100 / 7;

View File

@ -165,8 +165,8 @@ void cage_init(running_machine &machine, offs_t speedup)
state->irqhandler = NULL;
memory_set_bankptr(machine, "bank10", machine.region("cageboot")->base());
memory_set_bankptr(machine, "bank11", machine.region("cage")->base());
machine.root_device().subbank("bank10")->set_base(machine.region("cageboot")->base());
machine.root_device().subbank("bank11")->set_base(machine.region("cage")->base());
state->cpu = machine.device<cpu_device>("cage");
cage_cpu_clock_period = attotime::from_hz(state->cpu->clock());

View File

@ -21,7 +21,7 @@ void cyberbal_sound_reset(running_machine &machine)
/* reset the sound system */
state->m_bank_base = &machine.region("audiocpu")->base()[0x10000];
memory_set_bankptr(machine, "soundbank", &state->m_bank_base[0x0000]);
state->subbank("soundbank")->set_base(&state->m_bank_base[0x0000]);
state->m_fast_68k_int = state->m_io_68k_int = 0;
state->m_sound_data_from_68k = state->m_sound_data_from_6502 = 0;
state->m_sound_data_from_68k_ready = state->m_sound_data_from_6502_ready = 0;
@ -56,7 +56,7 @@ READ8_MEMBER(cyberbal_state::cyberbal_sound_6502_stat_r)
WRITE8_MEMBER(cyberbal_state::cyberbal_sound_bank_select_w)
{
memory_set_bankptr(machine(), "soundbank", &m_bank_base[0x1000 * ((data >> 6) & 3)]);
subbank("soundbank")->set_base(&m_bank_base[0x1000 * ((data >> 6) & 3)]);
coin_counter_w(machine(), 1, (data >> 5) & 1);
coin_counter_w(machine(), 0, (data >> 4) & 1);
cputag_set_input_line(machine(), "dac", INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);

View File

@ -821,7 +821,7 @@ static TIMER_CALLBACK( dcs_reset )
/* rev 1: just reset the bank to 0 */
case 1:
dcs.sounddata_bank = 0;
memory_set_bank(machine, "databank", 0);
machine.root_device().subbank("databank")->set_entry(0);
break;
/* rev 2: reset the SDRC ASIC */
@ -960,7 +960,7 @@ void dcs_init(running_machine &machine)
dcs.sounddata = dcs.bootrom;
dcs.sounddata_words = dcs.bootrom_words;
dcs.sounddata_banks = dcs.sounddata_words / 0x1000;
memory_configure_bank(machine, "databank", 0, dcs.sounddata_banks, dcs.sounddata, 0x1000*2);
machine.root_device().subbank("databank")->configure_entries(0, dcs.sounddata_banks, dcs.sounddata, 0x1000*2);
/* create the timers */
dcs.internal_timer = machine.device<timer_device>("dcs_int_timer");
@ -1024,7 +1024,7 @@ void dcs2_init(running_machine &machine, int dram_in_mb, offs_t polling_offset)
}
dcs.sounddata_banks = dcs.sounddata_words / soundbank_words;
if (dcs.rev != 2)
memory_configure_bank(machine, "databank", 0, dcs.sounddata_banks, dcs.sounddata, soundbank_words*2);
machine.root_device().subbank("databank")->configure_entries(0, dcs.sounddata_banks, dcs.sounddata, soundbank_words*2);
/* allocate memory for the SRAM */
dcs.sram = auto_alloc_array(machine, UINT16, 0x8000*4/2);
@ -1085,7 +1085,7 @@ static WRITE16_HANDLER( dcs_dataram_w )
static WRITE16_HANDLER( dcs_data_bank_select_w )
{
dcs.sounddata_bank = data & 0x7ff;
memory_set_bank(space->machine(), "databank", dcs.sounddata_bank % dcs.sounddata_banks);
space->machine().root_device().subbank("databank")->set_entry(dcs.sounddata_bank % dcs.sounddata_banks);
/* bit 11 = sound board led */
#if 0
@ -1112,15 +1112,15 @@ INLINE void sdrc_update_bank_pointers(running_machine &machine)
{
/* ROM-based; use the memory page to select from ROM */
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
memory_set_bankptr(machine, "rompage", &dcs.sounddata[(SDRC_EPM_PG * pagesize) % dcs.sounddata_words]);
machine.root_device().subbank("rompage")->set_base(&dcs.sounddata[(SDRC_EPM_PG * pagesize) % dcs.sounddata_words]);
}
else
{
/* RAM-based; use the ROM page to select from ROM, and the memory page to select from RAM */
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
memory_set_bankptr(machine, "rompage", &dcs.bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % dcs.bootrom_words]);
machine.root_device().subbank("rompage")->set_base(&dcs.bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % dcs.bootrom_words]);
if (SDRC_DM_ST != 0)
memory_set_bankptr(machine, "drampage", &dcs.sounddata[(SDRC_DM_PG * 1024) % dcs.sounddata_words]);
machine.root_device().subbank("drampage")->set_base(&dcs.sounddata[(SDRC_DM_PG * 1024) % dcs.sounddata_words]);
}
}
}
@ -1362,7 +1362,7 @@ static WRITE16_HANDLER( dsio_w )
/* offset 2 controls RAM pages */
case 2:
dsio.reg[2] = data;
memory_set_bank(space->machine(), "databank", DSIO_DM_PG % dcs.sounddata_banks);
space->machine().root_device().subbank("databank")->set_entry(DSIO_DM_PG % dcs.sounddata_banks);
break;
}
}
@ -1429,7 +1429,7 @@ static WRITE16_HANDLER( denver_w )
/* offset 2 controls RAM pages */
case 2:
dsio.reg[2] = data;
memory_set_bank(space->machine(), "databank", DENV_DM_PG % dcs.sounddata_bank);
space->machine().root_device().subbank("databank")->set_entry(DENV_DM_PG % dcs.sounddata_bank);
break;
/* offset 3 controls FIFO reset */

View File

@ -402,7 +402,7 @@ static void set_ea(address_space &space, int ea)
//printf("ea: %d\n", ea);
//cputag_set_input_line(machine, "audiocpu", MCS48_INPUT_EA, (ea) ? ASSERT_LINE : CLEAR_LINE);
if (state->m_eabank != NULL)
memory_set_bank(space.machine(), state->m_eabank, ea);
state->subbank(state->m_eabank)->set_entry(ea);
}
/****************************************************************
@ -426,8 +426,8 @@ static SOUND_START( mario )
{
state->m_eabank = "bank1";
audiocpu->memory().space(AS_PROGRAM)->install_read_bank(0x000, 0x7ff, "bank1");
memory_configure_bank(machine, "bank1", 0, 1, machine.region("audiocpu")->base(), 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("audiocpu")->base() + 0x1000, 0x800);
state->subbank("bank1")->configure_entry(0, machine.region("audiocpu")->base());
state->subbank("bank1")->configure_entry(1, machine.region("audiocpu")->base() + 0x1000);
}
state->save_item(NAME(state->m_last));

View File

@ -120,7 +120,7 @@ void seibu_sound_decrypt(running_machine &machine,const char *cpu,int length)
}
if (length > 0x10000)
memory_configure_bank_decrypted(machine, "bank1", 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
machine.root_device().subbank("bank1")->configure_decrypted_entries(0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
}
@ -353,10 +353,10 @@ MACHINE_RESET( seibu_sound )
update_irq_lines(machine, VECTOR_INIT);
if (romlength > 0x10000)
{
memory_configure_bank(machine, "bank1", 0, (romlength - 0x10000) / 0x8000, rom + 0x10000, 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, (romlength - 0x10000) / 0x8000, rom + 0x10000, 0x8000);
/* Denjin Makai definitely needs this at start-up, it never writes to the bankswitch */
memory_set_bank(machine, "bank1", 0);
machine.root_device().subbank("bank1")->set_entry(0);
}
}
@ -367,7 +367,7 @@ static int main2sub_pending,sub2main_pending;
WRITE8_HANDLER( seibu_bank_w )
{
memory_set_bank(space->machine(), "bank1", data & 1);
space->machine().root_device().subbank("bank1")->set_entry(data & 1);
}
WRITE8_HANDLER( seibu_coin_w )

View File

@ -306,9 +306,9 @@ SOUND_RESET( taito_f3_soundsystem_reset )
/* Sound cpu program loads to 0xc00000 so we use a bank */
UINT16 *ROM = (UINT16 *)machine.region("audiocpu")->base();
UINT16 *sound_ram = (UINT16 *)machine.memory().shared("share1")->ptr();
memory_set_bankptr(machine, "bank1",&ROM[0x80000]);
memory_set_bankptr(machine, "bank2",&ROM[0x90000]);
memory_set_bankptr(machine, "bank3",&ROM[0xa0000]);
machine.root_device().subbank("bank1")->set_base(&ROM[0x80000]);
machine.root_device().subbank("bank2")->set_base(&ROM[0x90000]);
machine.root_device().subbank("bank3")->set_base(&ROM[0xa0000]);
sound_ram[0]=ROM[0x80000]; /* Stack and Reset vectors */
sound_ram[1]=ROM[0x80001];

View File

@ -71,7 +71,7 @@ correctly.
WRITE8_MEMBER(_1942_state::c1942_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
static TIMER_DEVICE_CALLBACK( c1942_scanline )
@ -506,7 +506,7 @@ ROM_END
static DRIVER_INIT( 1942 )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000);
}

View File

@ -644,7 +644,7 @@ ROM_END
static DRIVER_INIT( 1943 )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
READ8_MEMBER(_1943_state::_1943b_c007_r){ return 0; }

View File

@ -145,10 +145,10 @@ static void set_bankptr(running_machine &machine)
if (state->m_game_selected == 0)
{
UINT8 *rom = machine.region("maincpu")->base();
memory_set_bankptr(machine, "bank1", rom + 0x08000);
state->subbank("bank1")->set_base(rom + 0x08000);
}
else
memory_set_bankptr(machine, "bank1", state->m_ram_48000);
state->subbank("bank1")->set_base(state->m_ram_48000);
}
WRITE8_MEMBER(_20pacgal_state::ram_bank_select_w)

View File

@ -135,14 +135,14 @@ static MACHINE_RESET( 3do )
state->m_maincpu = downcast<legacy_cpu_device*>( machine.device("maincpu") );
memory_set_bankptr(machine, "bank2",machine.region("user1")->base());
state->subbank("bank2")->set_base(machine.region("user1")->base());
/* configure overlay */
memory_configure_bank(machine, "bank1", 0, 1, state->m_dram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
state->subbank("bank1")->configure_entry(0, state->m_dram);
state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* start with overlay enabled */
memory_set_bank(machine, "bank1", 1);
state->subbank("bank1")->set_entry(1);
_3do_slow2_init(machine);
_3do_madam_init(machine);

View File

@ -274,7 +274,7 @@ WRITE8_MEMBER(fortyl_state::bank_select_w)
// popmessage("WRONG BANK SELECT = %x !!!!\n",data);
}
memory_set_bank(machine(), "bank1", data & 1);
subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(fortyl_state::pix1_w)
@ -567,7 +567,7 @@ static DRIVER_INIT( undoukai )
{
fortyl_state *state = machine.driver_data<fortyl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
state->m_pix_color[0] = 0x000;
state->m_pix_color[1] = 0x1e3;
@ -579,7 +579,7 @@ static DRIVER_INIT( 40love )
{
fortyl_state *state = machine.driver_data<fortyl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
#if 0
/* character ROM hack

View File

@ -107,7 +107,7 @@ WRITE8_MEMBER(aerofgt_state::pending_command_clear_w)
WRITE8_MEMBER(aerofgt_state::aerofgt_sh_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
@ -1304,7 +1304,7 @@ static MACHINE_START( aerofgt )
{
UINT8 *rom = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &rom[0x10000], 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, &rom[0x10000], 0x8000);
MACHINE_START_CALL(common);
}
@ -1319,7 +1319,7 @@ static MACHINE_RESET( aerofgt )
{
MACHINE_RESET_CALL(common);
memory_set_bank(machine, "bank1", 0); /* needed by spinlbrk */
machine.root_device().subbank("bank1")->set_entry(0); /* needed by spinlbrk */
}
static MACHINE_CONFIG_START( pspikes, aerofgt_state )

View File

@ -266,13 +266,13 @@ WRITE8_MEMBER(airbustr_state::master_nmi_trigger_w)
WRITE8_MEMBER(airbustr_state::master_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
}
WRITE8_MEMBER(airbustr_state::slave_bankswitch_w)
{
memory_set_bank(machine(), "bank2", data & 0x07);
subbank("bank2")->set_entry(data & 0x07);
flip_screen_set(data & 0x10);
@ -282,7 +282,7 @@ WRITE8_MEMBER(airbustr_state::slave_bankswitch_w)
WRITE8_MEMBER(airbustr_state::sound_bankswitch_w)
{
memory_set_bank(machine(), "bank3", data & 0x07);
subbank("bank3")->set_entry(data & 0x07);
}
READ8_MEMBER(airbustr_state::soundcommand_status_r)
@ -575,12 +575,12 @@ static MACHINE_START( airbustr )
UINT8 *SLAVE = machine.region("slave")->base();
UINT8 *AUDIO = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank1", 0, 3, &MASTER[0x00000], 0x4000);
memory_configure_bank(machine, "bank1", 3, 5, &MASTER[0x10000], 0x4000);
memory_configure_bank(machine, "bank2", 0, 3, &SLAVE[0x00000], 0x4000);
memory_configure_bank(machine, "bank2", 3, 5, &SLAVE[0x10000], 0x4000);
memory_configure_bank(machine, "bank3", 0, 3, &AUDIO[0x00000], 0x4000);
memory_configure_bank(machine, "bank3", 3, 5, &AUDIO[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 3, &MASTER[0x00000], 0x4000);
state->subbank("bank1")->configure_entries(3, 5, &MASTER[0x10000], 0x4000);
state->subbank("bank2")->configure_entries(0, 3, &SLAVE[0x00000], 0x4000);
state->subbank("bank2")->configure_entries(3, 5, &SLAVE[0x10000], 0x4000);
state->subbank("bank3")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
state->subbank("bank3")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
state->m_master = machine.device("master");
state->m_slave = machine.device("slave");
@ -607,9 +607,9 @@ static MACHINE_RESET( airbustr )
state->m_fg_scrolly = 0;
state->m_highbits = 0;
memory_set_bank(machine, "bank1", 0x02);
memory_set_bank(machine, "bank2", 0x02);
memory_set_bank(machine, "bank3", 0x02);
state->subbank("bank1")->set_entry(0x02);
state->subbank("bank2")->set_entry(0x02);
state->subbank("bank3")->set_entry(0x02);
}
/* Machine Driver */

View File

@ -178,7 +178,7 @@ static WRITE8_DEVICE_HANDLER( mux_w )
if( state->m_bank != new_bank)
{
state->m_bank = new_bank;
memory_set_bank(device->machine(), "bank1", state->m_bank);
state->subbank("bank1")->set_entry(state->m_bank);
}
state->m_mux_data = data & ~0xc0;
@ -359,7 +359,7 @@ static MACHINE_START( yumefuda )
albazg_state *state = machine.driver_data<albazg_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->save_item(NAME(state->m_mux_data));
state->save_item(NAME(state->m_bank));

View File

@ -225,7 +225,7 @@ static WRITE8_DEVICE_HANDLER( alg_cia_0_porta_w )
address_space *space = device->machine().device("maincpu")->memory().space(AS_PROGRAM);
/* switch banks as appropriate */
memory_set_bank(device->machine(), "bank1", data & 1);
device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@ -699,8 +699,8 @@ static void alg_init(running_machine &machine)
amiga_machine_config(machine, &alg_intf);
/* set up memory */
memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
}

View File

@ -232,8 +232,8 @@ static MACHINE_START( aliens )
aliens_state *state = machine.driver_data<aliens_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 20, &ROM[0x10000], 0x2000);
memory_set_bank(machine, "bank1", 0);
state->subbank("bank1")->configure_entries(0, 20, &ROM[0x10000], 0x2000);
state->subbank("bank1")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@ -545,7 +545,7 @@ static KONAMI_SETLINES_CALLBACK( aliens_banking )
bank -= 4;
bank += (lines & 0x0f);
memory_set_bank(device->machine(), "bank1", bank);
device->machine().root_device().subbank("bank1")->set_entry(bank);
}
GAME( 1990, aliens, 0, aliens, aliens, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )

View File

@ -738,7 +738,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(alpha68k_state::sound_bank_w)
{
memory_set_bank(machine(), "bank7", data);
subbank("bank7")->set_entry(data);
}
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, alpha68k_state )
@ -1905,7 +1905,7 @@ static MACHINE_START( alpha68k_V )
alpha68k_state *state = machine.driver_data<alpha68k_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank7", 0, 32, &ROM[0x10000], 0x4000);
state->subbank("bank7")->configure_entries(0, 32, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
@ -1941,7 +1941,7 @@ static MACHINE_START( alpha68k_II )
alpha68k_state *state = machine.driver_data<alpha68k_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank7", 0, 28, &ROM[0x10000], 0x4000);
state->subbank("bank7")->configure_entries(0, 28, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
@ -3222,7 +3222,7 @@ static DRIVER_INIT( btlfieldb )
static DRIVER_INIT( skysoldr )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
memory_set_bankptr(machine, "bank8", (machine.region("user1")->base()) + 0x40000);
state->subbank("bank8")->set_base((machine.region("user1")->base()) + 0x40000);
state->m_invert_controls = 0;
state->m_microcontroller_id = 0;
state->m_coin_id = 0x22 | (0x22 << 8);
@ -3241,7 +3241,7 @@ static DRIVER_INIT( goldmedl )
static DRIVER_INIT( goldmedla )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
memory_set_bankptr(machine, "bank8", machine.region("maincpu")->base() + 0x20000);
state->subbank("bank8")->set_base(machine.region("maincpu")->base() + 0x20000);
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
state->m_coin_id = 0x23 | (0x24 << 8);
@ -3269,7 +3269,7 @@ static DRIVER_INIT( skyadvntu )
static DRIVER_INIT( gangwarsu )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
memory_set_bankptr(machine, "bank8", machine.region("user1")->base());
state->subbank("bank8")->set_base(machine.region("user1")->base());
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8512;
state->m_coin_id = 0x23 | (0x24 << 8);
@ -3279,7 +3279,7 @@ static DRIVER_INIT( gangwarsu )
static DRIVER_INIT( gangwars )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
memory_set_bankptr(machine, "bank8", machine.region("user1")->base());
state->subbank("bank8")->set_base(machine.region("user1")->base());
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8512;
state->m_coin_id = 0x23 | (0x24 << 8);

View File

@ -140,7 +140,7 @@ Dumped by Chackn
WRITE8_MEMBER(angelkds_state::angelkds_cpu_bank_write)
{
memory_set_bank(machine(), "bank1", data & 0x0f); // shall we check (data & 0x0f) < # of available banks (8 or 10 resp.)?
subbank("bank1")->set_entry(data & 0x0f); // shall we check (data & 0x0f) < # of available banks (8 or 10 resp.)?
}
@ -745,7 +745,7 @@ ROM_END
static DRIVER_INIT( angelkds )
{
UINT8 *RAM = machine.region("user1")->base();
memory_configure_bank(machine, "bank1", 0, 8, &RAM[0x0000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000);
}
static DRIVER_INIT( spcpostn )
@ -753,7 +753,7 @@ static DRIVER_INIT( spcpostn )
UINT8 *RAM = machine.region("user1")->base();
sega_317_0005_decode(machine, "maincpu");
memory_configure_bank(machine, "bank1", 0, 10, &RAM[0x0000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000);
}

View File

@ -68,7 +68,7 @@ WRITE16_MEMBER(aquarium_state::aquarium_sound_w)
WRITE8_MEMBER(aquarium_state::aquarium_z80_bank_w)
{
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
}
static UINT8 aquarium_snd_bitswap( UINT8 scrambled_data )
@ -276,8 +276,8 @@ static DRIVER_INIT( aquarium )
}
/* configure and set up the sound bank */
memory_configure_bank(machine, "bank1", 0, 7, &Z80[0x18000], 0x8000);
memory_set_bank(machine, "bank1", 1);
machine.root_device().subbank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000);
machine.root_device().subbank("bank1")->set_entry(1);
}

View File

@ -104,7 +104,7 @@ WRITE16_MEMBER(arcadia_amiga_state::arcadia_multibios_change_game)
static WRITE8_DEVICE_HANDLER( arcadia_cia_0_porta_w )
{
/* switch banks as appropriate */
memory_set_bank(device->machine(), "bank1", data & 1);
device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@ -808,8 +808,8 @@ static void arcadia_init(running_machine &machine)
amiga_machine_config(machine, &arcadia_intf);
/* set up memory */
memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* OnePlay bios is encrypted, TenPlay is not */
biosrom = (UINT16 *)machine.region("user2")->base();

View File

@ -180,7 +180,7 @@ WRITE8_MEMBER(argus_state::argus_bankselect_w)
int bankaddress;
bankaddress = 0x10000 + ((data & 7) * 0x4000);
memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]); /* Select 8 banks of 16k */
subbank("bank1")->set_base(&RAM[bankaddress]); /* Select 8 banks of 16k */
}

View File

@ -289,8 +289,8 @@ WRITE32_MEMBER(aristmk5_state::sram_banksel_w)
4 pages of 32k for each sram chip.
*/
memory_set_bank(machine(),"sram_bank", (data & 0xc0) >> 6);
memory_set_bank(machine(),"sram_bank_nz", (data & 0xc0) >> 6);
subbank("sram_bank")->set_entry((data & 0xc0) >> 6);
subbank("sram_bank_nz")->set_entry((data & 0xc0) >> 6);
}
/* U.S games have no dram emulator enabled */
@ -364,8 +364,8 @@ static DRIVER_INIT( aristmk5 )
archimedes_driver_init(machine);
memory_configure_bank(machine, "sram_bank", 0, 4, &SRAM[0], 0x20000);
memory_configure_bank(machine, "sram_bank_nz", 0, 4, &SRAM_NZ[0], 0x20000);
machine.root_device().subbank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000);
machine.root_device().subbank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000);
}

View File

@ -1671,7 +1671,7 @@ static DRIVER_INIT( hexa )
RAM[0x0126] = 0x00;
#endif
memory_configure_bank(machine, "bank1", 0, 2, &RAM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
}

View File

@ -287,7 +287,7 @@ static WRITE8_DEVICE_HANDLER( ym2203_write_a )
static WRITE8_DEVICE_HANDLER( ym2203_write_b )
{
memory_set_bank(device->machine(), "bank4", data & 0x0f);
device->machine().root_device().subbank("bank4")->set_entry(data & 0x0f);
}
static const ym2203_interface ym2203_config =
@ -463,9 +463,9 @@ ROM_END
static DRIVER_INIT( ashnojoe )
{
UINT8 *ROM = machine.region("adpcm")->base();
memory_configure_bank(machine, "bank4", 0, 16, &ROM[0x00000], 0x8000);
machine.root_device().subbank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
memory_set_bank(machine, "bank4", 0);
machine.root_device().subbank("bank4")->set_entry(0);
}
GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )

View File

@ -428,7 +428,7 @@ WRITE8_MEMBER(astrocde_state::profpac_banksw_w)
/* set the main banking */
prog_space->install_read_bank(0x4000, 0xbfff, "bank1");
memory_set_bankptr(machine(), "bank1", machine().region("user1")->base() + 0x8000 * bank);
subbank("bank1")->set_base(machine().region("user1")->base() + 0x8000 * bank);
/* bank 0 reads video RAM in the 4000-7FFF range */
if (bank == 0)
@ -444,7 +444,7 @@ WRITE8_MEMBER(astrocde_state::profpac_banksw_w)
if (bank < 0x28)
{
prog_space->install_read_bank(0x4000, 0x7fff, "bank2");
memory_set_bankptr(machine(), "bank2", machine().region("user2")->base() + 0x4000 * bank);
subbank("bank2")->set_base(machine().region("user2")->base() + 0x4000 * bank);
}
else
prog_space->unmap_read(0x4000, 0x7fff);

View File

@ -249,12 +249,12 @@ static INTERRUPT_GEN( cadash_interrupt )
WRITE8_MEMBER(asuka_state::sound_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
static WRITE8_DEVICE_HANDLER( sound_bankswitch_2151_w )
{
memory_set_bank(device->machine(), "bank1", data & 0x03);
device->machine().root_device().subbank("bank1")->set_entry(data & 0x03);
}
@ -842,8 +842,8 @@ static MACHINE_START( asuka )
state->m_tc0100scn = machine.device("tc0100scn");
/* configure the banks */
memory_configure_bank(machine, "bank1", 0, 1, machine.region("audiocpu")->base(), 0);
memory_configure_bank(machine, "bank1", 1, 3, machine.region("audiocpu")->base() + 0x10000, 0x04000);
state->subbank("bank1")->configure_entry(0, machine.region("audiocpu")->base());
state->subbank("bank1")->configure_entries(1, 3, machine.region("audiocpu")->base() + 0x10000, 0x04000);
state->save_item(NAME(state->m_adpcm_pos));
state->save_item(NAME(state->m_adpcm_data));

View File

@ -583,7 +583,7 @@ WRITE16_MEMBER(atarisy4_state::dsp0_bank_w)
}
data &= 0x3800;
memory_set_bankptr(machine(), "dsp0_bank1", &m_shared_ram[0][data]);
subbank("dsp0_bank1")->set_base(&m_shared_ram[0][data]);
m_dsp_bank[0] = data;
}
@ -617,7 +617,7 @@ WRITE16_MEMBER(atarisy4_state::dsp1_bank_w)
}
data &= 0x3800;
memory_set_bankptr(machine(), "dsp1_bank1", &m_shared_ram[1][data]);
subbank("dsp1_bank1")->set_base(&m_shared_ram[1][data]);
m_dsp_bank[1] = data;
}
@ -973,8 +973,8 @@ static DRIVER_INIT( laststar )
load_hexfile(main, machine.region("data")->base());
/* Set up the DSP */
memory_set_bankptr(machine, "dsp0_bank0", state->m_shared_ram[0]);
memory_set_bankptr(machine, "dsp0_bank1", &state->m_shared_ram[0][0x800]);
state->subbank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
state->subbank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
}
@ -989,13 +989,13 @@ static DRIVER_INIT( airrace )
load_hexfile(machine.device("maincpu")->memory().space(AS_PROGRAM), machine.region("code")->base());
/* Set up the first DSP */
memory_set_bankptr(machine, "dsp0_bank0", state->m_shared_ram[0]);
memory_set_bankptr(machine, "dsp0_bank1", &state->m_shared_ram[0][0x800]);
state->subbank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
state->subbank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
/* Set up the second DSP */
memory_set_bankptr(machine, "dsp1_bank0", state->m_shared_ram[1]);
memory_set_bankptr(machine, "dsp1_bank1", &state->m_shared_ram[1][0x800]);
state->subbank("dsp1_bank0")->set_base(state->m_shared_ram[1]);
state->subbank("dsp1_bank1")->set_base(&state->m_shared_ram[1][0x800]);
load_ldafile(machine.device("dsp1")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
}

View File

@ -40,7 +40,7 @@ WRITE8_MEMBER(battlnts_state::battlnts_sh_irqtrigger_w)
WRITE8_MEMBER(battlnts_state::battlnts_bankswitch_w)
{
/* bits 6 & 7 = bank number */
memory_set_bank(machine(), "bank1", (data & 0xc0) >> 6);
subbank("bank1")->set_entry((data & 0xc0) >> 6);
/* bits 4 & 5 = coin counters */
coin_counter_w(machine(), 0, data & 0x10);
@ -226,7 +226,7 @@ static MACHINE_START( battlnts )
battlnts_state *state = machine.driver_data<battlnts_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007342 = machine.device("k007342");

View File

@ -1023,15 +1023,15 @@ INLINE void z80_bank(running_machine &machine, int num, int data)
{
UINT32 offset = ((state->m_bank_data[0] >> 1) * 0x20000) + ((0x4000 * data) ^ ((state->m_bank_data[0] & 1) ? 0 : 0x10000));
memory_set_bankptr(machine, bank_names[num - 1], machine.region("user1")->base() + offset);
state->subbank(bank_names[num - 1])->set_base(machine.region("user1")->base() + offset);
}
else if (data < 0x10)
{
memory_set_bankptr(machine, bank_names[num - 1], &state->m_video_ram[(data - 0x08) * 0x4000]);
state->subbank(bank_names[num - 1])->set_base(&state->m_video_ram[(data - 0x08) * 0x4000]);
}
else
{
memory_set_bankptr(machine, bank_names[num - 1], &state->m_work_ram[(data - 0x10) * 0x4000]);
state->subbank(bank_names[num - 1])->set_base(&state->m_work_ram[(data - 0x10) * 0x4000]);
}
}
@ -1735,7 +1735,7 @@ static DRIVER_INIT( bfcobra )
state->m_bank_data[3] = 0;
/* Fixed 16kB ROM region */
memory_set_bankptr(machine, "bank4", machine.region("user1")->base());
state->subbank("bank4")->set_base(machine.region("user1")->base());
/* TODO: Properly sort out the data ACIA */
state->m_data_r = 1;

View File

@ -192,7 +192,7 @@ static int Scorpion1_GetSwitchState(bfm_sc1_state *drvstate, int strobe, int dat
WRITE8_MEMBER(bfm_sc1_state::bankswitch_w)
{
// printf("bankswitch %02x\n", data);
memory_set_bank(machine(),"bank1",data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
///////////////////////////////////////////////////////////////////////////
@ -670,8 +670,8 @@ static MACHINE_RESET( bfm_sc1 )
{
UINT8 *rom = machine.region("maincpu")->base();
memory_configure_bank(machine,"bank1", 0, 4, &rom[0x0000], 0x02000);
memory_set_bank(machine,"bank1",state->m_defaultbank);
state->subbank("bank1")->configure_entries(0, 4, &rom[0x0000], 0x02000);
state->subbank("bank1")->set_entry(state->m_defaultbank);
}
}

View File

@ -380,9 +380,9 @@ static void on_scorpion2_reset(running_machine &machine)
{
UINT8 *rom = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &rom[0x00000], 0x02000);
state->subbank("bank1")->configure_entries(0, 4, &rom[0x00000], 0x02000);
memory_set_bank(machine, "bank1",3);
state->subbank("bank1")->set_entry(3);
}
}
@ -476,7 +476,7 @@ static NVRAM_HANDLER( bfm_sc2 )
WRITE8_MEMBER(bfm_sc2_state::bankswitch_w)
{
memory_set_bank(machine(), "bank1",data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
///////////////////////////////////////////////////////////////////////////

View File

@ -70,7 +70,7 @@ WRITE8_MEMBER(bigevglf_state::beg_banking_w)
/* d0-d3 connect to A11-A14 of the ROMs (via ls273 latch)
d4-d7 select one of ROMs (via ls273(above) and then ls154)
*/
memory_set_bank(machine(), "bank1", m_beg_bank & 0xff); /* empty sockets for IC37-IC44 ROMS */
subbank("bank1")->set_entry(m_beg_bank & 0xff); /* empty sockets for IC37-IC44 ROMS */
}
static TIMER_CALLBACK( from_sound_latch_callback )
@ -620,7 +620,7 @@ ROM_END
static DRIVER_INIT( bigevglf )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0xff, &ROM[0x10000], 0x800);
machine.root_device().subbank("bank1")->configure_entries(0, 0xff, &ROM[0x10000], 0x800);
}
GAME( 1986, bigevglf, 0, bigevglf, bigevglf, bigevglf, ROT270, "Taito America Corporation", "Big Event Golf (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )

View File

@ -80,7 +80,7 @@ WRITE8_MEMBER(bladestl_state::bladestl_bankswitch_w)
/* bit 4 = relay (???) */
/* bits 5-6 = bank number */
memory_set_bank(machine(), "bank1", (data & 0x60) >> 5);
subbank("bank1")->set_entry((data & 0x60) >> 5);
/* bit 7 = select sprite bank */
m_spritebank = (data & 0x80) << 3;
@ -303,7 +303,7 @@ static MACHINE_START( bladestl )
bladestl_state *state = machine.driver_data<bladestl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007342 = machine.device("k007342");

View File

@ -54,7 +54,7 @@ WRITE8_MEMBER(blktiger_state::blktiger_to_main_w)
WRITE8_MEMBER(blktiger_state::blktiger_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(blktiger_state::blktiger_coinlockout_w)
@ -283,7 +283,7 @@ static MACHINE_START( blktiger )
state->m_mcu = machine.device("mcu");
/* configure bankswitching */
memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_scroll_bank));
state->save_item(NAME(state->m_screen_layout));
@ -301,7 +301,7 @@ static MACHINE_RESET( blktiger )
blktiger_state *state = machine.driver_data<blktiger_state>();
/* configure bankswitching */
memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->m_scroll_x[0] = 0;
state->m_scroll_x[1] = 0;

View File

@ -191,7 +191,7 @@ static MACHINE_START( blockhl )
blockhl_state *state = machine.driver_data<blockhl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@ -318,7 +318,7 @@ static KONAMI_SETLINES_CALLBACK( blockhl_banking )
/* bits 0-1 = ROM bank */
state->m_rombank = lines & 0x03;
memory_set_bank(device->machine(), "bank1", state->m_rombank);
state->subbank("bank1")->set_entry(state->m_rombank);
/* bits 3/4 = coin counters */
coin_counter_w(device->machine(), 0, lines & 0x08);

View File

@ -1487,7 +1487,7 @@ static DRIVER_INIT (bnstars)
decrypt_ms32_tx(machine, 0x00020,0x7e, "gfx7");
decrypt_ms32_bg(machine, 0x00001,0x9b, "gfx6");
memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base());
machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base());
}
GAME( 1997, bnstars1, 0, bnstars, bnstars, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )

View File

@ -110,7 +110,7 @@ WRITE8_MEMBER(bottom9_state::bankswitch_w)
else
bank = ((data & 0x0e) >> 1);
memory_set_bank(machine(), "bank1", bank);
subbank("bank1")->set_entry(bank);
}
WRITE8_MEMBER(bottom9_state::bottom9_1f90_w)
@ -324,7 +324,7 @@ static MACHINE_START( bottom9 )
bottom9_state *state = machine.driver_data<bottom9_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");

View File

@ -661,7 +661,7 @@ ROM_END
static DRIVER_INIT( brkthru )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x2000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
}
/*************************************

View File

@ -2164,7 +2164,7 @@ static DRIVER_INIT( cookrace )
decrypt_C10707_cpu(machine, "maincpu");
machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
memory_set_bankptr(machine, "bank10", machine.region("audiocpu")->base() + 0xe200);
state->subbank("bank10")->set_base(machine.region("audiocpu")->base() + 0xe200);
state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
@ -2183,7 +2183,7 @@ static DRIVER_INIT( wtennis )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc15f, 0xc15f, read8_delegate(FUNC(btime_state::wtennis_reset_hack_r),state));
machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
memory_set_bankptr(machine, "bank10", machine.region("audiocpu")->base() + 0xe200);
state->subbank("bank10")->set_base(machine.region("audiocpu")->base() + 0xe200);
state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}

View File

@ -1553,7 +1553,7 @@ ROM_END
static void configure_banks( running_machine& machine )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
static DRIVER_INIT( bublbobl )

View File

@ -88,7 +88,7 @@ Dip locations and factory settings verified from dip listing
WRITE8_MEMBER(buggychl_state::bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x07); // shall we check if data&7 < # banks?
subbank("bank1")->set_entry(data & 0x07); // shall we check if data&7 < # banks?
}
static TIMER_CALLBACK( nmi_callback )
@ -361,7 +361,7 @@ static MACHINE_START( buggychl )
buggychl_state *state = machine.driver_data<buggychl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");

View File

@ -851,7 +851,7 @@ static void seibu_sound_bootleg(running_machine &machine,const char *cpu,int len
memcpy(decrypt, rom+length, length);
if (length > 0x10000)
memory_configure_bank_decrypted(machine, "bank1", 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
machine.root_device().subbank("bank1")->configure_decrypted_entries(0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
}

View File

@ -339,7 +339,7 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
//if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
if ((data & 0x50) | (data & 0xA0))
{
memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
@ -352,8 +352,8 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
}
#endif
//memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x10000);
memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base());
state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base() + 0x10000);
state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base());
}
break;
}
@ -865,8 +865,8 @@ static const struct pit8253_config calchase_pit8254_config =
static MACHINE_RESET(calchase)
{
//memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x10000);
memory_set_bankptr(machine, "bank1", machine.region("bios")->base());
//machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base() + 0x10000);
machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base());
}
static void set_gate_a20(running_machine &machine, int a20)

View File

@ -139,7 +139,7 @@ static TIMER_CALLBACK( capbowl_update )
WRITE8_MEMBER(capbowl_state::capbowl_rom_select_w)
{
// 2009-11 FP: shall we add a check to be sure that bank < 6?
memory_set_bank(machine(), "bank1", ((data & 0x0c) >> 1) + (data & 0x01));
subbank("bank1")->set_entry(((data & 0x0c) >> 1) + (data & 0x01));
}
@ -502,7 +502,7 @@ static DRIVER_INIT( capbowl )
UINT8 *ROM = machine.region("maincpu")->base();
/* configure ROM banks in 0x0000-0x3fff */
memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
}

View File

@ -1047,15 +1047,15 @@ WRITE8_MEMBER(cave_state::hotdogst_rombank_w)
if (data & ~0x0f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank2", data & 0x0f);
subbank("bank2")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(cave_state::hotdogst_okibank_w)
{
int bank1 = (data >> 0) & 0x3;
int bank2 = (data >> 4) & 0x3;
memory_set_bank(machine(), "bank3", bank1);
memory_set_bank(machine(), "bank4", bank2);
subbank("bank3")->set_entry(bank1);
subbank("bank4")->set_entry(bank2);
}
static ADDRESS_MAP_START( hotdogst_sound_map, AS_PROGRAM, 8, cave_state )
@ -1084,7 +1084,7 @@ WRITE8_MEMBER(cave_state::mazinger_rombank_w)
if (data & ~0x07)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank2", data & 0x07);
subbank("bank2")->set_entry(data & 0x07);
}
static ADDRESS_MAP_START( mazinger_sound_map, AS_PROGRAM, 8, cave_state )
@ -1115,23 +1115,23 @@ WRITE8_MEMBER(cave_state::metmqstr_rombank_w)
if (data & ~0x0f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(cave_state::metmqstr_okibank0_w)
{
int bank1 = (data >> 0) & 0x7;
int bank2 = (data >> 4) & 0x7;
memory_set_bank(machine(), "bank3", bank1);
memory_set_bank(machine(), "bank4", bank2);
subbank("bank3")->set_entry(bank1);
subbank("bank4")->set_entry(bank2);
}
WRITE8_MEMBER(cave_state::metmqstr_okibank1_w)
{
int bank1 = (data >> 0) & 0x7;
int bank2 = (data >> 4) & 0x7;
memory_set_bank(machine(), "bank5", bank1);
memory_set_bank(machine(), "bank6", bank2);
subbank("bank5")->set_entry(bank1);
subbank("bank6")->set_entry(bank2);
}
static ADDRESS_MAP_START( metmqstr_sound_map, AS_PROGRAM, 8, cave_state )
@ -1163,7 +1163,7 @@ WRITE8_MEMBER(cave_state::pwrinst2_rombank_w)
if (data & ~0x07)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
}
static ADDRESS_MAP_START( pwrinst2_sound_map, AS_PROGRAM, 8, cave_state )
@ -1205,23 +1205,23 @@ WRITE8_MEMBER(cave_state::sailormn_rombank_w)
if (data & ~0x1f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank1", data & 0x1f);
subbank("bank1")->set_entry(data & 0x1f);
}
WRITE8_MEMBER(cave_state::sailormn_okibank0_w)
{
int bank1 = (data >> 0) & 0xf;
int bank2 = (data >> 4) & 0xf;
memory_set_bank(machine(), "bank3", bank1);
memory_set_bank(machine(), "bank4", bank2);
subbank("bank3")->set_entry(bank1);
subbank("bank4")->set_entry(bank2);
}
WRITE8_MEMBER(cave_state::sailormn_okibank1_w)
{
int bank1 = (data >> 0) & 0xf;
int bank2 = (data >> 4) & 0xf;
memory_set_bank(machine(), "bank5", bank1);
memory_set_bank(machine(), "bank6", bank2);
subbank("bank5")->set_entry(bank1);
subbank("bank6")->set_entry(bank2);
}
static ADDRESS_MAP_START( sailormn_sound_map, AS_PROGRAM, 8, cave_state )
@ -4449,16 +4449,16 @@ static DRIVER_INIT( agallet )
UINT8 *ROM = machine.region("audiocpu")->base();
init_cave(machine);
memory_configure_bank(machine, "bank1", 0, 0x02, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank1", 2, 0x1e, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
memory_configure_bank(machine, "bank3", 0, 0x10, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank4", 0, 0x10, &ROM[0x00000], 0x20000);
machine.root_device().subbank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
machine.root_device().subbank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
memory_configure_bank(machine, "bank5", 0, 0x10, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank6", 0, 0x10, &ROM[0x00000], 0x20000);
machine.root_device().subbank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
machine.root_device().subbank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
sailormn_unpack_tiles(machine, "layer2");
@ -4548,12 +4548,12 @@ static DRIVER_INIT( hotdogst )
init_cave(machine);
memory_configure_bank(machine, "bank2", 0, 0x2, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank2", 2, 0xe, &ROM[0x10000], 0x4000);
state->subbank("bank2")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
state->subbank("bank2")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
ROM = machine.region("oki")->base();
memory_configure_bank(machine, "bank3", 0, 4, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank4", 0, 4, &ROM[0x00000], 0x20000);
state->subbank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
state->subbank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
unpack_sprites(machine);
state->m_spritetype[0] = 2; // Normal sprites with different position handling
@ -4570,12 +4570,12 @@ static DRIVER_INIT( mazinger )
init_cave(machine);
memory_configure_bank(machine, "bank2", 0, 2, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank2", 2, 6, &ROM[0x10000], 0x4000);
state->subbank("bank2")->configure_entries(0, 2, &ROM[0x00000], 0x4000);
state->subbank("bank2")->configure_entries(2, 6, &ROM[0x10000], 0x4000);
ROM = machine.region("oki")->base();
memory_configure_bank(machine, "bank3", 0, 4, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank4", 0, 4, &ROM[0x00000], 0x20000);
state->subbank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
state->subbank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
/* decrypt sprites */
buffer = auto_alloc_array(machine, UINT8, len);
@ -4593,7 +4593,7 @@ static DRIVER_INIT( mazinger )
state->m_time_vblank_irq = 2100;
/* setup extra ROM */
memory_set_bankptr(machine, "bank1",machine.region("user1")->base());
state->subbank("bank1")->set_base(machine.region("user1")->base());
}
@ -4604,16 +4604,16 @@ static DRIVER_INIT( metmqstr )
init_cave(machine);
memory_configure_bank(machine, "bank1", 0, 0x2, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank1", 2, 0xe, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
state->subbank("bank1")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
memory_configure_bank(machine, "bank3", 0, 8, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank4", 0, 8, &ROM[0x00000], 0x20000);
state->subbank("bank3")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
state->subbank("bank4")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
memory_configure_bank(machine, "bank5", 0, 8, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank6", 0, 8, &ROM[0x00000], 0x20000);
state->subbank("bank5")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
state->subbank("bank6")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
unpack_sprites(machine);
state->m_spritetype[0] = 2; // Normal sprites with different position handling
@ -4633,8 +4633,8 @@ static DRIVER_INIT( pwrinst2j )
init_cave(machine);
memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank1", 3, 5, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
state->subbank("bank1")->configure_entries(3, 5, &ROM[0x10000], 0x4000);
buffer = auto_alloc_array(machine, UINT8, len);
{
@ -4681,16 +4681,16 @@ static DRIVER_INIT( sailormn )
init_cave(machine);
memory_configure_bank(machine, "bank1", 0, 0x02, &ROM[0x00000], 0x4000);
memory_configure_bank(machine, "bank1", 2, 0x1e, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
state->subbank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
memory_configure_bank(machine, "bank3", 0, 0x10, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank4", 0, 0x10, &ROM[0x00000], 0x20000);
state->subbank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
state->subbank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
memory_configure_bank(machine, "bank5", 0, 0x10, &ROM[0x00000], 0x20000);
memory_configure_bank(machine, "bank6", 0, 0x10, &ROM[0x00000], 0x20000);
state->subbank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
state->subbank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
/* decrypt sprites */
buffer = auto_alloc_array(machine, UINT8, len);

View File

@ -32,7 +32,7 @@ WRITE8_MEMBER(cbasebal_state::cbasebal_bankswitch_w)
/* bits 0-4 select ROM bank */
//logerror("%04x: bankswitch %02x\n", cpu_get_pc(&space.device()), data);
memory_set_bank(machine(), "bank1", data & 0x1f);
subbank("bank1")->set_entry(data & 0x1f);
/* bit 5 used but unknown */
@ -243,7 +243,7 @@ static MACHINE_START( cbasebal )
{
cbasebal_state *state = machine.driver_data<cbasebal_state>();
memory_configure_bank(machine, "bank1", 0, 32, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 32, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_rambank));
state->save_item(NAME(state->m_tilebank));

View File

@ -213,7 +213,7 @@ static MACHINE_START( ccastles )
machine.primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
/* configure the ROM banking */
memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0xa000, 0x6000);
state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0xa000, 0x6000);
/* create a timer for IRQs and set up the first callback */
state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(clock_irq));
@ -265,7 +265,7 @@ WRITE8_MEMBER(ccastles_state::ccounter_w)
WRITE8_MEMBER(ccastles_state::bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 1);
subbank("bank1")->set_entry(data & 1);
}

View File

@ -248,7 +248,7 @@ WRITE8_MEMBER(cclimber_state::toprollr_rombank_w)
m_toprollr_rombank |= (data & 1) << offset;
if (m_toprollr_rombank < 3)
memory_set_bank(machine(), "bank1", m_toprollr_rombank);
subbank("bank1")->set_entry(m_toprollr_rombank);
}
static MACHINE_RESET( cclimber )

View File

@ -56,7 +56,7 @@ WRITE32_MEMBER(cd32_state::aga_overlay_w)
data = (data >> 16) & 1;
/* switch banks as appropriate */
memory_set_bank(machine(), "bank1", data & 1);
subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@ -853,8 +853,8 @@ static DRIVER_INIT( cd32 )
amiga_machine_config(machine, &cd32_intf);
/* set up memory */
memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* input hack */
state->m_input_hack = NULL;
@ -1472,8 +1472,8 @@ static DRIVER_INIT( odeontw2 )
amiga_machine_config(machine, &cd32_intf);
/* set up memory */
memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* input hack */
state->m_input_hack = NULL;

View File

@ -348,7 +348,7 @@ static MACHINE_START( chaknpop )
chaknpop_state *state = machine.driver_data<chaknpop_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_gfxmode));
state->save_item(NAME(state->m_flip_x));

View File

@ -195,7 +195,7 @@ WRITE8_MEMBER(cham24_state::cham24_mapper_w)
UINT8* src = machine().region("user1")->base();
// switch PPU VROM bank
memory_set_bankptr(machine(), "bank1", machine().region("gfx1")->base() + (0x2000 * gfx_bank));
subbank("bank1")->set_base(machine().region("gfx1")->base() + (0x2000 * gfx_bank));
// set gfx mirroring
cham24_set_mirroring(machine(), gfx_mirroring != 0 ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
@ -312,7 +312,7 @@ static MACHINE_START( cham24 )
/* uses 8K swapping, all ROM!*/
machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
memory_set_bankptr(machine, "bank1", machine.region("gfx1")->base());
state->subbank("bank1")->set_base(machine.region("gfx1")->base());
/* need nametable ram, though. I doubt this uses more than 2k, but it starts up configured for 4 */
state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);

View File

@ -194,7 +194,7 @@ WRITE8_MEMBER(champbwl_state::champbwl_misc_w)
coin_lockout_w(machine(), 0, ~data & 8);
coin_lockout_w(machine(), 1, ~data & 4);
memory_set_bank(machine(), "bank1", (data & 0x30) >> 4);
subbank("bank1")->set_entry((data & 0x30) >> 4);
}
static ADDRESS_MAP_START( champbwl_map, AS_PROGRAM, 8, champbwl_state )
@ -231,7 +231,7 @@ WRITE8_MEMBER(champbwl_state::doraemon_outputs_w)
coin_lockout_w(machine(), 0, ~data & 8); // coin lockout
machine().device<ticket_dispenser_device>("hopper")->write(*&space, 0, (data & 0x04) ? 0x00 : 0x80); // gift out motor
memory_set_bank(machine(), "bank1", (data & 0x30) >> 4);
subbank("bank1")->set_entry((data & 0x30) >> 4);
// popmessage("%02x", data);
}
@ -434,7 +434,7 @@ static MACHINE_START( champbwl )
state->m_mcu = NULL;
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_screenflip));
state->save_item(NAME(state->m_last_trackball_val));
@ -531,7 +531,7 @@ static SCREEN_VBLANK( doraemon )
static MACHINE_START( doraemon )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
}
static MACHINE_CONFIG_START( doraemon, tnzs_state )

View File

@ -357,7 +357,7 @@ static WRITE8_DEVICE_HANDLER( chanbara_ay_out_1_w )
state->flip_screen_set(data & 0x02);
memory_set_bank(device->machine(), "bank1", (data & 0x04) >> 2);
state->subbank("bank1")->set_entry((data & 0x04) >> 2);
//if (data & 0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n", data & 0xf8);
}
@ -484,7 +484,7 @@ static DRIVER_INIT(chanbara )
dst[i + 0x2000] = (src[i + 0x1000] & 0x0f) << 4;
}
memory_configure_bank(machine, "bank1", 0, 2, &bg[0x0000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 2, &bg[0x0000], 0x4000);
}
GAME( 1985, chanbara, 0, chanbara, chanbara, chanbara, ROT270, "Data East", "Chanbara", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )

View File

@ -180,12 +180,12 @@ static WRITE8_HANDLER( chinagat_video_ctrl_w )
static WRITE8_HANDLER( chinagat_bankswitch_w )
{
memory_set_bank(space->machine(), "bank1", data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
space->machine().root_device().subbank("bank1")->set_entry(data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
}
static WRITE8_HANDLER( chinagat_sub_bankswitch_w )
{
memory_set_bank(space->machine(), "bank4", data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
space->machine().root_device().subbank("bank4")->set_entry(data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
}
static READ8_HANDLER( saiyugoub1_mcu_command_r )
@ -531,7 +531,7 @@ static MACHINE_START( chinagat )
state->m_snd_cpu = machine.device("audiocpu");
/* configure banks */
memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
/* register for save states */
state->save_item(NAME(state->m_scrollx_hi));
@ -919,8 +919,8 @@ static DRIVER_INIT( chinagat )
state->m_sprite_irq = M6809_IRQ_LINE;
state->m_sound_irq = INPUT_LINE_NMI;
memory_configure_bank(machine, "bank1", 0, 6, &MAIN[0x10000], 0x4000);
memory_configure_bank(machine, "bank4", 0, 6, &SUB[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 6, &MAIN[0x10000], 0x4000);
state->subbank("bank4")->configure_entries(0, 6, &SUB[0x10000], 0x4000);
}

View File

@ -119,7 +119,7 @@ static SCREEN_UPDATE_IND16( chinsan )
WRITE8_MEMBER(chinsan_state::ctrl_w)
{
memory_set_bank(machine(), "bank1", data >> 6);
subbank("bank1")->set_entry(data >> 6);
}
static WRITE8_DEVICE_HANDLER( ym_port_w1 )
@ -571,7 +571,7 @@ static MACHINE_START( chinsan )
{
chinsan_state *state = machine.driver_data<chinsan_state>();
memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_adpcm_idle));
state->save_item(NAME(state->m_port_select));

View File

@ -44,14 +44,14 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
/* bits 0-4 = ROM bank # (0x00-0x11) */
bankaddress = 0x10000 + (data & 0x1f) * 0x4000;
memory_set_bankptr(machine(), "bank4", &RAM[bankaddress]);
subbank("bank4")->set_base(&RAM[bankaddress]);
/* bit 5 = memory bank select */
if (data & 0x20)
{
space.install_read_bank(0x1800, 0x1fff, "bank5");
space.install_write_handler(0x1800, 0x1fff, write8_delegate(FUNC(driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_be_w),this));
memory_set_bankptr(machine(), "bank5", m_generic_paletteram_8);
subbank("bank5")->set_base(m_generic_paletteram_8);
if (m_k051316_readroms)
space.install_legacy_readwrite_handler(*m_k051316_1, 0x1000, 0x17ff, FUNC(k051316_rom_r), FUNC(k051316_w)); /* 051316 #1 (ROM test) */
@ -324,7 +324,7 @@ static MACHINE_START( chqflag )
chqflag_state *state = machine.driver_data<chqflag_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");

View File

@ -45,7 +45,7 @@ WRITE8_MEMBER( draco_state::sound_bankswitch_w )
int bank = BIT(data, 3);
memory_set_bank(machine(), "bank1", bank);
subbank("bank1")->set_entry(bank);
}
WRITE8_MEMBER( draco_state::sound_g_w )
@ -441,8 +441,8 @@ void cidelsa_state::machine_start()
void draco_state::machine_start()
{
/* setup COP402 memory banking */
memory_configure_bank(machine(), "bank1", 0, 2, machine().region(COP402N_TAG)->base(), 0x400);
memory_set_bank(machine(), "bank1", 0);
subbank("bank1")->configure_entries(0, 2, machine().region(COP402N_TAG)->base(), 0x400);
subbank("bank1")->set_entry(0);
/* register for state saving */
save_item(NAME(m_reset));

View File

@ -273,7 +273,7 @@ READ8_MEMBER(cinemat_state::qb3_frame_r)
WRITE8_MEMBER(cinemat_state::qb3_ram_bank_w)
{
memory_set_bank(machine(), "bank1", cpu_get_reg(machine().device("maincpu"), CCPU_P) & 3);
subbank("bank1")->set_entry(cpu_get_reg(machine().device("maincpu"), CCPU_P) & 3);
}
@ -1487,7 +1487,7 @@ static DRIVER_INIT( qb3 )
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0f, 0x0f, read8_delegate(FUNC(cinemat_state::qb3_frame_r),state));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x00, 0x00, write8_delegate(FUNC(cinemat_state::qb3_ram_bank_w),state));
memory_configure_bank(machine, "bank1", 0, 4, state->m_rambase, 0x100*2);
state->subbank("bank1")->configure_entries(0, 4, state->m_rambase, 0x100*2);
}

View File

@ -141,7 +141,7 @@ READ8_MEMBER(cmmb_state::cmmb_input_r)
UINT32 bankaddress;
bankaddress = 0x10000 + (0x10000 * (data & 0x03));
memory_set_bankptr(space->machine(), "bank1", &ROM[bankaddress]);
space->machine().root_device().subbank("bank1")->set_base(&ROM[bankaddress]);
}
*/
@ -156,7 +156,7 @@ WRITE8_MEMBER(cmmb_state::cmmb_output_w)
UINT32 bankaddress;
bankaddress = 0x1c000 + (0x10000 * (data & 0x03));
memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
subbank("bank1")->set_base(&ROM[bankaddress]);
}
break;
case 0x03:

View File

@ -199,9 +199,9 @@ WRITE8_MEMBER(combatsc_state::combatsc_bankselect_w)
}
if (data & 0x10)
memory_set_bank(machine(), "bank1", (data & 0x0e) >> 1);
subbank("bank1")->set_entry((data & 0x0e) >> 1);
else
memory_set_bank(machine(), "bank1", 8 + (data & 1));
subbank("bank1")->set_entry(8 + (data & 1));
}
WRITE8_MEMBER(combatsc_state::combatscb_io_w)
@ -237,13 +237,13 @@ WRITE8_MEMBER(combatsc_state::combatscb_bankselect_w)
m_bank_select = data;
if (data & 0x10)
memory_set_bank(machine(), "bank1", (data & 0x0e) >> 1);
subbank("bank1")->set_entry((data & 0x0e) >> 1);
else
memory_set_bank(machine(), "bank1", 8 + (data & 1));
subbank("bank1")->set_entry(8 + (data & 1));
if (data == 0x1f)
{
memory_set_bank(machine(), "bank1", 8 + (data & 1));
subbank("bank1")->set_entry(8 + (data & 1));
space.install_write_handler(0x4000, 0x7fff, write8_delegate(FUNC(combatsc_state::combatscb_io_w),this));
space.install_read_handler(0x4400, 0x4403, read8_delegate(FUNC(combatsc_state::combatscb_io_r),this));/* IO RAM & Video Registers */
}
@ -702,7 +702,7 @@ static MACHINE_START( combatsc )
state->m_k007121_1 = machine.device("k007121_1");
state->m_k007121_2 = machine.device("k007121_2");
memory_configure_bank(machine, "bank1", 0, 10, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 10, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_priority));
state->save_item(NAME(state->m_vreg));

View File

@ -44,7 +44,7 @@ WRITE8_MEMBER(compgolf_state::compgolf_ctrl_w)
if (m_bank != new_bank)
{
m_bank = new_bank;
memory_set_bank(machine(), "bank1", m_bank);
subbank("bank1")->set_entry(m_bank);
}
m_scrollx_hi = (data & 1) << 8;
@ -360,7 +360,7 @@ static void compgolf_expand_bg(running_machine &machine)
static DRIVER_INIT( compgolf )
{
memory_configure_bank(machine, "bank1", 0, 2, machine.region("user1")->base(), 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("user1")->base(), 0x4000);
compgolf_expand_bg(machine);
}

View File

@ -34,7 +34,7 @@ static INTERRUPT_GEN( contra_interrupt )
WRITE8_MEMBER(contra_state::contra_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(contra_state::contra_sh_irqtrigger_w)
@ -180,7 +180,7 @@ static MACHINE_START( contra )
contra_state *state = machine.driver_data<contra_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007121_1 = machine.device("k007121_1");

View File

@ -281,7 +281,7 @@ WRITE16_MEMBER(cps_state::forgottn_dial_1_reset_w)
WRITE8_MEMBER(cps_state::cps1_snd_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x01);
subbank("bank1")->set_entry(data & 0x01);
}
static WRITE8_DEVICE_HANDLER( cps1_oki_pin7_w )
@ -393,7 +393,7 @@ WRITE8_MEMBER(cps_state::qsound_banksw_w)
bank = 0;
}
memory_set_bank(machine(), "bank1", bank);
subbank("bank1")->set_entry(bank);
}
@ -3040,13 +3040,13 @@ static MACHINE_START( common )
static MACHINE_START( cps1 )
{
MACHINE_START_CALL(common);
memory_configure_bank(machine, "bank1", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_START( qsound )
{
MACHINE_START_CALL(common);
memory_configure_bank(machine, "bank1", 0, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_CONFIG_START( cps1_10MHz, cps_state )

View File

@ -1217,7 +1217,7 @@ static MACHINE_START( cps2 )
state->m_audiocpu = machine.device("audiocpu");
if (state->m_audiocpu != NULL) // gigaman2 has no audiocpu
memory_configure_bank(machine, "bank1", 0, (QSOUND_SIZE - 0x10000) / 0x4000, machine.region("audiocpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, (QSOUND_SIZE - 0x10000) / 0x4000, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}

View File

@ -44,7 +44,7 @@
WRITE8_MEMBER(crgolf_state::rom_bank_select_w)
{
memory_set_bank(machine(), "bank1", data & 15);
subbank("bank1")->set_entry(data & 15);
}
@ -56,8 +56,8 @@ static MACHINE_START( crgolf )
state->m_audiocpu = machine.device("audiocpu");
/* configure the banking */
memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
memory_set_bank(machine, "bank1", 0);
state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
state->subbank("bank1")->set_entry(0);
/* register for save states */
state->save_item(NAME(state->m_port_select));

View File

@ -257,8 +257,8 @@ static MACHINE_START( crimfght )
crimfght_state *state = machine.driver_data<crimfght_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank2", 0, 12, &ROM[0x10000], 0x2000);
memory_set_bank(machine, "bank2", 0);
state->subbank("bank2")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
state->subbank("bank2")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@ -408,7 +408,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
{
device->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank3");
device->memory().space(AS_PROGRAM)->install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(crimfght_state::paletteram_xBBBBBGGGGGRRRRR_byte_be_w), state));
memory_set_bankptr(device->machine(), "bank3", state->m_generic_paletteram_8);
state->subbank("bank3")->set_base(state->m_generic_paletteram_8);
}
else
device->memory().space(AS_PROGRAM)->install_readwrite_bank(0x0000, 0x03ff, "bank1"); /* RAM */
@ -416,7 +416,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
/* bit 6 = enable char ROM reading through the video RAM */
k052109_set_rmrd_line(state->m_k052109, (lines & 0x40) ? ASSERT_LINE : CLEAR_LINE);
memory_set_bank(device->machine(), "bank2", lines & 0x0f);
state->subbank("bank2")->set_entry(lines & 0x0f);
}
GAME( 1989, crimfght, 0, crimfght, crimfght, 0, ROT0, "Konami", "Crime Fighters (US 4 players)", GAME_SUPPORTS_SAVE )

View File

@ -156,7 +156,7 @@ READ16_MEMBER(crshrace_state::extrarom2_r)
WRITE8_MEMBER(crshrace_state::crshrace_sh_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x03);
subbank("bank1")->set_entry(data & 0x03);
}
WRITE16_MEMBER(crshrace_state::sound_command_w)
@ -442,7 +442,7 @@ static MACHINE_START( crshrace )
{
crshrace_state *state = machine.driver_data<crshrace_state>();
memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
state->save_item(NAME(state->m_roz_bank));
state->save_item(NAME(state->m_gfxctrl));

View File

@ -286,9 +286,9 @@ WRITE32_MEMBER(crystal_state::Banksw_w)
m_Bank = (data >> 1) & 7;
if (m_Bank <= 2)
memory_set_bankptr(machine(), "bank1", machine().region("user1")->base() + m_Bank * 0x1000000);
subbank("bank1")->set_base(machine().region("user1")->base() + m_Bank * 0x1000000);
else
memory_set_bankptr(machine(), "bank1", machine().region("user2")->base());
subbank("bank1")->set_base(machine().region("user2")->base());
}
static TIMER_CALLBACK( Timercb )
@ -567,9 +567,9 @@ static void crystal_banksw_postload(running_machine &machine)
crystal_state *state = machine.driver_data<crystal_state>();
if (state->m_Bank <= 2)
memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + state->m_Bank * 0x1000000);
state->subbank("bank1")->set_base(machine.region("user1")->base() + state->m_Bank * 0x1000000);
else
memory_set_bankptr(machine, "bank1", machine.region("user2")->base());
state->subbank("bank1")->set_base(machine.region("user2")->base());
}
static MACHINE_START( crystal )
@ -613,7 +613,7 @@ static MACHINE_RESET( crystal )
state->m_IntHigh = 0;
device_set_irq_callback(machine.device("maincpu"), icallback);
state->m_Bank = 0;
memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + 0);
state->subbank("bank1")->set_base(machine.region("user1")->base() + 0);
state->m_FlashCmd = 0xff;
state->m_OldPort4 = 0;

View File

@ -239,7 +239,7 @@ WRITE8_MEMBER(cshooter_state::cshooter_c700_w)
WRITE8_MEMBER(cshooter_state::bank_w)
{
memory_set_bankptr(machine(), "bank1",&machine().region("user1")->base()[0x4000*((data>>4)&3)]);
subbank("bank1")->set_base(&machine().region("user1")->base()[0x4000*((data>>4)&3)]);
}
@ -670,7 +670,7 @@ static DRIVER_INIT( cshooter )
rom[0xa2] = 0x00;
rom[0xa3] = 0x00;
rom[0xa4] = 0x00;
memory_set_bankptr(machine, "bank1",&machine.region("user1")->base()[0]);
machine.root_device().subbank("bank1")->set_base(&machine.region("user1")->base()[0]);
}
static DRIVER_INIT( cshootere )
@ -707,7 +707,7 @@ static DRIVER_INIT( cshootere )
rom[A] = BITSWAP8(rom[A],7,6,1,4,3,2,5,0);
}
memory_set_bankptr(machine, "bank1",&machine.region("user1")->base()[0]);
machine.root_device().subbank("bank1")->set_base(&machine.region("user1")->base()[0]);
seibu_sound_decrypt(machine,"audiocpu",0x2000);
}

View File

@ -169,7 +169,7 @@ static void csplayh5_soundbank_w(running_machine &machine, int data)
{
UINT8 *SNDROM = machine.region("audiocpu")->base();
memory_set_bankptr(machine, "bank1", &SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
machine.root_device().subbank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
}
READ8_MEMBER(csplayh5_state::csplayh5_sound_r)

View File

@ -128,7 +128,7 @@ static SCREEN_UPDATE_IND16( cultures )
WRITE8_MEMBER(cultures_state::cpu_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
m_video_bank = ~data & 0x20;
}
@ -372,7 +372,7 @@ static MACHINE_START( cultures )
cultures_state *state = machine.driver_data<cultures_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x0000], 0x4000);
state->subbank("bank1")->configure_entries(0, 16, &ROM[0x0000], 0x4000);
state->save_item(NAME(state->m_paletteram));
state->save_item(NAME(state->m_old_bank));

View File

@ -227,7 +227,7 @@ static SCREEN_UPDATE_IND16( cyclemb )
WRITE8_MEMBER(cyclemb_state::cyclemb_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 3);
subbank("bank1")->set_entry(data & 3);
}
#if 0
@ -613,7 +613,7 @@ ROM_END
static DRIVER_INIT( cyclemb )
{
memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x1000);
}
GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb, ROT0, "Taito Corporation", "Cycle Mahbou (Japan)", GAME_NOT_WORKING )

View File

@ -96,7 +96,7 @@ WRITE8_MEMBER(d9final_state::d9final_bank_w)
UINT32 bankaddress;
bankaddress = 0x10000+(0x4000 * (data & 0x7));
memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
subbank("bank1")->set_base(&ROM[bankaddress]);
}
/* game checks this after three attract cycles, otherwise coin inputs stop to work. */
@ -275,7 +275,7 @@ static MACHINE_RESET( d9final )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_set_bankptr(machine, "bank1", &ROM[0x10000]);
machine.root_device().subbank("bank1")->set_base(&ROM[0x10000]);
}
static MACHINE_CONFIG_START( d9final, d9final_state )

View File

@ -274,7 +274,7 @@ ADDRESS_MAP_END
static void reset_sound_region( running_machine &machine )
{
darius_state *state = machine.driver_data<darius_state>();
memory_set_bank(machine, "bank1", state->m_banknum);
state->subbank("bank1")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(darius_state::sound_bankswitch_w)
@ -842,9 +842,9 @@ static MACHINE_START( darius )
{
darius_state *state = machine.driver_data<darius_state>();
memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
memory_configure_bank(machine, "bank1", 4, 1, machine.region("audiocpu")->base(), 0x8000);
memory_set_bank(machine, "bank1", 4);
state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
state->subbank("bank1")->configure_entry(4, machine.region("audiocpu")->base());
state->subbank("bank1")->set_entry(4);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");

View File

@ -32,7 +32,7 @@ TODO:
WRITE8_MEMBER(darkmist_state::darkmist_hw_w)
{
m_hw=data;
memory_set_bankptr(machine(), "bank1",&machine().region("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]);
subbank("bank1")->set_base(&machine().region("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]);
}
static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state )
@ -437,7 +437,7 @@ static DRIVER_INIT(darkmist)
}
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
memory_set_bankptr(space->machine(), "bank1",&ROM[0x010000]);
space->machine().root_device().subbank("bank1")->set_base(&ROM[0x010000]);
/* adr line swaps */
ROM = machine.region("user1")->base();

View File

@ -203,7 +203,7 @@ WRITE8_MEMBER(ddayjlc_state::bg2_w)
if (m_bgadr > 2)
m_bgadr = 0;
memory_set_bank(machine(), "bank1", m_bgadr);
subbank("bank1")->set_entry(m_bgadr);
}
WRITE8_MEMBER(ddayjlc_state::sound_w)
@ -690,8 +690,8 @@ static DRIVER_INIT( ddayjlc )
auto_free(machine, temp);
}
memory_configure_bank(machine, "bank1", 0, 3, machine.region("user1")->base(), 0x4000);
memory_set_bank(machine, "bank1", 0);
machine.root_device().subbank("bank1")->configure_entries(0, 3, machine.region("user1")->base(), 0x4000);
machine.root_device().subbank("bank1")->set_entry(0);
}
GAME( 1984, ddayjlc, 0, ddayjlc, ddayjlc, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )

View File

@ -1985,11 +1985,11 @@ WRITE8_MEMBER(dynax_state::rongrong_select_w)
//logerror("%04x: rongrong_select_w %02x\n",cpu_get_pc(&space.device()),data);
/* bits 0-4 = **both** ROM bank **AND** input select */
memory_set_bank(machine(), "bank1", data & 0x1f);
subbank("bank1")->set_entry(data & 0x1f);
m_dsw_sel = data;
/* bits 5-7 = RAM bank */
memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
@ -2083,7 +2083,7 @@ READ8_MEMBER(dynax_state::magic_r)
WRITE8_MEMBER(dynax_state::mmpanic_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x7);
subbank("bank1")->set_entry(data & 0x7);
/* Bit 4? */
}
@ -2244,9 +2244,9 @@ WRITE8_MEMBER(dynax_state::funkyfig_rombank_w)
m_dsw_sel = data;
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
// bit 4 selects palette ram at 8000?
memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
READ8_MEMBER(dynax_state::funkyfig_dsw_r)
@ -2352,8 +2352,8 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::hanakanz_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
memory_set_bank(machine(), "bank2", ((data & 0xf0) >> 4));
subbank("bank1")->set_entry(data & 0x0f);
subbank("bank2")->set_entry(((data & 0xf0) >> 4));
}
static ADDRESS_MAP_START( hanakanz_map, AS_PROGRAM, 8, dynax_state )
@ -2699,7 +2699,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::mjmyster_rambank_w)
{
memory_set_bank(machine(), "bank2", data & 0x07);
subbank("bank2")->set_entry(data & 0x07);
//logerror("%04x: rambank = %02x\n", cpu_get_pc(&space.device()), data);
}
@ -2813,7 +2813,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::hginga_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x7);
subbank("bank1")->set_entry(data & 0x7);
m_hginga_rombank = data;
}
@ -3158,8 +3158,8 @@ WRITE8_MEMBER(dynax_state::hparadis_select_w)
m_dsw_sel = data;
m_keyb = 0;
memory_set_bank(machine(), "bank1", data & 0x07);
memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
subbank("bank1")->set_entry(data & 0x07);
subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
@ -3383,7 +3383,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::mjflove_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0xf);
subbank("bank1")->set_entry(data & 0xf);
}
static WRITE8_DEVICE_HANDLER( mjflove_okibank_w )
@ -3556,7 +3556,7 @@ WRITE8_MEMBER(dynax_state::sryudens_coincounter_w)
WRITE8_MEMBER(dynax_state::sryudens_rambank_w)
{
memory_set_bank(machine(), "bank2", data & 0x0f);
subbank("bank2")->set_entry(data & 0x0f);
//logerror("%04x: rambank = %02x\n", cpu_get_pc(&space.device()), data);
}
@ -7614,8 +7614,8 @@ static MACHINE_RESET( ddenlovr )
static MACHINE_START( rongrong )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x20, &ROM[0x010000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x110000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x20, &ROM[0x010000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x110000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7623,7 +7623,7 @@ static MACHINE_START( rongrong )
static MACHINE_START( mmpanic )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(ddenlovr);
}
@ -7631,8 +7631,8 @@ static MACHINE_START( mmpanic )
static MACHINE_START( funkyfig )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7640,8 +7640,8 @@ static MACHINE_START( funkyfig )
static MACHINE_START( hanakanz )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x90000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7649,8 +7649,8 @@ static MACHINE_START( hanakanz )
static MACHINE_START( mjmyster )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7658,8 +7658,8 @@ static MACHINE_START( mjmyster )
static MACHINE_START( hparadis )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x50000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x50000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7667,8 +7667,8 @@ static MACHINE_START( hparadis )
static MACHINE_START( mjflove )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@ -7676,8 +7676,8 @@ static MACHINE_START( mjflove )
static MACHINE_START( sryudens )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x90000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}

View File

@ -150,7 +150,7 @@ static MACHINE_START( ddragon )
ddragon_state *state = machine.driver_data<ddragon_state>();
/* configure banks */
memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_sub_cpu = machine.device("sub");
@ -203,7 +203,7 @@ WRITE8_MEMBER(ddragon_state::ddragon_bankswitch_w)
else if (m_dd_sub_cpu_busy == 0)
device_set_input_line(m_sub_cpu, m_sprite_irq, (m_sprite_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
memory_set_bank(machine(), "bank1", (data & 0xe0) >> 5);
subbank("bank1")->set_entry((data & 0xe0) >> 5);
}
@ -217,7 +217,7 @@ WRITE8_MEMBER(ddragon_state::toffy_bankswitch_w)
/* bit 3 unknown */
/* I don't know ... */
memory_set_bank(machine(), "bank1", (data & 0x20) >> 5);
subbank("bank1")->set_entry((data & 0x20) >> 5);
}
@ -278,7 +278,7 @@ WRITE8_MEMBER(ddragon_state::darktowr_bankswitch_w)
else if (m_dd_sub_cpu_busy == 0)
device_set_input_line(m_sub_cpu, m_sprite_irq, (m_sprite_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
memory_set_bank(machine(), "bank1", newbank);
subbank("bank1")->set_entry(newbank);
if (newbank == 4 && oldbank != 4)
space.install_readwrite_handler(0x4000, 0x7fff, read8_delegate(FUNC(ddragon_state::darktowr_mcu_bank_r),this), write8_delegate(FUNC(ddragon_state::darktowr_mcu_bank_w),this));
else if (newbank != 4 && oldbank == 4)

View File

@ -35,7 +35,7 @@ static INTERRUPT_GEN( ddribble_interrupt_1 )
WRITE8_MEMBER(ddribble_state::ddribble_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
@ -248,7 +248,7 @@ static MACHINE_START( ddribble )
{
ddribble_state *state = machine.driver_data<ddribble_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 5, &ROM[0x10000], 0x2000);
state->subbank("bank1")->configure_entries(0, 5, &ROM[0x10000], 0x2000);
state->m_filter1 = machine.device("filter1");
state->m_filter2 = machine.device("filter2");

View File

@ -443,7 +443,7 @@ bb63 = Square things again
WRITE8_MEMBER(dec8_state::dec8_bank_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
/* Used by Ghostbusters, Meikyuu Hunter G & Gondomania */
@ -457,7 +457,7 @@ WRITE8_MEMBER(dec8_state::ghostb_bank_w)
Bits 4-7: Bank switch
*/
memory_set_bank(machine(), "bank1", data >> 4);
subbank("bank1")->set_entry(data >> 4);
if ((data&1)==0) device_set_input_line(m_maincpu, M6809_IRQ_LINE, CLEAR_LINE);
if (data & 2) m_nmi_enable =1; else m_nmi_enable = 0;
@ -473,7 +473,7 @@ WRITE8_MEMBER(dec8_state::csilver_control_w)
Bit 0x40 - Unused.
Bit 0x80 - Hold subcpu reset line high if clear, else low? (Not needed anyway)
*/
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(dec8_state::dec8_sound_w)
@ -506,7 +506,7 @@ WRITE8_MEMBER(dec8_state::csilver_adpcm_data_w)
WRITE8_MEMBER(dec8_state::csilver_sound_bank_w)
{
memory_set_bank(machine(), "bank3", (data & 0x08) >> 3);
subbank("bank3")->set_entry((data & 0x08) >> 3);
}
/******************************************************************************/
@ -3563,28 +3563,28 @@ static DRIVER_INIT( deco222 )
static DRIVER_INIT( lastmisn )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( shackled )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 14, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( gondo )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( garyoret )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
@ -3596,7 +3596,7 @@ static DRIVER_INIT( ghostb )
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL(deco222);
}
@ -3608,7 +3608,7 @@ static DRIVER_INIT( meikyuh )
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
@ -3617,29 +3617,29 @@ static DRIVER_INIT( csilver )
UINT8 *ROM = machine.region("maincpu")->base();
UINT8 *RAM = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank1", 0, 14, &ROM[0x10000], 0x4000);
memory_configure_bank(machine, "bank3", 0, 2, &RAM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank3")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( oscar )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( deco222 );
}
static DRIVER_INIT( srdarwin )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( deco222 );
}
static DRIVER_INIT( cobracom )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}

View File

@ -1491,11 +1491,11 @@ static DRIVER_INIT( decocrom )
/* convert charram to a banked ROM */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0xafff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0xafff, FUNC(decocass_de0091_w));
memory_configure_bank(machine, "bank1", 0, 1, state->m_charram, 0);
memory_configure_bank(machine, "bank1", 1, 1, machine.region("user3")->base(), 0);
memory_configure_bank_decrypted(machine, "bank1", 0, 1, &state->m_decrypted[0x6000], 0);
memory_configure_bank_decrypted(machine, "bank1", 1, 1, state->m_decrypted2, 0);
memory_set_bank(machine, "bank1", 0);
state->subbank("bank1")->configure_entry(0, state->m_charram);
state->subbank("bank1")->configure_entry(1, machine.region("user3")->base());
state->subbank("bank1")->configure_decrypted_entry(0, &state->m_decrypted[0x6000]);
state->subbank("bank1")->configure_decrypted_entry(1, state->m_decrypted2);
state->subbank("bank1")->set_entry(0);
/* install the bank selector */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe900, 0xe900, FUNC(decocass_e900_w));

View File

@ -72,7 +72,7 @@ static void answer_bankswitch(running_machine &machine,UINT8 new_bank)
state->m_bank = new_bank;
bankaddress = 0 + 0x6000 * state->m_bank;
memory_set_bankptr(machine, "bank1", &ROM[bankaddress]);
state->subbank("bank1")->set_base(&ROM[bankaddress]);
}
}

View File

@ -201,7 +201,7 @@ void discoboy_setrombank( running_machine &machine, UINT8 data )
{
UINT8 *ROM = machine.region("maincpu")->base();
data &= 0x2f;
memory_set_bankptr(space->machine(), "bank1", &ROM[0x6000 + (data * 0x1000)] );
space->machine().root_device().subbank("bank1")->set_base(&ROM[0x6000 + (data * 0x1000)] );
}
#endif
@ -225,7 +225,7 @@ WRITE8_MEMBER(discoboy_state::discoboy_port_01_w)
// discoboy gfxbank
m_gfxbank = data & 0xf0;
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
}
WRITE8_MEMBER(discoboy_state::discoboy_port_03_w)// sfx? (to sound cpu)
@ -329,7 +329,7 @@ static WRITE8_DEVICE_HANDLER( yunsung8_sound_bankswitch_w )
/* Note: this is bit 5 on yunsung8.c */
msm5205_reset_w(device, (data & 0x08) >> 3);
memory_set_bank(device->machine(), "sndbank", data & 0x07);
device->machine().root_device().subbank("sndbank")->set_entry(data & 0x07);
if (data != (data & (~0x0f)))
logerror("%s: Bank %02X\n", device->machine().describe_context(), data);
@ -575,10 +575,10 @@ static DRIVER_INIT( discoboy )
state->save_item(NAME(state->m_ram_3));
state->save_item(NAME(state->m_ram_4));
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
memory_set_bank(machine, "bank1", 0);
memory_configure_bank(machine, "sndbank", 0, 8, &AUDIO[0x00000], 0x4000);
memory_set_bank(machine, "sndbank", 0);
state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
state->subbank("bank1")->set_entry(0);
state->subbank("sndbank")->configure_entries(0, 8, &AUDIO[0x00000], 0x4000);
state->subbank("sndbank")->set_entry(0);
}

View File

@ -179,8 +179,8 @@ WRITE8_MEMBER(djboy_state::cpu0_bankswitch_w)
{
data ^= m_bankxor;
memory_set_bank(machine(), "bank1", data);
memory_set_bank(machine(), "bank4", 0); /* unsure if/how this area is banked */
subbank("bank1")->set_entry(data);
subbank("bank4")->set_entry(0); /* unsure if/how this area is banked */
}
/******************************************************************************/
@ -202,7 +202,7 @@ WRITE8_MEMBER(djboy_state::cpu1_bankswitch_w)
case 0x01:
case 0x02:
case 0x03:
memory_set_bank(machine(), "bank2", (data & 0xf));
subbank("bank2")->set_entry((data & 0xf));
break;
/* bs101.6w */
@ -214,7 +214,7 @@ WRITE8_MEMBER(djboy_state::cpu1_bankswitch_w)
case 0x0d:
case 0x0e:
case 0x0f:
memory_set_bank(machine(), "bank2", (data & 0xf) - 4);
subbank("bank2")->set_entry((data & 0xf) - 4);
break;
default:
@ -238,7 +238,7 @@ WRITE8_MEMBER(djboy_state::trigger_nmi_on_sound_cpu2)
WRITE8_MEMBER(djboy_state::cpu2_bankswitch_w)
{
memory_set_bank(machine(), "bank3", data); // shall we check data<0x07?
subbank("bank3")->set_entry(data); // shall we check data<0x07?
}
/******************************************************************************/
@ -526,13 +526,13 @@ static MACHINE_START( djboy )
UINT8 *CPU1 = machine.region("cpu1")->base();
UINT8 *CPU2 = machine.region("cpu2")->base();
memory_configure_bank(machine, "bank1", 0, 4, &MAIN[0x00000], 0x2000);
memory_configure_bank(machine, "bank1", 4, 28, &MAIN[0x10000], 0x2000);
memory_configure_bank(machine, "bank2", 0, 2, &CPU1[0x00000], 0x4000);
memory_configure_bank(machine, "bank2", 2, 10, &CPU1[0x10000], 0x4000);
memory_configure_bank(machine, "bank3", 0, 3, &CPU2[0x00000], 0x4000);
memory_configure_bank(machine, "bank3", 3, 5, &CPU2[0x10000], 0x4000);
memory_configure_bank(machine, "bank4", 0, 1, &MAIN[0x10000], 0x3000); /* unsure if/how this area is banked */
state->subbank("bank1")->configure_entries(0, 4, &MAIN[0x00000], 0x2000);
state->subbank("bank1")->configure_entries(4, 28, &MAIN[0x10000], 0x2000);
state->subbank("bank2")->configure_entries(0, 2, &CPU1[0x00000], 0x4000);
state->subbank("bank2")->configure_entries(2, 10, &CPU1[0x10000], 0x4000);
state->subbank("bank3")->configure_entries(0, 3, &CPU2[0x00000], 0x4000);
state->subbank("bank3")->configure_entries(3, 5, &CPU2[0x10000], 0x4000);
state->subbank("bank4")->configure_entry(0, &MAIN[0x10000]); /* unsure if/how this area is banked */
state->m_maincpu = machine.device("maincpu");
state->m_cpu1 = machine.device("cpu1");

View File

@ -492,9 +492,9 @@ static MACHINE_RESET( strtheat )
MACHINE_RESET_CALL(dkong);
/* The initial state of the counter is 0x08 */
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_decrypt_counter = 0x08;
memory_set_bank(machine, "bank1", 0);
state->subbank("bank1")->set_entry(0);
}
static MACHINE_RESET( drakton )
@ -505,9 +505,9 @@ static MACHINE_RESET( drakton )
MACHINE_RESET_CALL(dkong);
/* The initial state of the counter is 0x09 */
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_decrypt_counter = 0x09;
memory_set_bank(machine, "bank1", 1);
state->subbank("bank1")->set_entry(1);
}
@ -627,10 +627,10 @@ READ8_MEMBER(dkong_state::epos_decrypt_rom)
switch(m_decrypt_counter)
{
case 0x08: memory_set_bank(machine(), "bank1", 0); break;
case 0x09: memory_set_bank(machine(), "bank1", 1); break;
case 0x0A: memory_set_bank(machine(), "bank1", 2); break;
case 0x0B: memory_set_bank(machine(), "bank1", 3); break;
case 0x08: subbank("bank1")->set_entry(0); break;
case 0x09: subbank("bank1")->set_entry(1); break;
case 0x0A: subbank("bank1")->set_entry(2); break;
case 0x0B: subbank("bank1")->set_entry(3); break;
default:
logerror("Invalid counter = %02X\n",m_decrypt_counter);
break;
@ -1618,8 +1618,8 @@ static READ8_DEVICE_HANDLER( braze_eeprom_r )
WRITE8_MEMBER(dkong_state::braze_a15_w)
{
memory_set_bank(machine(), "bank1", data & 0x01);
memory_set_bank(machine(), "bank2", data & 0x01);
subbank("bank1")->set_entry(data & 0x01);
subbank("bank2")->set_entry(data & 0x01);
}
static WRITE8_DEVICE_HANDLER( braze_eeprom_w )
@ -3174,10 +3174,10 @@ static DRIVER_INIT( dkongx )
braze_decrypt_rom(machine, decrypted);
memory_configure_bank(machine,"bank1", 0, 2, &decrypted[0], 0x8000);
memory_set_bank(machine,"bank1", 0);
memory_configure_bank(machine,"bank2", 0, 2, &decrypted[0], 0x8000);
memory_set_bank(machine,"bank2", 0);
state->subbank("bank1")->configure_entries(0, 2, &decrypted[0], 0x8000);
state->subbank("bank1")->set_entry(0);
state->subbank("bank2")->configure_entries(0, 2, &decrypted[0], 0x8000);
state->subbank("bank2")->set_entry(0);
}
static DRIVER_INIT( dkingjr )

View File

@ -86,14 +86,14 @@ be verified on real PCB.
WRITE8_MEMBER(dooyong_state::lastday_bankswitch_w)
{
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
if (data & 0xf8) popmessage("bankswitch %02x",data);
}
static MACHINE_START( lastday )
{
memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
WRITE8_MEMBER(dooyong_state::flip_screen_w)

View File

@ -116,7 +116,7 @@ WRITE8_MEMBER(drw80pkr_state::prog_w)
{
m_active_bank = m_active_bank ^ 0x01;
memory_set_bank(machine(), "bank1", m_active_bank);
subbank("bank1")->set_entry(m_active_bank);
}
}
@ -405,7 +405,7 @@ GFXDECODE_END
static DRIVER_INIT( drw80pkr )
{
memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base(), 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base(), 0x1000);
}

View File

@ -466,7 +466,7 @@ WRITE8_MEMBER(dunhuang_state::dunhuang_rombank_w)
// ? data & 0x01
// ? data & 0x02
memory_set_bank(machine(), "bank1", ((data >> 2) & 0x7));
subbank("bank1")->set_entry(((data >> 2) & 0x7));
// COIN OUT: data & 0x20
coin_counter_w(machine(), 0, data & 0x40);
@ -768,7 +768,7 @@ static MACHINE_START( dunhuang )
dunhuang_state *state = machine.driver_data<dunhuang_state>();
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
state->save_item(NAME(state->m_written));
state->save_item(NAME(state->m_written2));

View File

@ -266,12 +266,12 @@ WRITE8_MEMBER(dynax_state::hanamai_keyboard_w)
WRITE8_MEMBER(dynax_state::dynax_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(dynax_state::jantouki_sound_rombank_w)
{
memory_set_bank(machine(), "bank2", data);
subbank("bank2")->set_entry(data);
}
@ -281,7 +281,7 @@ WRITE8_MEMBER(dynax_state::hnoridur_rombank_w)
//logerror("%04x: rom bank = %02x\n", cpu_get_pc(&space.device()), data);
if (data < bank_n)
memory_set_bank(machine(), "bank1", data);
subbank("bank1")->set_entry(data);
else
logerror("rom_bank = %02x (larger than the maximum bank %02x)\n", data, bank_n);
m_hnoridur_bank = data;
@ -753,7 +753,7 @@ WRITE8_MEMBER(dynax_state::yarunara_rombank_w)
//logerror("%04x: rom bank = %02x\n", cpu_get_pc(&space.device()), data);
if (data < bank_n)
memory_set_bank(machine(), "bank1", data);
subbank("bank1")->set_entry(data);
else
logerror("rom_bank = %02x (larger than the maximum bank %02x)\n",data, bank_n);
m_hnoridur_bank = data;
@ -969,7 +969,7 @@ READ8_MEMBER(dynax_state::jantouki_blitter_busy_r)
WRITE8_MEMBER(dynax_state::jantouki_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x0f);
subbank("bank1")->set_entry(data & 0x0f);
set_led_status(machine(), 0, data & 0x10); // maybe
}
@ -1190,7 +1190,7 @@ READ8_MEMBER(dynax_state::htengoku_coin_r)
WRITE8_MEMBER(dynax_state::htengoku_rombank_w)
{
memory_set_bank(machine(), "bank1", data & 0x07);
subbank("bank1")->set_entry(data & 0x07);
m_hnoridur_bank = data;
}
@ -4240,7 +4240,7 @@ static MACHINE_RESET( dynax )
static MACHINE_START( hanamai )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x8000], 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x8000], 0x8000);
MACHINE_START_CALL(dynax);
}
@ -4250,7 +4250,7 @@ static MACHINE_START( hnoridur )
UINT8 *ROM = machine.region("maincpu")->base();
int bank_n = (machine.region("maincpu")->bytes() - 0x10000) / 0x8000;
memory_configure_bank(machine, "bank1", 0, bank_n, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, bank_n, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(dynax);
}
@ -4259,7 +4259,7 @@ static MACHINE_START( htengoku )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(dynax);
}
@ -4633,8 +4633,8 @@ static MACHINE_START( jantouki )
UINT8 *MAIN = machine.region("maincpu")->base();
UINT8 *SOUND = machine.region("soundcpu")->base();
memory_configure_bank(machine, "bank1", 0, 0x10, &MAIN[0x8000], 0x8000);
memory_configure_bank(machine, "bank2", 0, 12, &SOUND[0x8000], 0x8000);
state->subbank("bank1")->configure_entries(0, 0x10, &MAIN[0x8000], 0x8000);
state->subbank("bank2")->configure_entries(0, 12, &SOUND[0x8000], 0x8000);
state->m_top_scr = machine.device("top");
state->m_bot_scr = machine.device("bottom");

View File

@ -44,7 +44,7 @@ WRITE8_MEMBER(epos_state::dealer_decrypt_rom)
// logerror("PC %08x: ctr=%04x\n",cpu_get_pc(&space.device()), m_counter);
memory_set_bank(machine(), "bank1", m_counter);
subbank("bank1")->set_entry(m_counter);
// is the 2nd bank changed by the counter or it always uses the 1st key?
}
@ -101,7 +101,7 @@ ADDRESS_MAP_END
*/
static WRITE8_DEVICE_HANDLER( write_prtc )
{
memory_set_bank(device->machine(), "bank2", data & 0x01);
device->machine().root_device().subbank("bank2")->set_entry(data & 0x01);
}
static const ppi8255_interface ppi8255_intf =
@ -382,11 +382,11 @@ static MACHINE_RESET( epos )
static MACHINE_START( dealer )
{
UINT8 *ROM = machine.region("maincpu")->base();
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x0000], 0x10000);
memory_configure_bank(machine, "bank2", 0, 2, &ROM[0x6000], 0x1000);
machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x0000], 0x10000);
machine.root_device().subbank("bank2")->configure_entries(0, 2, &ROM[0x6000], 0x1000);
memory_set_bank(machine, "bank1", 0);
memory_set_bank(machine, "bank2", 0);
machine.root_device().subbank("bank1")->set_entry(0);
machine.root_device().subbank("bank2")->set_entry(0);
MACHINE_START_CALL(epos);
}

View File

@ -226,7 +226,7 @@ WRITE8_MEMBER(esd16_state::esd16_sound_rombank_w)
int bank = data & 0xf;
if (data != bank) logerror("CPU #1 - PC %04X: unknown bank bits: %02X\n", cpu_get_pc(&space.device()), data);
if (bank >= 3) bank += 1;
memory_set_bank(machine(), "bank1", bank);
subbank("bank1")->set_entry(bank);
}
static ADDRESS_MAP_START( multchmp_sound_map, AS_PROGRAM, 8, esd16_state )
@ -520,7 +520,7 @@ static MACHINE_START( esd16 )
esd16_state *state = machine.driver_data<esd16_state>();
UINT8 *AUDIO = machine.region("audiocpu")->base();
memory_configure_bank(machine, "bank1", 0, 17, &AUDIO[0x0000], 0x4000);
state->subbank("bank1")->configure_entries(0, 17, &AUDIO[0x0000], 0x4000);
state->m_audio_cpu = machine.device("audiocpu");
state->m_eeprom = machine.device<eeprom_device>("eeprom");

View File

@ -109,7 +109,7 @@ WRITE8_MEMBER(esripsys_state::g_status_w)
m_g_status = data;
bankaddress = 0x10000 + (data & 0x03) * 0x10000;
memory_set_bankptr(machine(), "bank1", &rom[bankaddress]);
subbank("bank1")->set_base(&rom[bankaddress]);
cputag_set_input_line(machine(), "frame_cpu", M6809_FIRQ_LINE, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
cputag_set_input_line(machine(), "frame_cpu", INPUT_LINE_NMI, data & 0x80 ? CLEAR_LINE : ASSERT_LINE);
@ -506,9 +506,9 @@ WRITE8_MEMBER(esripsys_state::s_200f_w)
m_u56b = 1;
/* Speech data resides in the upper 8kB of the ROMs */
memory_set_bankptr(machine(), "bank2", &rom[0x0000 + rombank]);
memory_set_bankptr(machine(), "bank3", &rom[0x4000 + rombank]);
memory_set_bankptr(machine(), "bank4", &rom[0x8000 + rombank]);
subbank("bank2")->set_base(&rom[0x0000 + rombank]);
subbank("bank3")->set_base(&rom[0x4000 + rombank]);
subbank("bank4")->set_base(&rom[0x8000 + rombank]);
m_s_to_g_latch2 = data;
}
@ -653,9 +653,9 @@ static DRIVER_INIT( esripsys )
machine.device<nvram_device>("nvram")->set_base(state->m_cmos_ram, CMOS_RAM_SIZE);
memory_set_bankptr(machine, "bank2", &rom[0x0000]);
memory_set_bankptr(machine, "bank3", &rom[0x4000]);
memory_set_bankptr(machine, "bank4", &rom[0x8000]);
state->subbank("bank2")->set_base(&rom[0x0000]);
state->subbank("bank3")->set_base(&rom[0x4000]);
state->subbank("bank4")->set_base(&rom[0x8000]);
/* Register stuff for state saving */
state_save_register_global_pointer(machine, state->m_fdt_a, FDT_RAM_SIZE);

View File

@ -187,7 +187,7 @@ WRITE8_MEMBER(exidy_state::fax_bank_select_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
memory_set_bankptr(machine(), "bank1", &RAM[0x10000 + (0x2000 * (data & 0x1f))]);
subbank("bank1")->set_base(&RAM[0x10000 + (0x2000 * (data & 0x1f))]);
if ((data & 0x1f) > 0x17)
logerror("Banking to unpopulated ROM bank %02X!\n",data & 0x1f);
}
@ -1470,7 +1470,7 @@ static DRIVER_INIT( phantoma )
/* the ROM is actually mapped high */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xf800, 0xffff, "bank1");
memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0xf800);
state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0xf800);
}

View File

@ -308,7 +308,7 @@ void exidy440_bank_select(running_machine &machine, UINT8 bank)
/* select the bank and update the bank pointer */
state->m_bank = bank;
memory_set_bankptr(machine, "bank1", &machine.region("maincpu")->base()[0x10000 + state->m_bank * 0x4000]);
state->subbank("bank1")->set_base(&machine.region("maincpu")->base()[0x10000 + state->m_bank * 0x4000]);
}

View File

@ -55,7 +55,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpua_bankswitch_w)
m_cpua_bank = data & 0x0f;
if (m_cpua_bank >= 2)
{
memory_set_bankptr(machine(), "bank2", &RAM[ 0x10000 + ( (m_cpua_bank - 2) * 0x4000 ) ] );
subbank("bank2")->set_base(&RAM[ 0x10000 + ( (m_cpua_bank - 2) * 0x4000 ) ] );
}
}
@ -71,7 +71,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpub_bankswitch_w)
m_cpub_bank = data & 0x0f;
if (m_cpub_bank >= 2)
{
memory_set_bankptr(machine(), "bank1", &RAM[ 0x10000 + ( (m_cpub_bank - 2) * 0x4000 ) ] );
subbank("bank1")->set_base(&RAM[ 0x10000 + ( (m_cpub_bank - 2) * 0x4000 ) ] );
}
}

Some files were not shown because too many files have changed in this diff Show More