diff options
Diffstat (limited to 'src/mame/drivers/aristmk5.c')
-rw-r--r-- | src/mame/drivers/aristmk5.c | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c index 15970e84a25..1af554f2472 100644 --- a/src/mame/drivers/aristmk5.c +++ b/src/mame/drivers/aristmk5.c @@ -81,6 +81,8 @@ public: DECLARE_READ32_MEMBER(Ns5r50); DECLARE_WRITE32_MEMBER(sram_banksel_w); DECLARE_DRIVER_INIT(aristmk5); + virtual void machine_start(); + virtual void machine_reset(); }; @@ -370,38 +372,36 @@ DRIVER_INIT_MEMBER(aristmk5_state,aristmk5) } -static MACHINE_START( aristmk5 ) +void aristmk5_state::machine_start() { - aristmk5_state *state = machine.driver_data<aristmk5_state>(); - archimedes_init(machine); + archimedes_init(machine()); // reset the DAC to centerline - //machine.device<dac_device>("dac")->write_signed8(0x80); + //machine().device<dac_device>("dac")->write_signed8(0x80); - state->m_mk5_2KHz_timer = machine.scheduler().timer_alloc(FUNC(mk5_2KHz_callback)); - state->m_mk5_VSYNC_timer = machine.scheduler().timer_alloc(FUNC(mk5_VSYNC_callback)); + m_mk5_2KHz_timer = machine().scheduler().timer_alloc(FUNC(mk5_2KHz_callback)); + m_mk5_VSYNC_timer = machine().scheduler().timer_alloc(FUNC(mk5_VSYNC_callback)); } -static MACHINE_RESET( aristmk5 ) +void aristmk5_state::machine_reset() { - aristmk5_state *state = machine.driver_data<aristmk5_state>(); - archimedes_reset(machine); - state->m_mk5_2KHz_timer->adjust(attotime::from_hz(1953.125)); // 8MHz / 4096 - state->m_mk5_VSYNC_timer->adjust(attotime::from_hz(50000)); // default bit 1 & bit 2 == 0 + archimedes_reset(machine()); + m_mk5_2KHz_timer->adjust(attotime::from_hz(1953.125)); // 8MHz / 4096 + m_mk5_VSYNC_timer->adjust(attotime::from_hz(50000)); // default bit 1 & bit 2 == 0 ioc_regs[IRQ_STATUS_B] |= 0x40; //hack, set keyboard irq empty to be ON /* load the roms according to what the operator wants */ { - UINT8 *ROM = state->memregion("maincpu")->base(); - UINT8 *PRG;// = state->memregion("prg_code")->base(); + UINT8 *ROM = memregion("maincpu")->base(); + UINT8 *PRG;// = memregion("prg_code")->base(); int i; UINT8 op_mode; static const char *const rom_region[] = { "set_chip_4.04", "set_chip_4.4", "clear_chip", "game_prg" }; - op_mode = machine.root_device().ioport("ROM_LOAD")->read(); + op_mode = machine().root_device().ioport("ROM_LOAD")->read(); - PRG = machine.root_device().memregion(rom_region[op_mode & 3])->base(); + PRG = machine().root_device().memregion(rom_region[op_mode & 3])->base(); if(PRG!=NULL) @@ -424,8 +424,6 @@ static MACHINE_CONFIG_START( aristmk5, aristmk5_state ) MCFG_CPU_ADD("maincpu", ARM, 12000000) MCFG_CPU_PROGRAM_MAP(aristmk5_drame_map) MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */ - MCFG_MACHINE_START( aristmk5 ) - MCFG_MACHINE_RESET( aristmk5 ) // MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface) @@ -437,7 +435,6 @@ static MACHINE_CONFIG_START( aristmk5, aristmk5_state ) MCFG_PALETTE_LENGTH(0x200) - MCFG_VIDEO_START(archimds_vidc) MCFG_SCREEN_UPDATE_STATIC(archimds_vidc) MCFG_SPEAKER_STANDARD_MONO("mono") @@ -470,8 +467,6 @@ static MACHINE_CONFIG_START( aristmk5_usa, aristmk5_state ) MCFG_CPU_ADD("maincpu", ARM, 12000000) MCFG_CPU_PROGRAM_MAP(aristmk5_map) MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */ - MCFG_MACHINE_START( aristmk5 ) - MCFG_MACHINE_RESET( aristmk5 ) // MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface) |