From 942d583270e7fb567b375b27c94ec03b61ca5115 Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Thu, 24 Aug 2017 02:50:47 +0100 Subject: New clones marked NOT WORKING ----------------------------- Econet X25 Gateway Henson CFA 3000 --- src/mame/drivers/bbc.cpp | 223 ++++++++++++++++++++++++++++++++++++----------- src/mame/mame.lst | 2 + 2 files changed, 172 insertions(+), 53 deletions(-) diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp index 1abca73322e..edf06c85b54 100644 --- a/src/mame/drivers/bbc.cpp +++ b/src/mame/drivers/bbc.cpp @@ -22,6 +22,10 @@ ANB54 - BBC Model B+ 64K with Disc and Econet interfaces ANB55 - BBC Model B+ 128K with Disc interface + Econet + + AEH25 - Econet X25 Gateway + BBC Master AMB15 - Master 128 @@ -290,6 +294,7 @@ ADDRESS_MAP_END INPUT_CHANGED_MEMBER(bbc_state::trigger_reset) { m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE); + if (newval) { if (m_via6522_1) m_via6522_1->reset(); @@ -430,7 +435,7 @@ static INPUT_PORTS_START(bbc_keypad) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 7") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 9") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad -") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad DELETE") PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad DELETE") PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad *") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 1") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 5") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) @@ -440,8 +445,8 @@ static INPUT_PORTS_START(bbc_keypad) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad RETURN") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_STOP) PORT_CHAR(UCHAR_MAMEKEY(STOP)) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad ,") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(UCHAR_MAMEKEY(COMMA)) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad ,") PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 3") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 2") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) INPUT_PORTS_END @@ -473,7 +478,7 @@ static INPUT_PORTS_START(torch_keyboard) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 7") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 9") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad -") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad DELETE") PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad DELETE") PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad *") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 1") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 5") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) @@ -483,8 +488,8 @@ static INPUT_PORTS_START(torch_keyboard) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad RETURN") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_STOP) PORT_CHAR(UCHAR_MAMEKEY(STOP)) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad ,") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(UCHAR_MAMEKEY(COMMA)) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad ,") PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 3") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keypad 2") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) INPUT_PORTS_END @@ -753,9 +758,8 @@ INPUT_PORTS_END INTERRUPT_GEN_MEMBER(bbc_state::bbcb_vsync) { - via6522_device *via_0 = machine().device("via6522_0"); - via_0->write_ca1(1); - via_0->write_ca1(0); + m_via6522_0->write_ca1(1); + m_via6522_0->write_ca1(0); } @@ -811,21 +815,21 @@ WRITE_LINE_MEMBER(bbc_state::econet_clk_w) // 4 x EPROM sockets (16K) in BBC-A, these should grow to 16 for BBC-B and later... static MACHINE_CONFIG_START( bbc_eprom_sockets ) -MCFG_GENERIC_SOCKET_ADD("exp_rom1", generic_linear_slot, "bbc_cart") -MCFG_GENERIC_EXTENSIONS("bin,rom") -MCFG_GENERIC_LOAD(bbc_state, exp1_load) + MCFG_GENERIC_SOCKET_ADD("exp_rom1", generic_linear_slot, "bbc_cart") + MCFG_GENERIC_EXTENSIONS("bin,rom") + MCFG_GENERIC_LOAD(bbc_state, exp1_load) -MCFG_GENERIC_SOCKET_ADD("exp_rom2", generic_linear_slot, "bbc_cart") -MCFG_GENERIC_EXTENSIONS("bin,rom") -MCFG_GENERIC_LOAD(bbc_state, exp2_load) + MCFG_GENERIC_SOCKET_ADD("exp_rom2", generic_linear_slot, "bbc_cart") + MCFG_GENERIC_EXTENSIONS("bin,rom") + MCFG_GENERIC_LOAD(bbc_state, exp2_load) -MCFG_GENERIC_SOCKET_ADD("exp_rom3", generic_linear_slot, "bbc_cart") -MCFG_GENERIC_EXTENSIONS("bin,rom") -MCFG_GENERIC_LOAD(bbc_state, exp3_load) + MCFG_GENERIC_SOCKET_ADD("exp_rom3", generic_linear_slot, "bbc_cart") + MCFG_GENERIC_EXTENSIONS("bin,rom") + MCFG_GENERIC_LOAD(bbc_state, exp3_load) -MCFG_GENERIC_SOCKET_ADD("exp_rom4", generic_linear_slot, "bbc_cart") -MCFG_GENERIC_EXTENSIONS("bin,rom") -MCFG_GENERIC_LOAD(bbc_state, exp4_load) + MCFG_GENERIC_SOCKET_ADD("exp_rom4", generic_linear_slot, "bbc_cart") + MCFG_GENERIC_EXTENSIONS("bin,rom") + MCFG_GENERIC_LOAD(bbc_state, exp4_load) MACHINE_CONFIG_END @@ -858,7 +862,7 @@ static MACHINE_CONFIG_START( bbca ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - //MCFG_SCREEN_RAW_PARAMS( XTAL_17_73447MHz / 4, 1024, 5*16, 1024 - 3*16, 625, 12, 625 - 13 ) + //MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz, 1024, 0, 640, 312, 0, 256) MCFG_SCREEN_SIZE(640, 256) MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 256-1) MCFG_SCREEN_REFRESH_RATE(50) @@ -872,7 +876,7 @@ static MACHINE_CONFIG_START( bbca ) MCFG_SAA5050_SCREEN_SIZE(40, 25, 40) /* crtc */ - MCFG_MC6845_ADD("hd6845", HD6845, "screen", 2000000) + MCFG_MC6845_ADD("hd6845", HD6845, "screen", XTAL_16MHz / 8) MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_CHAR_WIDTH(12) MCFG_MC6845_UPDATE_ROW_CB(bbc_state, crtc_update_row) @@ -976,12 +980,18 @@ static MACHINE_CONFIG_DERIVED( bbcb, bbca ) MCFG_ECONET_DATA_CALLBACK(DEVWRITELINE("mc6854", mc6854_device, set_rx)) MCFG_ECONET_SLOT_ADD("econet254", 254, econet_devices, nullptr) - /* expansion ports */ + /* analogue port */ MCFG_BBC_ANALOGUE_SLOT_ADD("analogue", bbc_analogue_devices, "acornjoy") + + /* 1mhz bus port */ MCFG_BBC_1MHZBUS_SLOT_ADD("1mhzbus", bbcb_1mhzbus_devices, nullptr) MCFG_BBC_1MHZBUS_SLOT_IRQ_HANDLER(DEVWRITELINE("irqs", input_merger_device, in_w<3>)) MCFG_BBC_1MHZBUS_SLOT_NMI_HANDLER(WRITELINE(bbc_state, bus_nmi_w)) + + /* tube port */ MCFG_BBC_TUBE_SLOT_ADD("tube", bbc_tube_ext_devices, nullptr) + + /* user port */ MCFG_BBC_USERPORT_SLOT_ADD("userport", bbc_userport_devices, nullptr) /* software lists */ @@ -1094,9 +1104,9 @@ static MACHINE_CONFIG_DERIVED( torchf, bbcb ) MCFG_I8271_IRQ_CALLBACK(WRITELINE(bbc_state, fdc_intrq_w)) MCFG_I8271_HDL_CALLBACK(WRITELINE(bbc_state, motor_w)) MCFG_I8271_OPT_CALLBACK(WRITELINE(bbc_state, side_w)) - MCFG_FLOPPY_DRIVE_ADD("i8271:0", bbc_floppies_525, "525qd", bbc_state::floppy_formats_bbc) + MCFG_FLOPPY_DRIVE_ADD_FIXED("i8271:0", bbc_floppies_525, "525qd", bbc_state::floppy_formats_bbc) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD("i8271:1", bbc_floppies_525, "525qd", bbc_state::floppy_formats_bbc) + MCFG_FLOPPY_DRIVE_ADD_FIXED("i8271:1", bbc_floppies_525, "525qd", bbc_state::floppy_formats_bbc) MCFG_FLOPPY_DRIVE_SOUND(true) /* Add Torch Z80 Communicator co-processor */ @@ -1141,7 +1151,7 @@ static MACHINE_CONFIG_DERIVED( abc110, bbcbp ) /* Add Z80 co-processor */ //MCFG_DEVICE_MODIFY("tube") - //MCFG_SLOT_DEFAULT_OPTION("z80copro") + //MCFG_SLOT_DEFAULT_OPTION("z80") //MCFG_SLOT_FIXED(true) /* Add ADAPTEC ACB-4000 Winchester Disc Controller */ @@ -1176,7 +1186,7 @@ static MACHINE_CONFIG_DERIVED( acw443, bbcbp ) /* Add 32016 co-processor */ //MCFG_DEVICE_MODIFY("tube") - //MCFG_SLOT_DEFAULT_OPTION("32016copro") + //MCFG_SLOT_DEFAULT_OPTION("32016") //MCFG_SLOT_FIXED(true) /* Add ADAPTEC ACB-4000 Winchester Disc Controller */ @@ -1202,7 +1212,7 @@ static MACHINE_CONFIG_DERIVED( abc310, bbcbp ) /* Add 80286 co-processor */ //MCFG_DEVICE_MODIFY("tube") - //MCFG_SLOT_DEFAULT_OPTION("80286copro") + //MCFG_SLOT_DEFAULT_OPTION("80286") //MCFG_SLOT_FIXED(true) /* Add ADAPTEC ACB-4000 Winchester Disc Controller */ @@ -1257,11 +1267,37 @@ static MACHINE_CONFIG_DERIVED( reutapm, bbcbp ) /* expansion ports */ MCFG_DEVICE_REMOVE("analogue") MCFG_DEVICE_REMOVE("1mhzbus") - MCFG_DEVICE_REMOVE("tube") MCFG_DEVICE_REMOVE("userport") MACHINE_CONFIG_END +/*************************************************************************** + + Econet X25 Gateway + +****************************************************************************/ + + +static MACHINE_CONFIG_DERIVED( econx25, bbcbp ) + /* sound hardware */ + MCFG_DEVICE_REMOVE("vsm") + MCFG_DEVICE_REMOVE("tms5220") + + /* fdc */ + //MCFG_DEVICE_REMOVE("wd1770") + + /* Add Econet X25 Gateway co-processor */ + //MCFG_DEVICE_MODIFY("tube") + //MCFG_DEVICE_SLOT_INTERFACE(bbc_x25tube_devices, "x25", true) + + /* software lists */ + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_a") + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b_orig") +MACHINE_CONFIG_END + + /*************************************************************************** BBC Master Series @@ -1299,13 +1335,13 @@ static MACHINE_CONFIG_START( bbcm ) MCFG_SCREEN_UPDATE_DEVICE("hd6845", hd6845_device, screen_update) MCFG_PALETTE_ADD("palette", 16) - MCFG_PALETTE_INIT_OWNER(bbc_state,bbc) + MCFG_PALETTE_INIT_OWNER(bbc_state, bbc) - MCFG_DEVICE_ADD("saa5050", SAA5050, XTAL_12MHz/2) + MCFG_DEVICE_ADD("saa5050", SAA5050, XTAL_12MHz / 2) MCFG_SAA5050_SCREEN_SIZE(40, 25, 40) /* crtc */ - MCFG_MC6845_ADD("hd6845", HD6845, "screen", 2000000) + MCFG_MC6845_ADD("hd6845", HD6845, "screen", XTAL_16MHz / 8) MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_CHAR_WIDTH(12) MCFG_MC6845_UPDATE_ROW_CB(bbc_state, crtc_update_row) @@ -1407,32 +1443,38 @@ static MACHINE_CONFIG_START( bbcm ) MCFG_ECONET_DATA_CALLBACK(DEVWRITELINE("mc6854", mc6854_device, set_rx)) MCFG_ECONET_SLOT_ADD("econet254", 254, econet_devices, nullptr) - /* expansion ports */ + /* analogue port */ MCFG_BBC_ANALOGUE_SLOT_ADD("analogue", bbc_analogue_devices, "acornjoy") + + /* 1mhz bus port */ MCFG_BBC_1MHZBUS_SLOT_ADD("1mhzbus", bbcm_1mhzbus_devices, nullptr) + MCFG_BBC_1MHZBUS_SLOT_IRQ_HANDLER(DEVWRITELINE("irqs", input_merger_device, in_w<3>)) + MCFG_BBC_1MHZBUS_SLOT_NMI_HANDLER(WRITELINE(bbc_state, bus_nmi_w)) + + /* tube ports */ MCFG_BBC_TUBE_SLOT_ADD("tube_ext", bbc_tube_ext_devices, nullptr) MCFG_BBC_TUBE_SLOT_ADD("tube_int", bbc_tube_int_devices, nullptr) + + /* user port */ MCFG_BBC_USERPORT_SLOT_ADD("userport", bbc_userport_devices, nullptr) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( bbcmt, bbcm ) - /* Add 65C102 co-processor */ //MCFG_DEVICE_MODIFY("tube_int") //MCFG_SLOT_DEFAULT_OPTION("65c102copro") //MCFG_SLOT_FIXED(true) /* software lists */ - MCFG_SOFTWARE_LIST_ADD("flop_ls_65c102", "bbc_flop_65c102") + MCFG_SOFTWARE_LIST_ADD("flop_ls_65c102", "bbc_flop_65c102") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( bbcmaiv, bbcm ) - /* Add 65C102 co-processor */ - //MCFG_DEVICE_MODIFY("tube_int") - //MCFG_SLOT_DEFAULT_OPTION("65c102copro") + //MCFG_DEVICE_MODIFY("intube") + //MCFG_SLOT_DEFAULT_OPTION("65c102") //MCFG_SLOT_FIXED(true) /* Add Philips VP415 Laserdisc player */ @@ -1499,11 +1541,28 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( discmate, bbcm ) - /* Add Sony CDK-3000PII Auto Disc Loader */ /* Add interface boards connected to cassette and RS423 */ + /* software lists */ + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_m") + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_a") + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_m") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b_orig") +MACHINE_CONFIG_END + + +static MACHINE_CONFIG_DERIVED( cfa3000, bbcm ) + /* software lists */ + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_m") + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_a") + MCFG_SOFTWARE_LIST_REMOVE("cass_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_m") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b") + MCFG_SOFTWARE_LIST_REMOVE("flop_ls_b_orig") MACHINE_CONFIG_END @@ -1525,7 +1584,7 @@ static MACHINE_CONFIG_DERIVED( bbcmc, bbcm ) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_state, fdc_intrq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_state, fdc_drq_w)) - MCFG_FLOPPY_DRIVE_ADD("wd1772:0", bbc_floppies_35, "35dd", bbc_state::floppy_formats_bbcmc) + MCFG_FLOPPY_DRIVE_ADD_FIXED("wd1772:0", bbc_floppies_35, "35dd", bbc_state::floppy_formats_bbcmc) MCFG_FLOPPY_DRIVE_SOUND(true) MCFG_FLOPPY_DRIVE_ADD("wd1772:1", bbc_floppies_35, nullptr, bbc_state::floppy_formats_bbcmc) MCFG_FLOPPY_DRIVE_SOUND(true) @@ -1945,6 +2004,37 @@ ROM_START(reutapm) ROM_END +ROM_START(econx25) + ROM_REGION(0x10000, "maincpu", ROMREGION_ERASEFF) /* ROM MEMORY */ + + ROM_REGION(0x44000, "option", 0) /* ROM */ + ROM_LOAD("0246,201_01_x25os.rom", 0x40000, 0x4000, CRC(8b652337) SHA1(6a5c7ace255c8ac96c983d5ba67084fbd71ff61e)) + /* rom page 0 00000 */ + /* rom page 1 04000 IC71 selectable with link S13 */ + /* rom page 2 08000 IC35 32K IN PAGE 3 */ + /* rom page 3 0c000 IC35 SPARE SOCKET */ + /* rom page 4 10000 IC44 32K IN PAGE 5 */ + /* rom page 5 14000 IC44 SPARE SOCKET */ + /* rom page 6 18000 IC57 32K IN PAGE 7 */ + /* rom page 7 1c000 IC57 ANFS */ + /* rom page 8 20000 IC62 BASIC */ + /* rom page 9 24000 IC62 Unused OS */ + /* rom page 10 28000 IC68 32K IN PAGE 11 */ + /* rom page 11 2c000 IC68 SPARE SOCKET */ + /* rom page 12 30000 */ + /* rom page 13 34000 */ + /* rom page 14 38000 */ + /* rom page 15 3C000 IC71 selectable with link S13 */ + ROM_LOAD("2201,248_03_anfs.rom", 0x1c000, 0x4000, CRC(744a60a7) SHA1(c733b108d74cf3b1c5de395335236800a7c9c0d8)) + ROM_LOAD("0201,241_01_bpos2.rom", 0x20000, 0x8000, CRC(9f356396) SHA1(ea7d3a7e3ee1ecfaa1483af994048057362b01f2)) + /* X25 TSI is in IC37 which is supposed to take a speech PHROM, so not sure where this is mapped */ + ROM_LOAD("0246,215_02_x25tsi_v0.51.rom", 0x30000, 0x8000, CRC(71dd84e4) SHA1(bbfa892fdcc6f753dda5134ecb97cc7c42b959c2)) + + ROM_REGION(0x4000, "os", 0) + ROM_COPY("option", 0x40000, 0, 0x4000) +ROM_END + + ROM_START(bbcm) ROM_REGION(0x10000,"maincpu",ROMREGION_ERASEFF) /* ROM MEMORY */ @@ -2126,10 +2216,6 @@ ROM_START(bbcmc) ROM_REGION(0x4000, "os", 0) ROM_COPY("option", 0x40000, 0, 0x4000) - -// ROM_REGION(0x80,"mc146818",0) /* mc146818 */ - /* Factory defaulted CMOS RAM, sets default language ROM, etc. */ -// ROM_LOAD("mos500.cmos", 0x00, 0x80, CRC(d8458039) SHA1(72c056d493e74ceca41f48936012b012b496a226)) ROM_END @@ -2163,10 +2249,6 @@ ROM_START(bbcmc_ar) ROM_REGION(0x4000, "os", 0) ROM_COPY("option", 0x40000, 0, 0x4000) - -// ROM_REGION(0x80,"mc146818",0) /* mc146818 */ - /* Factory defaulted CMOS RAM, sets default language ROM, etc. */ -// ROM_LOAD("mos500.cmos", 0x00, 0x80, CRC(d8458039) SHA1(72c056d493e74ceca41f48936012b012b496a226)) ROM_END @@ -2198,10 +2280,6 @@ ROM_START(pro128s) ROM_REGION(0x4000, "os", 0) ROM_COPY("option", 0x40000, 0, 0x4000) - - // ROM_REGION(0x80,"eeprom",0) /* pcd8572 */ - /* Factory defaulted EEPROM, sets default language ROM, etc. */ - // ROM_LOAD("mos510o.epr", 0x00, 0x80, CRC(d8458039) SHA1(72c056d493e74ceca41f48936012b012b496a226)) ROM_END @@ -2241,6 +2319,42 @@ ROM_START(discmate) ROM_END +ROM_START(cfa3000) + ROM_REGION(0x10000, "maincpu", ROMREGION_ERASEFF) /* ROM MEMORY */ + + ROM_REGION(0x44000, "option", 0) /* ROM */ + ROM_LOAD("CFA3000_3_4_Iss10.3.ic41", 0x10000, 0x08000, CRC(ecb385ab) SHA1(eafa9b34cb1cf63790f74332bb7d85ee356b6973)) + ROM_LOAD("CFA3000_SM_Iss10.3.ic37", 0x18000, 0x08000, CRC(c07aee5f) SHA1(1994e3755dc15d1ea7e105bc19cd57893b719779)) + ROM_LOAD("Acorn_MOS_(Tinsley_64K)_Iss10.3.ic24", 0x30000, 0x10000, CRC(4413c3ee) SHA1(76d0462b4dabe2461010fce2341570ff3d606d54)) + //ROM_COPY("option", 0x20000, 0x30000, 0x10000) /* Mirror MOS */ + ROM_COPY("option", 0x30000, 0x40000, 0x04000) /* Move loaded roms into place */ + ROM_FILL(0x30000, 0x4000, 0xFFFF) + /* 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 ANFS */ + /* 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_REGION(0x4000, "os", 0) + ROM_COPY("option", 0x40000, 0, 0x4000) + + ROM_REGION(0x40, "rtc", 0) /* mc146818 */ + /* Factory defaulted CMOS RAM, sets default language ROM, etc. */ + ROM_LOAD("mos350.cmos", 0x00, 0x40, CRC(e84c1854) SHA1(f3cb7f12b7432caba28d067f01af575779220aac)) +ROM_END + + #define rom_ltmpbp rom_bbcbp #define rom_ltmpm rom_bbcm @@ -2260,6 +2374,7 @@ COMP ( 1985, acw443, bbcbp, 0, acw443, abc, bbc_state, bbc, COMP ( 1985, abc310, bbcbp, 0, abc310, abc, bbc_state, bbc, "Acorn", "ABC 310", MACHINE_NOT_WORKING) COMP ( 1985, ltmpbp, bbcbp, 0, ltmpbp, ltmpbp, bbc_state, bbc, "Lawrie T&M Ltd.", "LTM Portable (B+)", MACHINE_IMPERFECT_GRAPHICS) COMP ( 1985, reutapm, bbcbp, 0, reutapm, bbcb, bbc_state, bbc, "Acorn", "Reuters APM", MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING) +COMP ( 1986, econx25, bbcbp, 0, econx25, bbcbp, bbc_state, bbc, "Acorn", "Econet X25 Gateway", MACHINE_NOT_WORKING) COMP ( 1986, bbcm, 0, bbcb, bbcm, bbcm, bbc_state, bbc, "Acorn", "BBC Master 128", MACHINE_IMPERFECT_GRAPHICS) COMP ( 1986, bbcmt, bbcm, 0, bbcmt, bbcm, bbc_state, bbc, "Acorn", "BBC Master Turbo", MACHINE_NOT_WORKING) COMP ( 1986, bbcmaiv, bbcm, 0, bbcmaiv, bbcm, bbc_state, bbc, "Acorn", "BBC Master AIV", MACHINE_NOT_WORKING) @@ -2272,3 +2387,5 @@ COMP ( 1986, bbcmc_ar, bbcmc, 0, bbcmc, bbcm, bbc_state, bbc, COMP ( 1987, pro128s, bbcmc, 0, pro128s, bbcm, bbc_state, bbc, "Olivetti", "Prodest PC 128S", MACHINE_IMPERFECT_GRAPHICS) //COMP ( 1988, discmon, bbcm, 0, discmon, bbcm, bbc_state, bbc, "Arbiter Leisure", "Arbiter Discmonitor A-01", MACHINE_NOT_WORKING) COMP ( 1988, discmate, bbcm, 0, discmate, bbcm, bbc_state, bbc, "Arbiter Leisure", "Arbiter Discmate A-02", MACHINE_NOT_WORKING) +//COMP ( 1988, discmast, bbcm, 0, discmast, bbcm, bbc_state, bbc, "Arbiter Leisure", "Arbiter Discmaster A-03", MACHINE_NOT_WORKING) +COMP ( 1988, cfa3000, bbcm, 0, cfa3000, bbcm, bbc_state, bbc, "Tinsley Medical Instruments", "Henson CFA 3000", MACHINE_NOT_WORKING) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5f5f4629708..bb98a896ba2 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -2727,7 +2727,9 @@ bbcmc // 1986 BBC Master Compact bbcmc_ar // 1986 BBC Master Compact (Arabic) bbcmet // 1986 BBC Master ET bbcmt // 1986 BBC Master Turbo +cfa3000 // 1989 Henson CFA 3000 discmate // 1988 Arbiter Discmate +econx25 // 1986 Econet X25 Gateway ltmpbp // 1985 LTM Portable (B+) ltmpm // 1986 LTM Portable (Master) pro128s // 1987 Olivetti Prodest PC 128S -- cgit v1.2.3