src/mame: more MCFG removal (nw)

This commit is contained in:
Ivan Vangelista 2018-12-10 19:56:44 +01:00
parent b1fbd379ee
commit e0eaf02d22
30 changed files with 424 additions and 613 deletions

View File

@ -72,7 +72,6 @@ Dumped by Chack'n
****************************************************************************************************/
#include "emu.h"
#include "machine/tait8741.h"
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"

View File

@ -1972,8 +1972,7 @@ MACHINE_CONFIG_START(dec8_state::lastmisn)
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_shackled)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
@ -2037,8 +2036,7 @@ MACHINE_CONFIG_START(dec8_state::shackled)
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_shackled)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,shackled)
@ -2097,8 +2095,7 @@ MACHINE_CONFIG_START(dec8_state::gondo)
INPUT_MERGER_ALL_HIGH(config, m_nmigate).output_handler().set_inputline(m_maincpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gondo)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,gondo)
@ -2157,8 +2154,7 @@ MACHINE_CONFIG_START(dec8_state::garyoret)
INPUT_MERGER_ALL_HIGH(config, m_nmigate).output_handler().set_inputline(m_maincpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gondo)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,garyoret)
@ -2219,7 +2215,9 @@ MACHINE_CONFIG_START(dec8_state::ghostb)
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ghostb)
MCFG_DECO_RMC3_ADD_PROMS("palette","proms",1024) // xxxxBBBBGGGGRRRR with custom weighting
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
m_palette->set_prom_region("proms");
m_palette->set_init("palette", FUNC(deco_rmc3_device::palette_init_proms));
MCFG_VIDEO_START_OVERRIDE(dec8_state,ghostb)
/* sound hardware */
@ -2277,8 +2275,7 @@ MACHINE_CONFIG_START(dec8_state::csilver)
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("sub", INPUT_LINE_NMI))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_shackled)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
@ -2341,8 +2338,7 @@ MACHINE_CONFIG_START(dec8_state::oscar)
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_oscar)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,oscar)
@ -2395,8 +2391,7 @@ MACHINE_CONFIG_START(dec8_state::srdarwin)
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_srdarwin)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(144)
DECO_RMC3(config, m_palette, 0, 144); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,srdarwin)
@ -2452,8 +2447,7 @@ MACHINE_CONFIG_START(dec8_state::cobracom)
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cobracom)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(256)
DECO_RMC3(config, m_palette, 0, 256); // xxxxBBBBGGGGRRRR with custom weighting
MCFG_VIDEO_START_OVERRIDE(dec8_state,cobracom)

View File

@ -577,8 +577,15 @@ MACHINE_CONFIG_START(ep64_state::ep64)
MCFG_DEVICE_IO_MAP(ep64_io)
// video hardware
MCFG_NICK_ADD(NICK_TAG, SCREEN_TAG, XTAL(8'000'000))
MCFG_NICK_VIRQ_CALLBACK(WRITELINE(m_dave, dave_device, int1_w))
screen_device& screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
screen.set_size(ENTERPRISE_SCREEN_WIDTH, ENTERPRISE_SCREEN_HEIGHT);
screen.set_visarea(0, ENTERPRISE_SCREEN_WIDTH-1, 0, ENTERPRISE_SCREEN_HEIGHT-1);
screen.set_screen_update(NICK_TAG, FUNC(nick_device::screen_update));
NICK(config, m_nick, XTAL(8'000'000), SCREEN_TAG);
m_nick->virq_wr_callback().set(m_dave, FUNC(dave_device::int1_w));
// sound hardware
MCFG_DAVE_ADD(m_dave, XTAL(8'000'000), dave_64k_mem, dave_io)

View File

@ -244,9 +244,7 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(hyhoo_state, screen_update_hyhoo)
MCFG_NB1413M3_ADD("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HYHOO )
NB1413M3(config, m_nb1413m3, 0, NB1413M3_HYHOO);
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@ -262,11 +260,11 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hyhoo_state::hyhoo2)
void hyhoo_state::hyhoo2(machine_config &config)
{
hyhoo(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HYHOO2 )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_HYHOO2);
}
ROM_START( hyhoo )

View File

@ -789,7 +789,9 @@ MACHINE_CONFIG_START(karnov_state::karnov)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, karnov_state, vbint_w))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_karnov)
MCFG_DECO_RMC3_ADD_PROMS("palette","proms",1024) // xxxxBBBBGGGGRRRR with custom weighting
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
m_palette->set_prom_region("proms");
m_palette->set_init("palette", FUNC(deco_rmc3_device::palette_init_proms));
DECO_KARNOVSPRITES(config, m_spritegen, 0);
m_spritegen->set_gfx_region(2);
@ -867,7 +869,9 @@ MACHINE_CONFIG_START(karnov_state::wndrplnt)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, karnov_state, vbint_w))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_karnov)
MCFG_DECO_RMC3_ADD_PROMS("palette","proms",1024) // xxxxBBBBGGGGRRRR with custom weighting
DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting
m_palette->set_prom_region("proms");
m_palette->set_init("palette", FUNC(deco_rmc3_device::palette_init_proms));
DECO_KARNOVSPRITES(config, m_spritegen, 0);
m_spritegen->set_gfx_region(2);

View File

