summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fc100.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fc100.cpp')
-rw-r--r--src/mame/drivers/fc100.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/src/mame/drivers/fc100.cpp b/src/mame/drivers/fc100.cpp
index 36f39b38c9a..67a08b7f92a 100644
--- a/src/mame/drivers/fc100.cpp
+++ b/src/mame/drivers/fc100.cpp
@@ -87,8 +87,8 @@ private:
{
return m_p_chargen[(ch * 16 + line) & 0xfff];
}
- void fc100_io(address_map &map);
- void fc100_mem(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -120,7 +120,7 @@ private:
};
-void fc100_state::fc100_mem(address_map &map)
+void fc100_state::mem_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x5fff).rom().region("roms", 0);
@@ -130,7 +130,7 @@ void fc100_state::fc100_mem(address_map &map)
map(0xc000, 0xffff).ram().share("videoram");
}
-void fc100_state::fc100_io(address_map &map)
+void fc100_state::io_map(address_map &map)
{
map.unmap_value_high();
map.global_mask(0xff);
@@ -455,15 +455,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( fc100_state::kansas_r)
void fc100_state::machine_start()
{
- m_ag = 0;
- m_gm2 = 0;
- m_gm1 = 0;
- m_gm0 = 0;
- m_as = 0;
- m_css = 0;
- m_intext = 0;
- m_inv = 0;
-
if (m_cart->exists())
m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6fff, read8sm_delegate(*m_cart, FUNC(generic_slot_device::read_rom)));
@@ -475,10 +466,24 @@ void fc100_state::machine_start()
save_item(NAME(m_css));
save_item(NAME(m_intext));
save_item(NAME(m_inv));
+ save_item(NAME(m_cass_data));
+ save_item(NAME(m_cassbit));
+ save_item(NAME(m_cassold));
+ save_item(NAME(m_key_pressed));
+ save_item(NAME(m_banksw_unlocked));
}
void fc100_state::machine_reset()
{
+ m_ag = 0;
+ m_gm2 = 0;
+ m_gm1 = 0;
+ m_gm0 = 0;
+ m_as = 0;
+ m_css = 0;
+ m_intext = 0;
+ m_inv = 0;
+
m_cass_data[0] = m_cass_data[1] = m_cass_data[2] = m_cass_data[3] = 0;
m_cassbit = 0;
m_cassold = 0;
@@ -513,8 +518,8 @@ void fc100_state::fc100(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(7'159'090)/2);
- m_maincpu->set_addrmap(AS_PROGRAM, &fc100_state::fc100_mem);
- m_maincpu->set_addrmap(AS_IO, &fc100_state::fc100_io);
+ m_maincpu->set_addrmap(AS_PROGRAM, &fc100_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &fc100_state::io_map);
/* video hardware */
M5C6847P1(config, m_vdg, XTAL(7'159'090)/3); // Clock not verified
@@ -581,4 +586,4 @@ ROM_END
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-CONS( 1982, fc100, 0, 0, fc100, fc100, fc100_state, init_fc100, "Goldstar", "FC-100", MACHINE_NOT_WORKING )
+CONS( 1982, fc100, 0, 0, fc100, fc100, fc100_state, init_fc100, "Goldstar", "FC-100", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )