diff options
Diffstat (limited to 'src/mame/drivers/next.cpp')
-rw-r--r-- | src/mame/drivers/next.cpp | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp index e788878ddc2..c7fe7db08a9 100644 --- a/src/mame/drivers/next.cpp +++ b/src/mame/drivers/next.cpp @@ -1002,16 +1002,16 @@ void next_state::ncr5390(device_t *device) adapter.drq_handler_cb().set(*this, FUNC(next_state::scsi_drq)); } -MACHINE_CONFIG_START(next_state::next_base) - +void next_state::next_base(machine_config &config) +{ /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(next_state, screen_update) - MCFG_SCREEN_SIZE(1120, 900) - MCFG_SCREEN_VISIBLE_AREA(0, 1120-1, 0, 832-1) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, next_state, vblank_w)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(next_state::screen_update)); + screen.set_size(1120, 900); + screen.set_visarea(0, 1120-1, 0, 832-1); + screen.screen_vblank().set(FUNC(next_state::vblank_w)); // devices NSCSI_BUS(config, "scsibus"); @@ -1044,13 +1044,14 @@ MACHINE_CONFIG_START(next_state::next_base) 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) +void next_state::next(machine_config &config) +{ next_base(config); - MCFG_DEVICE_ADD("maincpu", M68030, XTAL(25'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0b_m_nofdc_mem) -MACHINE_CONFIG_END + M68030(config, maincpu, XTAL(25'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0b_m_nofdc_mem); +} void next_state::next_fdc_base(machine_config &config) { @@ -1064,51 +1065,56 @@ void next_state::next_fdc_base(machine_config &config) SOFTWARE_LIST(config, "flop_list").set_original("next"); } -MACHINE_CONFIG_START(next_state::nexts) +void next_state::nexts(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(25'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0b_m_mem) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(25'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0b_m_mem); +} -MACHINE_CONFIG_START(next_state::nexts2) +void next_state::nexts2(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(25'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0b_m_mem) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(25'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0b_m_mem); +} -MACHINE_CONFIG_START(next_state::nextsc) +void next_state::nextsc(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(25'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_2c_c_mem) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(25'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_2c_c_mem); +} -MACHINE_CONFIG_START(next_state::nextst) +void next_state::nextst(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(33'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0b_m_mem) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(33'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0b_m_mem); +} -MACHINE_CONFIG_START(next_state::nextstc) +void next_state::nextstc(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(33'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0c_c_mem) - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 624-1) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(33'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0c_c_mem); + subdevice<screen_device>("screen")->set_visarea(0, 832-1, 0, 624-1); +} -MACHINE_CONFIG_START(next_state::nextct) +void next_state::nextct(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(33'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0c_m_mem) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(33'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0c_m_mem); +} -MACHINE_CONFIG_START(next_state::nextctc) +void next_state::nextctc(machine_config &config) +{ next_fdc_base(config); - MCFG_DEVICE_ADD("maincpu", M68040, XTAL(33'000'000)) - MCFG_DEVICE_PROGRAM_MAP(next_0c_c_mem) - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 624-1) -MACHINE_CONFIG_END + M68040(config, maincpu, XTAL(33'000'000)); + maincpu->set_addrmap(AS_PROGRAM, &next_state::next_0c_c_mem); + subdevice<screen_device>("screen")->set_visarea(0, 832-1, 0, 624-1); +} /* ROM definition */ #define ROM_NEXT_V1 \ |