summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2020-06-16 17:55:44 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2020-06-16 19:16:46 +0100
commit1eca1509e1795d04593b2f2ac929f373c8726f05 (patch)
treeba12f568150ee4ed75242a4671b75913478f551e
parent09b7e5c7913904d5595a7eef2fa8493ab313c42f (diff)
New machines marked as NOT_WORKING
---------------------------------- MasterPieCe 800 Series [Ian Bradbury] MasterPieCe 900 Series [Ian Bradbury] MasterPieCe 900GX Series [Ian Bradbury]
-rw-r--r--src/mame/drivers/bbc.cpp150
-rw-r--r--src/mame/includes/bbc.h5
-rw-r--r--src/mame/mame.lst3
3 files changed, 158 insertions, 0 deletions
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 6a45509d19f..064f5d34d89 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -1861,6 +1861,51 @@ void bbcm_state::discmate(machine_config &config)
}
+void bbcm_state::mpc_prisma_default(device_t* device)
+{
+ device->subdevice<bbc_1mhzbus_slot_device>("1mhzbus")->set_default_option("awhd");
+ device->subdevice<bbc_1mhzbus_slot_device>("1mhzbus")->set_fixed(true);
+}
+
+
+void bbcm_state::mpc800(machine_config& config)
+{
+ bbcm(config);
+ /* Acorn 65C102 co-processor */
+ m_intube->set_default_option("65c102");
+ m_intube->set_fixed(true);
+
+ /* Prisma 2 */
+ //m_1mhzbus->set_default_option("prisma2");
+ //m_1mhzbus->set_fixed(true);
+ //m_1mhzbus->set_option_machine_config("prisma2", mpc_prisma_default);
+
+ /* Mouse (AMX compatible) */
+ m_userport->set_default_option("amxmouse");
+ m_userport->set_fixed(true);
+}
+
+
+void bbcm_state::mpc900(machine_config& config)
+{
+ mpc800(config);
+ /* Prisma 3 */
+ //m_1mhzbus->set_default_option("prisma3");
+ //m_1mhzbus->set_fixed(true);
+ //m_1mhzbus->set_option_machine_config("prisma3", mpc_prisma_default);
+}
+
+
+void bbcm_state::mpc900gx(machine_config& config)
+{
+ mpc800(config);
+ /* Prisma 3+ */
+ //m_1mhzbus->set_default_option("prisma3p");
+ //m_1mhzbus->set_fixed(true);
+ //m_1mhzbus->set_option_machine_config("prisma3p", mpc_prisma_default);
+}
+
+
void bbcm_state::cfa3000(machine_config &config)
{
bbcm(config);
@@ -2699,6 +2744,108 @@ ROM_START(discmate)
ROM_END
+ROM_START(mpc800)
+ ROM_REGION(0x44000, "swr", ROMREGION_ERASEFF) /* Sideways ROMs */
+ ROM_DEFAULT_BIOS("mos320")
+ ROM_SYSTEM_BIOS(0, "mos320", "Original MOS 3.20")
+ ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(0))
+ ROM_COPY("swr", 0x20000, 0x40000, 0x4000) // Move loaded roms into place
+ ROM_FILL(0x20000, 0x4000, 0xff)
+ /* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
+ /* 04000 rom 1 SK3 Rear Cartridge top 16K */
+ /* 08000 rom 2 SK4 Front Cartridge bottom 16K */
+ /* 0c000 rom 3 SK4 Front Cartridge top 16K */
+ /* 10000 rom 4 IC41 SWRAM or bottom 16K */
+ /* 14000 rom 5 IC41 SWRAM or top 16K */
+ /* 18000 rom 6 IC37 SWRAM or bottom 16K */
+ /* 1c000 rom 7 IC37 SWRAM or top 16K */
+ /* 20000 rom 8 IC27 800 Manager */
+ /* 24000 rom 9 IC24 DFS + SRAM */
+ /* 28000 rom 10 IC24 Viewsheet */
+ /* 2c000 rom 11 IC24 Edit */
+ /* 30000 rom 12 IC24 BASIC */
+ /* 34000 rom 13 IC24 ADFS */
+ /* 38000 rom 14 IC24 View + MOS code */
+ /* 3c000 rom 15 IC24 Terminal + Tube host + CFS */
+ ROM_LOAD("mpc800manager-2.40.rom", 0x20000, 0x4000, CRC(d5a27b00) SHA1(533e846f47803d61508fe270fd7021c010a21a84))
+
+ ROM_REGION(0x4000, "mos", 0)
+ ROM_COPY("swr", 0x40000, 0, 0x4000)
+
+ ROM_REGION(0x40, "rtc", 0) /* mc146818 */
+ /* Factory defaulted CMOS RAM, sets default language ROM, etc. */
+ ROMX_LOAD("mos320.cmos", 0x00, 0x40, CRC(c7f9e85a) SHA1(f24cc9db0525910689219f7204bf8b864033ee94), ROM_BIOS(0))
+ROM_END
+
+
+ROM_START(mpc900)
+ ROM_REGION(0x44000, "swr", ROMREGION_ERASEFF) /* Sideways ROMs */
+ ROM_DEFAULT_BIOS("mos320")
+ ROM_SYSTEM_BIOS(0, "mos320", "Original MOS 3.20")
+ ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(0))
+ ROM_COPY("swr", 0x20000, 0x40000, 0x4000) // Move loaded roms into place
+ ROM_FILL(0x20000, 0x4000, 0xff)
+ /* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
+ /* 04000 rom 1 SK3 Rear Cartridge top 16K */
+ /* 08000 rom 2 SK4 Front Cartridge bottom 16K */
+ /* 0c000 rom 3 SK4 Front Cartridge top 16K */
+ /* 10000 rom 4 IC41 SWRAM or bottom 16K */
+ /* 14000 rom 5 IC41 SWRAM or top 16K */
+ /* 18000 rom 6 IC37 SWRAM or bottom 16K */
+ /* 1c000 rom 7 IC37 SWRAM or top 16K */
+ /* 20000 rom 8 IC27 900 Manager */
+ /* 24000 rom 9 IC24 DFS + SRAM */
+ /* 28000 rom 10 IC24 Viewsheet */
+ /* 2c000 rom 11 IC24 Edit */
+ /* 30000 rom 12 IC24 BASIC */
+ /* 34000 rom 13 IC24 ADFS */
+ /* 38000 rom 14 IC24 View + MOS code */
+ /* 3c000 rom 15 IC24 Terminal + Tube host + CFS */
+ ROM_LOAD("mpc900_manager-1.20.rom", 0x20000, 0x4000, BAD_DUMP CRC(3470af89) SHA1(5d54ace2fbfdb9a7ec88aeaebcfe978688ef1893))
+
+ ROM_REGION(0x4000, "mos", 0)
+ ROM_COPY("swr", 0x40000, 0, 0x4000)
+
+ ROM_REGION(0x40, "rtc", 0) /* mc146818 */
+ /* Factory defaulted CMOS RAM, sets default language ROM, etc. */
+ ROMX_LOAD("mos320.cmos", 0x00, 0x40, CRC(c7f9e85a) SHA1(f24cc9db0525910689219f7204bf8b864033ee94), ROM_BIOS(0))
+ROM_END
+
+
+ROM_START(mpc900gx)
+ ROM_REGION(0x44000, "swr", ROMREGION_ERASEFF) /* Sideways ROMs */
+ ROM_DEFAULT_BIOS("mos320")
+ ROM_SYSTEM_BIOS(0, "mos320", "Original MOS 3.20")
+ ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(0))
+ ROM_COPY("swr", 0x20000, 0x40000, 0x4000) // Move loaded roms into place
+ ROM_FILL(0x20000, 0x4000, 0xff)
+ /* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
+ /* 04000 rom 1 SK3 Rear Cartridge top 16K */
+ /* 08000 rom 2 SK4 Front Cartridge bottom 16K */
+ /* 0c000 rom 3 SK4 Front Cartridge top 16K */
+ /* 10000 rom 4 IC41 SWRAM or bottom 16K */
+ /* 14000 rom 5 IC41 SWRAM or top 16K */
+ /* 18000 rom 6 IC37 SWRAM or bottom 16K */
+ /* 1c000 rom 7 IC37 SWRAM or top 16K */
+ /* 20000 rom 8 IC27 900GX Manager */
+ /* 24000 rom 9 IC24 DFS + SRAM */
+ /* 28000 rom 10 IC24 Viewsheet */
+ /* 2c000 rom 11 IC24 Edit */
+ /* 30000 rom 12 IC24 BASIC */
+ /* 34000 rom 13 IC24 ADFS */
+ /* 38000 rom 14 IC24 View + MOS code */
+ /* 3c000 rom 15 IC24 Terminal + Tube host + CFS */
+ ROM_LOAD("mpc900gx_manager-1.20.rom", 0x20000, 0x4000, CRC(3470af89) SHA1(5d54ace2fbfdb9a7ec88aeaebcfe978688ef1893))
+
+ ROM_REGION(0x4000, "mos", 0)
+ ROM_COPY("swr", 0x40000, 0, 0x4000)
+
+ ROM_REGION(0x40, "rtc", 0) /* mc146818 */
+ /* Factory defaulted CMOS RAM, sets default language ROM, etc. */
+ ROMX_LOAD("mos320.cmos", 0x00, 0x40, CRC(c7f9e85a) SHA1(f24cc9db0525910689219f7204bf8b864033ee94), ROM_BIOS(0))
+ROM_END
+
+
ROM_START(cfa3000)
ROM_REGION(0x44000, "swr", ROMREGION_ERASEFF) /* Sideways ROMs */
ROM_LOAD("cfa3000_3_4_iss10.3.ic41", 0x10000, 0x08000, CRC(ecb385ab) SHA1(eafa9b34cb1cf63790f74332bb7d85ee356b6973))
@@ -2769,4 +2916,7 @@ COMP ( 1988, autoc15, bbcmc, 0, autoc15, autoc, bbcm_state, init_bbc,
COMP ( 1988, discmon, bbcm, 0, discmon, bbcm, bbcm_state, init_bbc, "Arbiter Leisure", "Arbiter Discmonitor A-01", MACHINE_NOT_WORKING)
COMP ( 1988, discmate, bbcm, 0, discmate, bbcm, bbcm_state, init_bbc, "Arbiter Leisure", "Arbiter Discmate A-02", MACHINE_NOT_WORKING)
//COMP ( 1988, discmast, bbcm, 0, discmast, bbcm, bbcm_state, init_bbc, "Arbiter Leisure", "Arbiter Discmaster A-03", MACHINE_NOT_WORKING)
+COMP ( 1987, mpc800, bbcm, 0, mpc800, bbcm, bbcm_state, init_bbc, "G2 Systems", "MasterPieCe 800 Series", MACHINE_NOT_WORKING)
+COMP ( 1988, mpc900, bbcm, 0, mpc900, bbcm, bbcm_state, init_bbc, "G2 Systems", "MasterPieCe 900 Series", MACHINE_NOT_WORKING)
+COMP ( 1990, mpc900gx, bbcm, 0, mpc900gx, bbcm, bbcm_state, init_bbc, "G2 Systems", "MasterPieCe 900GX Series", MACHINE_NOT_WORKING)
COMP ( 1989, cfa3000, bbcm, 0, cfa3000, bbcm, bbcm_state, init_cfa, "Tinsley Medical Instruments", "Henson CFA 3000", MACHINE_NOT_WORKING)
diff --git a/src/mame/includes/bbc.h b/src/mame/includes/bbc.h
index 38a16131af7..1e0e383798e 100644
--- a/src/mame/includes/bbc.h
+++ b/src/mame/includes/bbc.h
@@ -432,10 +432,15 @@ public:
void daisy(machine_config &config);
void discmon(machine_config &config);
void discmate(machine_config &config);
+ void mpc800(machine_config& config);
+ void mpc900(machine_config& config);
+ void mpc900gx(machine_config& config);
void bbcmc(machine_config &config);
void pro128s(machine_config &config);
void autoc15(machine_config &config);
+ static void mpc_prisma_default(device_t *device);
+
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index caac36c73dd..defdb35dd3f 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -3266,6 +3266,9 @@ cfa3000 // 1989 Henson CFA 3000
daisy // 1987 Comus Daisy
discmon // 1988 Arbiter Discmonitor
discmate // 1988 Arbiter Discmate
+mpc800 // 1987 MasterPieCe 800
+mpc900 // 1988 MasterPieCe 900
+mpc900gx // 1990 MasterPieCe 900GX
econx25 // 1986 Econet X25 Gateway
ltmpbp // 1985 LTM Portable (B+)
ltmpm // 1986 LTM Portable (Master)