Previous 199869 Revisions Next

r36183 Monday 2nd March, 2015 at 15:22:34 UTC by Andrew Gardner
A few more set_base removals (nw)
[src/mame/drivers]srmp6.c srumbler.c suna16.c
[src/mame/includes]suna16.h

trunk/src/mame/drivers/srmp6.c
r244694r244695
107107   DECLARE_WRITE16_MEMBER(paletteram_w);
108108   DECLARE_READ16_MEMBER(srmp6_irq_ack_r);
109109   DECLARE_DRIVER_INIT(INIT);
110    virtual void machine_start();
110111   virtual void video_start();
111112   UINT32 screen_update_srmp6(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
112113   void update_palette();
r244694r244695
306307    Main CPU memory handlers
307308***************************************************************************/
308309
310void srmp6_state::machine_start()
311{
312    membank("bank1")->configure_entries(0, 16, memregion("nile")->base(), 0x200000);
313}
314
309315WRITE16_MEMBER(srmp6_state::srmp6_input_select_w)
310316{
311317   m_input_select = data & 0x0f;
r244694r244695
313319
314320READ16_MEMBER(srmp6_state::srmp6_inputs_r)
315321{
316   if (offset == 0)            // DSW
322   if (offset == 0) // DSW
317323      return ioport("DSW")->read();
318324
319325   switch (m_input_select) // inputs
r244694r244695
334340   {
335341      case 0x5e/2: // bank switch, used by ROM check
336342      {
337         const UINT8 *rom = memregion("nile")->base();
338         LOG(("%x\n",data));
339         membank("bank1")->set_base((UINT16 *)(rom + (data & 0x0f)*0x200000));
343            LOG(("%x\n",data));
344            membank("bank1")->set_entry(data & 0x0f);
340345         break;
341346      }
342347
r244694r244695
544549static ADDRESS_MAP_START( srmp6_map, AS_PROGRAM, 16, srmp6_state )
545550   AM_RANGE(0x000000, 0x0fffff) AM_ROM
546551   AM_RANGE(0x200000, 0x23ffff) AM_RAM                 // work RAM
547   AM_RANGE(0x600000, 0x7fffff) AM_ROMBANK("bank1")        // banked ROM (used by ROM check)
552   AM_RANGE(0x600000, 0x7fffff) AM_ROMBANK("bank1")    // banked ROM (used by ROM check)
548553   AM_RANGE(0x800000, 0x9fffff) AM_ROM AM_REGION("user1", 0)
549554
550555   AM_RANGE(0x300000, 0x300005) AM_READWRITE(srmp6_inputs_r, srmp6_input_select_w)     // inputs
trunk/src/mame/drivers/srumbler.c
r244694r244695
2727     Note that 5000-8fff can be either ROM or RAM, so we should handle
2828     that as well to be 100% accurate.
2929    */
30   int i;
31   UINT8 *ROM = memregion("user1")->base();
3230   UINT8 *prom1 = memregion("proms")->base() + (data & 0xf0);
3331   UINT8 *prom2 = memregion("proms")->base() + 0x100 + ((data & 0x0f) << 4);
3432
35   for (i = 0x05;i < 0x10;i++)
33   for (int i = 0x05;i < 0x10;i++)
3634   {
35        /* bit 2 of prom1 selects ROM or RAM - not supported */
3736      int bank = ((prom1[i] & 0x03) << 4) | (prom2[i] & 0x0f);
38      char bankname[10];
39      /* bit 2 of prom1 selects ROM or RAM - not supported */
4037
38        char bankname[10];
4139      sprintf(bankname, "%04x", i*0x1000);
42      membank(bankname)->set_base(&ROM[bank*0x1000]);
40        membank(bankname)->set_entry(bank);
4341   }
4442}
4543
4644void srumbler_state::machine_start()
4745{
48   address_space &space = m_maincpu->space(AS_PROGRAM);
49   /* initialize banked ROM pointers */
50   srumbler_bankswitch_w(space,0,0);
46    for (int i = 0x05; i < 0x10; i++)
47   {
48        char bankname[10];
49      sprintf(bankname, "%04x", i*0x1000);
50        membank(bankname)->configure_entries(0, 64, memregion("user1")->base(), 0x1000);
51   }
52
53    /* initialize banked ROM pointers */
54   srumbler_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0);
5155}
5256
5357TIMER_DEVICE_CALLBACK_MEMBER(srumbler_state::srumbler_interrupt)
r244694r244695
8488   AM_RANGE(0x400e, 0x400e) AM_WRITE(soundlatch_byte_w)
8589   AM_RANGE(0x5000, 0x5fff) AM_ROMBANK("5000") AM_WRITE(srumbler_foreground_w) AM_SHARE("foregroundram") /* Banked ROM */
8690   AM_RANGE(0x6000, 0x6fff) AM_ROMBANK("6000") /* Banked ROM */
87   AM_RANGE(0x6000, 0x6fff) AM_WRITENOP    /* Video RAM 2 ??? (not used) */
91   AM_RANGE(0x6000, 0x6fff) AM_WRITENOP        /* Video RAM 2 ??? (not used) */
8892   AM_RANGE(0x7000, 0x7fff) AM_ROMBANK("7000") /* Banked ROM */
8993   AM_RANGE(0x7000, 0x73ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
9094   AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("8000") /* Banked ROM */
trunk/src/mame/drivers/suna16.c
r244694r244695
288288                            Back Street Soccer
289289***************************************************************************/
290290
291MACHINE_START_MEMBER(suna16_state, bssoccer)
292{
293    membank("bank1")->configure_entries(0, 8, memregion("pcm1")->base() + 0x1000, 0x10000);
294    membank("bank2")->configure_entries(0, 8, memregion("pcm2")->base() + 0x1000, 0x10000);
295}
296
291297/* Bank Switching */
292298
293299WRITE8_MEMBER(suna16_state::bssoccer_pcm_1_bankswitch_w)
294300{
295   UINT8 *RAM = memregion("pcm1")->base();
296   int bank = data & 7;
301   const int bank = data & 7;
297302   if (bank & ~7)  logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
298   membank("bank1")->set_base(&RAM[bank * 0x10000 + 0x1000]);
303    printf("%d %d\n", 1, bank);
304    membank("bank1")->set_entry(bank);
299305}
300306
301307WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
302308{
303   UINT8 *RAM = memregion("pcm2")->base();
304   int bank = data & 7;
309   const int bank = data & 7;
305310   if (bank & ~7)  logerror("CPU#3 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
306   membank("bank2")->set_base(&RAM[bank * 0x10000 + 0x1000]);
311    printf("%d %d\n", 2, bank);
312    membank("bank2")->set_entry(bank);
307313}
308314
309315
r244694r244695
366372
367373WRITE8_MEMBER(suna16_state::uballoon_pcm_1_bankswitch_w)
368374{
369   UINT8 *RAM = memregion("pcm1")->base();
370   int bank = data & 1;
375   const int bank = data & 1;
371376   if (bank & ~1)  logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
372   membank("bank1")->set_base(&RAM[bank * 0x10000 + 0x400]);
377    membank("bank1")->set_entry(bank);
373378}
374379
375380/* Memory maps: Yes, *no* RAM */
r244694r244695
387392   AM_RANGE(0x03, 0x03) AM_WRITE(uballoon_pcm_1_bankswitch_w)  // Rom Bank
388393ADDRESS_MAP_END
389394
395MACHINE_START_MEMBER(suna16_state,uballoon)
396{
397    membank("bank1")->configure_entries(0, 2, memregion("pcm1")->base() + 0x400, 0x10000);
398}
399
390400MACHINE_RESET_MEMBER(suna16_state,uballoon)
391401{
392402   address_space &space = m_maincpu->space(AS_PROGRAM);
r244694r244695
812822
813823   MCFG_QUANTUM_TIME(attotime::from_hz(6000))
814824
825    MCFG_MACHINE_START_OVERRIDE(suna16_state,bssoccer)
826
815827   /* video hardware */
816828   MCFG_SCREEN_ADD("screen", RASTER)
817829   MCFG_SCREEN_REFRESH_RATE(60)
r244694r244695
869881
870882   MCFG_QUANTUM_TIME(attotime::from_hz(6000))
871883
884    MCFG_MACHINE_START_OVERRIDE(suna16_state,uballoon)
872885   MCFG_MACHINE_RESET_OVERRIDE(suna16_state,uballoon)
873886
874887   /* video hardware */
trunk/src/mame/includes/suna16.h
r244694r244695
4646   DECLARE_WRITE16_MEMBER(bestbest_flipscreen_w);
4747   DECLARE_READ16_MEMBER(suna16_paletteram16_r);
4848   DECLARE_WRITE16_MEMBER(suna16_paletteram16_w);
49    DECLARE_MACHINE_START(bssoccer);
4950   DECLARE_WRITE8_MEMBER(bssoccer_DAC1_w);
5051   DECLARE_WRITE8_MEMBER(bssoccer_DAC2_w);
5152   DECLARE_WRITE8_MEMBER(bssoccer_DAC3_w);
r244694r244695
5455   DECLARE_DRIVER_INIT(uballoon);
5556   virtual void video_start();
5657   DECLARE_MACHINE_RESET(uballoon);
58    DECLARE_MACHINE_START(uballoon);
5759   UINT32 screen_update_suna16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
5860   UINT32 screen_update_bestbest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
5961   TIMER_DEVICE_CALLBACK_MEMBER(bssoccer_interrupt);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team