New clones marked NOT WORKING

-----------------------------
Econet X25 Gateway
Henson CFA 3000
This commit is contained in:
Nigel Barnes 2017-08-24 02:50:47 +01:00
parent d502c80e04
commit 942d583270
2 changed files with 172 additions and 53 deletions

View File

@ -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_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)

View File

@ -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