New working clones added

-------------
Fidelity Excel 68000 Mach II (rev. C+) [CB-Emu]
Fidelity Excel 68000 Mach III [CB-Emu]
This commit is contained in:
hap 2017-07-08 17:54:26 +02:00
parent 9ed831e0a6
commit ca9de0f13d
2 changed files with 72 additions and 21 deletions

View File

@ -11,6 +11,7 @@
such as Arena(in editmode).
TODO:
- fex68km3 addressmap RAM mirror? PCB has 2*32K RAM, emulated has 16K+64K
- how does dual-CPU work?
- USART is not emulated
- V9(68030 @ 32MHz) is faster than V10(68040 @ 25MHz) but it should be the other
@ -23,11 +24,14 @@
Excel 68000 (model 6094)
------------------------
16KB RAM(2*SRM2264C-10), 64KB ROM(2*AT27C256-15DC)
16KB RAM(2*SRM2264C-10 @ U8/U9), 64KB ROM(2*AT27C256-15DC @ U6/U7)
HD68HC000P12 CPU, 12MHz XTAL
PCB label 510-1129A01
PCB has edge connector for module, but no external slot
There's room for 2 SIMMs at U22 and U23. Unpopulated in Excel 68000, used for
128KB hashtable RAM in Mach II. Mach III has wire mods to U8/U9(2*32KB).
I/O is via TTL, overall very similar to EAG.
@ -181,7 +185,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE); }
// Excel 68000
DECLARE_WRITE8_MEMBER(fexcel68k_mux_w);
DECLARE_WRITE8_MEMBER(fex68k_mux_w);
// EAG(6114/6117)
DECLARE_DRIVER_INIT(eag);
@ -202,7 +206,7 @@ public:
Excel 68000
******************************************************************************/
WRITE8_MEMBER(fidel68k_state::fexcel68k_mux_w)
WRITE8_MEMBER(fidel68k_state::fex68k_mux_w)
{
// a1-a3,d0: 74259
u8 mask = 1 << offset;
@ -282,13 +286,23 @@ READ8_MEMBER(fidel68k_state::eag_cart_r)
// Excel 68000
static ADDRESS_MAP_START( fexcel68k_map, AS_PROGRAM, 16, fidel68k_state )
static ADDRESS_MAP_START( fex68k_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x000000, 0x00000f) AM_MIRROR(0x00fff0) AM_WRITE8(eag_leds_w, 0x00ff)
AM_RANGE(0x000000, 0x00000f) AM_MIRROR(0x00fff0) AM_WRITE8(eag_7seg_w, 0xff00)
AM_RANGE(0x044000, 0x047fff) AM_RAM
AM_RANGE(0x100000, 0x10000f) AM_MIRROR(0x03fff0) AM_READ8(eag_input1_r, 0x00ff)
AM_RANGE(0x140000, 0x14000f) AM_MIRROR(0x03fff0) AM_WRITE8(fexcel68k_mux_w, 0x00ff)
AM_RANGE(0x140000, 0x14000f) AM_MIRROR(0x03fff0) AM_WRITE8(fex68k_mux_w, 0x00ff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( fex68km2_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x200000, 0x21ffff) AM_RAM
AM_IMPORT_FROM( fex68k_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( fex68km3_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_IMPORT_FROM( fex68k_map )
ADDRESS_MAP_END
@ -345,7 +359,7 @@ ADDRESS_MAP_END
Input Ports
******************************************************************************/
static INPUT_PORTS_START( fexcel68k )
static INPUT_PORTS_START( fex68k )
PORT_INCLUDE( fidel_cb_buttons )
PORT_START("IN.8")
@ -389,11 +403,11 @@ INPUT_PORTS_END
Machine Drivers
******************************************************************************/
static MACHINE_CONFIG_START( fexcel68k )
static MACHINE_CONFIG_START( fex68k )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) // HD68HC000P12
MCFG_CPU_PROGRAM_MAP(fexcel68k_map)
MCFG_CPU_PROGRAM_MAP(fex68k_map)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel68k_state, irq_on, attotime::from_hz(618)) // theoretical frequency from 556 timer (22nF, 91K + 20K POT @ 14.8K, 0.1K), measurement was 580Hz
MCFG_TIMER_START_DELAY(attotime::from_hz(618) - attotime::from_nsec(1525)) // active for 1.525us
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel68k_state, irq_off, attotime::from_hz(618))
@ -408,6 +422,21 @@ static MACHINE_CONFIG_START( fexcel68k )
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( fex68km2, fex68k )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fex68km2_map)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( fex68km3, fex68k )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL_16MHz) // factory overclock
MCFG_CPU_PROGRAM_MAP(fex68km3_map)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( eag )
/* basic machine hardware */
@ -479,10 +508,22 @@ MACHINE_CONFIG_END
ROM Definitions
******************************************************************************/
ROM_START( fexcel68k ) // model 6094, PCB label 510.1120B01
ROM_START( fex68k ) // model 6094, PCB label 510.1120B01
ROM_REGION16_BE( 0x10000, "maincpu", 0 )
ROM_LOAD16_BYTE("e3_yellow.u6", 0x00000, 0x08000, CRC(a8a27714) SHA1(bc42a561eb39dd389c7831f1a25ad260510085d8) ) // AT27C256-15
ROM_LOAD16_BYTE("04_red.u7", 0x00001, 0x08000, CRC(560a14b7) SHA1(11f2375255bfa229314697f103e891ba1cf0c715) ) // "
ROM_LOAD16_BYTE("o4_red.u7", 0x00001, 0x08000, CRC(560a14b7) SHA1(11f2375255bfa229314697f103e891ba1cf0c715) ) // "
ROM_END
ROM_START( fex68km2 ) // model 6097, PCB label 510.1120B01
ROM_REGION16_BE( 0x10000, "maincpu", 0 )
ROM_LOAD16_BYTE("fex68km2.u6", 0x00000, 0x08000, CRC(2e65e7ad) SHA1(4f3aec12041c9014d5d700909bac66bae1f9eadf) )
ROM_LOAD16_BYTE("fex68km2.u7", 0x00001, 0x08000, CRC(4c20334a) SHA1(2e575b88c41505cc89599d2fc13e1e84fe474469) )
ROM_END
ROM_START( fex68km3 ) // model 6098, PCB label 510.1120B01
ROM_REGION16_BE( 0x10000, "maincpu", 0 )
ROM_LOAD16_BYTE("me_white.u6", 0x00000, 0x08000, CRC(4b14cd9f) SHA1(4d41196900a71bf0699dae50f4726acc0ed3dced) ) // 27c256
ROM_LOAD16_BYTE("mo_yellow.u7", 0x00001, 0x08000, CRC(b96b0b5f) SHA1(281145be802efb38ed764aecb26b511dcd71cb87) ) // "
ROM_END
@ -510,6 +551,14 @@ ROM_START( feagv9 )
ROM_LOAD16_BYTE("eag-v9a", 0x00001, 0x10000, CRC(255c63c0) SHA1(8aa0397bdb3731002f5b066cd04ec62531267e22) )
ROM_END
ROM_START( feagv10 )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD32_BYTE("16", 0x00000, 0x08000, CRC(8375d61f) SHA1(e042f6f01480c59ee09a458cf34f135664479824) ) // 27c256
ROM_LOAD32_BYTE("17", 0x00001, 0x08000, CRC(bfd14916) SHA1(115af6dfd29ddd8ad6d2ce390f8ecc4d60de6fce) ) // "
ROM_LOAD32_BYTE("18", 0x00002, 0x08000, CRC(9341dcaf) SHA1(686bd4799e89ffaf11a813d4cf5a2aedd4c2d97a) ) // "
ROM_LOAD32_BYTE("19", 0x00003, 0x08000, CRC(a70c5468) SHA1(7f6b4f46577d5cfdaa84d387c7ce35d941e5bbc7) ) // "
ROM_END
ROM_START( feagv11 )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD32_BYTE("16", 0x00000, 0x08000, CRC(8375d61f) SHA1(e042f6f01480c59ee09a458cf34f135664479824) ) // 27c256
@ -518,20 +567,20 @@ ROM_START( feagv11 )
ROM_LOAD32_BYTE("19", 0x00003, 0x08000, CRC(a70c5468) SHA1(7f6b4f46577d5cfdaa84d387c7ce35d941e5bbc7) ) // "
ROM_END
#define rom_feagv10 rom_feagv11
/******************************************************************************
Drivers
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1987, fexcel68k, 0, 0, fexcel68k, fexcel68k, fidel68k_state, 0, "Fidelity Electronics", "Excel 68000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1987, fex68k, 0, 0, fex68k, fex68k, fidel68k_state, 0, "Fidelity Electronics", "Excel 68000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1988, fex68km2, fex68k, 0, fex68km2, fex68k, fidel68k_state, 0, "Fidelity Electronics", "Excel 68000 Mach II (rev. C+)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1988, fex68km3, fex68k, 0, fex68km3, fex68k, fidel68k_state, 0, "Fidelity Electronics", "Excel 68000 Mach III", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, feagv2, 0, 0, eag, eag, fidel68k_state, eag, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, feagv2a, feagv2, 0, eag, eag, fidel68k_state, eag, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv7, feagv2, 0, eagv7, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv9, feagv2, 0, eagv9, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-9)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv10, feagv2, 0, eagv10, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 2002, feagv11, feagv2, 0, eagv11, eag, fidel68k_state, 0, "hack (Wilfried Bucke)", "Elite Avant Garde (model 6117-11)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, feagv2, 0, 0, eag, eag, fidel68k_state, eag, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, feagv2a, feagv2, 0, eag, eag, fidel68k_state, eag, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv7, feagv2, 0, eagv7, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv9, feagv2, 0, eagv9, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-9)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, feagv10, feagv2, 0, eagv10, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 2002, feagv11, feagv2, 0, eagv11, eag, fidel68k_state, 0, "hack (Wilfried Bucke)", "Elite Avant Garde (model 6117-11)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -12490,7 +12490,9 @@ feagv2 //
feagv2a //
feagv7 //
feagv9 //
fexcel68k //
fex68k //
fex68km2 //
fex68km3 //
@source:fidelmcs48.cpp
fscc6 //