summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fidel68k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fidel68k.cpp')
-rw-r--r--src/mame/drivers/fidel68k.cpp473
1 files changed, 0 insertions, 473 deletions
diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp
deleted file mode 100644
index 56cd651bb90..00000000000
--- a/src/mame/drivers/fidel68k.cpp
+++ /dev/null
@@ -1,473 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:hap
-/******************************************************************************
-
- Fidelity Electronics 68000 based board driver
-
- TODO:
- - how does dual-CPU work?
- - IRQ level/timing is unknown
- - USART is not emulated
- - V11 CPU should be M68EC060, not yet emulated
-
-******************************************************************************
-
-Elite Avant Garde (EAG, model 6114)
------------------------------------
-
-There are 5 versions of model 6114(V1 to V5). The one emulated here came from a V2,
-but is practically emulated as a V4.
-
-V1: 128KB DRAM, no EEPROM
-V2: 128KB DRAM
-V3: 512KB DRAM
-V4: 1MB DRAM
-V5: 128KB+64KB DRAM, dual-CPU! (2*68K @ 16MHz)
-
-V6-V11 are on model 6117. Older 1986 model 6081 uses a 6502 CPU.
-
-Hardware info:
---------------
-- MC68HC000P12F 16MHz CPU, 16MHz XTAL
-- MB1422A DRAM Controller, 25MHz XTAL near, 4 DRAM slots(V2: slot 1 and 2 64KB)
-- 2*27C512 64KB EPROM, 2*KM6264AL-10 8KB SRAM, 2*AT28C64X 8KB EEPROM
-- OKI M82C51A-2 USART, 4.9152MHz XTAL
-- other special: magnet sensors, external module slot, serial port
-
-IRQ source is unknown. Several possibilities:
-- NE555 timer IC
-- MM/SN74HC4060 binary counter IC (near the M82C51A)
-- one of the XTALs, plus divider of course
-
-The module slot pinout is different from SCC series. The data on those appears
-to be compatible with EAG though and will load fine with an adapter.
-
-The USART allows for a serial connection between the chess computer and another
-device, for example a PC. Fidelity released a DOS tool called EAGLINK which
-featured PC printer support, complete I/O control, detailed information while
-the program is 'thinking', etc.
-
-Memory map: (of what is known)
------------
-000000-01FFFF: 128KB ROM
-104000-107FFF: 16KB SRAM
-200000-2FFFFF: hashtable DRAM (max. 1MB)
-300000-30000F W hi d0: NE591: 7seg data
-300000-30000F W lo d0: NE591: LED data
-300000-30000F R lo d7: 74259: keypad rows 0-7
-400000-400001 W lo d0-d3: 74145/7442: led/keypad mux, buzzer out
-400000-4????? R hi: external module slot
-700002-700003 R lo d7: 74251: keypad row 8
-604000-607FFF: 16KB EEPROM
-
-
-******************************************************************************
-
-Elite Avant Garde (EAG, model 6117)
------------------------------------
-
-There are 6 versions of model 6114(V6 to V11). From a programmer's point of view,
-the hardware is very similar to model 6114.
-
-V6: 68020, 512KB hashtable RAM
-V7: 68020, 1MB h.RAM
-V8: 2*68020, 512KB+128KB h.RAM
-V9: 68030, 1MB h.RAM
-V10: 68040, 1MB h.RAM
-V11: 68060, 2MB h.RAM, high speed
-
-V7 Hardware info:
------------------
-- MC68020RC25E CPU, 25MHz XTAL
-- 4*AS7C164-20PC 8KB SRAM, 2*KM684000ALG-7L 512KB CMOS SRAM
-- 2*27C512? 64KB EPROM, 2*HM6264LP-15 8KB SRAM, 2*AT28C64B 8KB EEPROM, 2*GAL16V8C
-- same as 6114: M82C51A, NE555, SN74HC4060, module slot, chessboard, ..
-
-V7 Memory map:
---------------
-000000-01FFFF: 128KB ROM
-104000-107FFF: 16KB SRAM (unused?)
-200000-2FFFFF: hashtable SRAM
-300000-30000x: see model 6114
-400000-40000x: see model 6114
-700000-70000x: see model 6114
-604000-607FFF: 16KB EEPROM
-800000-807FFF: 32KB SRAM
-
-V10 Hardware info:
-------------------
-- 68040 CPU, 25MHz
-- other: assume same or very similar to V11(see below)
-
-The ROM dump came from the V11(see below). Built-in factory test proves
-that this program is a V10. Hold TB button immediately after power-on and
-press it for a sequence of tests:
-1) all LEDs on
-2) F40C: V10 program version
-3) 38b9: V10 ROM checksum
-4) xxxx: external module ROM checksum (0000 if no module present)
-5) xxxx: user settings (stored in EEPROM)
-6) xxxx: "
-7) 1024: hashtable RAM size
-8) return to game
-
-V11 Hardware info:
-------------------
-- MC68EC060RC75 CPU, 36MHz XTAL(36MHz bus, 72MHz CPU), CPU cooler required
-- 4*CXK5863AP-20 8KB SRAM, 4*K6X4008C1F-DF55 512KB CMOS SRAM
-- 4*M27C256B 32KB EPROM, 2*AT28C64 8KB EEPROM, 5*GAL16V8D
-- NEC D71051C USART, assume 8MHz, on quick glance it's same as the OKI USART
-- same as 6114: NE555, SN74HC4060, module slot, chessboard, ..
-
-This is a custom overclocked V10, manufactured by Wilfried Bucke. PCB is marked:
-"CHESS HW DESIGN COPYRIGHT 22-10-2002: REVA03 510.1136A01/510.1144B01 COMPONENT SIDE"
-There are two versions of this, one with a 66MHz CPU, one with a 72MHz CPU.
-Maybe other differences too?
-
-V1x Memory map:
----------------
-000000-01FFFF: 128KB ROM
-200000-3FFFFF: hashtable SRAM (less on V10?)
-B0000x-xxxxxx: see V7, -800000
-
-******************************************************************************/
-
-#include "emu.h"
-#include "cpu/m68000/m68000.h"
-#include "machine/nvram.h"
-
-#include "includes/fidelz80.h"
-
-// internal artwork
-#include "fidel_eag.lh" // clickable
-
-
-class fidel68k_state : public fidelz80base_state
-{
-public:
- fidel68k_state(const machine_config &mconfig, device_type type, const char *tag)
- : fidelz80base_state(mconfig, type, tag)
- { }
-
- // devices/pointers
-
- // EAG(6114/6117)
- void eag_prepare_display();
- DECLARE_READ8_MEMBER(eag_input1_r);
- DECLARE_WRITE8_MEMBER(eag_leds_w);
- DECLARE_WRITE8_MEMBER(eag_7seg_w);
- DECLARE_WRITE8_MEMBER(eag_mux_w);
- DECLARE_READ8_MEMBER(eag_input2_r);
- DECLARE_READ8_MEMBER(eag_cart_r);
-};
-
-
-
-// Devices, I/O
-
-/******************************************************************************
- EAG
-******************************************************************************/
-
-// misc handlers
-
-void fidel68k_state::eag_prepare_display()
-{
- // 8*7seg leds, (8+1)*8 chessboard leds
- UINT8 seg_data = BITSWAP8(m_7seg_data,0,1,3,2,7,5,6,4);
- set_display_segmask(0x1ef, 0x7f);
- display_matrix(16, 9, m_led_data << 8 | seg_data, m_inp_mux);
-}
-
-
-// TTL/generic
-
-READ8_MEMBER(fidel68k_state::eag_input1_r)
-{
- // a1-a3,d7: multiplexed inputs (active low)
- return (read_inputs(9) >> offset & 1) ? 0 : 0x80;
-}
-
-READ8_MEMBER(fidel68k_state::eag_input2_r)
-{
- // d7: multiplexed inputs highest bit
- return (read_inputs(9) & 0x100) ? 0x80 : 0;
-}
-
-WRITE8_MEMBER(fidel68k_state::eag_leds_w)
-{
- // a1-a3,d0: led data
- m_led_data = (m_led_data & ~(1 << offset)) | ((data & 1) << offset);
- eag_prepare_display();
-}
-
-WRITE8_MEMBER(fidel68k_state::eag_7seg_w)
-{
- // a1-a3,d0(d8): digit segment data
- m_7seg_data = (m_7seg_data & ~(1 << offset)) | ((data & 1) << offset);
- eag_prepare_display();
-}
-
-WRITE8_MEMBER(fidel68k_state::eag_mux_w)
-{
- // d0-d3: 74145 A-D
- // 74145 0-8: input mux, digit/led select
- // 74145 9: speaker out
- UINT16 sel = 1 << (data & 0xf);
- m_speaker->level_w(sel >> 9 & 1);
- m_inp_mux = sel & 0x1ff;
- eag_prepare_display();
-}
-
-READ8_MEMBER(fidel68k_state::eag_cart_r)
-{
- if (m_cart->exists())
- return m_cart->read_rom(space, offset);
- else
- return 0;
-}
-
-
-
-/******************************************************************************
- Address Maps
-******************************************************************************/
-
-// EAG
-
-static ADDRESS_MAP_START( eag_map, AS_PROGRAM, 16, fidel68k_state )
- AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x104000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x2fffff) AM_RAM // DRAM slots
- AM_RANGE(0x300000, 0x30000f) AM_MIRROR(0x000010) AM_READWRITE8(eag_input1_r, eag_leds_w, 0x00ff)
- AM_RANGE(0x300000, 0x30000f) AM_MIRROR(0x000010) AM_WRITE8(eag_7seg_w, 0xff00) AM_READNOP
- AM_RANGE(0x400000, 0x407fff) AM_READ8(eag_cart_r, 0xff00)
- AM_RANGE(0x400000, 0x400001) AM_WRITE8(eag_mux_w, 0x00ff)
- AM_RANGE(0x400002, 0x400007) AM_WRITENOP // ?
- AM_RANGE(0x604000, 0x607fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x700002, 0x700003) AM_READ8(eag_input2_r, 0x00ff)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( eagv7_map, AS_PROGRAM, 32, fidel68k_state )
- AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x104000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x2fffff) AM_RAM
- AM_RANGE(0x300000, 0x30000f) AM_MIRROR(0x000010) AM_READWRITE8(eag_input1_r, eag_leds_w, 0x00ff00ff)
- AM_RANGE(0x300000, 0x30000f) AM_MIRROR(0x000010) AM_WRITE8(eag_7seg_w, 0xff00ff00) AM_READNOP
- AM_RANGE(0x400000, 0x407fff) AM_READ8(eag_cart_r, 0xff00ff00)
- AM_RANGE(0x400000, 0x400003) AM_WRITE8(eag_mux_w, 0x00ff0000)
- AM_RANGE(0x400004, 0x400007) AM_WRITENOP // ?
- AM_RANGE(0x604000, 0x607fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x700000, 0x700003) AM_READ8(eag_input2_r, 0x000000ff)
- AM_RANGE(0x800000, 0x807fff) AM_RAM
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( eagv11_map, AS_PROGRAM, 32, fidel68k_state )
- AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
- AM_RANGE(0x00200000, 0x003fffff) AM_RAM
- AM_RANGE(0x00b00000, 0x00b0000f) AM_MIRROR(0x00000010) AM_READWRITE8(eag_input1_r, eag_leds_w, 0x00ff00ff)
- AM_RANGE(0x00b00000, 0x00b0000f) AM_MIRROR(0x00000010) AM_WRITE8(eag_7seg_w, 0xff00ff00) AM_READNOP
- AM_RANGE(0x00c00000, 0x00c07fff) AM_READ8(eag_cart_r, 0xff00ff00)
- AM_RANGE(0x00c00000, 0x00c00003) AM_WRITE8(eag_mux_w, 0x00ff0000)
- AM_RANGE(0x00c00004, 0x00c00007) AM_WRITENOP // ?
- AM_RANGE(0x00e04000, 0x00e07fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x00f00000, 0x00f00003) AM_READ8(eag_input2_r, 0x000000ff)
- AM_RANGE(0x01000000, 0x0101ffff) AM_RAM
-ADDRESS_MAP_END
-
-
-
-/******************************************************************************
- Input Ports
-******************************************************************************/
-
-static INPUT_PORTS_START( eag )
- PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h1")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g1")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f1")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e1")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d1")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c1")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b1")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a1")
- PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_NAME("CL")
-
- PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h2")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g2")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f2")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e2")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d2")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c2")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b2")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a2")
- PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("DM")
-
- PORT_START("IN.2")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h3")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g3")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f3")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e3")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d3")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c3")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b3")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a3")
- PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
-
- PORT_START("IN.3")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h4")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g4")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f4")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e4")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d4")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c4")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b4")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a4")
-
- PORT_START("IN.4")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h5")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g5")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f5")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e5")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d5")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c5")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b5")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a5")
-
- PORT_START("IN.5")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h6")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g6")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f6")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e6")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d6")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c6")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b6")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a6")
-
- PORT_START("IN.6")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h7")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g7")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f7")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e7")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d7")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c7")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b7")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a7")
-
- PORT_START("IN.7")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square h8")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square g8")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square f8")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square e8")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square d8")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square c8")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square b8")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Square a8")
-
- PORT_START("IN.8")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("PB/King")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("PV/Queen")
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("TM/Rook")
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("ST/Bishop")
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("TB/Knight")
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("LV/Pawn")
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("Option")
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("RV")
-INPUT_PORTS_END
-
-
-
-/******************************************************************************
- Machine Drivers
-******************************************************************************/
-
-static MACHINE_CONFIG_START( eag, fidel68k_state )
-
- /* basic machine hardware */
- MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz)
- MCFG_CPU_PROGRAM_MAP(eag_map)
- MCFG_CPU_PERIODIC_INT_DRIVER(fidel68k_state, irq2_line_hold, 600) // complete guess
-
- MCFG_NVRAM_ADD_1FILL("nvram")
-
- MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
- MCFG_DEFAULT_LAYOUT(layout_fidel_eag)
-
- /* sound hardware */
- MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
-
- /* cartridge */
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
- MCFG_GENERIC_EXTENSIONS("bin,dat")
- MCFG_GENERIC_LOAD(fidelz80base_state, scc_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_DERIVED( eagv7, eag )
-
- /* basic machine hardware */
- MCFG_CPU_REPLACE("maincpu", M68020, XTAL_25MHz)
- MCFG_CPU_PROGRAM_MAP(eagv7_map)
- MCFG_CPU_PERIODIC_INT_DRIVER(fidel68k_state, irq2_line_hold, 600) // complete guess
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_DERIVED( eagv10, eag )
-
- /* basic machine hardware */
- MCFG_CPU_REPLACE("maincpu", M68040, XTAL_25MHz)
- MCFG_CPU_PROGRAM_MAP(eagv11_map)
- MCFG_CPU_PERIODIC_INT_DRIVER(fidel68k_state, irq2_line_hold, 600) // complete guess
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_DERIVED( eagv11, eag )
-
- /* basic machine hardware */
- MCFG_CPU_REPLACE("maincpu", M68EC040, XTAL_36MHz*2) // wrong! should be M68EC060
- MCFG_CPU_PROGRAM_MAP(eagv11_map)
- MCFG_CPU_PERIODIC_INT_DRIVER(fidel68k_state, irq2_line_hold, 600) // complete guess
-MACHINE_CONFIG_END
-
-
-
-/******************************************************************************
- ROM Definitions
-******************************************************************************/
-
-ROM_START( feagv2 )
- ROM_REGION16_BE( 0x20000, "maincpu", 0 )
- ROM_LOAD16_BYTE("6114_e5.u18", 0x00000, 0x10000, CRC(f9c7bada) SHA1(60e545f829121b9a4f1100d9e85ac83797715e80) ) // 27c512
- ROM_LOAD16_BYTE("6114_o5.u19", 0x00001, 0x10000, CRC(04f97b22) SHA1(8b2845dd115498f7b385e8948eca6a5893c223d1) ) // "
-ROM_END
-
-
-ROM_START( feagv7 )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD16_BYTE("eag-v7b", 0x00000, 0x10000, CRC(f2f68b63) SHA1(621e5073e9c5083ac9a9b467f3ef8aa29beac5ac) )
- ROM_LOAD16_BYTE("eag-v7a", 0x00001, 0x10000, CRC(506b688f) SHA1(0a091c35d0f01166b57f964b111cde51c5720d58) )
-ROM_END
-
-
-ROM_START( feagv11 )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD32_BYTE("16", 0x00000, 0x08000, CRC(8375d61f) SHA1(e042f6f01480c59ee09a458cf34f135664479824) ) // 27c256
- ROM_LOAD32_BYTE("18", 0x00002, 0x08000, CRC(9341dcaf) SHA1(686bd4799e89ffaf11a813d4cf5a2aedd4c2d97a) ) // "
- ROM_LOAD32_BYTE("19", 0x00003, 0x08000, CRC(a70c5468) SHA1(7f6b4f46577d5cfdaa84d387c7ce35d941e5bbc7) ) // "
- ROM_LOAD32_BYTE("17", 0x00001, 0x08000, CRC(bfd14916) SHA1(115af6dfd29ddd8ad6d2ce390f8ecc4d60de6fce) ) // "
-ROM_END
-
-#define rom_feagv10 rom_feagv11
-
-
-
-/******************************************************************************
- Drivers
-******************************************************************************/
-
-/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
-COMP( 1989, feagv2, 0, 0, eag, eag, driver_device, 0, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-COMP( 1990, feagv7, 0, 0, eagv7, eag, driver_device, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-COMP( 1990, feagv10, 0, 0, eagv10, eag, driver_device, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-COMP( 2002, feagv11, feagv10, 0, eagv11, eag, driver_device, 0, "hack (Wilfried Bucke)", "Elite Avant Garde (model 6117-11)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )