diff options
Diffstat (limited to 'src/mess/drivers/nc.c')
-rw-r--r-- | src/mess/drivers/nc.c | 76 |
1 files changed, 34 insertions, 42 deletions
diff --git a/src/mess/drivers/nc.c b/src/mess/drivers/nc.c index ece1d813f8b..12774c3d066 100644 --- a/src/mess/drivers/nc.c +++ b/src/mess/drivers/nc.c @@ -919,24 +919,23 @@ static const centronics_interface nc100_centronics_config = }; -static MACHINE_RESET( nc100 ) +void nc_state::machine_reset() { - nc_state *state = machine.driver_data<nc_state>(); /* 256k of rom */ - state->m_membank_rom_mask = 0x0f; + m_membank_rom_mask = 0x0f; - state->m_membank_internal_ram_mask = 3; + m_membank_internal_ram_mask = 3; - state->m_membank_card_ram_mask = 0x03f; + m_membank_card_ram_mask = 0x03f; - nc_common_init_machine(machine); + nc_common_init_machine(machine()); - nc_common_open_stream_for_reading(machine); - nc_common_restore_memory_from_stream(machine); - nc_common_close_stream(machine); + nc_common_open_stream_for_reading(machine()); + nc_common_restore_memory_from_stream(machine()); + nc_common_close_stream(machine()); /* serial */ - state->m_irq_latch_mask = (1<<0) | (1<<1); + m_irq_latch_mask = (1<<0) | (1<<1); } static void nc100_machine_stop(running_machine &machine) @@ -946,19 +945,18 @@ static void nc100_machine_stop(running_machine &machine) nc_common_close_stream(machine); } -static MACHINE_START( nc100 ) +void nc_state::machine_start() { - nc_state *state = machine.driver_data<nc_state>(); - state->m_type = NC_TYPE_1xx; + m_type = NC_TYPE_1xx; - machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc100_machine_stop),&machine)); + machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc100_machine_stop),&machine())); /* keyboard timer */ - state->m_keyboard_timer = machine.scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback)); - state->m_keyboard_timer->adjust(attotime::from_msec(10)); + m_keyboard_timer = machine().scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback)); + m_keyboard_timer->adjust(attotime::from_msec(10)); /* serial timer */ - state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(nc_serial_timer_callback)); + m_serial_timer = machine().scheduler().timer_alloc(FUNC(nc_serial_timer_callback)); } @@ -1307,28 +1305,27 @@ static void nc200_floppy_drive_index_callback(int drive_id) } #endif -static MACHINE_RESET( nc200 ) +MACHINE_RESET_MEMBER(nc_state,nc200) { - nc_state *state = machine.driver_data<nc_state>(); /* 512k of rom */ - state->m_membank_rom_mask = 0x1f; + m_membank_rom_mask = 0x1f; - state->m_membank_internal_ram_mask = 7; + m_membank_internal_ram_mask = 7; - state->m_membank_card_ram_mask = 0x03f; + m_membank_card_ram_mask = 0x03f; - nc_common_init_machine(machine); + nc_common_init_machine(machine()); - state->m_nc200_uart_interrupt_irq = 0; + m_nc200_uart_interrupt_irq = 0; - nc_common_open_stream_for_reading(machine); - nc_common_restore_memory_from_stream(machine); - nc_common_close_stream(machine); + nc_common_open_stream_for_reading(machine()); + nc_common_restore_memory_from_stream(machine()); + nc_common_close_stream(machine()); /* fdc, serial */ - state->m_irq_latch_mask = /*(1<<5) |*/ (1<<2); + m_irq_latch_mask = /*(1<<5) |*/ (1<<2); - nc200_video_set_backlight(machine, 0); + nc200_video_set_backlight(machine(), 0); } static void nc200_machine_stop(running_machine &machine) @@ -1338,19 +1335,18 @@ static void nc200_machine_stop(running_machine &machine) nc_common_close_stream(machine); } -static MACHINE_START( nc200 ) +MACHINE_START_MEMBER(nc_state,nc200) { - nc_state *state = machine.driver_data<nc_state>(); - state->m_type = NC_TYPE_200; + m_type = NC_TYPE_200; - machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc200_machine_stop),&machine)); + machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc200_machine_stop),&machine())); /* keyboard timer */ - state->m_keyboard_timer = machine.scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback)); - state->m_keyboard_timer->adjust(attotime::from_msec(10)); + m_keyboard_timer = machine().scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback)); + m_keyboard_timer->adjust(attotime::from_msec(10)); /* serial timer */ - state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(nc_serial_timer_callback)); + m_serial_timer = machine().scheduler().timer_alloc(FUNC(nc_serial_timer_callback)); } /* @@ -1603,8 +1599,6 @@ static MACHINE_CONFIG_START( nc100, nc_state ) MCFG_CPU_IO_MAP(nc100_io) MCFG_QUANTUM_TIME(attotime::from_hz(60)) - MCFG_MACHINE_START( nc100 ) - MCFG_MACHINE_RESET( nc100 ) /* video hardware */ MCFG_SCREEN_ADD("screen", LCD) @@ -1615,10 +1609,8 @@ static MACHINE_CONFIG_START( nc100, nc_state ) MCFG_SCREEN_UPDATE_STATIC( nc ) MCFG_PALETTE_LENGTH(NC_NUM_COLOURS) - MCFG_PALETTE_INIT( nc ) MCFG_DEFAULT_LAYOUT(layout_lcd) - MCFG_VIDEO_START( nc ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -1670,8 +1662,8 @@ static MACHINE_CONFIG_DERIVED( nc200, nc100 ) MCFG_CPU_MODIFY( "maincpu" ) MCFG_CPU_IO_MAP(nc200_io) - MCFG_MACHINE_START( nc200 ) - MCFG_MACHINE_RESET( nc200 ) + MCFG_MACHINE_START_OVERRIDE(nc_state, nc200 ) + MCFG_MACHINE_RESET_OVERRIDE(nc_state, nc200 ) /* video hardware */ MCFG_SCREEN_MODIFY("screen") |