summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/namcos10.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/namcos10.cpp')
-rw-r--r--src/mame/drivers/namcos10.cpp132
1 files changed, 61 insertions, 71 deletions
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index 97a64523422..f712ab395a5 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -409,13 +409,14 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu") { }
+ void namcos10_base(machine_config &config);
+ void namcos10_memm(machine_config &config);
+ void namcos10_memn(machine_config &config);
void ns10_konotako(machine_config &config);
void ns10_mrdrilr2(machine_config &config);
void ns10_knpuzzle(machine_config &config);
void ns10_chocovdr(machine_config &config);
void ns10_startrgn(machine_config &config);
- void namcos10_memm(machine_config &config);
- void namcos10_memn(machine_config &config);
void ns10_gjspace(machine_config &config);
void ns10_nflclsfb(machine_config &config);
void ns10_gamshara(machine_config &config);
@@ -491,7 +492,7 @@ private:
DECLARE_MACHINE_RESET(namcos10);
void memn_driver_init( );
- required_device<cpu_device> m_maincpu;
+ required_device<psxcpu_device> m_maincpu;
};
@@ -549,7 +550,7 @@ READ16_MEMBER(namcos10_state::range_r)
READ16_MEMBER(namcos10_state::control_r)
{
- logerror("control_r %d (%x)\n", offset, m_maincpu->pc());
+ logerror("%s: control_r %d (%x)\n", machine().describe_context(), offset);
if(offset == 2)
return 1^0xffff;
return 0;
@@ -557,12 +558,12 @@ READ16_MEMBER(namcos10_state::control_r)
WRITE16_MEMBER(namcos10_state::control_w)
{
- logerror("control_w %d, %04x (%x)\n", offset, data, m_maincpu->pc());
+ logerror("%s: control_w %d, %04x (%x)\n", machine().describe_context(), offset, data);
}
WRITE16_MEMBER(namcos10_state::sprot_w)
{
- logerror("sprot_w %04x (%x)\n", data, m_maincpu->pc());
+ logerror("%s: sprot_w %04x (%x)\n", machine().describe_context(), data);
sprot_bit = 7;
sprot_byte = 0;
}
@@ -704,26 +705,26 @@ READ16_MEMBER(namcos10_state::nand_status_r )
WRITE8_MEMBER(namcos10_state::nand_address1_w )
{
- logerror("nand_a1_w %08x (%08x)\n", data, m_maincpu->pc());
+ logerror("%s: nand_a1_w %08x (%08x)\n", machine().describe_context(), data);
// nand_address = ( nand_address & 0x00ffffff ) | ( data << 24 );
}
WRITE8_MEMBER( namcos10_state::nand_address2_w )
{
- logerror("nand_a2_w %08x (%08x)\n", data, m_maincpu->pc());
+ logerror("%s: nand_a2_w %08x (%08x)\n", machine().describe_context(), data);
nand_address = ( nand_address & 0xffffff00 ) | ( data << 0 );
}
WRITE8_MEMBER( namcos10_state::nand_address3_w )
{
- logerror("nand_a3_w %08x (%08x)\n", data, m_maincpu->pc());
+ logerror("%s: nand_a3_w %08x (%08x)\n", machine().describe_context(), data);
nand_address = ( nand_address & 0xffff00ff ) | ( data << 8 );
}
WRITE8_MEMBER( namcos10_state::nand_address4_w )
{
nand_address = ( nand_address & 0xff00ffff ) | ( data << 16 );
- logerror("nand_a4_w %08x (%08x) -> %08x\n", data, m_maincpu->pc(), nand_address*2);
+ logerror("%s: nand_a4_w %08x (%08x) -> %08x\n", machine().describe_context(), data, nand_address*2);
}
uint16_t namcos10_state::nand_read( uint32_t address )
@@ -921,107 +922,96 @@ MACHINE_RESET_MEMBER(namcos10_state,namcos10)
i2c_bit = 0;
}
-MACHINE_CONFIG_START(namcos10_state::namcos10_memm)
+void namcos10_state::namcos10_base(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD( "maincpu", CXD8606BQ, XTAL(101'491'200) )
- MCFG_DEVICE_PROGRAM_MAP( namcos10_memm_map )
-
+ CXD8606BQ(config, m_maincpu, XTAL(101'491'200));
+ m_maincpu->set_disable_rom_berr(true);
+ m_maincpu->subdevice<ram_device>("ram")->set_default_size("16M");
// The bios first configures the ROM window as 80000-big, then
// switches to 400000. If berr is active, the first configuration
// wipes all handlers after 1fc80000, which kills the system
// afterwards
- MCFG_PSX_DISABLE_ROM_BERR
-
- subdevice<ram_device>("maincpu:ram")->set_default_size("16M");
-
- MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
+ MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10)
/* video hardware */
- MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL(53'693'175) )
- MCFG_VIDEO_SET_SCREEN("screen")
+ CXD8561CQ(config, "gpu", XTAL(53'693'175), 0x200000, subdevice<psxcpu_device>("maincpu")).set_screen("screen");
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(namcos10_state::namcos10_memn)
- /* basic machine hardware */
- MCFG_DEVICE_ADD( "maincpu", CXD8606BQ, XTAL(101'491'200) )
- MCFG_DEVICE_PROGRAM_MAP( namcos10_memn_map )
-
- // The bios first configures the ROM window as 80000-big, then
- // switches to 400000. If berr is active, the first configuration
- // wipes all handlers after 1fc80000, which kills the system
- // afterwards
-
- MCFG_PSX_DISABLE_ROM_BERR
-
- subdevice<ram_device>("maincpu:ram")->set_default_size("16M");
-
- MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
-
- /* video hardware */
- MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL(53'693'175) )
- MCFG_VIDEO_SET_SCREEN("screen")
+}
- SCREEN(config, "screen", SCREEN_TYPE_RASTER);
+void namcos10_state::namcos10_memm(machine_config &config)
+{
+ namcos10_base(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &namcos10_state::namcos10_memm_map);
+}
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+void namcos10_state::namcos10_memn(machine_config &config)
+{
+ namcos10_base(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &namcos10_state::namcos10_memn_map);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_mrdrilr2)
+void namcos10_state::ns10_mrdrilr2(machine_config &config)
+{
namcos10_memm(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", MRDRILR2_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ MRDRILR2_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_chocovdr)
+void namcos10_state::ns10_chocovdr(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", CHOCOVDR_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ CHOCOVDR_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_gamshara)
+void namcos10_state::ns10_gamshara(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", GAMSHARA_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ GAMSHARA_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_gjspace)
+void namcos10_state::ns10_gjspace(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", GJSPACE_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ GJSPACE_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_knpuzzle)
+void namcos10_state::ns10_knpuzzle(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", KNPUZZLE_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ KNPUZZLE_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_konotako)
+void namcos10_state::ns10_konotako(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", KONOTAKO_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ KONOTAKO_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_nflclsfb)
+void namcos10_state::ns10_nflclsfb(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", NFLCLSFB_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ NFLCLSFB_DECRYPTER(config, "decrypter", 0);
+}
-MACHINE_CONFIG_START(namcos10_state::ns10_startrgn)
+void namcos10_state::ns10_startrgn(machine_config &config)
+{
namcos10_memn(config);
/* decrypter device (CPLD in hardware?) */
- MCFG_DEVICE_ADD("decrypter", STARTRGN_DECRYPTER, 0)
-MACHINE_CONFIG_END
+ STARTRGN_DECRYPTER(config, "decrypter", 0);
+}
static INPUT_PORTS_START( namcos10 )
/* IN 0 */