@ -1578,11 +1578,11 @@ WRITE_LINE_MEMBER( ksys573_state::salarymc_lamp_clk )
void ksys573_state::salarymc_cassette_install(device_t *device)
{
devcb_base *devcb;
(void)devcb;
MCFG_KONAMI573_CASSETTE_Y_D5_HANDLER( WRITELINE( *this, ksys573_state, salarymc_lamp_clk ) )
MCFG_KONAMI573_CASSETTE_Y_D6_HANDLER( WRITELINE( *this, ksys573_state, salarymc_lamp_rst ) )
MCFG_KONAMI573_CASSETTE_Y_D7_HANDLER( WRITELINE( *this, ksys573_state, salarymc_lamp_d ) )
konami573_cassette_y_device &cassette = downcast<konami573_cassette_y_device &>(*device);
cassette.d5_handler().set(*this, FUNC(ksys573_state::salarymc_lamp_clk));
cassette.d6_handler().set(*this, FUNC(ksys573_state::salarymc_lamp_rst));
cassette.d7_handler().set(*this, FUNC(ksys573_state::salarymc_lamp_d));
}
void ksys573_state::init_salarymc()
@ -1661,26 +1661,26 @@ WRITE_LINE_MEMBER( ksys573_state::hyperbbc_lamp_strobe3 )
void ksys573_state::hyperbbc_cassette_install(device_t *device)
{
devcb_base *devcb;
(void)devcb;
MCFG_KONAMI573_CASSETTE_Y_D0_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_strobe3 ) ) // line shared with x76f100 sda
MCFG_KONAMI573_CASSETTE_Y_D1_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_strobe2 ) ) // line shared with x76f100 scl
MCFG_KONAMI573_CASSETTE_Y_D3_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_strobe1 ) ) // line shared with x76f100 rst
MCFG_KONAMI573_CASSETTE_Y_D4_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_green ) )
MCFG_KONAMI573_CASSETTE_Y_D5_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_blue ) )
MCFG_KONAMI573_CASSETTE_Y_D6_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_red ) )
MCFG_KONAMI573_CASSETTE_Y_D7_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_start ) )
konami573_cassette_y_device &cassette = downcast<konami573_cassette_y_device &>(*device);
cassette.d0_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_strobe3)); // line shared with x76f100 sda
cassette.d1_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_strobe2)); // line shared with x76f100 scl
cassette.d3_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_strobe1)); // line shared with x76f100 rst
cassette.d4_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_green));
cassette.d5_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_blue));
cassette.d6_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_red));
cassette.d7_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_start));
}
void ksys573_state::hypbbc2p_cassette_install(device_t *device)
{
devcb_base *devcb;
(void)devcb;
MCFG_KONAMI573_CASSETTE_Y_D0_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_strobe2 ) ) // line shared with x76f100 sda
MCFG_KONAMI573_CASSETTE_Y_D3_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_strobe1 ) ) // line shared with x76f100 rst
MCFG_KONAMI573_CASSETTE_Y_D4_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_green ) )
MCFG_KONAMI573_CASSETTE_Y_D5_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_blue ) )
MCFG_KONAMI573_CASSETTE_Y_D6_HANDLER( WRITELINE( *this, ksys573_state, hyperbbc_lamp_red ) )
konami573_cassette_y_device &cassette = downcast<konami573_cassette_y_device &>(*device);
cassette.d0_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_strobe2)); // line shared with x76f100 sda
cassette.d3_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_strobe1)); // line shared with x76f100 rst
cassette.d4_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_green));
cassette.d5_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_blue));
cassette.d6_handler().set(*this, FUNC(ksys573_state::hyperbbc_lamp_red));
}
void ksys573_state::init_hyperbbc()
@ -2108,8 +2108,8 @@ MACHINE_CONFIG_START(ksys573_state::konami573)
MCFG_SLOT_OPTION_MACHINE_CONFIG( "cr589", cr589_config )
MCFG_SLOT_DEFAULT_OPTION( "cr589" )
MCFG_DEVICE_ADD( "cassette", KONAMI573_CASSETTE_SLOT, 0 )
MCFG_KONAMI573_CASSETTE_DSR_HANDLER(WRITELINE( "maincpu:sio1", psxsio1_device, write_dsr ) )
konami573_cassette_slot_device &cassette(KONAMI573_CASSETTE_SLOT(config, "cassette", 0));
cassette.dsr_handler().set("maincpu:sio1", FUNC(psxsio1_device::write_dsr));
// onboard flash
FUJITSU_29F016A( config, "29f016a.31m" );
@ -2196,49 +2196,49 @@ MACHINE_CONFIG_END
//
// Up to two carts can be used
MACHINE_CONFIG_START(ksys573_state::cassx)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_X )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassx(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_X );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::cassxi)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_XI )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassxi(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_XI );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::cassy)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_Y )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassy(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_Y );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::cassyi)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_YI )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassyi(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_YI );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::cassyyi)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_YI )
MCFG_SLOT_OPTION_ADD( "install", KONAMI573_CASSETTE_YI )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassyyi(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_YI );
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "install", KONAMI573_CASSETTE_YI );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::casszi)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_ZI )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::casszi(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_ZI );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
MACHINE_CONFIG_START(ksys573_state::cassxzi)
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_ADD( "game", KONAMI573_CASSETTE_ZI )
MCFG_SLOT_OPTION_ADD( "install", KONAMI573_CASSETTE_XI )
MCFG_SLOT_DEFAULT_OPTION( "game" )
MACHINE_CONFIG_END
void ksys573_state::cassxzi(machine_config &config)
{
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "game", KONAMI573_CASSETTE_ZI );
subdevice<konami573_cassette_slot_device>("cassette")->option_add( "install", KONAMI573_CASSETTE_XI );
subdevice<konami573_cassette_slot_device>("cassette")->set_default_option( "game" );
}
// Dance Dance Revolution
@ -2434,29 +2434,29 @@ void ksys573_state::fbaitbc(machine_config & config)
cassx(config);
}
MACHINE_CONFIG_START(ksys573_state::hyperbbc)
void ksys573_state::hyperbbc(machine_config &config)
{
konami573(config);
cassy(config); // The game doesn't check the security chip
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", [this] (device_t *device) { hyperbbc_cassette_install(device); } )
MACHINE_CONFIG_END
subdevice<konami573_cassette_slot_device>("cassette")->set_option_machine_config( "game", [this] (device_t *device) { hyperbbc_cassette_install(device); } );
}
MACHINE_CONFIG_START(ksys573_state::hypbbc2p)
void ksys573_state::hypbbc2p(machine_config &config)
{
konami573(config);
cassy(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", [this] (device_t *device) { hypbbc2p_cassette_install(device); } )
MACHINE_CONFIG_END
subdevice<konami573_cassette_slot_device>("cassette")->set_option_machine_config( "game", [this] (device_t *device) { hypbbc2p_cassette_install(device); } );
}
MACHINE_CONFIG_START(ksys573_state::salarymc)
void ksys573_state::salarymc(machine_config &config)
{
konami573(config);
cassyi(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", [this] (device_t *device) { salarymc_cassette_install(device); } )
MACHINE_CONFIG_END
subdevice<konami573_cassette_slot_device>("cassette")->set_option_machine_config( "game", [this] (device_t *device) { salarymc_cassette_install(device); } );
}
void ksys573_state::gchgchmp(machine_config &config)
{
@ -2465,16 +2465,17 @@ void ksys573_state::gchgchmp(machine_config &config)
cassx(config);
}
MACHINE_CONFIG_START(ksys573_state::pnchmn)
void ksys573_state::pnchmn(machine_config &config)
{
konami573(config);
m_maincpu->set_addrmap(AS_PROGRAM, &ksys573_state::konami573a_map);
cassxi(config);
pccard1_32mb(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", [this] (device_t *device) { punchmania_cassette_install(device); } )
MACHINE_CONFIG_END
subdevice<konami573_cassette_slot_device>("cassette")->set_option_machine_config( "game", [this] (device_t *device) { punchmania_cassette_install(device); } );
}
void ksys573_state::pnchmn2(machine_config &config)
{

View File

@ -2459,7 +2459,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
MCFG_DEVICE_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8688_state, irq0_line_hold)
MCFG_NB1413M3_ADD("nb1413m3")
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
@ -2526,23 +2526,22 @@ MACHINE_CONFIG_START(nbmj8688_state::crystalg)
MCFG_DEVICE_PROGRAM_MAP(secolove_map)
MCFG_DEVICE_IO_MAP(crystalg_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CRYSTALG )
m_nb1413m3->set_type(NB1413M3_CRYSTALG);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::crystal2)
void nbmj8688_state::crystal2(machine_config &config)
{
crystalg(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CRYSTAL2 )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_CRYSTAL2);
}
MACHINE_CONFIG_START(nbmj8688_state::nightlov)
void nbmj8688_state::nightlov(machine_config &config)
{
crystalg(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_NIGHTLOV )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_NIGHTLOV);
}
MACHINE_CONFIG_START(nbmj8688_state::apparel)
NBMJDRV_256(config);
@ -2552,8 +2551,7 @@ MACHINE_CONFIG_START(nbmj8688_state::apparel)
MCFG_DEVICE_PROGRAM_MAP(secolove_map)
MCFG_DEVICE_IO_MAP(secolove_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_APPAREL )
m_nb1413m3->set_type(NB1413M3_APPAREL);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::mbmj_h12bit)
@ -2568,26 +2566,26 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_h12bit)
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_12bit)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::citylove)
void nbmj8688_state::citylove(machine_config &config)
{
mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CITYLOVE )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_CITYLOVE);
}
MACHINE_CONFIG_START(nbmj8688_state::mcitylov)
void nbmj8688_state::mcitylov(machine_config &config)
{
mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MCITYLOV )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_MCITYLOV);
}
MACHINE_CONFIG_START(nbmj8688_state::secolove)
void nbmj8688_state::secolove(machine_config &config)
{
mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SECOLOVE )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_SECOLOVE);
}
/*Same as h12bit HW with different sound HW + NMI enable bit*/
MACHINE_CONFIG_START(nbmj8688_state::barline)
@ -2597,14 +2595,13 @@ MACHINE_CONFIG_START(nbmj8688_state::barline)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(barline_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BARLINE )
m_nb1413m3->set_type(NB1413M3_BARLINE);
MCFG_DEVICE_REPLACE("psg", YM3812, 20000000/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.35)
MCFG_DEVICE_REMOVE("dac")
MCFG_DEVICE_REMOVE("vref")
config.device_remove("dac");
config.device_remove("vref");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit)
@ -2628,7 +2625,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
MCFG_DEVICE_IO_MAP(secolove_io_map)
MCFG_DEVICE_IO_MAP(p16bit_LCD_io_map)
MCFG_NB1413M3_ADD("nb1413m3")
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
@ -2686,61 +2683,61 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::bijokkoy)
void nbmj8688_state::bijokkoy(machine_config &config)
{
mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BIJOKKOY )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_BIJOKKOY);
}
MACHINE_CONFIG_START(nbmj8688_state::bijokkog)
void nbmj8688_state::bijokkog(machine_config &config)
{
mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BIJOKKOG )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_BIJOKKOG);
}
MACHINE_CONFIG_START(nbmj8688_state::housemnq)
void nbmj8688_state::housemnq(machine_config &config)
{
mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HOUSEMNQ )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_HOUSEMNQ);
}
MACHINE_CONFIG_START(nbmj8688_state::housemn2)
void nbmj8688_state::housemn2(machine_config &config)
{
mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HOUSEMN2 )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_HOUSEMN2);
}
MACHINE_CONFIG_START(nbmj8688_state::livegal)
void nbmj8688_state::livegal(machine_config &config)
{
mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_LIVEGAL )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_LIVEGAL);
}
MACHINE_CONFIG_START(nbmj8688_state::orangec)
void nbmj8688_state::orangec(machine_config &config)
{
mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ORANGEC )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_ORANGEC);
}
MACHINE_CONFIG_START(nbmj8688_state::orangeci)
void nbmj8688_state::orangeci(machine_config &config)
{
mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ORANGECI )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_ORANGECI);
}
MACHINE_CONFIG_START(nbmj8688_state::vipclub)
void nbmj8688_state::vipclub(machine_config &config)
{
mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_VIPCLUB )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_VIPCLUB);
}
MACHINE_CONFIG_START(nbmj8688_state::seiha)
NBMJDRV_65536(config);
@ -2750,16 +2747,15 @@ MACHINE_CONFIG_START(nbmj8688_state::seiha)
MCFG_DEVICE_PROGRAM_MAP(secolove_map)
MCFG_DEVICE_IO_MAP(seiha_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SEIHA )
m_nb1413m3->set_type(NB1413M3_SEIHA);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::seiham)
void nbmj8688_state::seiham(machine_config &config)
{
seiha(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SEIHAM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_SEIHAM);
}
MACHINE_CONFIG_START(nbmj8688_state::mjgaiden)
NBMJDRV_4096(config);
@ -2770,8 +2766,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mjgaiden)
MCFG_DEVICE_PROGRAM_MAP(ojousan_map)
MCFG_DEVICE_IO_MAP(mjgaiden_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSAN )
m_nb1413m3->set_type(NB1413M3_OJOUSAN);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::iemoto)
@ -2782,8 +2777,7 @@ MACHINE_CONFIG_START(nbmj8688_state::iemoto)
MCFG_DEVICE_PROGRAM_MAP(secolove_map)
MCFG_DEVICE_IO_MAP(iemoto_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_IEMOTO )
m_nb1413m3->set_type(NB1413M3_IEMOTO);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::ojousan)
@ -2794,16 +2788,15 @@ MACHINE_CONFIG_START(nbmj8688_state::ojousan)
MCFG_DEVICE_PROGRAM_MAP(ojousan_map)
MCFG_DEVICE_IO_MAP(iemoto_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSAN )
m_nb1413m3->set_type(NB1413M3_OJOUSAN);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::ojousanm)
void nbmj8688_state::ojousanm(machine_config &config)
{
ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSANM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_OJOUSANM);
}
MACHINE_CONFIG_START(nbmj8688_state::swinggal)
ojousan(config);
@ -2813,33 +2806,33 @@ MACHINE_CONFIG_START(nbmj8688_state::swinggal)
MCFG_DEVICE_IO_MAP(iemoto_io_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::iemotom)
void nbmj8688_state::iemotom(machine_config &config)
{
ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_IEMOTOM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_IEMOTOM);
}
MACHINE_CONFIG_START(nbmj8688_state::ryuuha)
void nbmj8688_state::ryuuha(machine_config &config)
{
ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_RYUUHA )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_RYUUHA);
}
MACHINE_CONFIG_START(nbmj8688_state::korinai)
void nbmj8688_state::korinai(machine_config &config)
{
ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KORINAI )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KORINAI);
}
MACHINE_CONFIG_START(nbmj8688_state::korinaim)
void nbmj8688_state::korinaim(machine_config &config)
{
ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KORINAIM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KORINAIM);
}
MACHINE_CONFIG_START(nbmj8688_state::mbmj_p12bit)
NBMJDRV_4096(config);
@ -2850,40 +2843,40 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p12bit)
MCFG_DEVICE_IO_MAP(kaguya_io_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::kaguya)
void nbmj8688_state::kaguya(machine_config &config)
{
mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KAGUYA )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KAGUYA);
}
MACHINE_CONFIG_START(nbmj8688_state::kaguya2)
void nbmj8688_state::kaguya2(machine_config &config)
{
mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KAGUYA2 )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KAGUYA2);
}
MACHINE_CONFIG_START(nbmj8688_state::kanatuen)
void nbmj8688_state::kanatuen(machine_config &config)
{
mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KANATUEN )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KANATUEN);
}
MACHINE_CONFIG_START(nbmj8688_state::kyuhito)
void nbmj8688_state::kyuhito(machine_config &config)
{
mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KYUHITO )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_KYUHITO);
}
MACHINE_CONFIG_START(nbmj8688_state::idhimitu)
void nbmj8688_state::idhimitu(machine_config &config)
{
mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_IDHIMITU )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_IDHIMITU);
}
MACHINE_CONFIG_START(nbmj8688_state::mjsikaku)
NBMJDRV_4096(config);
@ -2893,8 +2886,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mjsikaku)
MCFG_DEVICE_PROGRAM_MAP(mjsikaku_map)
MCFG_DEVICE_IO_MAP(mjsikaku_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJSIKAKU )
m_nb1413m3->set_type(NB1413M3_MJSIKAKU);
/* sound hardware */
MCFG_DEVICE_REPLACE("psg", YM3812, 20000000/8)
@ -2909,8 +2901,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mmsikaku)
MCFG_DEVICE_PROGRAM_MAP(secolove_map)
MCFG_DEVICE_IO_MAP(mmsikaku_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MMSIKAKU )
m_nb1413m3->set_type(NB1413M3_MMSIKAKU);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::otonano)
@ -2920,16 +2911,15 @@ MACHINE_CONFIG_START(nbmj8688_state::otonano)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(otonano_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OTONANO )
m_nb1413m3->set_type(NB1413M3_OTONANO);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::mjcamera)
void nbmj8688_state::mjcamera(machine_config &config)
{
otonano(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJCAMERA )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_MJCAMERA);
}
ROM_START( crystalg )
ROM_REGION( 0x10000, "maincpu", 0 ) /* program */

View File

@ -2197,8 +2197,7 @@ MACHINE_CONFIG_START(nbmj8891_state::gionbana)
MCFG_DEVICE_IO_MAP(gionbana_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8891_state, irq0_line_hold)
MCFG_NB1413M3_ADD("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_GIONBANA )
NB1413M3(config, m_nb1413m3, 0, NB1413M3_GIONBANA);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@ -2230,8 +2229,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mgion)
MCFG_DEVICE_PROGRAM_MAP(mgion_map)
MCFG_DEVICE_IO_MAP(mgion_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MGION )
m_nb1413m3->set_type(NB1413M3_MGION);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -2244,8 +2242,7 @@ MACHINE_CONFIG_START(nbmj8891_state::omotesnd)
MCFG_DEVICE_PROGRAM_MAP(omotesnd_map)
MCFG_DEVICE_IO_MAP(omotesnd_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OMOTESND )
m_nb1413m3->set_type(NB1413M3_OMOTESND);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -2256,12 +2253,12 @@ MACHINE_CONFIG_START(nbmj8891_state::omotesnd)
fmsnd.add_route(ALL_OUTPUTS, "speaker", 0.35);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::abunai)
void nbmj8891_state::abunai(machine_config &config)
{
gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ABUNAI )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_ABUNAI);
}
/* NBMJDRV2 */
MACHINE_CONFIG_START(nbmj8891_state::mjcamerb)
@ -2271,8 +2268,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjcamerb)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(hanamomo_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJCAMERB )
m_nb1413m3->set_type(NB1413M3_MJCAMERB);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -2289,8 +2285,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mmcamera)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(hanamomo_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MMCAMERA )
m_nb1413m3->set_type(NB1413M3_MMCAMERA);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -2308,8 +2303,7 @@ MACHINE_CONFIG_START(nbmj8891_state::hanamomo)
MCFG_DEVICE_PROGRAM_MAP(hanamomo_map)
MCFG_DEVICE_IO_MAP(hanamomo_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HANAMOMO )
m_nb1413m3->set_type(NB1413M3_HANAMOMO);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@ -2325,28 +2319,25 @@ MACHINE_CONFIG_START(nbmj8891_state::msjiken)
MCFG_DEVICE_PROGRAM_MAP(gionbana_map)
MCFG_DEVICE_IO_MAP(msjiken_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MSJIKEN )
m_nb1413m3->set_type(NB1413M3_MSJIKEN);
MACHINE_CONFIG_END
/* NBMJDRV3 */
MACHINE_CONFIG_START(nbmj8891_state::telmahjn)
gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TELMAHJN )
m_nb1413m3->set_type(NB1413M3_TELMAHJN);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mgmen89)
void nbmj8891_state::mgmen89(machine_config &config)
{
telmahjn(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MGMEN89 )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_MGMEN89);
}
/* NBMJDRV4 */
MACHINE_CONFIG_START(nbmj8891_state::mjfocus)
@ -2354,26 +2345,25 @@ MACHINE_CONFIG_START(nbmj8891_state::mjfocus)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJFOCUS )
m_nb1413m3->set_type(NB1413M3_MJFOCUS);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::pairsnb)
void nbmj8891_state::pairsnb(machine_config &config)
{
gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PAIRSNB )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_PAIRSNB);
}
MACHINE_CONFIG_START(nbmj8891_state::pairsten)
void nbmj8891_state::pairsten(machine_config &config)
{
gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PAIRSTEN )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_PAIRSTEN);
}
/* NBMJDRV5 */
MACHINE_CONFIG_START(nbmj8891_state::mjnanpas)
@ -2383,8 +2373,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjnanpas)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(club90s_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJNANPAS )
m_nb1413m3->set_type(NB1413M3_MJNANPAS);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::maiko)
@ -2395,8 +2384,7 @@ MACHINE_CONFIG_START(nbmj8891_state::maiko)
MCFG_DEVICE_PROGRAM_MAP(maiko_map)
MCFG_DEVICE_IO_MAP(maiko_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MAIKO )
m_nb1413m3->set_type(NB1413M3_MAIKO);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mmaiko)
@ -2406,8 +2394,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mmaiko)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(mmaiko_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MMAIKO )
m_nb1413m3->set_type(NB1413M3_MMAIKO);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -2420,8 +2407,7 @@ MACHINE_CONFIG_START(nbmj8891_state::lovehous)
MCFG_DEVICE_PROGRAM_MAP(lovehous_map)
MCFG_DEVICE_IO_MAP(lovehous_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_LOVEHOUS )
m_nb1413m3->set_type(NB1413M3_LOVEHOUS);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -2433,8 +2419,7 @@ MACHINE_CONFIG_START(nbmj8891_state::hanaoji)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(hanaoji_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HANAOJI )
m_nb1413m3->set_type(NB1413M3_HANAOJI);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -2465,8 +2450,7 @@ MACHINE_CONFIG_START(nbmj8891_state::scandal)
MCFG_DEVICE_PROGRAM_MAP(scandalm_map)
MCFG_DEVICE_IO_MAP(scandal_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SCANDAL )
m_nb1413m3->set_type(NB1413M3_SCANDAL);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::bananadr)
@ -2477,32 +2461,31 @@ MACHINE_CONFIG_START(nbmj8891_state::bananadr)
MCFG_DEVICE_PROGRAM_MAP(scandalm_map)
MCFG_DEVICE_IO_MAP(bananadr_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BANANADR )
m_nb1413m3->set_type(NB1413M3_BANANADR);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::club90s)
void nbmj8891_state::club90s(machine_config &config)
{
mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CLUB90S )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_CLUB90S);
}
MACHINE_CONFIG_START(nbmj8891_state::mladyhtr)
void nbmj8891_state::mladyhtr(machine_config &config)
{
mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MLADYHTR )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_MLADYHTR);
}
MACHINE_CONFIG_START(nbmj8891_state::chinmoku)
void nbmj8891_state::chinmoku(machine_config &config)
{
mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CHINMOKU )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_CHINMOKU);
}
/* NBMJDRV6 */
MACHINE_CONFIG_START(nbmj8891_state::mjfocusm)
@ -2513,8 +2496,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjfocusm)
MCFG_DEVICE_PROGRAM_MAP(scandalm_map)
MCFG_DEVICE_IO_MAP(scandalm_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJFOCUSM )
m_nb1413m3->set_type(NB1413M3_MJFOCUSM);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -2530,12 +2512,12 @@ MACHINE_CONFIG_START(nbmj8891_state::mjfocusm)
fmsnd.add_route(ALL_OUTPUTS, "speaker", 0.7);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::scandalm)
void nbmj8891_state::scandalm(machine_config &config)
{
mjfocusm(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SCANDALM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_SCANDALM);
}
MACHINE_CONFIG_START(nbmj8891_state::taiwanmb)
gionbana(config);
@ -2546,8 +2528,7 @@ MACHINE_CONFIG_START(nbmj8891_state::taiwanmb)
MCFG_DEVICE_IO_MAP(taiwanmb_io_map)
// MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8891_state, irq0_line_hold)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TAIWANMB )
m_nb1413m3->set_type(NB1413M3_TAIWANMB);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);

View File

@ -312,8 +312,7 @@ MACHINE_CONFIG_START(nbmj8900_state::ohpaipee)
MCFG_DEVICE_IO_MAP(ohpaipee_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8900_state, irq0_line_hold)
MCFG_NB1413M3_ADD("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OHPAIPEE )
NB1413M3(config, m_nb1413m3, 0, NB1413M3_OHPAIPEE);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@ -345,8 +344,7 @@ MACHINE_CONFIG_START(nbmj8900_state::togenkyo)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(togenkyo_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TOGENKYO )
m_nb1413m3->set_type(NB1413M3_TOGENKYO);
MACHINE_CONFIG_END

View File

@ -1335,7 +1335,7 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv1) // galkoku
MCFG_DEVICE_IO_MAP(galkoku_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8991_state, irq0_line_hold)
MCFG_NB1413M3_ADD("nb1413m3")
NB1413M3(config, m_nb1413m3, 0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@ -1366,7 +1366,7 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv2) // pstadium
MCFG_DEVICE_IO_MAP(pstadium_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8991_state, irq0_line_hold)
MCFG_NB1413M3_ADD("nb1413m3")
NB1413M3(config, m_nb1413m3, 0);
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(nbmj8991_sound_map)
@ -1414,13 +1414,12 @@ void nbmj8991_state::nbmjdrv3(machine_config &config)
// ---------------------------------------------------------------------
MACHINE_CONFIG_START(nbmj8991_state::galkoku)
void nbmj8991_state::galkoku(machine_config &config)
{
nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_GALKOKU )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_GALKOKU);
}
MACHINE_CONFIG_START(nbmj8991_state::galkaika)
@ -1430,8 +1429,7 @@ MACHINE_CONFIG_START(nbmj8991_state::galkaika)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(galkaika_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_GALKAIKA )
m_nb1413m3->set_type(NB1413M3_GALKAIKA);
MACHINE_CONFIG_END
@ -1442,8 +1440,7 @@ MACHINE_CONFIG_START(nbmj8991_state::tokyogal)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(tokyogal_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TOKYOGAL )
m_nb1413m3->set_type(NB1413M3_TOKYOGAL);
MACHINE_CONFIG_END
@ -1454,29 +1451,26 @@ MACHINE_CONFIG_START(nbmj8991_state::tokimbsj)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(galkaika_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TOKIMBSJ )
m_nb1413m3->set_type(NB1413M3_TOKIMBSJ);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8991_state::mcontest)
void nbmj8991_state::mcontest(machine_config &config)
{
nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MCONTEST )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_MCONTEST);
}
MACHINE_CONFIG_START(nbmj8991_state::uchuuai)
void nbmj8991_state::uchuuai(machine_config &config)
{
nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_UCHUUAI )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_UCHUUAI);
}
MACHINE_CONFIG_START(nbmj8991_state::hyouban)
@ -1486,20 +1480,18 @@ MACHINE_CONFIG_START(nbmj8991_state::hyouban)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(hyouban_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HYOUBAN )
m_nb1413m3->set_type(NB1413M3_HYOUBAN);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8991_state::pstadium)
void nbmj8991_state::pstadium(machine_config &config)
{
nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PSTADIUM )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_PSTADIUM);
}
MACHINE_CONFIG_START(nbmj8991_state::triplew1)
@ -1509,8 +1501,7 @@ MACHINE_CONFIG_START(nbmj8991_state::triplew1)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(triplew1_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TRIPLEW1 )
m_nb1413m3->set_type(NB1413M3_TRIPLEW1);
MACHINE_CONFIG_END
@ -1521,18 +1512,16 @@ MACHINE_CONFIG_START(nbmj8991_state::triplew2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(triplew2_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TRIPLEW2 )
m_nb1413m3->set_type(NB1413M3_TRIPLEW2);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8991_state::ntopstar)
void nbmj8991_state::ntopstar(machine_config &config)
{
nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_NTOPSTAR )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_NTOPSTAR);
}
MACHINE_CONFIG_START(nbmj8991_state::mjlstory)
@ -1542,38 +1531,34 @@ MACHINE_CONFIG_START(nbmj8991_state::mjlstory)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(mjlstory_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJLSTORY )
m_nb1413m3->set_type(NB1413M3_MJLSTORY);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8991_state::vanilla)
void nbmj8991_state::vanilla(machine_config &config)
{
nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_VANILLA )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_VANILLA);
}
MACHINE_CONFIG_START(nbmj8991_state::finalbny)
nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_FINALBNY )
m_nb1413m3->set_type(NB1413M3_FINALBNY);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8991_state::qmhayaku)
void nbmj8991_state::qmhayaku(machine_config &config)
{
nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_QMHAYAKU )
MACHINE_CONFIG_END
m_nb1413m3->set_type(NB1413M3_QMHAYAKU);
}
MACHINE_CONFIG_START(nbmj8991_state::mjgottub)
@ -1583,8 +1568,7 @@ MACHINE_CONFIG_START(nbmj8991_state::mjgottub)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(triplew1_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJGOTTUB )
m_nb1413m3->set_type(NB1413M3_MJGOTTUB);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -1598,8 +1582,7 @@ MACHINE_CONFIG_START(nbmj8991_state::av2mj1bb)
MCFG_DEVICE_PROGRAM_MAP(av2mj1bb_map)
MCFG_DEVICE_IO_MAP(av2mj1bb_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_AV2MJ1BB )
m_nb1413m3->set_type(NB1413M3_AV2MJ1BB);
MACHINE_CONFIG_END
@ -1611,8 +1594,7 @@ MACHINE_CONFIG_START(nbmj8991_state::av2mj2rg)
MCFG_DEVICE_PROGRAM_MAP(av2mj2rg_map)
MCFG_DEVICE_IO_MAP(av2mj1bb_io_map)
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_AV2MJ2RG )
m_nb1413m3->set_type(NB1413M3_AV2MJ2RG);
MACHINE_CONFIG_END

View File

@ -860,7 +860,9 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ngp_state::ngp)
ngp_common(config);
MCFG_K1GE_ADD( "k1ge", 6.144_MHz_XTAL, "screen", WRITELINE( *this, ngp_state, ngp_vblank_pin_w ), WRITELINE( *this, ngp_state, ngp_hblank_pin_w ) )
K1GE(config , m_k1ge, 6.144_MHz_XTAL, "screen");
m_k1ge->vblank_callback().set(FUNC(ngp_state::ngp_vblank_pin_w));
m_k1ge->hblank_callback().set(FUNC(ngp_state::ngp_hblank_pin_w));
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_PALETTE("k1ge:palette")
@ -878,7 +880,9 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ngp_state::ngpc)
ngp_common(config);
MCFG_K2GE_ADD( "k1ge", 6.144_MHz_XTAL, "screen", WRITELINE( *this, ngp_state, ngp_vblank_pin_w ), WRITELINE( *this, ngp_state, ngp_hblank_pin_w ) )
K2GE(config , m_k1ge, 6.144_MHz_XTAL, "screen");
m_k1ge->vblank_callback().set(FUNC(ngp_state::ngp_vblank_pin_w));
m_k1ge->hblank_callback().set(FUNC(ngp_state::ngp_hblank_pin_w));
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_PALETTE("k1ge:palette")

View File

