summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2020-06-16 22:01:07 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2020-06-16 22:01:07 +1000
commitd0ae32a65de88552fb91384d13cbc9572da89ae2 (patch)
tree2b5df210bc660cbc87b4e1d7ba6cbc0aca36f64f
parent50612328eba1a39dfe89021ee33c79b58efc2f95 (diff)
(nw) trs80: added save state
-rw-r--r--src/mame/drivers/trs80.cpp22
-rw-r--r--src/mame/drivers/trs80m3.cpp8
-rw-r--r--src/mame/machine/trs80.cpp11
-rw-r--r--src/mame/machine/trs80m3.cpp19
4 files changed, 44 insertions, 16 deletions
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index 152a18ed283..e97fea883f3 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -249,7 +249,7 @@ void trs80_state::lnw_banked_mem(address_map &map)
map(0x37ef, 0x37ef).rw(m_fdc, FUNC(fd1793_device::data_r), FUNC(fd1793_device::data_w));
map(0x3800, 0x3bff).r(FUNC(trs80_state::keyboard_r));
map(0x3c00, 0x3fff).ram().share(m_p_videoram);
- map(0x4000, 0x7fff).ram().share(m_p_gfxram).region("gfx2", 0);
+ map(0x4000, 0x7fff).ram().share(m_p_gfxram);
}
void trs80_state::lnw80_io(address_map &map)
@@ -725,8 +725,6 @@ ROM_START(lnw80)
ROM_REGION(0x0800, "chargen",0)
ROM_LOAD("lnw_chr.bin", 0x0000, 0x0800, CRC(c89b27df) SHA1(be2a009a07e4378d070002a558705e9a0de59389))
-
- ROM_REGION(0x4000, "gfx2", ROMREGION_ERASEFF) // for trs80_gfxram
ROM_END
@@ -772,12 +770,12 @@ void trs80_state::init_trs80l2()
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1977, trs80, 0, 0, trs80, trs80, trs80_state, init_trs80, "Tandy Radio Shack", "TRS-80 Model I (Level I Basic)", 0 )
-COMP( 1978, trs80l2, 0, 0, model1, trs80l2, trs80_state, init_trs80l2, "Tandy Radio Shack", "TRS-80 Model I (Level II Basic)", 0 )
-COMP( 1983, radionic, trs80l2, 0, radionic, trs80l2, trs80_state, init_trs80, "Komtek", "Radionic", 0 )
-COMP( 1980, sys80, trs80l2, 0, sys80, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (60 Hz)", 0 )
-COMP( 1980, sys80p, trs80l2, 0, sys80p, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (50 Hz)", 0 )
-COMP( 1981, lnw80, trs80l2, 0, lnw80, sys80, trs80_state, init_trs80, "LNW Research", "LNW-80", 0 )
-COMP( 1983, ht1080z, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series I", 0 )
-COMP( 1984, ht1080z2, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series II", 0 )
-COMP( 1985, ht108064, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80, "Hiradastechnika Szovetkezet", "HT-1080Z/64", 0 )
+COMP( 1977, trs80, 0, 0, trs80, trs80, trs80_state, init_trs80, "Tandy Radio Shack", "TRS-80 Model I (Level I Basic)", MACHINE_SUPPORTS_SAVE )
+COMP( 1978, trs80l2, 0, 0, model1, trs80l2, trs80_state, init_trs80l2, "Tandy Radio Shack", "TRS-80 Model I (Level II Basic)", MACHINE_SUPPORTS_SAVE )
+COMP( 1983, radionic, trs80l2, 0, radionic, trs80l2, trs80_state, init_trs80, "Komtek", "Radionic", MACHINE_SUPPORTS_SAVE )
+COMP( 1980, sys80, trs80l2, 0, sys80, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (60 Hz)", MACHINE_SUPPORTS_SAVE )
+COMP( 1980, sys80p, trs80l2, 0, sys80p, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (50 Hz)", MACHINE_SUPPORTS_SAVE )
+COMP( 1981, lnw80, trs80l2, 0, lnw80, sys80, trs80_state, init_trs80, "LNW Research", "LNW-80", MACHINE_SUPPORTS_SAVE )
+COMP( 1983, ht1080z, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series I", MACHINE_SUPPORTS_SAVE )
+COMP( 1984, ht1080z2, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series II", MACHINE_SUPPORTS_SAVE )
+COMP( 1985, ht108064, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80, "Hiradastechnika Szovetkezet", "HT-1080Z/64", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/trs80m3.cpp b/src/mame/drivers/trs80m3.cpp
index 5a14b7bbdf4..1cd18228c0f 100644
--- a/src/mame/drivers/trs80m3.cpp
+++ b/src/mame/drivers/trs80m3.cpp
@@ -530,7 +530,7 @@ void trs80m3_state::init_trs80m4p()
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1980, trs80m3, 0, trs80l2, model3, trs80m3, trs80m3_state, init_trs80m3, "Tandy Radio Shack", "TRS-80 Model III", 0 )
-COMP( 1980, trs80m4, trs80m3, 0, model4, trs80m3, trs80m3_state, init_trs80m4, "Tandy Radio Shack", "TRS-80 Model 4", 0 )
-COMP( 1983, trs80m4p, trs80m3, 0, model4p, trs80m4p, trs80m3_state, init_trs80m4p, "Tandy Radio Shack", "TRS-80 Model 4P", MACHINE_NOT_WORKING )
-COMP( 1982, cp500, trs80m3, 0, cp500, trs80m3, trs80m3_state, init_trs80m3, "Prológica", "CP-500 (PVIII REV.3)", 0 )
+COMP( 1980, trs80m3, 0, trs80l2, model3, trs80m3, trs80m3_state, init_trs80m3, "Tandy Radio Shack", "TRS-80 Model III", MACHINE_SUPPORTS_SAVE )
+COMP( 1980, trs80m4, trs80m3, 0, model4, trs80m3, trs80m3_state, init_trs80m4, "Tandy Radio Shack", "TRS-80 Model 4", MACHINE_SUPPORTS_SAVE )
+COMP( 1983, trs80m4p, trs80m3, 0, model4p, trs80m4p, trs80m3_state, init_trs80m4p, "Tandy Radio Shack", "TRS-80 Model 4P", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE)
+COMP( 1982, cp500, trs80m3, 0, cp500, trs80m3, trs80m3_state, init_trs80m3, "Prológica", "CP-500 (PVIII REV.3)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/machine/trs80.cpp b/src/mame/machine/trs80.cpp
index 4603a976a81..b2454d9f9d1 100644
--- a/src/mame/machine/trs80.cpp
+++ b/src/mame/machine/trs80.cpp
@@ -341,6 +341,17 @@ READ8_MEMBER( trs80_state::keyboard_r )
void trs80_state::machine_start()
{
+ save_item(NAME(m_mode));
+ save_item(NAME(m_irq));
+ save_item(NAME(m_mask));
+ save_item(NAME(m_tape_unit));
+ save_item(NAME(m_reg_load));
+ save_item(NAME(m_lnw_mode));
+ save_item(NAME(m_cassette_data));
+ save_item(NAME(m_old_cassette_val));
+ save_item(NAME(m_size_store));
+ save_item(NAME(m_timeout));
+
m_size_store = 0xff;
m_tape_unit=1;
m_reg_load=1;
diff --git a/src/mame/machine/trs80m3.cpp b/src/mame/machine/trs80m3.cpp
index 4c68d07e4de..b22b09a3db1 100644
--- a/src/mame/machine/trs80m3.cpp
+++ b/src/mame/machine/trs80m3.cpp
@@ -531,6 +531,25 @@ READ8_MEMBER( trs80m3_state::keyboard_r )
void trs80m3_state::machine_start()
{
+ save_item(NAME(m_model4));
+ save_item(NAME(m_mode));
+ save_item(NAME(m_irq));
+ save_item(NAME(m_mask));
+ save_item(NAME(m_nmi_mask));
+ save_item(NAME(m_port_ec));
+ save_item(NAME(m_reg_load));
+ save_item(NAME(m_nmi_data));
+ save_item(NAME(m_cassette_data));
+ save_item(NAME(m_old_cassette_val));
+ save_item(NAME(m_start_address));
+ save_item(NAME(m_crtc_reg));
+ save_item(NAME(m_size_store));
+ save_item(NAME(m_a11_flipflop));
+ save_item(NAME(m_timeout));
+ save_item(NAME(m_wait));
+ save_item(NAME(m_drq_off));
+ save_item(NAME(m_intrq_off));
+
m_mode = 0;
m_reg_load = 1;
m_nmi_data = 0;