Previous 199869 Revisions Next

r31756 Sunday 24th August, 2014 at 09:57:26 UTC by Barry Rodewald
fm11: make it use bankdev to avoid crashes, and handle lack of BASIC ROM. (no whatsnew)
[src/mess/drivers]fm7.c

trunk/src/mess/drivers/fm7.c
r31755r31756
11471147   if(m_basic_rom_en)
11481148   {
11491149      UINT8* ROM = memregion("fbasic")->base();
1150      membank("fbasic_bank_r")->set_base(ROM);
1150      if(ROM != NULL)
1151         membank("fbasic_bank_r")->set_base(ROM);
11511152   }
11521153   else
11531154   {
r31755r31756
14941495ADDRESS_MAP_END
14951496
14961497static ADDRESS_MAP_START( fm11_mem, AS_PROGRAM, 8, fm7_state )
1497   AM_RANGE(0x0000,0x0fff) AM_RAMBANK("bank1")
1498   AM_RANGE(0x1000,0x1fff) AM_RAMBANK("bank2")
1499   AM_RANGE(0x2000,0x2fff) AM_RAMBANK("bank3")
1500   AM_RANGE(0x3000,0x3fff) AM_RAMBANK("bank4")
1501   AM_RANGE(0x4000,0x4fff) AM_RAMBANK("bank5")
1502   AM_RANGE(0x5000,0x5fff) AM_RAMBANK("bank6")
1503   AM_RANGE(0x6000,0x6fff) AM_RAMBANK("bank7")
1504   AM_RANGE(0x7000,0x7fff) AM_RAMBANK("bank8")
1505   AM_RANGE(0x8000,0x8fff) AM_RAMBANK("bank9")
1506   AM_RANGE(0x9000,0x9fff) AM_RAMBANK("bank10")
1507   AM_RANGE(0xa000,0xafff) AM_RAMBANK("bank11")
1508   AM_RANGE(0xb000,0xbfff) AM_RAMBANK("bank12")
1509   AM_RANGE(0xc000,0xcfff) AM_RAMBANK("bank13")
1510   AM_RANGE(0xd000,0xdfff) AM_RAMBANK("bank14")
1511   AM_RANGE(0xe000,0xefff) AM_RAMBANK("bank15")
1512   AM_RANGE(0xf000,0xfbff) AM_RAMBANK("bank16")
1498   AM_RANGE(0x0000,0x0fff) AM_DEVREADWRITE("av_bank1", address_map_bank_device, read8, write8)
1499   AM_RANGE(0x1000,0x1fff) AM_DEVREADWRITE("av_bank2", address_map_bank_device, read8, write8)
1500   AM_RANGE(0x2000,0x2fff) AM_DEVREADWRITE("av_bank3", address_map_bank_device, read8, write8)
1501   AM_RANGE(0x3000,0x3fff) AM_DEVREADWRITE("av_bank4", address_map_bank_device, read8, write8)
1502   AM_RANGE(0x4000,0x4fff) AM_DEVREADWRITE("av_bank5", address_map_bank_device, read8, write8)
1503   AM_RANGE(0x5000,0x5fff) AM_DEVREADWRITE("av_bank6", address_map_bank_device, read8, write8)
1504   AM_RANGE(0x6000,0x6fff) AM_DEVREADWRITE("av_bank7", address_map_bank_device, read8, write8)
1505   AM_RANGE(0x7000,0x7fff) AM_DEVREADWRITE("av_bank8", address_map_bank_device, read8, write8)
1506   AM_RANGE(0x8000,0x8fff) AM_DEVREADWRITE("av_bank9", address_map_bank_device, read8, write8)
1507   AM_RANGE(0x9000,0x9fff) AM_DEVREADWRITE("av_bank10", address_map_bank_device, read8, write8)
1508   AM_RANGE(0xa000,0xafff) AM_DEVREADWRITE("av_bank11", address_map_bank_device, read8, write8)
1509   AM_RANGE(0xb000,0xbfff) AM_DEVREADWRITE("av_bank12", address_map_bank_device, read8, write8)
1510   AM_RANGE(0xc000,0xcfff) AM_DEVREADWRITE("av_bank13", address_map_bank_device, read8, write8)
1511   AM_RANGE(0xd000,0xdfff) AM_DEVREADWRITE("av_bank14", address_map_bank_device, read8, write8)
1512   AM_RANGE(0xe000,0xefff) AM_DEVREADWRITE("av_bank15", address_map_bank_device, read8, write8)
1513   AM_RANGE(0xf000,0xfbff) AM_DEVREADWRITE("av_bank16", address_map_bank_device, read8, write8)
15131514   AM_RANGE(0xfc00,0xfc7f) AM_RAM
15141515   AM_RANGE(0xfc80,0xfcff) AM_READWRITE(fm7_main_shared_r,fm7_main_shared_w)
15151516   // I/O space (FD00-FDFF)
r31755r31756
22582259
22592260   MCFG_MACHINE_START_OVERRIDE(fm7_state,fm11)
22602261
2262   MCFG_ADDRESS_BANK("av_bank1")
2263   MCFG_ADDRESS_BANK("av_bank2")
2264   MCFG_ADDRESS_BANK("av_bank3")
2265   MCFG_ADDRESS_BANK("av_bank4")
2266   MCFG_ADDRESS_BANK("av_bank5")
2267   MCFG_ADDRESS_BANK("av_bank6")
2268   MCFG_ADDRESS_BANK("av_bank7")
2269   MCFG_ADDRESS_BANK("av_bank8")
2270   MCFG_ADDRESS_BANK("av_bank9")
2271   MCFG_ADDRESS_BANK("av_bank10")
2272   MCFG_ADDRESS_BANK("av_bank11")
2273   MCFG_ADDRESS_BANK("av_bank12")
2274   MCFG_ADDRESS_BANK("av_bank13")
2275   MCFG_ADDRESS_BANK("av_bank14")
2276   MCFG_ADDRESS_BANK("av_bank15")
2277   MCFG_ADDRESS_BANK("av_bank16")
2278
22612279   /* video hardware */
22622280   MCFG_SCREEN_ADD("screen", RASTER)
22632281   MCFG_SCREEN_REFRESH_RATE(60)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team