src/mame: even more MCFG removal (nw)

This commit is contained in:
Ivan Vangelista 2018-12-05 23:15:44 +01:00
parent db7e370bd8
commit 3a0d2248f7
65 changed files with 369 additions and 734 deletions

View File

@ -701,11 +701,11 @@ void apollo_state::dn3500_map(address_map &map)
// AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM /* 8MB RAM */
map(DN3500_RAM_BASE, DN3500_RAM_END).ram().w(FUNC(apollo_state::ram_with_parity_w)).share(RAM_TAG);
map(0x05d800, 0x05dc07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05d800, 0x05dc07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05e800, 0x05ec07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
map(0x05e800, 0x05ec07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
// AM_RANGE(0x03020000, 0x0303ffff) Cache Tag Store (DN4500 only)
// AM_RANGE(0x04000000, 0x0400ffff) Cache Tag Data (DN4500 only)
@ -773,11 +773,11 @@ void apollo_state::dn3000_map(address_map &map)
// AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM /* 8MB RAM */
map(DN3000_RAM_BASE, DN3000_RAM_END).ram().w(FUNC(apollo_state::ram_with_parity_w)).share(RAM_TAG);
map(0x05d800, 0x05dc07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05d800, 0x05dc07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05e800, 0x05ec07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
map(0x05e800, 0x05ec07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
}
void apollo_state::dsp3000_map(address_map &map)
@ -843,11 +843,11 @@ void apollo_state::dn5500_map(address_map &map)
// AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM /* 8MB RAM */
map(DN5500_RAM_BASE, DN5500_RAM_END).ram().w(FUNC(apollo_state::ram_with_parity_w)).share(RAM_TAG);
map(0x05d800, 0x05dc07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05d800, 0x05dc07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mcr_r), FUNC(apollo_graphics_15i::apollo_mcr_w));
map(0xfa0000, 0xfdffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_mgm_r), FUNC(apollo_graphics_15i::apollo_mgm_w));
map(0x05e800, 0x05ec07).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(APOLLO_SCREEN_TAG, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
map(0x05e800, 0x05ec07).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_ccr_r), FUNC(apollo_graphics_15i::apollo_ccr_w));
map(0x0a0000, 0x0bffff).rw(m_graphics, FUNC(apollo_graphics_15i::apollo_cgm_r), FUNC(apollo_graphics_15i::apollo_cgm_w));
// AM_RANGE(0x03020000, 0x0303ffff) Cache Tag Store (DN4500 only)
// AM_RANGE(0x04000000, 0x0400ffff) Cache Tag Data (DN4500 only)
@ -1063,8 +1063,8 @@ MACHINE_CONFIG_START(apollo_state::dn3500)
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
#ifdef APOLLO_XXL
MCFG_DEVICE_ADD(APOLLO_STDIO_TAG, APOLLO_STDIO, 0)
MCFG_APOLLO_STDIO_TX_CALLBACK(WRITELINE(APOLLO_SIO_TAG, apollo_sio, rx_b_w))
apollo_stdio_device &stdio(APOLLO_STDIO(config, APOLLO_STDIO_TAG, 0));
stdio.tx_callback().set(m_sio, FUNC(apollo_sio::rx_b_w));
#endif
MACHINE_CONFIG_END
@ -1088,30 +1088,32 @@ MACHINE_CONFIG_START(apollo_state::dsp3500)
config.set_default_layout(layout_apollo_dsp);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(apollo_state::dn3500_19i)
void apollo_state::dn3500_19i(machine_config &config)
{
dn3500(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
APOLLO_MONO19I(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(apollo_state::dn3500_15i)
void apollo_state::dn3500_15i(machine_config &config)
{
dn3500(config);
/* video hardware is 15" monochrome or color */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
APOLLO_GRAPHICS(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(apollo_state::dn3000)
dn3500(config);
MCFG_DEVICE_REPLACE(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
MCFG_DEVICE_PROGRAM_MAP(dn3000_map)
MCFG_DEVICE_REMOVE( APOLLO_SIO2_TAG )
config.device_remove( APOLLO_SIO2_TAG );
m_ram->set_default_size("8M").set_extra_options("4M");
// FIXME: is this interrupt really only connected on DN3000?
@ -1134,29 +1136,31 @@ MACHINE_CONFIG_START(apollo_state::dsp3000)
/* internal ram */
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M");
MCFG_DEVICE_REMOVE( APOLLO_SIO2_TAG )
config.device_remove( APOLLO_SIO2_TAG );
/* terminal hardware */
config.set_default_layout(layout_apollo_dsp);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(apollo_state::dn3000_19i)
void apollo_state::dn3000_19i(machine_config &config)
{
dn3000(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
APOLLO_MONO19I(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(apollo_state::dn3000_15i)
void apollo_state::dn3000_15i(machine_config &config)
{
dn3000(config);
/* video hardware 15" monochrome */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
APOLLO_GRAPHICS(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(apollo_state::dn5500)
dn3500(config);
@ -1185,23 +1189,25 @@ MACHINE_CONFIG_START(apollo_state::dsp5500)
config.set_default_layout(layout_apollo_dsp);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(apollo_state::dn5500_19i)
void apollo_state::dn5500_19i(machine_config &config)
{
dn5500(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
APOLLO_MONO19I(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(apollo_state::dn5500_15i)
void apollo_state::dn5500_15i(machine_config &config)
{
dn5500(config);
/* video hardware 15" monochrome */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
APOLLO_GRAPHICS(config, m_graphics, 0);
APOLLO_KBD(config, m_keyboard, 0);
m_keyboard->tx_cb().set(m_sio, FUNC(apollo_sio::rx_a_w));
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
MACHINE_CONFIG_END
}
/***************************************************************************
ROM Definitions

View File

@ -561,7 +561,7 @@ MACHINE_CONFIG_START(atarig42_0x200_state::atarig42_0x200)
m_adc->in_callback<1>().set_ioport("A2D1");
/* ASIC65 */
MCFG_ASIC65_ADD("asic65", ASIC65_ROMBASED)
ASIC65(config, m_asic65, 0, ASIC65_ROMBASED);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(atarig42_0x400_state::atarig42_0x400)
@ -569,7 +569,7 @@ MACHINE_CONFIG_START(atarig42_0x400_state::atarig42_0x400)
MCFG_ATARIRLE_ADD("rle", modesc_0x400)
/* ASIC65 */
MCFG_ASIC65_ADD("asic65", ASIC65_GUARDIANS)
ASIC65(config, m_asic65, 0, ASIC65_GUARDIANS);
MACHINE_CONFIG_END

View File

@ -497,8 +497,8 @@ MACHINE_CONFIG_START(mightguy_state::mightguy)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(mightguy_audio_io_map)
MCFG_DEVICE_ADD("prot_chip", NB1412M2, XTAL(8'000'000)/2) // divided by 2 maybe
MCFG_NB1412M2_DAC_CB(WRITE8("dac", dac_byte_interface, data_w))
NB1412M2(config, m_prot, XTAL(8'000'000)/2); // divided by 2 maybe
m_prot->dac_callback().set("dac", FUNC(dac_byte_interface::data_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -436,9 +436,9 @@ MACHINE_CONFIG_START(crshrace_state::crshrace)
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
MCFG_DEVICE_ADD("spriteram2", BUFFERED_SPRITERAM16)
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(-48, -21)
K053936(config, m_k053936, 0);
m_k053936->set_wrap(1);
m_k053936->set_offsets(-48, -21);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();

View File

@ -366,13 +366,13 @@ MACHINE_CONFIG_START(dbz_state::dbz)
K053251(config, m_k053251, 0);
MCFG_DEVICE_ADD("k053936_1", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(-46, -16)
K053936(config, m_k053936_1, 0);
m_k053936_1->set_wrap(1);
m_k053936_1->set_offsets(-46, -16);
MCFG_DEVICE_ADD("k053936_2", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(-46, -16)
K053936(config, m_k053936_2, 0);
m_k053936_2->set_wrap(1);
m_k053936_2->set_offsets(-46, -16);
K053252(config, m_k053252, 16000000/2);
m_k053252->int1_ack().set(FUNC(dbz_state::dbz_irq2_ack_w));

View File

@ -444,9 +444,9 @@ MACHINE_CONFIG_START(f1gp_state::f1gp)
m_spr_old[1]->set_pritype(2);
m_spr_old[1]->set_gfxdecode_tag(m_gfxdecode);
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(-58, -2)
K053936(config, m_k053936, 0);
m_k053936->set_wrap(1);
m_k053936->set_offsets(-58, -2);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@ -530,8 +530,7 @@ MACHINE_CONFIG_START(f1gp2_state::f1gp2)
m_spr->set_gfx_region(1);
m_spr->set_gfxdecode_tag(m_gfxdecode);
MCFG_DEVICE_MODIFY("k053936")
MCFG_K053936_OFFSETS(-48, -21)
m_k053936->set_offsets(-48, -21);
MACHINE_CONFIG_END

View File

@ -1607,14 +1607,14 @@ MACHINE_CONFIG_START(bosco_state::bosco)
NAMCO_50XX(config, "50xx_1", MASTER_CLOCK/6/2); /* 1.536 MHz */
NAMCO_50XX(config, "50xx_2", MASTER_CLOCK/6/2); /* 1.536 MHz */
MCFG_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/6/2) /* 1.536 MHz */
MCFG_NAMCO_51XX_SCREEN("screen")
MCFG_NAMCO_51XX_INPUT_0_CB(IOPORT("IN0L"))
MCFG_NAMCO_51XX_INPUT_1_CB(IOPORT("IN0H"))
MCFG_NAMCO_51XX_INPUT_2_CB(IOPORT("IN1L"))
MCFG_NAMCO_51XX_INPUT_3_CB(IOPORT("IN1H"))
MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0))
MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1))
namco_51xx_device &n51xx(NAMCO_51XX(config, "51xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n51xx.set_screen_tag(m_screen);
n51xx.input_callback<0>().set_ioport("IN0L");
n51xx.input_callback<1>().set_ioport("IN0H");
n51xx.input_callback<2>().set_ioport("IN1L");
n51xx.input_callback<3>().set_ioport("IN1H");
n51xx.output_callback<0>().set(FUNC(galaga_state::out_0));
n51xx.output_callback<1>().set(FUNC(galaga_state::out_1));
namco_52xx_device &n52xx(NAMCO_52XX(config, "52xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n52xx.set_discrete("discrete");
@ -1627,21 +1627,21 @@ MACHINE_CONFIG_START(bosco_state::bosco)
n54xx.set_discrete("discrete");
n54xx.set_basenote(NODE_01);
MCFG_NAMCO_06XX_ADD("06xx_0", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
MCFG_NAMCO_06XX_READ_2_CB(READ8("50xx_1", namco_50xx_device, read))
MCFG_NAMCO_06XX_READ_REQUEST_2_CB(WRITELINE("50xx_1", namco_50xx_device, read_request))
MCFG_NAMCO_06XX_WRITE_2_CB(WRITE8("50xx_1", namco_50xx_device, write))
MCFG_NAMCO_06XX_WRITE_3_CB(WRITE8("54xx", namco_54xx_device, write))
namco_06xx_device &n06xx_0(NAMCO_06XX(config, "06xx_0", MASTER_CLOCK/6/64));
n06xx_0.set_maincpu(m_maincpu);
n06xx_0.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx_0.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
n06xx_0.read_callback<2>().set("50xx_1", FUNC(namco_50xx_device::read));
n06xx_0.read_request_callback<2>().set("50xx_1", FUNC(namco_50xx_device::read_request));
n06xx_0.write_callback<2>().set("50xx_1", FUNC(namco_50xx_device::write));
n06xx_0.write_callback<3>().set("54xx", FUNC(namco_54xx_device::write));
MCFG_NAMCO_06XX_ADD("06xx_1", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("sub")
MCFG_NAMCO_06XX_READ_0_CB(READ8("50xx_2", namco_50xx_device, read))
MCFG_NAMCO_06XX_READ_REQUEST_0_CB(WRITELINE("50xx_2", namco_50xx_device, read_request))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("50xx_2", namco_50xx_device, write))
MCFG_NAMCO_06XX_WRITE_1_CB(WRITE8("52xx", namco_52xx_device, write))
namco_06xx_device &n06xx_1(NAMCO_06XX(config, "06xx_1", MASTER_CLOCK/6/64));
n06xx_1.set_maincpu(m_subcpu);
n06xx_1.read_callback<0>().set("50xx_2", FUNC(namco_50xx_device::read));
n06xx_1.read_request_callback<0>().set("50xx_2", FUNC(namco_50xx_device::read_request));
n06xx_1.write_callback<0>().set("50xx_2", FUNC(namco_50xx_device::write));
n06xx_1.write_callback<1>().set("52xx", FUNC(namco_52xx_device::write));
LS259(config, m_videolatch); // 1B on video board
m_videolatch->q_out_cb<0>().set(FUNC(galaga_state::flip_screen_w)).invert();
@ -1698,24 +1698,24 @@ MACHINE_CONFIG_START(galaga_state::galaga)
misclatch.q_out_cb<3>().set_inputline("sub", INPUT_LINE_RESET).invert();
misclatch.q_out_cb<3>().append_inputline("sub2", INPUT_LINE_RESET).invert();
MCFG_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/6/2) /* 1.536 MHz */
MCFG_NAMCO_51XX_SCREEN("screen")
MCFG_NAMCO_51XX_INPUT_0_CB(IOPORT("IN0L"))
MCFG_NAMCO_51XX_INPUT_1_CB(IOPORT("IN0H"))
MCFG_NAMCO_51XX_INPUT_2_CB(IOPORT("IN1L"))
MCFG_NAMCO_51XX_INPUT_3_CB(IOPORT("IN1H"))
MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0))
MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1))
namco_51xx_device &n51xx(NAMCO_51XX(config, "51xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n51xx.set_screen_tag(m_screen);
n51xx.input_callback<0>().set_ioport("IN0L");
n51xx.input_callback<1>().set_ioport("IN0H");
n51xx.input_callback<2>().set_ioport("IN1L");
n51xx.input_callback<3>().set_ioport("IN1H");
n51xx.output_callback<0>().set(FUNC(galaga_state::out_0));
n51xx.output_callback<1>().set(FUNC(galaga_state::out_1));
namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n54xx.set_discrete("discrete");
n54xx.set_basenote(NODE_01);
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
MCFG_NAMCO_06XX_WRITE_3_CB(WRITE8("54xx", namco_54xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/6/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
n06xx.write_callback<3>().set("54xx", FUNC(namco_54xx_device::write));
LS259(config, m_videolatch); // 5K on video board
// Q0-Q5 to 05XX for starfield control
@ -1756,20 +1756,20 @@ MACHINE_CONFIG_START(galaga_state::galagab)
/* basic machine hardware */
MCFG_DEVICE_REMOVE("54xx")
MCFG_DEVICE_REMOVE("06xx")
config.device_remove("54xx");
config.device_remove("06xx");
/* FIXME: bootlegs should not have any Namco custom chip. However, this workaround is needed atm */
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/6/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
MCFG_DEVICE_ADD("sub3", Z80, MASTER_CLOCK/6) /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(galaga_mem4)
/* sound hardware */
MCFG_DEVICE_REMOVE("discrete")
config.device_remove("discrete");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(galaga_state::gatsbee)
@ -1802,27 +1802,27 @@ MACHINE_CONFIG_START(xevious_state::xevious)
NAMCO_50XX(config, "50xx", MASTER_CLOCK/6/2); /* 1.536 MHz */
MCFG_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/6/2) /* 1.536 MHz */
MCFG_NAMCO_51XX_SCREEN("screen")
MCFG_NAMCO_51XX_INPUT_0_CB(IOPORT("IN0L"))
MCFG_NAMCO_51XX_INPUT_1_CB(IOPORT("IN0H"))
MCFG_NAMCO_51XX_INPUT_2_CB(IOPORT("IN1L"))
MCFG_NAMCO_51XX_INPUT_3_CB(IOPORT("IN1H"))
MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0))
MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1))
namco_51xx_device &n51xx(NAMCO_51XX(config, "51xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n51xx.set_screen_tag(m_screen);
n51xx.input_callback<0>().set_ioport("IN0L");
n51xx.input_callback<1>().set_ioport("IN0H");
n51xx.input_callback<2>().set_ioport("IN1L");
n51xx.input_callback<3>().set_ioport("IN1H");
n51xx.output_callback<0>().set(FUNC(galaga_state::out_0));
n51xx.output_callback<1>().set(FUNC(galaga_state::out_1));
namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n54xx.set_discrete("discrete");
n54xx.set_basenote(NODE_01);
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
MCFG_NAMCO_06XX_READ_2_CB(READ8("50xx", namco_50xx_device, read))
MCFG_NAMCO_06XX_READ_REQUEST_2_CB(WRITELINE("50xx", namco_50xx_device, read_request))
MCFG_NAMCO_06XX_WRITE_2_CB(WRITE8("50xx", namco_50xx_device, write))
MCFG_NAMCO_06XX_WRITE_3_CB(WRITE8("54xx", namco_54xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/6/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
n06xx.read_callback<2>().set("50xx", FUNC(namco_50xx_device::read));
n06xx.read_request_callback<2>().set("50xx", FUNC(namco_50xx_device::read_request));
n06xx.write_callback<2>().set("50xx", FUNC(namco_50xx_device::write));
n06xx.write_callback<3>().set("54xx", FUNC(namco_54xx_device::write));
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 8);
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* 1000 CPU slices per frame - an high value to ensure proper */
@ -1857,15 +1857,15 @@ MACHINE_CONFIG_START(battles_state::battles)
xevious(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("50xx")
MCFG_DEVICE_REMOVE("54xx")
MCFG_DEVICE_REMOVE("06xx")
config.device_remove("50xx");
config.device_remove("54xx");
config.device_remove("06xx");
/* FIXME: bootlegs should not have any Namco custom chip. However, this workaround is needed atm */
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/6/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
MCFG_DEVICE_ADD("sub3", Z80, MASTER_CLOCK/6) /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(battles_mem4)
@ -1875,7 +1875,7 @@ MACHINE_CONFIG_START(battles_state::battles)
MCFG_TIMER_DRIVER_ADD("nmi", battles_state, nmi_generate)
/* sound hardware */
MCFG_DEVICE_REMOVE("discrete")
config.device_remove("discrete");
MCFG_DEVICE_ADD("samples", SAMPLES)
MCFG_SAMPLES_CHANNELS(1)
@ -1903,14 +1903,14 @@ MACHINE_CONFIG_START(digdug_state::digdug)
misclatch.q_out_cb<3>().append_inputline("sub2", INPUT_LINE_RESET).invert();
// Q5-Q7 also used (see below)
MCFG_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/6/2) /* 1.536 MHz */
MCFG_NAMCO_51XX_SCREEN("screen")
MCFG_NAMCO_51XX_INPUT_0_CB(IOPORT("IN0L"))
MCFG_NAMCO_51XX_INPUT_1_CB(IOPORT("IN0H"))
MCFG_NAMCO_51XX_INPUT_2_CB(IOPORT("IN1L"))
MCFG_NAMCO_51XX_INPUT_3_CB(IOPORT("IN1H"))
MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0))
MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1))
namco_51xx_device &n51xx(NAMCO_51XX(config, "51xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n51xx.set_screen_tag(m_screen);
n51xx.input_callback<0>().set_ioport("IN0L");
n51xx.input_callback<1>().set_ioport("IN0H");
n51xx.input_callback<2>().set_ioport("IN1L");
n51xx.input_callback<3>().set_ioport("IN1H");
n51xx.output_callback<0>().set(FUNC(galaga_state::out_0));
n51xx.output_callback<1>().set(FUNC(galaga_state::out_1));
namco_53xx_device &n53xx(NAMCO_53XX(config, "53xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */
n53xx.k_port_callback().set("misclatch", FUNC(ls259_device::q7_r)).lshift(3); // MOD 2 = K3
@ -1922,12 +1922,12 @@ MACHINE_CONFIG_START(digdug_state::digdug)
n53xx.input_callback<2>().set_ioport("DSWB").mask(0x0f);
n53xx.input_callback<3>().set_ioport("DSWB").rshift(4);
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
MCFG_NAMCO_06XX_READ_1_CB(READ8("53xx", namco_53xx_device, read))
MCFG_NAMCO_06XX_READ_REQUEST_1_CB(WRITELINE("53xx", namco_53xx_device, read_request))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/6/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
n06xx.read_callback<1>().set("53xx", FUNC(namco_53xx_device::read));
n06xx.read_request_callback<1>().set("53xx", FUNC(namco_53xx_device::read_request));
LS259(config, m_videolatch); // 5R
m_videolatch->parallel_out_cb().set(FUNC(digdug_state::bg_select_w)).mask(0x33);

View File

@ -484,7 +484,7 @@ MACHINE_CONFIG_START(dangarj_state::dangarj)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(dangarj_io_map)
MCFG_DEVICE_ADD("prot_chip", NB1412M2, XTAL(8'000'000)) // divided by 2 maybe
NB1412M2(config, m_prot, XTAL(8'000'000)); // divided by 2 maybe
MACHINE_CONFIG_END
MACHINE_CONFIG_START(galivan_state::ninjemak)

View File

@ -529,13 +529,13 @@ MACHINE_CONFIG_START(gaplus_base_state::gaplus_base)
WATCHDOG_TIMER(config, "watchdog");
MCFG_NAMCO_62XX_ADD("62xx", 24576000 / 6 / 2) /* totally made up - TODO: fix */
//MCFG_NAMCO_62XX_INPUT_0_CB(IOPORT("IN0L"))
//MCFG_NAMCO_62XX_INPUT_1_CB(IOPORT("IN0H"))
//MCFG_NAMCO_62XX_INPUT_2_CB(IOPORT("IN1L"))
//MCFG_NAMCO_62XX_INPUT_3_CB(IOPORT("IN1H"))
//MCFG_NAMCO_62XX_OUTPUT_0_CB(WRITE8(*this, gaplus_base_state,out_0))
//MCFG_NAMCO_62XX_OUTPUT_1_CB(WRITE8(*this, gaplus_base_state,out_1))
NAMCO_62XX(config, "62xx", 24576000 / 6 / 2); /* totally made up - TODO: fix */
//n62xx.input_callback<0>().set_ioport("IN0L");
//n62xx.input_callback<1>().set_ioport("IN0H");
//n62xx.input_callback<2>().set_ioport("IN1L");
//n62xx.input_callback<3>().set_ioport("IN1H");
//n62xx.output_callback<0>().set(FUNC(gaplus_base_state::out_0));
//n62xx.output_callback<1>().set(FUNC(gaplus_base_state::out_1));
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@ -566,59 +566,62 @@ MACHINE_CONFIG_START(gaplus_base_state::gaplus_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaplus_state::gaplus)
void gaplus_state::gaplus(machine_config &config)
{
gaplus_base(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("COINS"))
MCFG_NAMCO56XX_IN_1_CB(IOPORT("P1"))
MCFG_NAMCO56XX_IN_2_CB(IOPORT("P2"))
MCFG_NAMCO56XX_IN_3_CB(IOPORT("BUTTONS"))
MCFG_NAMCO56XX_OUT_0_CB(WRITE8(*this, gaplus_state, out_lamps0))
MCFG_NAMCO56XX_OUT_1_CB(WRITE8(*this, gaplus_state, out_lamps1))
NAMCO_56XX(config, m_namco56xx, 0);
m_namco56xx->in_callback<0>().set_ioport("COINS");
m_namco56xx->in_callback<1>().set_ioport("P1");
m_namco56xx->in_callback<2>().set_ioport("P2");
m_namco56xx->in_callback<3>().set_ioport("BUTTONS");
m_namco56xx->out_callback<0>().set(FUNC(gaplus_state::out_lamps0));
m_namco56xx->out_callback<1>().set(FUNC(gaplus_state::out_lamps1));
MCFG_DEVICE_ADD("namcoio_2", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("DSWA_HIGH"))
MCFG_NAMCO58XX_IN_1_CB(IOPORT("DSWB_LOW"))
MCFG_NAMCO58XX_IN_2_CB(IOPORT("DSWB_HIGH"))
MCFG_NAMCO58XX_IN_3_CB(IOPORT("DSWA_LOW"))
MACHINE_CONFIG_END
NAMCO_58XX(config, m_namco58xx, 0);
m_namco58xx->in_callback<0>().set_ioport("DSWA_HIGH");
m_namco58xx->in_callback<1>().set_ioport("DSWB_LOW");
m_namco58xx->in_callback<2>().set_ioport("DSWB_HIGH");
m_namco58xx->in_callback<3>().set_ioport("DSWA_LOW");
}
MACHINE_CONFIG_START(gaplusd_state::gaplusd)
void gaplusd_state::gaplusd(machine_config &config)
{
gaplus_base(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("COINS"))
MCFG_NAMCO58XX_IN_1_CB(IOPORT("P1"))
MCFG_NAMCO58XX_IN_2_CB(IOPORT("P2"))
MCFG_NAMCO58XX_IN_3_CB(IOPORT("BUTTONS"))
NAMCO_58XX(config, m_namco58xx, 0);
m_namco58xx->in_callback<0>().set_ioport("COINS");
m_namco58xx->in_callback<1>().set_ioport("P1");
m_namco58xx->in_callback<2>().set_ioport("P2");
m_namco58xx->in_callback<3>().set_ioport("BUTTONS");
MCFG_DEVICE_ADD("namcoio_2", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("DSWA_HIGH"))
MCFG_NAMCO56XX_IN_1_CB(IOPORT("DSWB_LOW"))
MCFG_NAMCO56XX_IN_2_CB(IOPORT("DSWB_HIGH"))
MCFG_NAMCO56XX_IN_3_CB(IOPORT("DSWA_LOW"))
MACHINE_CONFIG_END
NAMCO_56XX(config, m_namco56xx, 0);
m_namco56xx->in_callback<0>().set_ioport("DSWA_HIGH");
m_namco56xx->in_callback<1>().set_ioport("DSWB_LOW");
m_namco56xx->in_callback<2>().set_ioport("DSWB_HIGH");
m_namco56xx->in_callback<3>().set_ioport("DSWA_LOW");
}
MACHINE_CONFIG_START(gapluso_state::gapluso)
void gapluso_state::gapluso(machine_config &config)
{
gaplus_base(config);
/* basic machine hardware */
m_screen->screen_vblank().set(FUNC(gaplus_base_state::screen_vblank));
m_screen->screen_vblank().append(FUNC(gapluso_state::vblank_irq));
MCFG_DEVICE_ADD("namcoio_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("COINS"))
MCFG_NAMCO56XX_IN_1_CB(IOPORT("P1"))
MCFG_NAMCO56XX_IN_2_CB(IOPORT("P2"))
MCFG_NAMCO56XX_IN_3_CB(IOPORT("BUTTONS"))
NAMCO_56XX(config, m_namco56xx, 0);
m_namco56xx->in_callback<0>().set_ioport("COINS");
m_namco56xx->in_callback<1>().set_ioport("P1");
m_namco56xx->in_callback<2>().set_ioport("P2");
m_namco56xx->in_callback<3>().set_ioport("BUTTONS");
MCFG_DEVICE_ADD("namcoio_2", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("DSWA_HIGH"))
MCFG_NAMCO58XX_IN_1_CB(IOPORT("DSWB_LOW"))
MCFG_NAMCO58XX_IN_2_CB(IOPORT("DSWB_HIGH"))
MCFG_NAMCO58XX_IN_3_CB(IOPORT("DSWA_LOW"))
MACHINE_CONFIG_END
NAMCO_58XX(config, m_namco58xx, 0);
m_namco58xx->in_callback<0>().set_ioport("DSWA_HIGH");
m_namco58xx->in_callback<1>().set_ioport("DSWB_LOW");
m_namco58xx->in_callback<2>().set_ioport("DSWB_HIGH");
m_namco58xx->in_callback<3>().set_ioport("DSWA_LOW");
}

View File

@ -1654,7 +1654,7 @@ MACHINE_CONFIG_START(harddriv_state::dsk)
EEPROM_2816(config, "dsk_30c"); // MK48Z02
/* ASIC65 */
MCFG_ASIC65_ADD("asic65", ASIC65_STANDARD)
ASIC65(config, m_asic65, 0, ASIC65_STANDARD);
MACHINE_CONFIG_END
@ -1667,7 +1667,7 @@ MACHINE_CONFIG_START(harddriv_state::dsk2)
MCFG_DEVICE_PROGRAM_MAP(dsk2_dsp32_map)
/* ASIC65 */
MCFG_ASIC65_ADD("asic65", ASIC65_STANDARD)
ASIC65(config, m_asic65, 0, ASIC65_STANDARD);
MACHINE_CONFIG_END
@ -1933,7 +1933,7 @@ MACHINE_CONFIG_START(steeltal_board_device_state::device_add_mconfig)
config.device_remove("lspeaker");
config.device_remove("rspeaker");
MCFG_ASIC65_ADD("asic65", ASIC65_STEELTAL) /* ASIC65 on DSPCOM board */
ASIC65(config, m_asic65, 0, ASIC65_STEELTAL); /* ASIC65 on DSPCOM board */
/* sund hardware */
SPEAKER(config, "mono").front_center();

View File

@ -3669,10 +3669,10 @@ MACHINE_CONFIG_START(igs017_state::lhzb2)
ppi.in_pc_callback().set_ioport("DSW2");
// protection
MCFG_DEVICE_ADD("igs025", IGS025, 0)
MCFG_IGS025_SET_EXTERNAL_EXECUTE( igs017_state, igs025_to_igs022_callback )
IGS025(config, m_igs025, 0);
m_igs025->set_external_cb(FUNC(igs017_state::igs025_to_igs022_callback), this);
MCFG_DEVICE_ADD("igs022", IGS022, 0)
IGS022(config, m_igs022, 0);
// video
MCFG_SCREEN_ADD("screen", RASTER)
@ -3765,10 +3765,10 @@ MACHINE_CONFIG_START(igs017_state::slqz2)
ppi.in_pc_callback().set_ioport("DSW2");
// protection
MCFG_DEVICE_ADD("igs025", IGS025, 0)
MCFG_IGS025_SET_EXTERNAL_EXECUTE( igs017_state, igs025_to_igs022_callback )
IGS025(config, m_igs025, 0);
m_igs025->set_external_cb(FUNC(igs017_state::igs025_to_igs022_callback), this);
MCFG_DEVICE_ADD("igs022", IGS022, 0)
IGS022(config, m_igs022, 0);
// video
MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -612,14 +612,14 @@ MACHINE_CONFIG_START(md_cons_state::genesis_32x)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2)
MCFG_DEVICE_ADD("sega32x", SEGA_32X_NTSC, (MASTER_CLOCK_NTSC * 3) / 7, m_maincpu, m_scan_timer)
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
SEGA_32X_NTSC(config, m_32x, (MASTER_CLOCK_NTSC * 3) / 7, m_maincpu, m_scan_timer);
m_32x->set_palette_tag("gen_vdp:palette");
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
// we need to remove and re-add the YM because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is silent?!)
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_DEVICE_ADD("ymsnd", YM2612, MASTER_CLOCK_NTSC/7)
@ -650,14 +650,14 @@ MACHINE_CONFIG_START(md_cons_state::mdj_32x)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2)
MCFG_DEVICE_ADD("sega32x", SEGA_32X_NTSC, (MASTER_CLOCK_NTSC * 3) / 7, m_maincpu, m_scan_timer)
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
SEGA_32X_NTSC(config, m_32x, (MASTER_CLOCK_NTSC * 3) / 7, m_maincpu, m_scan_timer);
m_32x->set_palette_tag("gen_vdp:palette");
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
// we need to remove and re-add the sound system because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is silent?!)
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_DEVICE_ADD("ymsnd", YM2612, MASTER_CLOCK_NTSC/7)
@ -688,14 +688,14 @@ MACHINE_CONFIG_START(md_cons_state::md_32x)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2)
MCFG_DEVICE_ADD("sega32x", SEGA_32X_PAL, (MASTER_CLOCK_PAL * 3) / 7, m_maincpu, m_scan_timer)
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
SEGA_32X_PAL(config, m_32x, (MASTER_CLOCK_PAL * 3) / 7, m_maincpu, m_scan_timer);
m_32x->set_palette_tag("gen_vdp:palette");
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
// we need to remove and re-add the sound system because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is silent?!)
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_DEVICE_ADD("ymsnd", YM2612, MASTER_CLOCK_NTSC/7)

View File

@ -3682,8 +3682,8 @@ MACHINE_CONFIG_START(metro_state::blzntrnd)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "vdp2:palette", gfx_blzntrnd)
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_OFFSETS(-77, -21)
K053936(config, m_k053936, 0);
m_k053936->set_offsets(-77, -21);
/* sound hardware */
// HUM-002 PCB Configuration : Stereo output with second speaker connector
@ -3706,8 +3706,7 @@ MACHINE_CONFIG_START(metro_state::gstrik2)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gstrik2)
MCFG_VIDEO_START_OVERRIDE(metro_state,gstrik2)
MCFG_DEVICE_MODIFY("k053936")
MCFG_K053936_OFFSETS(-77, -19)
m_k053936->set_offsets(-77, -19);
m_vdp2->set_tmap_xoffsets(0,-8,0);

View File

@ -1731,7 +1731,7 @@ MACHINE_CONFIG_START(namcos12_state::namcos12_mobo)
MCFG_DEVICE_PROGRAM_MAP(s12h8rwmap)
MCFG_DEVICE_IO_MAP(s12h8iomap)
MCFG_NAMCO_SETTINGS_ADD("namco_settings")
NAMCO_SETTINGS(config, m_settings, 0);
RTC4543(config, m_rtc, XTAL(32'768));
m_rtc->data_cb().set("sub:sci1", FUNC(h8_sci_device::rx_w));

View File

@ -3622,7 +3622,7 @@ MACHINE_CONFIG_START(namcos23_state::gorgon)
MCFG_QUANTUM_TIME(attotime::from_hz(2*115200))
MCFG_NAMCO_SETTINGS_ADD("namco_settings")
NAMCO_SETTINGS(config, m_settings, 0);
RTC4543(config, m_rtc, XTAL(32'768));
m_rtc->data_cb().set("subcpu:sci1", FUNC(h8_sci_device::rx_w));
@ -3690,7 +3690,7 @@ MACHINE_CONFIG_START(namcos23_state::s23)
MCFG_QUANTUM_TIME(attotime::from_hz(2*115200))
MCFG_NAMCO_SETTINGS_ADD("namco_settings")
NAMCO_SETTINGS(config, m_settings, 0);
RTC4543(config, m_rtc, XTAL(32'768));
m_rtc->data_cb().set("subcpu:sci1", FUNC(h8_sci_device::rx_w));
@ -3771,7 +3771,7 @@ MACHINE_CONFIG_START(namcos23_state::ss23)
MCFG_QUANTUM_TIME(attotime::from_hz(2*115200))
MCFG_NAMCO_SETTINGS_ADD("namco_settings")
NAMCO_SETTINGS(config, m_settings, 0);
RTC4543(config, m_rtc, XTAL(32'768));
m_rtc->data_cb().set("subcpu:sci1", FUNC(h8_sci_device::rx_w));

View File

@ -1021,10 +1021,10 @@ MACHINE_CONFIG_START(next_state::next_base)
SCC8530(config, scc, XTAL(25'000'000));
scc->intrq_callback().set(FUNC(next_state::scc_irq));
MCFG_DEVICE_ADD("keyboard", NEXTKBD, 0)
MCFG_NEXTKBD_INT_CHANGE_CALLBACK(WRITELINE(*this, next_state, keyboard_irq))
MCFG_NEXTKBD_INT_POWER_CALLBACK(WRITELINE(*this, next_state, power_irq))
MCFG_NEXTKBD_INT_NMI_CALLBACK(WRITELINE(*this, next_state, nmi_irq))
NEXTKBD(config, keyboard, 0);
keyboard->int_change_wr_callback().set(FUNC(next_state::keyboard_irq));
keyboard->int_power_wr_callback().set(FUNC(next_state::power_irq));
keyboard->int_nmi_wr_callback().set(FUNC(next_state::nmi_irq));
MCFG_NSCSI_ADD("scsibus:0", next_scsi_devices, "harddisk", false)
MCFG_NSCSI_ADD("scsibus:1", next_scsi_devices, "cdrom", false)
@ -1042,9 +1042,9 @@ MACHINE_CONFIG_START(next_state::next_base)
net->tx_drq().set(FUNC(next_state::net_tx_drq));
net->rx_drq().set(FUNC(next_state::net_rx_drq));
MCFG_DEVICE_ADD("mo", NEXTMO, 0)
MCFG_NEXTMO_IRQ_CALLBACK(WRITELINE(*this, next_state, mo_irq))
MCFG_NEXTMO_DRQ_CALLBACK(WRITELINE(*this, next_state, mo_drq))
NEXTMO(config, mo, 0);
mo->irq_wr_callback().set(FUNC(next_state::mo_irq));
mo->drq_wr_callback().set(FUNC(next_state::mo_drq));
MACHINE_CONFIG_END
MACHINE_CONFIG_START(next_state::next)

View File

@ -566,8 +566,8 @@ MACHINE_CONFIG_START(pcd_state::pcd)
m_rtc->set_epoch(1900);
m_rtc->set_24hrs(true);
MCFG_DEVICE_ADD("keyboard", PCD_KEYBOARD, 0)
MCFG_PCD_KEYBOARD_OUT_TX_HANDLER(WRITELINE(m_usart[1], mc2661_device, rx_w))
pcd_keyboard_device &keyboard(PCD_KEYBOARD(config, "keyboard", 0));
keyboard.out_tx_handler().set(m_usart[1], FUNC(mc2661_device::rx_w));
MCFG_DEVICE_ADD("scsi", SCSI_PORT, 0)
MCFG_SCSI_DATA_INPUT_BUFFER("scsi_data_in")
@ -590,8 +590,7 @@ MACHINE_CONFIG_START(pcd_state::pcx)
pcx_video_device &video(PCX_VIDEO(config.replace(), "video", 0));
video.txd_handler().set("keyboard", FUNC(pcd_keyboard_device::t0_w));
MCFG_DEVICE_MODIFY("keyboard")
MCFG_PCD_KEYBOARD_OUT_TX_HANDLER(WRITELINE("video", pcx_video_device, rx_w))
subdevice<pcd_keyboard_device>("keyboard")->out_tx_handler().set("video", FUNC(pcx_video_device::rx_w));
m_usart[1]->txd_handler().set_nop();
MACHINE_CONFIG_END

View File

@ -339,7 +339,7 @@ MACHINE_CONFIG_START(pce_state::pce_common)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_PCE_CD_ADD("pce_cd")
PCE_CD(config, m_cd, 0);
MCFG_SOFTWARE_LIST_ADD("cd_list","pcecd")
MACHINE_CONFIG_END
@ -412,7 +412,7 @@ MACHINE_CONFIG_START(pce_state::sgx)
MCFG_SOFTWARE_LIST_ADD("cart_list","sgx")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pce_list","pce")
MCFG_PCE_CD_ADD("pce_cd")
PCE_CD(config, m_cd, 0);
MCFG_SOFTWARE_LIST_ADD("cd_list","pcecd")
MACHINE_CONFIG_END

View File

@ -974,7 +974,7 @@ MACHINE_CONFIG_START(pce220_state::pce220)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
MCFG_PCE220_SERIAL_ADD(PCE220SERIAL_TAG)
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pcg850v_state::pcg815)
@ -1008,7 +1008,7 @@ MACHINE_CONFIG_START(pcg850v_state::pcg815)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
MCFG_PCE220_SERIAL_ADD(PCE220SERIAL_TAG)
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pcg850v_state::pcg850v)
@ -1042,7 +1042,7 @@ MACHINE_CONFIG_START(pcg850v_state::pcg850v)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
MCFG_PCE220_SERIAL_ADD(PCE220SERIAL_TAG)
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
/* ROM definition */

View File

@ -812,10 +812,10 @@ MACHINE_CONFIG_START(pgm2_state::pgm2)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_PGM2_MEMCARD_ADD("memcard_p1")
MCFG_PGM2_MEMCARD_ADD("memcard_p2")
MCFG_PGM2_MEMCARD_ADD("memcard_p3")
MCFG_PGM2_MEMCARD_ADD("memcard_p4")
PGM2_MEMCARD(config, m_memcard[0], 0);
PGM2_MEMCARD(config, m_memcard[1], 0);
PGM2_MEMCARD(config, m_memcard[2], 0);
PGM2_MEMCARD(config, m_memcard[3], 0);
MACHINE_CONFIG_END
// not strictly needed as the video code supports changing on the fly, but makes recording easier etc.

View File

@ -585,7 +585,7 @@ MACHINE_CONFIG_START(polygonet_state::plygonet)
MCFG_PALETTE_ADD("palette", 32768)
MCFG_PALETTE_FORMAT(XRGB)
MCFG_DEVICE_ADD("k053936", K053936, 0)
K053936(config, m_k053936, 0);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();

View File

@ -888,14 +888,14 @@ MACHINE_CONFIG_START(polepos_state::polepos)
n54xx.set_discrete("discrete");
n54xx.set_basenote(NODE_01);
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/8/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
MCFG_NAMCO_06XX_READ_1_CB(READ8("53xx", namco_53xx_device, read))
MCFG_NAMCO_06XX_READ_REQUEST_1_CB(WRITELINE("53xx", namco_53xx_device, read_request))
MCFG_NAMCO_06XX_WRITE_2_CB(WRITE8("52xx", namco_52xx_device, write))
MCFG_NAMCO_06XX_WRITE_3_CB(WRITE8("54xx", namco_54xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/8/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
n06xx.read_callback<1>().set("53xx", FUNC(namco_53xx_device::read));
n06xx.read_request_callback<1>().set("53xx", FUNC(namco_53xx_device::read_request));
n06xx.write_callback<2>().set("52xx", FUNC(namco_52xx_device::write));
n06xx.write_callback<3>().set("54xx", FUNC(namco_54xx_device::write));
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 16); // 128V clocks the same as VBLANK
@ -1001,10 +1001,10 @@ MACHINE_CONFIG_START(polepos_state::topracern)
n51xx.set_screen_tag(m_screen);
n51xx.input_callback<1>().set_ioport("IN0").rshift(4);
MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/8/64)
MCFG_NAMCO_06XX_MAINCPU("maincpu")
MCFG_NAMCO_06XX_READ_0_CB(READ8("51xx", namco_51xx_device, read))
MCFG_NAMCO_06XX_WRITE_0_CB(WRITE8("51xx", namco_51xx_device, write))
namco_06xx_device &n06xx(NAMCO_06XX(config, "06xx", MASTER_CLOCK/8/64));
n06xx.set_maincpu(m_maincpu);
n06xx.read_callback<0>().set("51xx", FUNC(namco_51xx_device::read));
n06xx.write_callback<0>().set("51xx", FUNC(namco_51xx_device::write));
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 16); // 128V clocks the same as VBLANK

View File

@ -558,8 +558,8 @@ MACHINE_CONFIG_START(psx1_state::psj)
MCFG_PSX_CD_READ_HANDLER( READ8( PSXCD_TAG, psxcd_device, read ) )
MCFG_PSX_CD_WRITE_HANDLER( WRITE8( PSXCD_TAG, psxcd_device, write ) )
MCFG_DEVICE_ADD(PSXCD_TAG, PSXCD, "maincpu", "spu")
MCFG_PSXCD_IRQ_HANDLER(WRITELINE("maincpu:irq", psxirq_device, intin2))
PSXCD(config, m_psxcd, m_maincpu, "spu");
m_psxcd->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin2));
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 3, psxdma_device::read_delegate(&psx1_state::cd_dma_read, this ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 3, psxdma_device::write_delegate(&psx1_state::cd_dma_write, this ) )
MACHINE_CONFIG_END
@ -612,8 +612,8 @@ MACHINE_CONFIG_START(psx1_state::pse)
MCFG_PSX_CD_READ_HANDLER( READ8( PSXCD_TAG, psxcd_device, read ) )
MCFG_PSX_CD_WRITE_HANDLER( WRITE8( PSXCD_TAG, psxcd_device, write ) )
MCFG_DEVICE_ADD(PSXCD_TAG, PSXCD, "maincpu", "spu")
MCFG_PSXCD_IRQ_HANDLER(WRITELINE("maincpu:irq", psxirq_device, intin2))
PSXCD(config, m_psxcd, m_maincpu, "spu");
m_psxcd->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin2));
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 3, psxdma_device::read_delegate(&psx1_state::cd_dma_read, this ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 3, psxdma_device::write_delegate(&psx1_state::cd_dma_write, this ) )
MACHINE_CONFIG_END

View File

@ -962,8 +962,8 @@ MACHINE_CONFIG_START(ql_state::ql)
MCFG_DEVICE_ADD("rom", QL_ROM_CARTRIDGE_SLOT, ql_rom_cartridge_cards, nullptr)
MCFG_DEVICE_ADD(QIMI_TAG, QIMI, 0)
MCFG_QIMI_EXTINT_CALLBACK(WRITELINE(*this, ql_state, qimi_extintl_w))
QIMI(config, m_qimi, 0);
m_qimi->extint_wr_callback().set(FUNC(ql_state::qimi_extintl_w));
// software lists
MCFG_SOFTWARE_LIST_ADD("cart_list", "ql_cart")

View File

@ -1168,8 +1168,8 @@ MACHINE_CONFIG_START(radica_eu3a05_state::radicasi)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_radicasi_fake)
MCFG_DEVICE_ADD("gpio", RADICA6502_GPIO, 0)
MCFG_RADICA6502_GPIO_READ_PORT0_CB(IOPORT("IN0"))
radica6502_gpio_device &gpio(RADICA6502_GPIO(config, "gpio", 0));
gpio.read_0_callback().set_ioport("IN0");
/* sound hardware */
SPEAKER(config, "mono").front_center();

View File

@ -425,8 +425,8 @@ MACHINE_CONFIG_START(rungun_state::rng)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_OFFSETS(34, 9)
K053936(config, m_k053936, 0);
m_k053936->set_offsets(34, 9);
K055673(config, m_k055673, 0);
m_k055673->set_sprite_callback(FUNC(rungun_state::sprite_callback), this);

View File

@ -305,9 +305,9 @@ MACHINE_CONFIG_START(suprslam_state::suprslam)
m_spr->set_gfx_region(1);
m_spr->set_gfxdecode_tag(m_gfxdecode);
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(-45, -21)
K053936(config, m_k053936, 0);
m_k053936->set_wrap(1);
m_k053936->set_offsets(-45, -21);
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();

View File

@ -519,7 +519,7 @@ MACHINE_CONFIG_START(amazon_state::amazon_1412m2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(amazon_1412m2_map)
MCFG_DEVICE_ADD("prot_chip", NB1412M2, XTAL(16'000'000)) // divided by 4 maybe
NB1412M2(config, m_prot, XTAL(16'000'000)); // divided by 4 maybe
MACHINE_CONFIG_END

View File

@ -2321,9 +2321,9 @@ MACHINE_CONFIG_START(tmnt_state::glfgreat)
m_k053245->set_palette(m_palette);
m_k053245->set_sprite_callback(FUNC(tmnt_state::lgtnfght_sprite_callback), this);
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_WRAP(1)
MCFG_K053936_OFFSETS(85, 0)
K053936(config, m_k053936, 0);
m_k053936->set_wrap(1);
m_k053936->set_offsets(85, 0);
K053251(config, m_k053251, 0);
@ -2389,8 +2389,8 @@ MACHINE_CONFIG_START(tmnt_state::prmrsocr)
m_k053245->set_palette(m_palette);
m_k053245->set_sprite_callback(FUNC(tmnt_state::prmrsocr_sprite_callback), this);
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_OFFSETS(85, 1)
K053936(config, m_k053936, 0);
m_k053936->set_offsets(85, 1);
K053251(config, m_k053251, 0);

View File

@ -703,24 +703,25 @@ MACHINE_CONFIG_START(namcos16_state::liblrabl)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos16_state, irq0_line_hold, 60)
NAMCO_58XX(config, m_namco58xx, 0);
m_namco58xx->in_callback<0>().set_ioport("COINS");
m_namco58xx->in_callback<1>().set_ioport("P1_RIGHT");
m_namco58xx->in_callback<2>().set_ioport("P2_RIGHT");
m_namco58xx->in_callback<3>().set_ioport("BUTTONS");
MCFG_DEVICE_ADD("58xx", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("COINS"))
MCFG_NAMCO58XX_IN_1_CB(IOPORT("P1_RIGHT"))
MCFG_NAMCO58XX_IN_2_CB(IOPORT("P2_RIGHT"))
MCFG_NAMCO58XX_IN_3_CB(IOPORT("BUTTONS"))
MCFG_DEVICE_ADD("56xx_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(READ8(*this, namcos16_state, dipA_h))
MCFG_NAMCO56XX_IN_1_CB(READ8(*this, namcos16_state, dipB_l))
MCFG_NAMCO56XX_IN_2_CB(READ8(*this, namcos16_state, dipB_h))
MCFG_NAMCO56XX_IN_3_CB(READ8(*this, namcos16_state, dipA_l))
MCFG_NAMCO56XX_OUT_0_CB(WRITE8(*this, namcos16_state, flip))
NAMCO_56XX(config, m_namco56xx_1, 0);
m_namco56xx_1->in_callback<0>().set(FUNC(namcos16_state::dipA_h));
m_namco56xx_1->in_callback<1>().set(FUNC(namcos16_state::dipB_l));
m_namco56xx_1->in_callback<2>().set(FUNC(namcos16_state::dipB_h));
m_namco56xx_1->in_callback<3>().set(FUNC(namcos16_state::dipA_l));
m_namco56xx_1->out_callback<0>().set(FUNC(namcos16_state::flip));
MCFG_DEVICE_ADD("56xx_2", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_1_CB(IOPORT("P1_LEFT"))
MCFG_NAMCO56XX_IN_2_CB(IOPORT("P2_LEFT"))
MCFG_NAMCO56XX_IN_3_CB(IOPORT("SERVICE"))
NAMCO_56XX(config, m_namco56xx_2, 0);
m_namco56xx_2->in_callback<1>().set_ioport("P1_LEFT");
m_namco56xx_2->in_callback<2>().set_ioport("P2_LEFT");
m_namco56xx_2->in_callback<3>().set_ioport("SERVICE");
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK,384,0,288,264,0,224) // derived from Galaxian HW, 60.606060

View File

@ -1081,8 +1081,8 @@ MACHINE_CONFIG_START(v1050_state::v1050)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, v1050_state, write_keyboard_clock))
// keyboard
MCFG_DEVICE_ADD(V1050_KEYBOARD_TAG, V1050_KEYBOARD, 0)
MCFG_V1050_KEYBOARD_OUT_TX_HANDLER(WRITELINE(I8251A_KB_TAG, i8251_device, write_rxd))
v1050_keyboard_device &keyboard(V1050_KEYBOARD(config, V1050_KEYBOARD_TAG, 0));
keyboard.out_tx_handler().set(m_uart_kb, FUNC(i8251_device::write_rxd));
I8251(config, m_uart_sio, 0/*16_MHz_XTAL/8,*/);
m_uart_sio->txd_handler().set(RS232_TAG, FUNC(rs232_port_device::write_txd));

View File

@ -658,8 +658,8 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
MCFG_DEVICE_ADD(KEYBOARD_TAG, XEROX_820_KEYBOARD, 0)
MCFG_XEROX_820_KEYBOARD_KBSTB_CALLBACK(WRITELINE(m_kbpio, z80pio_device, strobe_b))
XEROX_820_KEYBOARD(config, m_kb, 0);
m_kb->kbstb_wr_callback().set(m_kbpio, FUNC(z80pio_device::strobe_b));
/* internal ram */
RAM(config, m_ram).set_default_size("64K");
@ -747,8 +747,8 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
MCFG_DEVICE_ADD(KEYBOARD_TAG, XEROX_820_KEYBOARD, 0)
MCFG_XEROX_820_KEYBOARD_KBSTB_CALLBACK(WRITELINE(m_kbpio, z80pio_device, strobe_b))
XEROX_820_KEYBOARD(config, m_kb, 0);
m_kb->kbstb_wr_callback().set(m_kbpio, FUNC(z80pio_device::strobe_b));
// SASI bus
SCSI_PORT(config, m_sasibus, 0);

View File

@ -603,24 +603,24 @@ MACHINE_CONFIG_START(z88_state::z88)
m_maincpu->set_addrmap(AS_IO, &z88_state::z88_io);
/* video hardware */
device = &SCREEN(config, m_screen, SCREEN_TYPE_LCD);
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(50);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(Z88_SCREEN_WIDTH, Z88_SCREEN_HEIGHT);
m_screen->set_visarea(0, (Z88_SCREEN_WIDTH - 1), 0, (Z88_SCREEN_HEIGHT - 1));
m_screen->set_palette(m_palette);
MCFG_SCREEN_UPDATE_DEVICE("blink", upd65031_device, screen_update)
m_screen->set_screen_update("blink", FUNC(upd65031_device::screen_update));
device = &PALETTE(config, m_palette, Z88_NUM_COLOURS);
MCFG_PALETTE_INIT_OWNER(z88_state, z88)
device = &UPD65031(config, m_blink, XTAL(9'830'400));
UPD65031(config, m_blink, XTAL(9'830'400));
m_blink->kb_rd_callback().set(FUNC(z88_state::kb_r));
m_blink->int_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
m_blink->nmi_wr_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
m_blink->spkr_wr_callback().set("speaker", FUNC(speaker_sound_device::level_w));
MCFG_UPD65031_SCR_UPDATE_CB(z88_state, lcd_update)
MCFG_UPD65031_MEM_UPDATE_CB(z88_state, bankswitch_update)
m_blink->set_screen_update_callback(FUNC(z88_state::lcd_update), this);
m_blink->set_memory_update_callback(FUNC(z88_state::bankswitch_update), this);
/* sound hardware */
SPEAKER(config, "mono").front_center();

View File

@ -64,7 +64,7 @@
// Do *not* report any issues on Mametesters if this is enabled!
// #define APOLLO_XXL
/*----------- drivers/apollo.c -----------*/
/*----------- drivers/apollo.cpp -----------*/
// return the current CPU context for log file entries
std::string apollo_cpu_context(running_machine &machine);
@ -97,7 +97,7 @@ int apollo_instruction_hook(m68000_base_device *device, offs_t curpc);
void apollo_set_cache_status_register(device_t *device,uint8_t mask, uint8_t data);
/*----------- machine/apollo.c -----------*/
/*----------- machine/apollo.cpp -----------*/
#define APOLLO_CONF_TAG "conf"
#define APOLLO_DMA1_TAG "dma8237_1"
@ -270,8 +270,6 @@ public:
void common(machine_config &config);
void apollo(machine_config &config);
void apollo_terminal(machine_config &config);
void apollo_graphics(machine_config &config);
void apollo_mono19i(machine_config &config);
void dn3500(machine_config &config);
void dn5500_19i(machine_config &config);
void dn3000(machine_config &config);
@ -297,7 +295,7 @@ private:
bool m_cur_eop;
};
/*----------- machine/apollo_config.c -----------*/
/*----------- machine/apollo_config.cpp -----------*/
// configuration bit definitions
@ -322,7 +320,7 @@ int apollo_config(int mask);
INPUT_PORTS_EXTERN(apollo_config);
/*----------- machine/apollo_csr.c -----------*/
/*----------- machine/apollo_csr.cpp -----------*/
#define APOLLO_CSR_SR_SERVICE 0x0001
#define APOLLO_CSR_SR_ATBUS_IO_TIMEOUT 0x0002
@ -344,22 +342,7 @@ uint16_t apollo_csr_get_control_register(void);
uint16_t apollo_csr_get_status_register(void);
void apollo_csr_set_status_register(uint16_t mask, uint16_t data);
/*----------- machine/apollo_sio.c -----------*/
#define MCFG_APOLLO_SIO_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, APOLLO_SIO, _clock)
#define MCFG_APOLLO_SIO_IRQ_CALLBACK(_cb) \
downcast<apollo_sio &>(*device).set_irq_cb(DEVCB_##_cb);
#define MCFG_APOLLO_SIO_A_TX_CALLBACK(_cb) \
downcast<apollo_sio &>(*device).set_a_tx_cb(DEVCB_##_cb);
#define MCFG_APOLLO_SIO_B_TX_CALLBACK(_cb) \
downcast<apollo_sio &>(*device).set_b_tx_cb(DEVCB_##_cb);
#define MCFG_APOLLO_SIO_OUTPORT_CALLBACK(_cb) \
downcast<apollo_sio &>(*device).set_outport_cb(DEVCB_##_cb);
/*----------- machine/apollo_sio.cpp -----------*/
class apollo_sio: public duart_base_device
{
@ -378,10 +361,8 @@ private:
DECLARE_DEVICE_TYPE(APOLLO_SIO, apollo_sio)
/*----------- machine/apollo_ni.c -----------*/
/*----------- machine/apollo_ni.cpp -----------*/
#define MCFG_APOLLO_NI_ADD(_tag, _xtal) \
MCFG_DEVICE_ADD(_tag, APOLLO_NI, _xtal)
/*** Apollo Node ID device ***/
@ -428,7 +409,7 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(APOLLO_NI, apollo_ni)
/*----------- video/apollo.c -----------*/
/*----------- video/apollo.cpp -----------*/
class apollo_graphics_15i : public device_t
{
@ -468,6 +449,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
protected:
class lut_fifo;
@ -666,9 +648,6 @@ private:
DECLARE_DEVICE_TYPE(APOLLO_GRAPHICS, apollo_graphics_15i)
#define MCFG_APOLLO_GRAPHICS_ADD( _tag) \
apollo_graphics(config); \
MCFG_DEVICE_ADD(_tag, APOLLO_GRAPHICS, 0)
class apollo_graphics_19i : public apollo_graphics_15i
{
@ -678,6 +657,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
private:
// internal state
@ -685,20 +665,10 @@ private:
DECLARE_DEVICE_TYPE(APOLLO_MONO19I, apollo_graphics_19i)
#define MCFG_APOLLO_MONO19I_ADD(_tag) \
apollo_mono19i(config); \
MCFG_DEVICE_ADD(_tag, APOLLO_MONO19I, 0)
#ifdef APOLLO_XXL
/*----------- machine/apollo_stdio.c -----------*/
/*----------- machine/apollo_stdio.cpp -----------*/
//**************************************************************************
// DEVICE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_APOLLO_STDIO_TX_CALLBACK(_cb) \
downcast<apollo_stdio_device &>(*device).set_tx_cb(DEVCB_##_cb);
//**************************************************************************
// TYPE DEFINITIONS
@ -713,12 +683,7 @@ public:
apollo_stdio_device(const machine_config &mconfig, const char *tag,
device_t *owner, uint32_t clock);
template<class Object> devcb_base &set_tx_cb(Object &&object)
{
return m_tx_w.set_callback(std::forward<Object>(object));
}
devcb_write_line m_tx_w;
auto tx_cb() { return m_tx_w.bind(); }
private:
// device-level overrides
@ -741,6 +706,8 @@ private:
bool m_tx_busy;
emu_timer* m_poll_timer;
devcb_write_line m_tx_w;
};
// device type definition

View File

@ -1108,10 +1108,10 @@ MACHINE_CONFIG_START(apollo_state::common)
m_rtc->set_24hrs(false);
m_rtc->set_epoch(0);
MCFG_APOLLO_NI_ADD(APOLLO_NI_TAG, 0)
APOLLO_NI(config, m_node_id, 0);
MCFG_APOLLO_SIO_ADD(APOLLO_SIO2_TAG, 3.6864_MHz_XTAL)
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(*this, apollo_state, sio2_irq_handler))
APOLLO_SIO(config, m_sio2, 3.6864_MHz_XTAL);
m_sio2->irq_cb().set(FUNC(apollo_state::sio2_irq_handler));
ISA16(config, m_isa, 0);
m_isa->set_cputag(MAINCPU);
@ -1147,17 +1147,18 @@ MACHINE_CONFIG_START(apollo_state::common)
MACHINE_CONFIG_END
// for machines with the keyboard and a graphics head
MACHINE_CONFIG_START(apollo_state::apollo)
void apollo_state::apollo(machine_config &config)
{
common(config);
MCFG_APOLLO_SIO_ADD(APOLLO_SIO_TAG, 3.6864_MHz_XTAL)
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(*this, apollo_state, sio_irq_handler))
MCFG_APOLLO_SIO_OUTPORT_CALLBACK(WRITE8(*this, apollo_state, sio_output))
MCFG_APOLLO_SIO_A_TX_CALLBACK(WRITELINE(m_keyboard, apollo_kbd_device, rx_w))
APOLLO_SIO(config, m_sio, 3.6864_MHz_XTAL);
m_sio->irq_cb().set(FUNC(apollo_state::sio_irq_handler));
m_sio->outport_cb().set(FUNC(apollo_state::sio_output));
m_sio->a_tx_cb().set(m_keyboard, FUNC(apollo_kbd_device::rx_w));
#ifdef APOLLO_XXL
MCFG_APOLLO_SIO_B_TX_CALLBACK(WRITELINE(APOLLO_STDIO_TAG, apollo_stdio_device, rx_w))
m_sio->b_tx_cb().set(APOLLO_STDIO_TAG, FUNC(apollo_stdio_device::rx_w));
#endif
MACHINE_CONFIG_END
}
static DEVICE_INPUT_DEFAULTS_START( apollo_terminal )
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_9600 )
@ -1169,17 +1170,18 @@ static DEVICE_INPUT_DEFAULTS_START( apollo_terminal )
DEVICE_INPUT_DEFAULTS_END
// for headless machines using a serial console
MACHINE_CONFIG_START(apollo_state::apollo_terminal)
void apollo_state::apollo_terminal(machine_config &config)
{
common(config);
MCFG_APOLLO_SIO_ADD(APOLLO_SIO_TAG, 3.6864_MHz_XTAL)
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(*this, apollo_state, sio_irq_handler))
MCFG_APOLLO_SIO_OUTPORT_CALLBACK(WRITE8(*this, apollo_state, sio_output))
MCFG_APOLLO_SIO_B_TX_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd))
APOLLO_SIO(config, m_sio, 3.6864_MHz_XTAL);
m_sio->irq_cb().set(FUNC(apollo_state::sio_irq_handler));
m_sio->outport_cb().set(FUNC(apollo_state::sio_output));
m_sio->b_tx_cb().set("rs232", FUNC(rs232_port_device::write_txd));
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(APOLLO_SIO_TAG, FUNC(apollo_sio::rx_b_w));
rs232.rxd_handler().set(m_sio, FUNC(apollo_sio::rx_b_w));
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(apollo_terminal));
MACHINE_CONFIG_END
}
void apollo_state::init_apollo()
{

View File

@ -22,10 +22,16 @@ enum {
class asic65_device : public device_t
{
public:
asic65_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint8_t type)
: asic65_device(mconfig, tag, owner, clock)
{
set_type(type);
}
asic65_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
void set_type(int type) { m_asic65_type = type; }
void set_type(uint8_t type) { m_asic65_type = type; }
void reset_line(int state);
DECLARE_WRITE16_MEMBER( data_w );
@ -77,8 +83,4 @@ private:
DECLARE_DEVICE_TYPE(ASIC65, asic65_device)
#define MCFG_ASIC65_ADD(_tag, _type) \
MCFG_DEVICE_ADD(_tag, ASIC65, 0) \
downcast<asic65_device &>(*device).set_type(_type);
#endif // MAME_MACHINE_ASIC65_H

View File

@ -9,9 +9,6 @@
// used to connect the 022
typedef device_delegate<void (void)> igs025_execute_external;
#define MCFG_IGS025_SET_EXTERNAL_EXECUTE( _class, _method) \
downcast<igs025_device &>(*device).set_external_cb(igs025_execute_external(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
class igs025_device : public device_t
{
public:
@ -23,7 +20,7 @@ public:
uint32_t m_kb_game_id;
uint32_t m_kb_region;
template <typename Object> void set_external_cb(Object &&newcb) { m_execute_external = std::forward<Object>(newcb); }
template <typename... T> void set_external_cb(T &&... args) { m_execute_external = igs025_execute_external(std::forward<T>(args)...); }
DECLARE_WRITE16_MEMBER( olds_w );
DECLARE_WRITE16_MEMBER( drgw2_d80000_protection_w );

View File

@ -6,26 +6,6 @@
#pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_MACKBD_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, MACKBD, 0)
#define MCFG_MACKBD_REPLACE(_tag) \
MCFG_DEVICE_REPLACE(_tag, MACKBD, 0)
#define MCFG_MACKBD_REMOVE(_tag) \
MCFG_DEVICE_REMOVE(_tag)
#define MCFG_MACKBD_CLKOUT_HANDLER(_devcb) \
devcb = downcast<mackbd_device &>(*device).set_clkout_handler(DEVCB_##_devcb);
#define MCFG_MACKBD_DATAOUT_HANDLER(_devcb) \
downcast<mackbd_device &>(*device).set_dataout_handler(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -36,8 +16,6 @@ class mackbd_device : public device_t
{
public:
// config helper
template <class Object> devcb_base &set_clkout_handler(Object &&cb) { return m_clkout_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dataout_handler(Object &&cb) { return m_dataout_handler.set_callback(std::forward<Object>(cb)); }
auto clkout_handler() { return m_clkout_handler.bind(); }
auto dataout_handler() { return m_dataout_handler.bind(); }

View File

@ -15,15 +15,6 @@
#include "dirtc.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_RTC3430042_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, RTC3430042, _clock)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************

View File

@ -31,7 +31,7 @@ public:
}
// configuration
void set_palette_tag(const char *tag) { m_palette.set_tag(tag); }
template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); }
DECLARE_READ32_MEMBER( _32x_sh2_master_4000_common_4002_r );
DECLARE_READ32_MEMBER( _32x_sh2_slave_4000_common_4002_r );
@ -247,7 +247,4 @@ protected:
DECLARE_DEVICE_TYPE(SEGA_32X_NTSC, sega_32x_ntsc_device)
DECLARE_DEVICE_TYPE(SEGA_32X_PAL, sega_32x_pal_device)
#define MCFG_SEGA_32X_PALETTE(_palette_tag) \
downcast<sega_32x_device &>(*device).set_palette_tag(_palette_tag);
#endif // MAME_MACHINE_MEGA32X_H

View File

@ -6,74 +6,19 @@
#pragma once
struct namco_06xx_config
{
const char *nmicpu;
const char *chip0;
const char *chip1;
const char *chip2;
const char *chip3;
};
#define MCFG_NAMCO_06XX_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, NAMCO_06XX, _clock)
#define MCFG_NAMCO_06XX_MAINCPU(_tag) \
downcast<namco_06xx_device &>(*device).set_maincpu(_tag);
#define MCFG_NAMCO_06XX_READ_0_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_1_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_2_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_3_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_REQUEST_0_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_request_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_REQUEST_1_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_request_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_REQUEST_2_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_request_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_READ_REQUEST_3_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_read_request_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_WRITE_0_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_write_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_WRITE_1_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_write_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_WRITE_2_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_write_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_06XX_WRITE_3_CB(_devcb) \
downcast<namco_06xx_device &>(*device).set_write_callback<3>(DEVCB_##_devcb);
/* device get info callback */
class namco_06xx_device : public device_t
{
public:
namco_06xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void set_maincpu(const char *tag) { m_nmicpu.set_tag(tag); }
template <typename T> void set_maincpu(T &&tag) { m_nmicpu.set_tag(std::forward<T>(tag)); }
template <unsigned N, class Object> devcb_base &set_read_callback(Object &&cb) { return m_read[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto read_callback() { return m_read[N].bind(); }
template <unsigned N, class Object> devcb_base &set_read_request_callback(Object &&cb) { return m_readreq[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto read_request_callback() { return m_readreq[N].bind(); }
template <unsigned N, class Object> devcb_base &set_write_callback(Object &&cb) { return m_write[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto write_callback() { return m_write[N].bind(); }
DECLARE_READ8_MEMBER( data_r );
DECLARE_WRITE8_MEMBER( data_w );

View File

@ -8,38 +8,12 @@
#include "cpu/mb88xx/mb88xx.h"
#define MCFG_NAMCO_51XX_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, NAMCO_51XX, _clock)
#define MCFG_NAMCO_51XX_SCREEN(screen_tag) \
downcast<namco_51xx_device &>(*device).set_screen_tag(screen_tag);
#define MCFG_NAMCO_51XX_INPUT_0_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_input_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_51XX_INPUT_1_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_input_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_51XX_INPUT_2_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_input_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_51XX_INPUT_3_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_input_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO_51XX_OUTPUT_0_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_output_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_51XX_OUTPUT_1_CB(_devcb) \
downcast<namco_51xx_device &>(*device).set_output_callback<1>(DEVCB_##_devcb);
class namco_51xx_device : public device_t
{
public:
namco_51xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); }
template <unsigned N, class Object> devcb_base &set_input_callback(Object &&cb) { return m_in[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N, class Object> devcb_base &set_output_callback(Object &&cb) { return m_out[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto input_callback() { return m_in[N].bind(); }
template <unsigned N> auto output_callback() { return m_out[N].bind(); }

View File

@ -5,36 +5,14 @@
#include "cpu/mb88xx/mb88xx.h"
#define MCFG_NAMCO_62XX_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, NAMCO_62XX, _clock)
#define MCFG_NAMCO_62XX_INPUT_0_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_input_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_62XX_INPUT_1_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_input_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_62XX_INPUT_2_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_input_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_62XX_INPUT_3_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_input_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO_62XX_OUTPUT_0_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_output_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_62XX_OUTPUT_1_CB(_devcb) \
downcast<namco_62xx_device &>(*device).set_output_callback<1>(DEVCB_##_devcb);
class namco_62xx_device : public device_t
{
public:
namco_62xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <unsigned N, class Object> devcb_base &set_input_callback(Object &&cb) { return m_in[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto input_callback() { return m_in[N].bind(); }
template <unsigned N, class Object> devcb_base &set_output_callback(Object &&cb) { return m_out[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto output_callback() { return m_out[N].bind(); }
protected:
// device-level overrides

View File

@ -8,9 +8,6 @@
#pragma once
#define MCFG_NAMCO_SETTINGS_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, NAMCO_SETTINGS, 0)
class namco_settings_device : public device_t {
public:
namco_settings_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

View File

@ -11,8 +11,6 @@
class namcoio_device : public device_t
{
public:
template <unsigned N, class Object> devcb_base &set_in_callback(Object &&cb) { return m_in_cb[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N, class Object> devcb_base &set_out_callback(Object &&cb) { return m_out_cb[N].set_callback(std::forward<Object>(cb)); }
template <unsigned N> auto in_callback() { return m_in_cb[N].bind(); }
template <unsigned N> auto out_callback() { return m_out_cb[N].bind(); }
@ -85,64 +83,4 @@ DECLARE_DEVICE_TYPE(NAMCO_56XX, namco56xx_device)
DECLARE_DEVICE_TYPE(NAMCO_58XX, namco58xx_device)
DECLARE_DEVICE_TYPE(NAMCO_59XX, namco59xx_device)
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_NAMCO56XX_IN_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO56XX_IN_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO56XX_IN_2_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO56XX_IN_3_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO56XX_OUT_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO56XX_OUT_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_IN_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_IN_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_IN_2_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_IN_3_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_OUT_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO58XX_OUT_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_IN_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_IN_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_IN_2_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_IN_3_CB(_devcb) \
downcast<namcoio_device &>(*device).set_in_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_OUT_0_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO59XX_OUT_1_CB(_devcb) \
downcast<namcoio_device &>(*device).set_out_callback<1>(DEVCB_##_devcb);
#endif // MAME_MACHINE_NAMCOIO_H

View File

@ -12,18 +12,6 @@ Nichibutsu 1412M2 device emulation
#pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_NB1412M2_ADD(tag, freq) \
MCFG_DEVICE_ADD((tag), NB1412M2, (freq))
#define MCFG_NB1412M2_DAC_CB(_devcb) \
downcast<nb1412m2_device &>(*device).set_dac_callback(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -53,8 +41,7 @@ public:
DECLARE_WRITE8_MEMBER( dac_address_w );
DECLARE_WRITE8_MEMBER( dac_timer_w );
template <class Object> devcb_base &set_dac_callback(Object &&cb)
{ return m_dac_cb.set_callback(std::forward<Object>(cb)); }
auto dac_callback() { return m_dac_cb.bind(); }
void nb1412m2_map(address_map &map);

View File

@ -6,22 +6,13 @@
#pragma once
#define MCFG_NEXTKBD_INT_CHANGE_CALLBACK(_write) \
downcast<nextkbd_device &>(*device).set_int_change_wr_callback(DEVCB_##_write);
#define MCFG_NEXTKBD_INT_POWER_CALLBACK(_write) \
downcast<nextkbd_device &>(*device).set_int_power_wr_callback(DEVCB_##_write);
#define MCFG_NEXTKBD_INT_NMI_CALLBACK(_write) \
downcast<nextkbd_device &>(*device).set_int_nmi_wr_callback(DEVCB_##_write);
class nextkbd_device : public device_t {
public:
nextkbd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_int_change_wr_callback(Object &&cb) { return int_change_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_int_power_wr_callback(Object &&cb) { return int_power_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_int_nmi_wr_callback(Object &&cb) { return int_nmi_cb.set_callback(std::forward<Object>(cb)); }
auto int_change_wr_callback() { return int_change_cb.bind(); }
auto int_power_wr_callback() { return int_power_cb.bind(); }
auto int_nmi_wr_callback() { return int_nmi_cb.bind(); }
void amap(address_map &map);

View File

@ -5,19 +5,14 @@
#pragma once
#define MCFG_NEXTMO_IRQ_CALLBACK(_write) \
downcast<nextmo_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
#define MCFG_NEXTMO_DRQ_CALLBACK(_write) \
downcast<nextmo_device &>(*device).set_drq_wr_callback(DEVCB_##_write);
class nextmo_device : public device_t
{
public:
nextmo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return irq_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_drq_wr_callback(Object &&cb) { return drq_cb.set_callback(std::forward<Object>(cb)); }
auto irq_wr_callback() { return irq_cb.bind(); }
auto drq_wr_callback() { return drq_cb.bind(); }
void map(address_map &map);

View File

@ -5,15 +5,13 @@
#pragma once
#define MCFG_PCD_KEYBOARD_OUT_TX_HANDLER(_devcb) \
downcast<pcd_keyboard_device &>(*device).set_out_tx_handler(DEVCB_##_devcb);
class pcd_keyboard_device : public device_t
{
public:
pcd_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_out_tx_handler(Object &&cb) { return m_out_tx_handler.set_callback(std::forward<Object>(cb)); }
auto out_tx_handler() { return m_out_tx_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( t0_w );

View File

@ -89,7 +89,4 @@ DECLARE_DEVICE_TYPE(PCE220SERIAL, pce220_serial_device)
***************************************************************************/
#define PCE220SERIAL_TAG "serial"
#define MCFG_PCE220_SERIAL_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, PCE220SERIAL, 0)
#endif // MAME_MACHINE_PCE220_SER_H

View File

@ -178,13 +178,4 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(PCE_CD, pce_cd_device)
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_PCE_CD_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, PCE_CD, 0)
#endif // MAME_MACHINE_PCE_CD_H

View File

@ -14,13 +14,6 @@
#pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_PGM2_MEMCARD_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, PGM2_MEMCARD, 0)
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/

View File

@ -139,8 +139,8 @@ MACHINE_CONFIG_START(pgm_012_025_state::pgm_012_025_drgw2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(drgw2_mem)
MCFG_DEVICE_ADD("igs025", IGS025, 0)
//MCFG_IGS025_SET_EXTERNAL_EXECUTE( pgm_022_025_state, igs025_to_igs012_callback )
IGS025(config, m_igs025, 0);
//m_igs025->set_external_cb(FUNC(pgm_022_025_state::igs025_to_igs012_callback), this);
MCFG_MACHINE_RESET_OVERRIDE(pgm_012_025_state,drgw2)
MACHINE_CONFIG_END

View File

@ -381,10 +381,10 @@ MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(killbld_mem)
MCFG_DEVICE_ADD("igs025", IGS025, 0)
MCFG_IGS025_SET_EXTERNAL_EXECUTE( pgm_022_025_state, igs025_to_igs022_callback )
IGS025(config, m_igs025, 0);
m_igs025->set_external_cb(FUNC(pgm_022_025_state::igs025_to_igs022_callback), this);
MCFG_DEVICE_ADD("igs022", IGS022, 0)
IGS022(config, m_igs022, 0);
MACHINE_CONFIG_END

View File

@ -192,10 +192,10 @@ MACHINE_CONFIG_START(pgm_028_025_state::pgm_028_025_ol)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(olds_mem)
MCFG_DEVICE_ADD("igs025", IGS025, 0)
MCFG_IGS025_SET_EXTERNAL_EXECUTE( pgm_028_025_state, igs025_to_igs028_callback )
IGS025(config, m_igs025, 0);
m_igs025->set_external_cb(FUNC(pgm_028_025_state::igs025_to_igs028_callback), this);
MCFG_DEVICE_ADD("igs028", IGS028, 0)
IGS028(config, m_igs028, 0);
MCFG_MACHINE_RESET_OVERRIDE(pgm_028_025_state,olds)
MACHINE_CONFIG_END

View File

@ -8,12 +8,6 @@
#include "imagedev/chd_cd.h"
#include "sound/spu.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_PSXCD_IRQ_HANDLER(_devcb) \
downcast<psxcd_device &>(*device).set_irq_handler(DEVCB_##_devcb);
class psxcd_device : public cdrom_image_device
{
@ -29,7 +23,7 @@ public:
psxcd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
auto irq_handler() { return m_irq_handler.bind(); }
virtual image_init_result call_load() override;
virtual void call_unload() override;

View File

@ -12,17 +12,6 @@
#pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_QIMI_EXTINT_CALLBACK(_write) \
downcast<qimi_device &>(*device).set_exting_wr_callback(DEVCB_##_write);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -35,7 +24,7 @@ public:
// construction/destruction
qimi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_exting_wr_callback(Object &&cb) { return m_write_extint.set_callback(std::forward<Object>(cb)); }
auto extint_wr_callback() { return m_write_extint.bind(); }
// optional information overrides
virtual ioport_constructor device_input_ports() const override;

View File

@ -4,24 +4,15 @@
#ifndef MAME_AUDIO_RAD_EU3A05GPIO_H
#define MAME_AUDIO_RAD_EU3A05GPIO_H
#define MCFG_RADICA6502_GPIO_READ_PORT0_CB(_devcb) \
downcast<radica6502_gpio_device &>(*device).set_gpio_read_0_callback(DEVCB_##_devcb);
#define MCFG_RADICA6502_GPIO_READ_PORT1_CB(_devcb) \
downcast<radica6502_gpio_device &>(*device).set_gpio_read_1_callback(DEVCB_##_devcb);
#define MCFG_RADICA6502_GPIO_READ_PORT2_CB(_devcb) \
downcast<radica6502_gpio_device &>(*device).set_gpio_read_2_callback(DEVCB_##_devcb);
class radica6502_gpio_device : public device_t
{
public:
radica6502_gpio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_gpio_read_0_callback(Object &&cb) { return m_space_read0_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_gpio_read_1_callback(Object &&cb) { return m_space_read1_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_gpio_read_2_callback(Object &&cb) { return m_space_read2_cb.set_callback(std::forward<Object>(cb)); }
auto read_0_callback() { return m_space_read0_cb.bind(); }
auto read_1_callback() { return m_space_read1_cb.bind(); }
auto read_2_callback() { return m_space_read2_cb.bind(); }
DECLARE_READ8_MEMBER(gpio_r);
DECLARE_WRITE8_MEMBER(gpio_w);

View File

@ -13,13 +13,6 @@
#pragma once
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_TOSH1000_BRAM_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, TOSH1000_BRAM, 0)
// ======================> tosh1000_bram_device

View File

@ -12,30 +12,6 @@
#pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_UPD65031_KB_CALLBACK(_read) \
downcast<upd65031_device &>(*device).set_kb_rd_callback(DEVCB_##_read);
#define MCFG_UPD65031_INT_CALLBACK(_write) \
downcast<upd65031_device &>(*device).set_int_wr_callback(DEVCB_##_write);
#define MCFG_UPD65031_NMI_CALLBACK(_write) \
downcast<upd65031_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
#define MCFG_UPD65031_SPKR_CALLBACK(_write) \
downcast<upd65031_device &>(*device).set_spkr_wr_callback(DEVCB_##_write);
#define MCFG_UPD65031_SCR_UPDATE_CB(_class, _method) \
downcast<upd65031_device &>(*device).set_screen_update_callback(upd65031_screen_update_delegate(&_class::_method, #_class "::" #_method, this));
#define MCFG_UPD65031_MEM_UPDATE_CB(_class, _method) \
downcast<upd65031_device &>(*device).set_memory_update_callback(upd65031_memory_update_delegate(&_class::_method, #_class "::" #_method, this));
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -55,17 +31,13 @@ public:
// construction/destruction
upd65031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_kb_rd_callback(Object &&cb) { return m_read_kb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_int_wr_callback(Object &&cb) { return m_write_int.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_nmi_wr_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_spkr_wr_callback(Object &&cb) { return m_write_spkr.set_callback(std::forward<Object>(cb)); }
auto kb_rd_callback() { return m_read_kb.bind(); }
auto int_wr_callback() { return m_write_int.bind(); }
auto nmi_wr_callback() { return m_write_nmi.bind(); }
auto spkr_wr_callback() { return m_write_spkr.bind(); }
template <class Object> void set_screen_update_callback(Object &&cb) { m_screen_update_cb = std::forward<Object>(cb); }
template <class Object> void set_memory_update_callback(Object &&cb) { m_out_mem_cb = std::forward<Object>(cb); }
template <typename... T> void set_screen_update_callback(T &&... args) { m_screen_update_cb = upd65031_screen_update_delegate(std::forward<T>(args)...); }
template <typename... T> void set_memory_update_callback(T &&... args) { m_out_mem_cb = upd65031_memory_update_delegate(std::forward<T>(args)...); }
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );

View File

@ -15,16 +15,6 @@
#include "sound/discrete.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_V1050_KEYBOARD_OUT_TX_HANDLER(_devcb) \
downcast<v1050_keyboard_device &>(*device).set_out_tx_handler(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -40,7 +30,7 @@ public:
// device flags
static constexpr feature_type imperfect_features() { return feature::KEYBOARD; }
template <class Object> devcb_base &set_out_tx_handler(Object &&cb) { return m_out_tx_handler.set_callback(std::forward<Object>(cb)); }
auto out_tx_handler() { return m_out_tx_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( si_w );

View File

@ -133,7 +133,4 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(X68KHDC, x68k_hdc_image_device)
#define MCFG_X68KHDC_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, X68KHDC, 0)
#endif // MAME_MACHINE_X68K_HDC_H

View File

@ -14,16 +14,6 @@
#include "cpu/mcs48/mcs48.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_XEROX_820_KEYBOARD_KBSTB_CALLBACK(_devcb) \
downcast<xerox_820_keyboard_device &>(*device).set_kbstb_wr_callback(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -36,7 +26,7 @@ public:
// construction/destruction
xerox_820_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_kbstb_wr_callback(Object &&cb) { return m_kbstb_cb.set_callback(std::forward<Object>(cb)); }
auto kbstb_wr_callback() { return m_kbstb_cb.bind(); }
uint8_t read() { return m_bus; }

View File

@ -1712,19 +1712,19 @@ void apollo_graphics_15i::register_vblank_callback()
MACHINE DRIVERS
***************************************************************************/
MACHINE_CONFIG_START(apollo_state::apollo_graphics)
MACHINE_CONFIG_START(apollo_graphics_15i::device_add_mconfig)
config.set_default_layout(layout_apollo_15i);
MCFG_SCREEN_ADD(VIDEO_SCREEN_TAG, RASTER)
MCFG_SCREEN_ADD(m_screen, RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_RAW_PARAMS(68000000, 1346, 0, 1024, 841, 0, 800)
MCFG_SCREEN_UPDATE_DEVICE(APOLLO_SCREEN_TAG, apollo_graphics_15i, screen_update)
MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, apollo_graphics_15i, screen_update)
MACHINE_CONFIG_END
DEFINE_DEVICE_TYPE(APOLLO_GRAPHICS, apollo_graphics_15i, "apollo_graphics_15i", "Apollo Screen")
apollo_graphics_15i::apollo_graphics_15i(const machine_config &mconfig,const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, APOLLO_GRAPHICS, tag, owner, clock),
m_screen(*this, "^" VIDEO_SCREEN_TAG),
m_screen(*this, VIDEO_SCREEN_TAG),
m_lut_fifo(nullptr),
m_bt458(nullptr)
{
@ -1732,7 +1732,7 @@ apollo_graphics_15i::apollo_graphics_15i(const machine_config &mconfig,const cha
apollo_graphics_15i::apollo_graphics_15i(const machine_config &mconfig,const char *tag, device_t *owner, uint32_t clock, device_type type) :
device_t(mconfig, type, tag, owner, clock),
m_screen(*this, "^" VIDEO_SCREEN_TAG),
m_screen(*this, VIDEO_SCREEN_TAG),
m_lut_fifo(nullptr),
m_bt458(nullptr)
{
@ -1884,14 +1884,14 @@ void apollo_graphics_15i::device_reset()
//-------------------------------------------------
MACHINE_CONFIG_START(apollo_state::apollo_mono19i)
MACHINE_CONFIG_START(apollo_graphics_19i::device_add_mconfig)
config.set_default_layout(layout_apollo);
MCFG_PALETTE_ADD_MONOCHROME("palette")
MCFG_SCREEN_ADD(VIDEO_SCREEN_TAG, RASTER)
MCFG_SCREEN_ADD(m_screen, RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_RAW_PARAMS(120000000, 1728, 0, 1280, 1066, 0, 1024)
MCFG_SCREEN_UPDATE_DEVICE(APOLLO_SCREEN_TAG, apollo_graphics_19i, screen_update)
MACHINE_CONFIG_END
MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, apollo_graphics_19i, screen_update)
MACHINE_CONFIG_END
DEFINE_DEVICE_TYPE(APOLLO_MONO19I, apollo_graphics_19i, "apollo_graphics_19i", "Apollo 19\" Monochrome Screen")

View File

@ -55,10 +55,4 @@ private:
DECLARE_DEVICE_TYPE(K053936, k053936_device)
#define MCFG_K053936_WRAP(_wrap) \
downcast<k053936_device &>(*device).set_wrap(_wrap);
#define MCFG_K053936_OFFSETS(_xoffs, _yoffs) \
downcast<k053936_device &>(*device).set_offsets(_xoffs, _yoffs);
#endif // MAME_VIDEO_K053936_H