Previous 199869 Revisions Next

r36243 Wednesday 4th March, 2015 at 15:51:57 UTC by Andrew Gardner
More set_base removal (entitled 'I just convert what's there - no matter how weird it is') (nw)
[src/mame/drivers]srmp2.c srmp5.c

trunk/src/mame/drivers/srmp2.c
r244754r244755
9494   iox.protcheck[1] = 0x4c; iox.protlatch[1] = 0x00;
9595   iox.protcheck[2] = 0x1c; iox.protlatch[2] = 0x04;
9696   iox.protcheck[3] = 0x45; iox.protlatch[3] = 0x00;
97   
98    membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x8000, 0x2000);
9799}
98100
99101MACHINE_START_MEMBER(srmp2_state,rmgoldyh)
r244754r244755
107109   iox.protcheck[1] = 0x45; iox.protlatch[1] = 0x00;
108110   iox.protcheck[2] = -1;   iox.protlatch[2] = -1;
109111   iox.protcheck[3] = -1;   iox.protlatch[3] = -1;
112
113    membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x8000, 0x2000);
110114}
111115
112116/***************************************************************************
r244754r244755
349353    ---x xxxx : MAIN ROM bank
350354    xxx- ---- : ADPCM ROM bank
351355*/
352
353   UINT8 *ROM = memregion("maincpu")->base();
354   int addr;
355
356356   m_adpcm_bank = ((data & 0xe0) >> 5);
357357
358   if (data & 0x1f) addr = ((0x10000 + (0x2000 * (data & 0x0f))) - 0x8000);
359   else addr = 0x10000;
360
361   membank("bank1")->set_base(&ROM[addr]);
358    // TODO: Check this code (and the corresponding configure_entires),
359    // as it seems to be inconsistent with the notes at the head of this function
360   if (data & 0x1f)
361        membank("bank1")->set_entry(data & 0x0f);
362   else
363        membank("bank1")->set_entry(8);
362364}
363365
364366/**************************************************************************
r244754r244755
499501    ---x xxxx : MAIN ROM bank
500502    xxx- ---- : ADPCM ROM bank
501503*/
502
503   UINT8 *ROM = memregion("maincpu")->base();
504   int addr;
505
506504   m_adpcm_bank = ((data & 0xe0) >> 5);
507505
508   if (data & 0x1f) addr = ((0x10000 + (0x2000 * (data & 0x1f))) - 0x8000);
509   else addr = 0x10000;
510
511   membank("bank1")->set_base(&ROM[addr]);
506    if (data & 0x1f)
507        membank("bank1")->set_entry(data & 0x1f);
508   else
509        membank("bank1")->set_entry(8);
512510}
513511
514512static ADDRESS_MAP_START( rmgoldyh_io_map, AS_IO, 8, srmp2_state )
trunk/src/mame/drivers/srmp5.c
r244754r244755
114114   DECLARE_READ8_MEMBER(cmd1_r);
115115   DECLARE_READ8_MEMBER(cmd2_r);
116116   DECLARE_READ8_MEMBER(cmd_stat8_r);
117    virtual void machine_start();
117118   DECLARE_DRIVER_INIT(srmp5);
118119   UINT32 screen_update_srmp5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
119120
r244754r244755
237238   return 0;
238239}
239240
241void srmp5_state::machine_start()
242{
243    membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
244}
245
240246WRITE32_MEMBER(srmp5_state::bank_w)
241247{
242248   m_chrbank = ((data & 0xf0) >> 4) * (0x100000 / sizeof(UINT16));
r244754r244755
394400// common rombank? should go in machine/st0016 with larger address space exposed?
395401WRITE8_MEMBER(srmp5_state::st0016_rom_bank_w)
396402{
397   membank("bank1")->set_base(memregion("maincpu")->base() + (data* 0x4000));
403    membank("bank1")->set_entry(data);
398404}
399405
400406


Previous 199869 Revisions Next


© 1997-2024 The MAME Team