summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/nc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/nc.c')
-rw-r--r--src/mess/drivers/nc.c76
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")