From ba7e8fb8eee2b3d7f82add55214fb358aa285287 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 25 Feb 2017 20:24:20 +0100 Subject: moved fphantom to fidel6502 driver (nw) --- scripts/target/mame/mess.lua | 1 - src/mame/drivers/fidel6502.cpp | 94 +++++++++++++++++++++++-- src/mame/drivers/phantom.cpp | 155 ----------------------------------------- src/mame/layout/fphantom.lay | 20 ------ src/mame/mame.lst | 4 +- 5 files changed, 89 insertions(+), 185 deletions(-) delete mode 100644 src/mame/drivers/phantom.cpp delete mode 100644 src/mame/layout/fphantom.lay diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index ba31c0bc232..a3f6f9ea260 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2200,7 +2200,6 @@ files { createMESSProjects(_target, _subtarget, "mb") files { MAME_DIR .. "src/mame/drivers/microvsn.cpp", - MAME_DIR .. "src/mame/drivers/phantom.cpp", } createMESSProjects(_target, _subtarget, "mchester") diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index 595ed7a8ba9..b7f3f7b9669 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -18,6 +18,7 @@ - verify cpu speed and rom labels where unknown - EAG missing bankswitch? where is the 2nd half of the 32KB ROM used, if at all? - granits gives error beeps at start, need to press clear to play + - finish fphantom emulation ****************************************************************************** @@ -351,7 +352,7 @@ Designer 2000 (model 6102) ---------------- 8KB RAM(KM6264AL-10), 32KB ROM(AMI 101.1077A01) Ricoh RP65C02G CPU, 3MHz XTAL -PCB label 510-1129A01 +PCB label 510.1129A01 basically same as (Par) Excellence hardware, reskinned board Designer 2100 (model 6103): same hardware, XTAL 5MHz?, ROMs unknown @@ -361,24 +362,41 @@ Designer 2100 Display (model 6106) 8KB RAM(MS6264L-10), 2*32KB ROM(27C256) WDC W65C02P-6 CPU, 6MHz XTAL 4-digit LCD panel -PCB label 510-1130A01 +PCB label 510.1130A01 Designer 2000 Display (model 6105): same hardware, XTAL and ROMs unknown Designer 1500 is on 80C50 hardware +****************************************************************************** + +Phantom (model 6100) +---------------- +R65C02P4, XTAL marked 4.91?200 +2*32KB ROM 27C256-15, 8KB RAM MS6264L-10 +LCD driver, display panel for digits +magnetized x/y motor under chessboard, chesspieces have magnet underneath +piezo speaker, LEDs, 8*8 chessboard buttons +PCB label 510.1128A01 + +Fidelity licensed the design of the Milton/Phantom motorized chessboard and released +their own version. It has a small LCD panel added, the rest looks nearly the same from +the outside. After Fidelity was taken over by H&G, it was rereleased in 1990 as the +Mephisto Phantom. This is assumed to be identical. + + ****************************************************************************** Chesster (model 6120) -There is also a German version titled Kishon Chesster +There is also a German version titled Kishon Chesster (model 6120G, or 6127) ---------------- 8*(8+1) buttons, 8+8+1 LEDs 8KB RAM(UM6264-12), 32KB ROM(M27C256B) Ricoh RP65C02G CPU, 5MHz XTAL 8-bit DAC speech timed via IRQ, 128KB ROM(AMI custom label) -PCB label 510-1141C01 +PCB label 510.1141C01 I/O is via TTL, very similar to Designer Display @@ -473,6 +491,10 @@ public: DECLARE_WRITE8_MEMBER(fdesdis_lcd_w); DECLARE_READ8_MEMBER(fdesdis_input_r); DECLARE_DRIVER_INIT(fdesdis); + + // Phantom + DECLARE_MACHINE_RESET(fphantom); + DECLARE_DRIVER_INIT(fphantom); // Chesster DECLARE_WRITE8_MEMBER(chesster_control_w); @@ -935,6 +957,25 @@ DRIVER_INIT_MEMBER(fidel6502_state, fdesdis) +/****************************************************************************** + Phantom +******************************************************************************/ + +// TTL/generic + +MACHINE_RESET_MEMBER(fidel6502_state, fphantom) +{ + machine_reset(); + membank("bank1")->set_entry(0); +} + +DRIVER_INIT_MEMBER(fidel6502_state, fphantom) +{ + membank("bank1")->configure_entries(0, 2, memregion("user1")->base(), 0x4000); +} + + + /****************************************************************************** Chesster ******************************************************************************/ @@ -1082,7 +1123,7 @@ static ADDRESS_MAP_START( fexcelb_map, AS_PROGRAM, 8, fidel6502_state ) ADDRESS_MAP_END -// Designer Display, Chesster +// Designer Display, Phantom, Chesster static ADDRESS_MAP_START( fdesdis_map, AS_PROGRAM, 8, fidel6502_state ) AM_RANGE(0x0000, 0x1fff) AM_RAM @@ -1092,6 +1133,12 @@ static ADDRESS_MAP_START( fdesdis_map, AS_PROGRAM, 8, fidel6502_state ) AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END +static ADDRESS_MAP_START( fphantom_map, AS_PROGRAM, 8, fidel6502_state ) + AM_RANGE(0x0000, 0x1fff) AM_RAM + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") + AM_RANGE(0x8000, 0xffff) AM_ROM +ADDRESS_MAP_END + static ADDRESS_MAP_START( chesster_map, AS_PROGRAM, 8, fidel6502_state ) AM_RANGE(0x0000, 0x1fff) AM_RAM AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(fdesdis_input_r, chesster_control_w) @@ -1532,6 +1579,11 @@ static INPUT_PORTS_START( chesster ) INPUT_PORTS_END +static INPUT_PORTS_START( fphantom ) + PORT_INCLUDE( cb_buttons ) +INPUT_PORTS_END + + /****************************************************************************** Machine Drivers @@ -1816,6 +1868,25 @@ static MACHINE_CONFIG_DERIVED( fdes2000d, fdes2100d ) MCFG_CPU_PROGRAM_MAP(fdesdis_map) MACHINE_CONFIG_END +static MACHINE_CONFIG_START( fphantom, fidel6502_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", R65C02, XTAL_4_9152MHz) // R65C02P4 + MCFG_CPU_PERIODIC_INT_DRIVER(fidel6502_state, irq0_line_hold, 600) // guessed + MCFG_CPU_PROGRAM_MAP(fphantom_map) + + MCFG_MACHINE_RESET_OVERRIDE(fidel6502_state, fphantom) + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelbase_state, display_decay_tick, attotime::from_msec(1)) + //MCFG_DEFAULT_LAYOUT(layout_fidel_phantom) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("speaker") + MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( chesster, fidel6502_state ) /* basic machine hardware */ @@ -2136,7 +2207,7 @@ ROM_START( fscc9ps ) ROM_END -ROM_START( fscc12 ) +ROM_START( fscc12 ) // PCB label 510-1084B01 ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD("101-1068a01", 0x8000, 0x2000, CRC(63c76cdd) SHA1(e0771c98d4483a6b1620791cb99a7e46b0db95c4) ) // SSS SCM23C65E4 ROM_LOAD("tms2732ajl-45", 0xc000, 0x1000, CRC(45070a71) SHA1(8aeecff828f26fb7081902c757559903be272649) ) // TI TMS2732AJL-45 @@ -2210,6 +2281,15 @@ ROM_START( fdes2000d ) // model 6105, PCB label 510.1130A01 ROM_END +ROM_START( fphantom ) // model 6100, PCB label 510.1128A01 + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("u_3c_yellow.u3", 0x8000, 0x8000, CRC(fb7c38ae) SHA1(a1aa7637705052cb4eec92644dc79aee7ba4d77c) ) // 27C256 + + ROM_REGION( 0x8000, "user1", 0 ) + ROM_LOAD("u_4_white.u4", 0x0000, 0x8000, CRC(e4181ba2) SHA1(1f77d1867c6f566be98645fc252a01108f412c96) ) // 27C256 +ROM_END + + ROM_START( chesster ) // model 6120, PCB label 510.1141C01 ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD("ch_1.3.ic9", 0x8000, 0x8000, CRC(8b42d1ad) SHA1(2161fc5ab2476fe7ca4ffc226e3cb329b8a57a01) ) // 27256, CH 1.3 on sticker @@ -2279,5 +2359,7 @@ CONS( 1989, fdes2000, fexcelp, 0, fdes2000, fdes, driver_device, 0 CONS( 1988, fdes2100d, 0, 0, fdes2100d, fdesdis, fidel6502_state, fdesdis, "Fidelity Electronics", "Designer 2100 Display (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1988, fdes2000d, fdes2100d,0, fdes2000d, fdesdis, fidel6502_state, fdesdis, "Fidelity Electronics", "Designer 2000 Display", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1988, fphantom, 0, 0, fphantom, fphantom, fidel6502_state, fphantom, "Fidelity Electronics", "Phantom (Fidelity)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) + CONS( 1990, chesster, 0, 0, chesster, chesster, fidel6502_state, chesster, "Fidelity Electronics", "Chesster Challenger (V1.3)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1990, chesstera, chesster, 0, chesster, chesster, fidel6502_state, chesster, "Fidelity Electronics", "Chesster Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/phantom.cpp b/src/mame/drivers/phantom.cpp deleted file mode 100644 index ab9f9923319..00000000000 --- a/src/mame/drivers/phantom.cpp +++ /dev/null @@ -1,155 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:hap -/****************************************************************************** - - Milton Bradley Phantom chess computer - - TODO: - - no romdump of MB version yet - - sort out fphantom memory map - -------------------------------------------------------------------------------- - -Milton Bradley Phantom (1983): -sold as Milton in Europe, Phantom in UK, Grand Master in USA - -Hardware notes: -- CPU: SY6502A, 2MHz?(resonator) -- ROM: 2x8KB?, labels C19679, C19680 -- RAM: 2KB 4*2114 -- magnetized x/y motor under chessboard, chesspieces have magnet underneath -- piezo speaker, LEDs - - -------------------------------------------------------------------------------- - -Fidelity Phantom (1988, model 6100): - -Fidelity bought the design from Milton Bradley and released their own version. -It has a small LCD panel added, the rest looks nearly the same from the outside. - -Hardware notes: -- PCB label 510.1128A01 -- CPU: R65C02P4, XTAL marked 4.91?200 -- ROM 2*32KB 27C256-15 -- RAM: 8KB MS6264L-10 -- LCD driver, display panel for digits -- piezo speaker, LEDs(not as many) -- motor mechanism is assumed same as MB version - -After Fidelity was taken over by H&G, it was rereleased in 1990 as the Mephisto -Phantom. This is assumed to be identical. - -******************************************************************************/ - -#include "emu.h" -#include "cpu/m6502/r65c02.h" -#include "sound/speaker.h" - -// internal artwork -#include "fphantom.lh" // clickable - - -class phantom_state : public driver_device -{ -public: - phantom_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_speaker(*this, "speaker") - { } - - // devices/pointers - required_device m_maincpu; - required_device m_speaker; - - DECLARE_DRIVER_INIT(fphantom); - -protected: - virtual void machine_start() override; - virtual void machine_reset() override; -}; - - -// machine start/reset - -DRIVER_INIT_MEMBER(phantom_state, fphantom) -{ - uint8_t *ROM = memregion("maincpu")->base(); - membank("bank1")->configure_entries(0, 2, &ROM[0], 0x4000); -} - -void phantom_state::machine_start() -{ - // zerofill - - // register for savestates -} - -void phantom_state::machine_reset() -{ - membank("bank1")->set_entry(0); -} - - - -/****************************************************************************** - I/O, Memory Maps -******************************************************************************/ - -static ADDRESS_MAP_START( fphantom_mem, AS_PROGRAM, 8, phantom_state ) - AM_RANGE(0x0000, 0x1fff) AM_RAM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") - AM_RANGE(0x8000, 0xffff) AM_ROM -ADDRESS_MAP_END - - - -/****************************************************************************** - Input Ports -******************************************************************************/ - -static INPUT_PORTS_START( fphantom ) -INPUT_PORTS_END - - - -/****************************************************************************** - Machine Drivers -******************************************************************************/ - -static MACHINE_CONFIG_START( fphantom, phantom_state ) - - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", R65C02, XTAL_4_9152MHz) - MCFG_CPU_PERIODIC_INT_DRIVER(phantom_state, irq0_line_hold, 600) // guessed - MCFG_CPU_PROGRAM_MAP(fphantom_mem) - - MCFG_DEFAULT_LAYOUT(layout_fphantom) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END - - - -/****************************************************************************** - ROM Definitions -******************************************************************************/ - -ROM_START( fphantom ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("u_4.u4", 0x0000, 0x8000, CRC(e4181ba2) SHA1(1f77d1867c6f566be98645fc252a01108f412c96) ) // banked - ROM_LOAD("u_3c.u3", 0x8000, 0x8000, CRC(fb7c38ae) SHA1(a1aa7637705052cb4eec92644dc79aee7ba4d77c) ) -ROM_END - - - -/****************************************************************************** - Drivers -******************************************************************************/ - -/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ -CONS( 1988, fphantom, 0, 0, fphantom, fphantom, phantom_state, fphantom, "Fidelity Electronics", "Phantom (Fidelity)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/fphantom.lay b/src/mame/layout/fphantom.lay deleted file mode 100644 index 9d3e4d2766a..00000000000 --- a/src/mame/layout/fphantom.lay +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/mame/mame.lst b/src/mame/mame.lst index ea58f7da07e..da9eb1d2e3d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12324,6 +12324,7 @@ fexceld // fexcelp // fexcelpb // fexcelv // +fphantom // fscc9 // fscc9b // fscc9ps // @@ -30679,9 +30680,6 @@ kov3hd103 kov3hd102 kov3hd101 -@source:phantom.cpp -fphantom // - @source:phc25.cpp phc25 // phc25j // -- cgit v1.2.3