diff options
author | hap <happppp@users.noreply.github.com> | 2021-03-11 15:36:55 +0100 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2021-03-11 15:37:12 +0100 |
commit | 0b371f59629fa2742bf938789ab89c701140102b (patch) | |
tree | 95f8e0a05405e890bae798f15ddb095c4d084ed1 | |
parent | 4cf96da22c09651c1da2b27ee61028d558e7af49 (diff) |
New machines marked as NOT_WORKING
----------------------------------
Tri-1 (Fonas) [hap, Sean Riddle]
-rw-r--r-- | src/devices/cpu/pps41/pps41base.cpp | 10 | ||||
-rw-r--r-- | src/devices/cpu/pps41/pps41base.h | 2 | ||||
-rw-r--r-- | src/mame/drivers/fidel_cc7.cpp | 16 | ||||
-rw-r--r-- | src/mame/drivers/hh_pps41.cpp | 110 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 6 | ||||
-rw-r--r-- | src/mame/layout/hh_pps41_test.lay | 2 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
7 files changed, 123 insertions, 24 deletions
diff --git a/src/devices/cpu/pps41/pps41base.cpp b/src/devices/cpu/pps41/pps41base.cpp index 7250383e664..4c824022b39 100644 --- a/src/devices/cpu/pps41/pps41base.cpp +++ b/src/devices/cpu/pps41/pps41base.cpp @@ -23,6 +23,10 @@ Part numbers: "spider" = 2 rows of pins on each side, just like standard PPS-4 CPUs. "L" main difference is low-power +Internal clock is 4-phase (4 subcycles per 1-byte opcode), and when running +from an external oscillator, it is divided by 2 first. It also has an internal +oscillator which can be enabled up with a resistor to VC. + References: - Series MM76 Product Description - Series MM77 Product Description @@ -117,7 +121,7 @@ void pps41_base_device::device_start() m_s = 0; m_sdi = 0; - m_sclock_in = 0; + m_sclock_in = 1; m_sclock_count = 0; m_ss_pending = false; @@ -125,7 +129,7 @@ void pps41_base_device::device_start() m_d_mask = (1 << m_d_pins) - 1; m_d_output = 0; m_r_output = 0; - m_int_line[0] = m_int_line[1] = 0; + m_int_line[0] = m_int_line[1] = 1; // GND = 1 m_int_ff[0] = m_int_ff[1] = 0; // register for savestates @@ -255,7 +259,7 @@ void pps41_base_device::execute_set_input(int line, int state) void pps41_base_device::cycle() { - m_icount--; + m_icount -= 4; // clock serial i/o m_ss_pending = m_ss_pending || bool(m_sclock_count & 1); diff --git a/src/devices/cpu/pps41/pps41base.h b/src/devices/cpu/pps41/pps41base.h index ce60c6692ce..af5e12ddbcc 100644 --- a/src/devices/cpu/pps41/pps41base.h +++ b/src/devices/cpu/pps41/pps41base.h @@ -52,6 +52,8 @@ protected: virtual void device_reset() override; // device_execute_interface overrides + virtual u64 execute_clocks_to_cycles(u64 clocks) const noexcept override { return (clocks + 2 - 1) / 2; } + virtual u64 execute_cycles_to_clocks(u64 cycles) const noexcept override { return (cycles * 2); } virtual u32 execute_min_cycles() const noexcept override { return 1; } virtual u32 execute_max_cycles() const noexcept override { return 2; } virtual u32 execute_input_lines() const noexcept override { return 4; } diff --git a/src/mame/drivers/fidel_cc7.cpp b/src/mame/drivers/fidel_cc7.cpp index ce466993ad8..0446a0a1977 100644 --- a/src/mame/drivers/fidel_cc7.cpp +++ b/src/mame/drivers/fidel_cc7.cpp @@ -3,10 +3,10 @@ // thanks-to:Berger /****************************************************************************** -Fidelity Chess Challenger 7 (CC7, BCC) +Fidelity Chess Challenger 7 (BCC) ------------------------ -It was Fidelity's most sold chess computer. Model BCC appears to be the first -version, and the CC7 model was produced starting from 1980. +It was Fidelity's most sold chess computer. The first version was released in +1979, and a newer PCB revision was produced in 1980. Zilog Z80A, 3.579MHz from XTAL Z80 IRQ/NMI unused, no timer IC. @@ -18,7 +18,7 @@ to the display panel instead. CC7 (BCC) was also bootlegged around 1981 by Splice Industria Brasileira, as "Byte XD-300". Mostek MK3880N-4 @ 4MHz, ROM contents is same as BCC REVB. -RE information from netlist by Berger (a BCC model) +RE information from netlist by Berger (1st version PCB) Memory map: ----------- @@ -249,12 +249,12 @@ void bcc_state::bcc(machine_config &config) ROM Definitions ******************************************************************************/ -ROM_START( cc7 ) // model CC7, PCB label 510-380 +ROM_START( cc7 ) // PCB label 510-380 ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "101-32016", 0x0000, 0x1000, CRC(b9076c52) SHA1(09b17ac6cd6a1c5c62aea3649f3367bcf4405598) ) // 2332 ROM_END -ROM_START( cc7a ) // model BCC +ROM_START( cc7a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cn19103n_bcc-revb", 0x0000, 0x1000, CRC(a397d471) SHA1(9b12bc442fccee40f4d8500c792bc9d886c5e1a5) ) // 2332 ROM_END @@ -274,7 +274,7 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1980, cc7, 0, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (model CC7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1979, cc7a, cc7, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (model BCC, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1980, cc7, 0, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1979, cc7a, cc7, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1979, backgamc, 0, 0, bkc, bkc, bcc_state, empty_init, "Fidelity Electronics", "Backgammon Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/drivers/hh_pps41.cpp b/src/mame/drivers/hh_pps41.cpp index b5568301666..d24be147b12 100644 --- a/src/mame/drivers/hh_pps41.cpp +++ b/src/mame/drivers/hh_pps41.cpp @@ -11,6 +11,7 @@ #include "cpu/pps41/mm75.h" #include "cpu/pps41/mm76.h" +#include "cpu/pps41/mm78.h" #include "video/pwm.h" #include "sound/spkrdev.h" #include "speaker.h" @@ -20,7 +21,7 @@ #include "memoquiz.lh" #include "scrabsen.lh" -//#include "hh_pps41_test.lh" // common test-layout - use external artwork +#include "hh_pps41_test.lh" // common test-layout - use external artwork class hh_pps41_state : public driver_device @@ -86,7 +87,8 @@ u8 hh_pps41_state::read_inputs(int columns) if (m_inp_mux >> i & 1) ret |= m_inputs[i]->read(); - return ret; + // active low by default + return ~ret; } @@ -101,6 +103,96 @@ namespace { /*************************************************************************** + Fonas Tri-1 + * MM78 MCU variant with 40 pins (label ?, die label A7859) + * 4 7seg leds, 41 other leds, 1-bit sound + +***************************************************************************/ + +class ftri1_state : public hh_pps41_state +{ +public: + ftri1_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_pps41_state(mconfig, type, tag) + { } + + void update_display(); + void write_d(u16 data); + void write_r(u8 data); + void ftri1(machine_config &config); +}; + +// handlers + +void ftri1_state::update_display() +{ + m_display->matrix((m_d << 4 & 0x100) | (~m_r & 0xff), bitswap<8>(m_d, 2,5,8,0,1,3,7,6)); +} + +void ftri1_state::write_d(u16 data) +{ + // DIO0-DIO3, DIO5-DIO8: digit/led data + // DIO4: another led select + m_d = data; + update_display(); + + // DIO9: speaker out + m_speaker->level_w(BIT(data, 9)); +} + +void ftri1_state::write_r(u8 data) +{ + // RIO1-RIO8: digit/led select + m_r = data; + update_display(); +} + +// config + +static INPUT_PORTS_START( ftri1 ) + PORT_START("IN.0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) +INPUT_PORTS_END + +void ftri1_state::ftri1(machine_config &config) +{ + /* basic machine hardware */ + MM78(config, m_maincpu, 600000); // approximation + m_maincpu->write_d().set(FUNC(ftri1_state::write_d)); + m_maincpu->write_r().set(FUNC(ftri1_state::write_r)); + m_maincpu->read_p().set_ioport("IN.0"); + + /* video hardware */ + PWM_DISPLAY(config, m_display).set_size(9, 8); + m_display->set_segmask(0xff, 0x7f); + config.set_default_layout(layout_hh_pps41_test); + + /* sound hardware */ + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( ftri1 ) + ROM_REGION( 0x0800, "maincpu", 0 ) + ROM_LOAD( "ftri1.bin", 0x0000, 0x0800, CRC(3c957f1d) SHA1(42db81a78bbef971a84e61a26d91f7411980d79c) ) +ROM_END + + + + + +/*************************************************************************** + Invicta Electronic Master Mind * MM75 MCU (label MM75 A7525-11, die label A7525) * 9-digit 7seg VFD display (Futaba 9-ST) @@ -150,7 +242,7 @@ void mastmind_state::write_r(u8 data) u8 mastmind_state::read_p() { // PI1-PI4: multiplexed inputs - return ~read_inputs(4); + return read_inputs(4); } // config @@ -184,7 +276,7 @@ INPUT_PORTS_END void mastmind_state::mastmind(machine_config &config) { /* basic machine hardware */ - MM75(config, m_maincpu, 90000); // approximation + MM75(config, m_maincpu, 700000); // approximation m_maincpu->write_d().set(FUNC(mastmind_state::write_d)); m_maincpu->write_r().set(FUNC(mastmind_state::write_r)); m_maincpu->read_p().set(FUNC(mastmind_state::read_p)); @@ -282,7 +374,7 @@ void memoquiz_state::write_r(u8 data) u8 memoquiz_state::read_p() { // PI1-PI4: multiplexed inputs - return ~read_inputs(4); + return read_inputs(4); } // config @@ -322,7 +414,7 @@ INPUT_PORTS_END void memoquiz_state::memoquiz(machine_config &config) { /* basic machine hardware */ - MM75(config, m_maincpu, 90000); // approximation + MM75(config, m_maincpu, 700000); // approximation m_maincpu->write_d().set(FUNC(memoquiz_state::write_d)); m_maincpu->write_r().set(FUNC(memoquiz_state::write_r)); m_maincpu->read_p().set(FUNC(memoquiz_state::read_p)); @@ -412,7 +504,7 @@ void scrabsen_state::write_r(u8 data) u8 scrabsen_state::read_p() { // PI1-PI7: multiplexed inputs - return ~read_inputs(5); + return read_inputs(5); } // config @@ -477,7 +569,7 @@ INPUT_PORTS_END void scrabsen_state::scrabsen(machine_config &config) { /* basic machine hardware */ - MM76EL(config, m_maincpu, 95000); // approximation + MM76EL(config, m_maincpu, 750000); // approximation m_maincpu->write_d().set(FUNC(scrabsen_state::write_d)); m_maincpu->write_r().set(FUNC(scrabsen_state::write_r)); m_maincpu->read_p().set(FUNC(scrabsen_state::read_p)); @@ -513,6 +605,8 @@ ROM_END ***************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +CONS( 1979, ftri1, 0, 0, ftri1, ftri1, ftri1_state, empty_init, "Fonas", "Tri-1 (Fonas)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) + CONS( 1979, mastmind, 0, 0, mastmind, mastmind, mastmind_state, empty_init, "Invicta Plastics", "Electronic Master Mind (Invicta)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) CONS( 1978, memoquiz, 0, 0, memoquiz, memoquiz, memoquiz_state, empty_init, "M.E.M. Belgium", "Memoquiz", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 360ce6434aa..af8182cdce3 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -6295,10 +6295,8 @@ ROM_END This handheld is not a toy, read the manual for more information. In short, it is a device for predicting the winning chance of a gambling horserace. - known releases: - - USA: Thoroughbred Horse Race Analyzer - - China/Canada: Thoroughbred Horse Race Analyzer, published in 1994 by - Advanced Handicapping Technologies, Inc. + It was rereleased in 1994 in China/Canada by AHTI(Advanced Handicapping + Technologies, Inc.), on a Hitachi HD613901. ***************************************************************************/ diff --git a/src/mame/layout/hh_pps41_test.lay b/src/mame/layout/hh_pps41_test.lay index d737d012688..1f4755364e9 100644 --- a/src/mame/layout/hh_pps41_test.lay +++ b/src/mame/layout/hh_pps41_test.lay @@ -10,7 +10,7 @@ license:CC0 <element name="led" defstate="0"> <disk state="0"><color red="0.0" green="0.0" blue="0.0" /></disk> - <disk state="1"><color red="0.5" green="1.0" blue="1.0" /></disk> + <disk state="1"><color red="1.0" green="0.2" blue="0.23" /></disk> </element> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3e56f6ac0f7..0788a242457 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16176,6 +16176,7 @@ us2pfball // US Games uspbball // US Games @source:hh_pps41.cpp +ftri1 // Fonas mastmind // Invicta memoquiz // MEM scrabsen // Selchow & Righter |