diff options
Diffstat (limited to 'src/mame/drivers/sdk85.cpp')
-rw-r--r-- | src/mame/drivers/sdk85.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/mame/drivers/sdk85.cpp b/src/mame/drivers/sdk85.cpp index 93c9352a26d..8a7b7be6330 100644 --- a/src/mame/drivers/sdk85.cpp +++ b/src/mame/drivers/sdk85.cpp @@ -82,12 +82,12 @@ private: void digit_w(u8 data); u8 kbd_r(); - void sdk85_io(address_map &map); - void sdk85_mem(address_map &map); + void io_map(address_map &map); + void mem_map(address_map &map); u8 m_digit; virtual void machine_reset() override; - virtual void machine_start() override { m_digits.resolve(); } + virtual void machine_start() override; required_device<i8085a_cpu_device> m_maincpu; required_device<i8279_device> m_kdc; @@ -106,6 +106,12 @@ void sdk85_state::machine_reset() m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } +void sdk85_state::machine_start() +{ + m_digits.resolve(); + save_item(NAME(m_digit)); +} + WRITE_LINE_MEMBER(sdk85_state::reset_w) { m_maincpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); @@ -133,7 +139,7 @@ READ_LINE_MEMBER(sdk85_state::sid_r) return m_tty->rxd_r(); } -void sdk85_state::sdk85_mem(address_map &map) +void sdk85_state::mem_map(address_map &map) { map.unmap_value_high(); map(0x0000, 0x07ff).r(m_romio, FUNC(i8355_device::memory_r)); @@ -144,7 +150,7 @@ void sdk85_state::sdk85_mem(address_map &map) map(0x2800, 0x28ff).mirror(0x0700).rw(m_expramio, FUNC(i8155_device::memory_r), FUNC(i8155_device::memory_w)); } -void sdk85_state::sdk85_io(address_map &map) +void sdk85_state::io_map(address_map &map) { map.unmap_value_high(); map(0x00, 0x03).mirror(0x04).rw(m_romio, FUNC(i8355_device::io_r), FUNC(i8355_device::io_w)); @@ -220,8 +226,8 @@ void sdk85_state::sdk85(machine_config &config) { /* basic machine hardware */ I8085A(config, m_maincpu, 6.144_MHz_XTAL); - m_maincpu->set_addrmap(AS_PROGRAM, &sdk85_state::sdk85_mem); - m_maincpu->set_addrmap(AS_IO, &sdk85_state::sdk85_io); + m_maincpu->set_addrmap(AS_PROGRAM, &sdk85_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &sdk85_state::io_map); m_maincpu->in_sid_func().set(FUNC(sdk85_state::sid_r)); m_maincpu->out_sod_func().set(m_tty, FUNC(rs232_port_device::write_txd)).invert(); @@ -264,4 +270,4 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1977, sdk85, 0, 0, sdk85, sdk85, sdk85_state, empty_init, "Intel", "MCS-85 System Design Kit", MACHINE_NO_SOUND_HW) +COMP( 1977, sdk85, 0, 0, sdk85, sdk85, sdk85_state, empty_init, "Intel", "MCS-85 System Design Kit", MACHINE_NO_SOUND_HW | MACHINE_SUPPORTS_SAVE ) |