@ -405,8 +405,7 @@ MACHINE_CONFIG_START(pastelg_state::pastelg)
MCFG_DEVICE_IO_MAP(pastelg_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3
MCFG_NB1413M3_ADD("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PASTELG )
NB1413M3(config, m_nb1413m3, 0, NB1413M3_PASTELG);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -466,7 +465,7 @@ MACHINE_CONFIG_START(pastelg_state::threeds)
MCFG_DEVICE_IO_MAP(threeds_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert)
MCFG_NB1413M3_ADD("nb1413m3")
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */

View File

@ -457,7 +457,8 @@ MACHINE_CONFIG_START(prof80_state::prof80)
MCFG_DEVICE_IO_MAP(prof80_io)
// MMU
MCFG_PROF80_MMU_ADD(m_mmu, prof80_mmu)
PROF80_MMU(config, m_mmu, 0);
m_mmu->set_addrmap(AS_PROGRAM, &prof80_state::prof80_mmu);
// RTC
UPD1990A(config, m_rtc);

View File

@ -1169,10 +1169,9 @@ MACHINE_CONFIG_START(segaorun_state::outrun_base)
m_i8255->in_pc_callback().set(FUNC(segaorun_state::unknown_portc_r));
m_i8255->out_pc_callback().set(FUNC(segaorun_state::video_control_w));
MCFG_DEVICE_ADD("mapper", SEGA_315_5195_MEM_MAPPER, MASTER_CLOCK/4)
MCFG_SEGA_315_5195_CPU("maincpu")
MCFG_SEGA_315_5195_MAPPER_HANDLER(segaorun_state, memory_mapper)
MCFG_SEGA_315_5195_PBF_CALLBACK(INPUTLINE("soundcpu", INPUT_LINE_NMI))
SEGA_315_5195_MEM_MAPPER(config, m_mapper, MASTER_CLOCK/4, m_maincpu);
m_mapper->set_mapper(FUNC(segaorun_state::memory_mapper), this);
m_mapper->pbf().set_inputline(m_soundcpu, INPUT_LINE_NMI);
// video hardware
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_segaorun)

View File

@ -3725,8 +3725,8 @@ void segas16b_state::system16b(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
SEGA_315_5195_MEM_MAPPER(config, m_mapper, MASTER_CLOCK_10MHz, m_maincpu);
m_mapper->set_mapper(FUNC(segas16b_state::memory_mapper));
m_mapper->pbf().set_inputline("soundcpu", 0);
m_mapper->set_mapper(FUNC(segas16b_state::memory_mapper), this);
m_mapper->pbf().set_inputline(m_soundcpu, 0);
// video hardware
GFXDECODE(config, m_gfxdecode, "palette", gfx_segas16b);
@ -3962,23 +3962,23 @@ MACHINE_CONFIG_END
// GAME-SPECIFIC MACHINE DRIVERS
//**************************************************************************
MACHINE_CONFIG_START(segas16b_state::atomicp) // 10MHz CPU Clock verified
void segas16b_state::atomicp(machine_config &config) // 10MHz CPU Clock verified
{
system16b(config);
// basic machine hardware
MCFG_DEVICE_REMOVE("soundcpu")
MCFG_DEVICE_REMOVE("sprites")
config.device_remove("soundcpu");
config.device_remove("sprites");
MCFG_DEVICE_MODIFY("mapper")
MCFG_SEGA_315_5195_PBF_CALLBACK(NOOP)
m_mapper->pbf().set_nop();
// sound hardware
MCFG_DEVICE_REMOVE("ym2151")
MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(20'000'000)/4) // 20MHz OSC divided by 4 (verified)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
config.device_remove("ym2151");
YM2413(config, m_ym2413, XTAL(20'000'000)/4); // 20MHz OSC divided by 4 (verified)
m_ym2413->add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_REMOVE("upd")
MACHINE_CONFIG_END
config.device_remove("upd");
}
MACHINE_CONFIG_START(segas16b_state::system16c)

View File

@ -1320,10 +1320,9 @@ MACHINE_CONFIG_START(segas18_state::system18)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MCFG_DEVICE_ADD("mapper", SEGA_315_5195_MEM_MAPPER, 10000000)
MCFG_SEGA_315_5195_CPU("maincpu")
MCFG_SEGA_315_5195_MAPPER_HANDLER(segas18_state, memory_mapper)
MCFG_SEGA_315_5195_PBF_CALLBACK(INPUTLINE("soundcpu", INPUT_LINE_NMI))
SEGA_315_5195_MEM_MAPPER(config, m_mapper, 10000000, m_maincpu);
m_mapper->set_mapper(FUNC(segas18_state::memory_mapper), this);
m_mapper->pbf().set_inputline(m_soundcpu, INPUT_LINE_NMI);
SEGA_315_5296(config, m_io, 16000000);
m_io->in_pa_callback().set_ioport("P1");
@ -1444,8 +1443,7 @@ MACHINE_CONFIG_START(segas18_state::system18_i8751)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_REMOVE()
MCFG_DEVICE_MODIFY("mapper")
MCFG_SEGA_315_5195_MCU_INT_CALLBACK(INPUTLINE("mcu", INPUT_LINE_IRQ1))
m_mapper->mcu_int().set_inputline(m_mcu, INPUT_LINE_IRQ1);
MCFG_DEVICE_ADD("mcu", I8751, 8000000)
MCFG_DEVICE_IO_MAP(mcu_io_map)
@ -1459,8 +1457,7 @@ MACHINE_CONFIG_START(segas18_state::system18_fd1094_i8751)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_REMOVE()
MCFG_DEVICE_MODIFY("mapper")
MCFG_SEGA_315_5195_MCU_INT_CALLBACK(INPUTLINE("mcu", INPUT_LINE_IRQ1))
m_mapper->mcu_int().set_inputline(m_mcu, INPUT_LINE_IRQ1);
MCFG_DEVICE_ADD("mcu", I8751, 8000000)
MCFG_DEVICE_IO_MAP(mcu_io_map)

View File

@ -1691,10 +1691,10 @@ MACHINE_CONFIG_START(segaxbd_state::xboard_base_mconfig )
MB3773(config, "watchdog");
MCFG_SEGA_315_5248_MULTIPLIER_ADD("multiplier_main")
MCFG_SEGA_315_5248_MULTIPLIER_ADD("multiplier_subx")
MCFG_SEGA_315_5249_DIVIDER_ADD("divider_main")
MCFG_SEGA_315_5249_DIVIDER_ADD("divider_subx")
SEGA_315_5248_MULTIPLIER(config, "multiplier_main", 0);
SEGA_315_5248_MULTIPLIER(config, "multiplier_subx", 0);
SEGA_315_5249_DIVIDER(config, "divider_main", 0);
SEGA_315_5249_DIVIDER(config, "divider_subx", 0);
SEGA_315_5250_COMPARE_TIMER(config, m_cmptimer_1, 0);
m_cmptimer_1->m68kint_callback().set(FUNC(segaxbd_state::timer_irq_w));

View File

@ -1309,12 +1309,12 @@ MACHINE_CONFIG_START(segaybd_state::yboard)
MCFG_MSM6253_IN2_ANALOG_PORT("ADC.2")
MCFG_MSM6253_IN3_ANALOG_READ(segaybd_state, analog_mux)
MCFG_SEGA_315_5248_MULTIPLIER_ADD("multiplier_main")
MCFG_SEGA_315_5248_MULTIPLIER_ADD("multiplier_subx")
MCFG_SEGA_315_5248_MULTIPLIER_ADD("multiplier_suby")
MCFG_SEGA_315_5249_DIVIDER_ADD("divider_main")
MCFG_SEGA_315_5249_DIVIDER_ADD("divider_subx")
MCFG_SEGA_315_5249_DIVIDER_ADD("divider_suby")
SEGA_315_5248_MULTIPLIER(config, "multiplier_main", 0);
SEGA_315_5248_MULTIPLIER(config, "multiplier_subx", 0);
SEGA_315_5248_MULTIPLIER(config, "multiplier_suby", 0);
SEGA_315_5249_DIVIDER(config, "divider_main", 0);
SEGA_315_5249_DIVIDER(config, "divider_subx", 0);
SEGA_315_5249_DIVIDER(config, "divider_suby", 0);
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -484,8 +484,8 @@ MACHINE_CONFIG_START(sorcerer_state::sorcererd)
MCFG_MACHINE_START_OVERRIDE(sorcerer_state, sorcererd )
MCFG_DEVICE_ADD(m_fdc, MICROPOLIS, 0)
MCFG_MICROPOLIS_DEFAULT_DRIVE4_TAGS
MICROPOLIS(config, m_fdc, 0);
m_fdc->set_default_drive_tags();
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(sorcerer_floppy_interface)
FD1793(config, m_fdc2, 8_MHz_XTAL / 8); // confirmed clock

View File

@ -10,9 +10,6 @@ typedef device_delegate<uint16_t (uint32_t)> sega_m2_read_delegate;
DECLARE_DEVICE_TYPE(SEGA315_5881_CRYPT, sega_315_5881_crypt_device)
#define MCFG_SET_READ_CALLBACK( _class, _method) \
downcast<sega_315_5881_crypt_device &>(*device).set_read_cb(sega_m2_read_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
class sega_315_5881_crypt_device : public device_t
{

View File

@ -16,9 +16,6 @@
#include "machine/x76f100.h"
#include "machine/zs01.h"
#define MCFG_KONAMI573_CASSETTE_DSR_HANDLER(_devcb) \
downcast<konami573_cassette_slot_device &>(*device).set_dsr_handler(DEVCB_##_devcb);
DECLARE_DEVICE_TYPE(KONAMI573_CASSETTE_SLOT, konami573_cassette_slot_device)
@ -32,7 +29,7 @@ class konami573_cassette_slot_device : public device_t,
public:
konami573_cassette_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_dsr_handler(Object &&cb) { return m_dsr_handler.set_callback(std::forward<Object>(cb)); }
auto dsr_handler() { return m_dsr_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER(write_line_d0);
DECLARE_WRITE_LINE_MEMBER(write_line_d1);
@ -140,31 +137,6 @@ private:
DECLARE_DEVICE_TYPE(KONAMI573_CASSETTE_Y, konami573_cassette_y_device)
#define MCFG_KONAMI573_CASSETTE_Y_D0_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d0_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D1_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d1_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D2_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d2_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D3_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d3_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D4_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d4_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D5_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d5_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D6_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d6_handler(DEVCB_##_devcb);
#define MCFG_KONAMI573_CASSETTE_Y_D7_HANDLER(_devcb) \
downcast<konami573_cassette_y_device &>(*device).set_d7_handler(DEVCB_##_devcb);
class konami573_cassette_y_device: public device_t,
public konami573_cassette_interface
{
@ -172,14 +144,14 @@ public:
konami573_cassette_y_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
template <class Object> devcb_base &set_d0_handler(Object &&cb) { return m_d0_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d1_handler(Object &&cb) { return m_d1_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d2_handler(Object &&cb) { return m_d2_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d3_handler(Object &&cb) { return m_d3_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d4_handler(Object &&cb) { return m_d4_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d5_handler(Object &&cb) { return m_d5_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d6_handler(Object &&cb) { return m_d6_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_d7_handler(Object &&cb) { return m_d7_handler.set_callback(std::forward<Object>(cb)); }
auto d0_handler() { return m_d0_handler.bind(); }
auto d1_handler() { return m_d1_handler.bind(); }
auto d2_handler() { return m_d2_handler.bind(); }
auto d3_handler() { return m_d3_handler.bind(); }
auto d4_handler() { return m_d4_handler.bind(); }
auto d5_handler() { return m_d5_handler.bind(); }
auto d6_handler() { return m_d6_handler.bind(); }
auto d7_handler() { return m_d7_handler.bind(); }
virtual DECLARE_READ_LINE_MEMBER(read_line_secflash_sda) override;
virtual DECLARE_WRITE_LINE_MEMBER(write_line_d0) override;

View File

@ -17,25 +17,6 @@
#include "imagedev/flopdrv.h"
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
#define MCFG_MICROPOLIS_DRIVE_TAGS(_tag1, _tag2, _tag3, _tag4) \
downcast<micropolis_device &>(*device).set_drive_tags(_tag1, _tag2, _tag3, _tag4);
#define MCFG_MICROPOLIS_DEFAULT_DRIVE4_TAGS \
MCFG_MICROPOLIS_DRIVE_TAGS(FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3)
#define MCFG_MICROPOLIS_DDEN_CALLBACK(_read) \
downcast<micropolis_device &>(*device).set_dden_rd_callback(DEVCB_##_read);
#define MCFG_MICROPOLIS_INTRQ_CALLBACK(_write) \
downcast<micropolis_device &>(*device).set_intrq_wr_callback(DEVCB_##_write);
#define MCFG_MICROPOLIS_DRQ_CALLBACK(_write) \
downcast<micropolis_device &>(*device).set_drq_wr_callback(DEVCB_##_write);
/***************************************************************************
MACROS
***************************************************************************/
@ -45,9 +26,9 @@ class micropolis_device : public device_t
public:
micropolis_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_dden_rd_callback(Object &&cb) { return m_read_dden.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_intrq_wr_callback(Object &&cb) { return m_write_intrq.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_drq_wr_callback(Object &&cb) { return m_write_drq.set_callback(std::forward<Object>(cb)); }
auto dden_rd_callback() { return m_read_dden.bind(); }
auto intrq_wr_callback() { return m_write_intrq.bind(); }
auto drq_wr_callback() { return m_write_drq.bind(); }
void set_drive_tags(const char *tag1, const char *tag2, const char *tag3, const char *tag4)
{
@ -57,6 +38,8 @@ public:
m_floppy_drive_tags[3] = tag4;
}
void set_default_drive_tags() { set_drive_tags(FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3); }
void set_drive(uint8_t drive); // set current drive (0-3)
DECLARE_READ8_MEMBER( status_r );

View File

@ -200,7 +200,8 @@ uint16_t naomi_m2_board::read_callback(uint32_t addr)
}
}
MACHINE_CONFIG_START(naomi_m2_board::device_add_mconfig)
MCFG_DEVICE_ADD("segam2crypt", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(naomi_m2_board, read_callback)
MACHINE_CONFIG_END
void naomi_m2_board::device_add_mconfig(machine_config &config)
{
SEGA315_5881_CRYPT(config, m_cryptdevice, 0);
m_cryptdevice->set_read_cb(FUNC(naomi_m2_board::read_callback));
}

View File

@ -124,12 +124,15 @@ enum {
NB1413M3_PAIRSTEN
};
#define MCFG_NB1413M3_TYPE(_type) \
downcast<nb1413m3_device &>(*device).set_type(_type);
class nb1413m3_device : public device_t
{
public:
nb1413m3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, int type) :
nb1413m3_device(mconfig, tag, owner, clock)
{
set_type(type);
}
nb1413m3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~nb1413m3_device() {}
@ -200,8 +203,4 @@ INPUT_PORTS_EXTERN( nbhf2_ctrl );
DECLARE_DEVICE_TYPE(NB1413M3, nb1413m3_device)
#define MCFG_NB1413M3_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, NB1413M3, 0)
#endif // MAME_MACHINE_NB1413M3_H

View File

@ -12,18 +12,6 @@
#pragma once
///*************************************************************************
// INTERFACE CONFIGURATION MACROS
///*************************************************************************
#define MCFG_PROF80_MMU_ADD(_tag, _program_map) \
MCFG_DEVICE_ADD(_tag, PROF80_MMU, 0) \
MCFG_DEVICE_ADDRESS_MAP(AS_PROGRAM, _program_map)
///*************************************************************************
// TYPE DEFINITIONS
///*************************************************************************

View File

@ -18,26 +18,6 @@
#include "screen.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_SEGA_315_5195_CPU(_cputag) \
downcast<sega_315_5195_mapper_device &>(*device).set_cputag(_cputag);
#define MCFG_SEGA_315_5195_MAPPER_HANDLER(_class, _mapper) \
downcast<sega_315_5195_mapper_device &>(*device).set_mapper(sega_315_5195_mapper_device::mapper_delegate(&_class::_mapper, #_class "::" #_mapper, nullptr, (_class *)nullptr));
#define MCFG_SEGA_315_5195_PBF_CALLBACK(_devcb) \
downcast<sega_315_5195_mapper_device &>(*device).set_pbf_callback(DEVCB_##_devcb);
#define MCFG_SEGA_315_5195_MCU_INT_CALLBACK(_devcb) \
downcast<sega_315_5195_mapper_device &>(*device).set_mcu_int_callback(DEVCB_##_devcb);
#define MCFG_SEGA_315_5248_MULTIPLIER_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, SEGA_315_5248_MULTIPLIER, 0)
#define MCFG_SEGA_315_5249_DIVIDER_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, SEGA_315_5249_DIVIDER, 0)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -62,7 +42,7 @@ protected:
// internal helpers
void palette_init();
public: // -- stupid system16.c
public: // -- stupid system16.cpp
// memory pointers
required_shared_ptr<uint16_t> m_paletteram;
protected:
@ -97,25 +77,8 @@ public:
sega_315_5195_mapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
void set_cputag(const char *cpu)
{
m_cpu.set_tag(cpu);
m_cpuregion.set_tag(cpu);
}
template <typename... T> void set_mapper(T &&... args) { m_mapper = mapper_delegate(std::forward<T>(args)...); }
void set_mapper(mapper_delegate callback) { m_mapper = callback; }
template <class FunctionClass> void set_mapper(const char *devname
, void (FunctionClass::*callback)(sega_315_5195_mapper_device &, uint8_t), const char *name)
{
set_mapper(mapper_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
}
template <class FunctionClass> void set_mapper(void (FunctionClass::*callback)(sega_315_5195_mapper_device &, uint8_t), const char *name)
{
set_mapper(mapper_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
}
template<class Object> devcb_base &set_pbf_callback(Object &&object) { return m_pbf_callback.set_callback(std::forward<Object>(object)); }
template<class Object> devcb_base &set_mcu_int_callback(Object &&object) { return m_mcu_int_callback.set_callback(std::forward<Object>(object)); }
auto pbf() { return m_pbf_callback.bind(); }
auto mcu_int() { return m_mcu_int_callback.bind(); }

View File

@ -6,7 +6,7 @@
#pragma once
/****************************************************************************
gladiatr and Great Swordsman set.
not used by anything. TODO: remove?
****************************************************************************/
/* NEC 8741 program mode */
@ -14,38 +14,15 @@
#define TAITO8741_SLAVE 1
#define TAITO8741_PORT 2
#define MCFG_TAITO8741_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, TAITO8741_4PACK, 0)
#define MCFG_TAITO8741_PORT_HANDLERS(_devcb0, _devcb1, _devcb2, _devcb3) \
downcast<taito8741_4pack_device &>(*device).set_port_handler_0_callback(DEVCB_##_devcb0); \
downcast<taito8741_4pack_device &>(*device).set_port_handler_1_callback(DEVCB_##_devcb1); \
downcast<taito8741_4pack_device &>(*device).set_port_handler_2_callback(DEVCB_##_devcb2); \
downcast<taito8741_4pack_device &>(*device).set_port_handler_3_callback(DEVCB_##_devcb3);
#define MCFG_TAITO8741_MODES(_mode0, _mode1, _mode2, _mode3) \
downcast<taito8741_4pack_device &>(*device).set_mode(0, _mode0); \
downcast<taito8741_4pack_device &>(*device).set_mode(1, _mode1); \
downcast<taito8741_4pack_device &>(*device).set_mode(2, _mode2); \
downcast<taito8741_4pack_device &>(*device).set_mode(3, _mode3);
#define MCFG_TAITO8741_CONNECT(_con0, _con1, _con2, _con3) \
downcast<taito8741_4pack_device &>(*device).set_connect(0, _con0); \
downcast<taito8741_4pack_device &>(*device).set_connect(1, _con1); \
downcast<taito8741_4pack_device &>(*device).set_connect(2, _con2); \
downcast<taito8741_4pack_device &>(*device).set_connect(3, _con3);
class taito8741_4pack_device : public device_t
{
public:
taito8741_4pack_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_port_handler_0_callback(Object &&cb) { return m_port_handler_0_r.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_port_handler_1_callback(Object &&cb) { return m_port_handler_1_r.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_port_handler_2_callback(Object &&cb) { return m_port_handler_2_r.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_port_handler_3_callback(Object &&cb) { return m_port_handler_3_r.set_callback(std::forward<Object>(cb)); }
auto port_handler_0_callback() { return m_port_handler_0_r.bind(); }
auto port_handler_1_callback() { return m_port_handler_1_r.bind(); }
auto port_handler_2_callback() { return m_port_handler_2_r.bind(); }
auto port_handler_3_callback() { return m_port_handler_3_r.bind(); }
void set_mode(int num, uint8_t mode) { m_taito8741[num].mode = mode; }
void set_connect(int num, int conn) { m_taito8741[num].connect = conn; }

View File

@ -20,32 +20,6 @@
#pragma once
//**************************************************************************
// DEVICE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_DECO_RMC3_ADD(_tag, _entries) \
MCFG_DEVICE_ADD(_tag, DECO_RMC3, 0) \
MCFG_DECO_RMC3_SET_PALETTE_SIZE(_entries)
#define MCFG_DECO_RMC3_MODIFY MCFG_DEVICE_MODIFY
#define MCFG_DECO_RMC3_SET_PALETTE_SIZE(_entries) \
downcast<deco_rmc3_device &>(*device).set_entries(_entries);
#define MCFG_DECO_RMC3_INDIRECT_ENTRIES(_entries) \
downcast<deco_rmc3_device &>(*device).set_indirect_entries( _entries);
// other standard palettes
#define MCFG_DECO_RMC3_ADD_PROMS(_tag, _region, _entries) \
MCFG_DECO_RMC3_ADD(_tag, _entries) \
downcast<deco_rmc3_device &>(*device).set_prom_region(_region); \
downcast<deco_rmc3_device &>(*device).set_init(deco_rmc3_palette_init_delegate(FUNC(deco_rmc3_device::palette_init_proms), downcast<deco_rmc3_device *>(device)));
//#define MCFG_DECO_RMC3_INIT_OWNER(_class, _method)
// downcast<deco_rmc3_device &>(*device).set_init(deco_rmc3_palette_init_delegate(&_class::PALETTE_INIT_NAME(_method), #_class "::palette_init_" #_method, this));
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -59,15 +33,26 @@ class deco_rmc3_device : public device_t, public device_palette_interface
{
public:
// construction/destruction
deco_rmc3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, u32 entries)
: deco_rmc3_device(mconfig, tag, owner, clock)
{
set_entries(entries);
}
deco_rmc3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
// configuration
void set_init(deco_rmc3_palette_init_delegate init) { m_init = init; }
template <class FunctionClass> void set_init(const char *devname, void (FunctionClass::*callback)(deco_rmc3_device &), const char *name)
{
set_init(deco_rmc3_palette_init_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
}
// void set_membits(int membits);
// void set_endianness(endianness_t endianness);
void set_entries(u32 entries) { m_entries = entries; }
void set_indirect_entries(u32 entries) { m_indirect_entries = entries; }
void set_prom_region(const char *region) { m_prom_region.set_tag(region); }
template <typename T> void set_prom_region(T &&tag) { m_prom_region.set_tag(std::forward<T>(tag)); }
// palette RAM accessors
memory_array &basemem() { return m_paletteram; }

View File

@ -13,23 +13,16 @@
#include "emupal.h"
#define MCFG_K1GE_ADD(_tag, _clock, _screen, _vblank, _hblank ) \
MCFG_DEVICE_ADD( _tag, K1GE, _clock ) \
MCFG_VIDEO_SET_SCREEN( _screen ) \
downcast<k1ge_device &>(*device).set_vblank_callback(DEVCB_##_vblank ); \
downcast<k1ge_device &>(*device).set_hblank_callback(DEVCB_##_hblank );
#define MCFG_K2GE_ADD(_tag, _clock, _screen, _vblank, _hblank ) \
MCFG_DEVICE_ADD( _tag, K2GE, _clock ) \
MCFG_VIDEO_SET_SCREEN( _screen ) \
downcast<k1ge_device &>(*device).set_vblank_callback(DEVCB_##_vblank ); \
downcast<k1ge_device &>(*device).set_hblank_callback(DEVCB_##_hblank );
class k1ge_device : public device_t, public device_video_interface
{
public:
template <typename T>
k1ge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag)
: k1ge_device(mconfig, tag, owner, clock)
{
set_screen(std::forward<T>(screen_tag));
}
k1ge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8_MEMBER( read );
@ -38,8 +31,8 @@ public:
void update( bitmap_ind16 &bitmap, const rectangle &cliprect );
// Static methods
template <class Object> devcb_base &set_vblank_callback(Object &&cb) { return m_vblank_pin_w.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_hblank_callback(Object &&cb) { return m_hblank_pin_w.set_callback(std::forward<Object>(cb)); }
auto vblank_callback() { return m_vblank_pin_w.bind(); }
auto hblank_callback() { return m_hblank_pin_w.bind(); }
static const int K1GE_SCREEN_HEIGHT = 199;
@ -75,6 +68,13 @@ private:
class k2ge_device : public k1ge_device
{
public:
template <typename T>
k2ge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag)
: k2ge_device(mconfig, tag, owner, clock)
{
set_screen(std::forward<T>(screen_tag));
}
k2ge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:

View File

@ -21,21 +21,6 @@
// INTERFACE CONFIGURATION MACROS
///*************************************************************************
#define MCFG_NICK_ADD(_tag, _screen_tag, _clock) \
MCFG_SCREEN_ADD(_screen_tag, RASTER) \
MCFG_SCREEN_REFRESH_RATE(50) \
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) \
MCFG_SCREEN_SIZE(ENTERPRISE_SCREEN_WIDTH, ENTERPRISE_SCREEN_HEIGHT) \
MCFG_SCREEN_VISIBLE_AREA(0, ENTERPRISE_SCREEN_WIDTH-1, 0, ENTERPRISE_SCREEN_HEIGHT-1) \
MCFG_SCREEN_UPDATE_DEVICE(_tag, nick_device, screen_update) \
MCFG_DEVICE_ADD(_tag, NICK, _clock) \
MCFG_VIDEO_SET_SCREEN(_screen_tag)
#define MCFG_NICK_VIRQ_CALLBACK(_write) \
downcast<nick_device &>(*device).set_virq_wr_callback(DEVCB_##_write);
/* there are 64us per line, although in reality
about 50 are visible. */
#define ENTERPRISE_SCREEN_WIDTH (50*16)
@ -73,9 +58,16 @@ class nick_device : public device_t,
{
public:
// construction/destruction
template <typename T>
nick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) :
nick_device(mconfig, tag, owner, clock)
{
set_screen(std::forward<T>(screen_tag));
}
nick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_virq_wr_callback(Object &&cb) { return m_write_virq.set_callback(std::forward<Object>(cb)); }
auto virq_wr_callback() { return m_write_virq.bind(); }
virtual void vram_map(address_map &map);
virtual void vio_map(address_map &map);