diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp index 54b95a2196a..11ef780b4c6 100644 --- a/src/mame/drivers/trs80.cpp +++ b/src/mame/drivers/trs80.cpp @@ -153,6 +153,10 @@ lnw80: works hi-res and colour are coded but do not work investigate expansion-box + MT 07903 - most floppies no longer boot + most machines will problems loading real tapes. + cannot load CAS tapes, but they can be loaded with trs80m3. + *******************************************************************************************************/ #include "emu.h" @@ -773,11 +777,11 @@ 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)", 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 ) +COMP( 1978, trs80l2, 0, 0, model1, trs80l2, trs80_state, init_trs80l2, "Tandy Radio Shack", "TRS-80 Model I (Level II Basic)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1983, radionic, trs80l2, 0, radionic, trs80l2, trs80_state, init_trs80, "Komtek", "Radionic", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1980, sys80, trs80l2, 0, sys80, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (60 Hz)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1980, sys80p, trs80l2, 0, sys80p, sys80, trs80_state, init_trs80l2, "EACA Computers Ltd", "System-80 (50 Hz)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1981, lnw80, trs80l2, 0, lnw80, sys80, trs80_state, init_trs80, "LNW Research", "LNW-80", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1983, ht1080z, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series I", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1984, ht1080z2, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80l2, "Hiradastechnika Szovetkezet", "HT-1080Z Series II", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1985, ht108064, trs80l2, 0, ht1080z, sys80, trs80_state, init_trs80, "Hiradastechnika Szovetkezet", "HT-1080Z/64", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/trs80m3.cpp b/src/mame/drivers/trs80m3.cpp index 54ef9932532..98c4cf8a167 100644 --- a/src/mame/drivers/trs80m3.cpp +++ b/src/mame/drivers/trs80m3.cpp @@ -58,9 +58,13 @@ To Do / Status: -------------- trs80m3: works + MT 07903 - most floppies no longer boot + CAS handler doesn't support 1500 baud trs80m4: works will boot model 3 floppies, but not model 4 ones + MT 07903 - most floppies no longer boot + CAS handler doesn't support 1500 baud trs80m4p: floppy not working, so machine is useless @@ -532,7 +536,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", MACHINE_SUPPORTS_SAVE ) +COMP( 1980, trs80m3, 0, trs80l2, model3, trs80m3, trs80m3_state, init_trs80m3, "Tandy Radio Shack", "TRS-80 Model III", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) COMP( 1980, trs80m4, trs80m3, 0, model4, trs80m3, trs80m3_state, init_trs80m4, "Tandy Radio Shack", "TRS-80 Model 4", MACHINE_NOT_WORKING | 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 ) +COMP( 1982, cp500, trs80m3, 0, cp500, trs80m3, trs80m3_state, init_trs80m3, "Prológica", "CP-500 (PVIII REV.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/machine/trs80.cpp b/src/mame/machine/trs80.cpp index 8c03dccb633..c68964cd46f 100644 --- a/src/mame/machine/trs80.cpp +++ b/src/mame/machine/trs80.cpp @@ -427,9 +427,9 @@ QUICKLOAD_LOAD_MEMBER(trs80_state::quickload_cb) image.fread( &addr, 2); u16 address = (addr[1] << 8) | addr[0]; if (LOG) logerror("/CMD object code block: address %04x length %u\n", address, block_length); - if (address < 0x4000) + if (address < 0x3c00) { - image.seterror(IMAGE_ERROR_UNSPECIFIED, "Attempting to write outside of RAM"); + image.message("Attempting to write outside of RAM"); return image_init_result::FAIL; } ptr = program.get_write_ptr(address); @@ -459,7 +459,7 @@ QUICKLOAD_LOAD_MEMBER(trs80_state::quickload_cb) default: image.fread( &data, length); logerror("/CMD unsupported block type %u!\n", type); - image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported or invalid block type"); + image.message("Unsupported or invalid block type"); return image_init_result::FAIL; } } diff --git a/src/mame/machine/trs80m3.cpp b/src/mame/machine/trs80m3.cpp index f46132b358b..f80619282ec 100644 --- a/src/mame/machine/trs80m3.cpp +++ b/src/mame/machine/trs80m3.cpp @@ -666,11 +666,11 @@ QUICKLOAD_LOAD_MEMBER(trs80m3_state::quickload_cb) u16 address = (addr[1] << 8) | addr[0]; if (LOG) logerror("/CMD object code block: address %04x length %u\n", address, block_length); // Todo: the below only applies for non-ram - //if (address < 0x4000) - //{ - //image.seterror(IMAGE_ERROR_UNSPECIFIED, "Attempting to write outside of RAM"); - //return image_init_result::FAIL; - //} + if (address < 0x3c00) + { + image.message("Attempting to write outside of RAM"); + return image_init_result::FAIL; + } ptr = program.get_write_ptr(address); image.fread( ptr, block_length); } @@ -698,7 +698,7 @@ QUICKLOAD_LOAD_MEMBER(trs80m3_state::quickload_cb) default: image.fread( &data, length); logerror("/CMD unsupported block type %u!\n", type); - image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported or invalid block type"); + image.message("Unsupported or invalid block type"); return image_init_result::FAIL; } }