diff options
author | hap <happppp@users.noreply.github.com> | 2018-01-01 03:38:20 +0100 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2018-01-01 03:38:38 +0100 |
commit | 1757c326fe39b15f3736cf95ff91f4467cca5b94 (patch) | |
tree | fb4fd7f3425523da11e5654f69f3c1eaa6ca4861 /src | |
parent | 29d3bdec02ada037f0d1a09cb55b8f0f77261cec (diff) |
New working machines
-----------
TI unknown electronic maze game (patent) [hap, Sean Riddle]
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 93 | ||||
-rw-r--r-- | src/mame/layout/timaze.lay | 13 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
3 files changed, 106 insertions, 1 deletions
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 9f36de6f056..ca34ab52c20 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -14,7 +14,7 @@ - tispeak: TI Speak & Spell series gen. 1 Let's use this driver for a list of known devices and their serials, - excluding TI's own products. + excluding TI's own products(they didn't use "MP" codes). serial device etc. -------------------------------------------------------------------- @@ -219,6 +219,7 @@ #include "tc4.lh" #include "tcfball.lh" #include "tcfballa.lh" +#include "timaze.lh" #include "xl25.lh" // clickable #include "zodiac.lh" @@ -8245,6 +8246,83 @@ MACHINE_CONFIG_END /*************************************************************************** + Texas Instruments maze game (unreleased, from patent GB2040172A) + * TMS1000 (development version) + * 1 7seg LED digit, no sound + + The title of this game is unknown, the patent describes it simply as a maze game. + Several electronic maze game concepts are listed in the patent. The PCB schematic + and program source code is included for one of them: A predefined 12*8 maze, + walls close to the player are displayed on a 7seg digit. + + In the end Texas Instruments didn't release any electronic maze game. This version + is too simple and obviously unfinished, start and goal positions are always the same + and there is a lot of ROM space left for more levels. + +***************************************************************************/ + +class timaze_state : public hh_tms1k_state +{ +public: + timaze_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_tms1k_state(mconfig, type, tag) + { } + + DECLARE_WRITE16_MEMBER(write_r); + DECLARE_WRITE16_MEMBER(write_o); + DECLARE_READ8_MEMBER(read_k); +}; + +// handlers + +WRITE16_MEMBER(timaze_state::write_r) +{ + // R0: input mux + m_inp_mux = data & 1; +} + +WRITE16_MEMBER(timaze_state::write_o) +{ + // O3210: 7seg EGCD? + set_display_segmask(1, 0x5c); + display_matrix(8, 1, bitswap<8>(data, 7,1,6,0,3,2,5,4), 1); +} + +READ8_MEMBER(timaze_state::read_k) +{ + // K: multiplexed inputs + return read_inputs(1); +} + + +// config + +static INPUT_PORTS_START( timaze ) + PORT_START("IN.0") // R0 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY +INPUT_PORTS_END + +static MACHINE_CONFIG_START( timaze ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", TMS1000, 200000) // approximation - RC osc. R=80K, C=27pF + MCFG_TMS1XXX_READ_K_CB(READ8(timaze_state, read_k)) + MCFG_TMS1XXX_WRITE_R_CB(WRITE16(timaze_state, write_r)) + MCFG_TMS1XXX_WRITE_O_CB(WRITE16(timaze_state, write_o)) + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_timaze) +MACHINE_CONFIG_END + + + + + +/*************************************************************************** + Tiger Electronics Copy Cat (model 7-520) * PCB label CC REV B * TMS1000 MCU, label 69-11513 MP0919 (die label MP0919) @@ -9967,6 +10045,17 @@ ROM_START( speechp ) ROM_END +ROM_START( timaze ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "gb2040172a", 0x0000, 0x0400, CRC(0bab4dc6) SHA1(c9d40649fbb27a8b7cf7460d66c7e217b63376f0) ) // from patent GB2040172A, verified with source code + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, BAD_DUMP CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) ) // not in patent, use default one + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_timaze_output.pla", 0, 365, BAD_DUMP CRC(f0f36970) SHA1(a6ad1f5e804ac98e5e1a1d07466b3db3a8d6c256) ) // described in patent, but unsure about pin order +ROM_END + + ROM_START( copycat ) ROM_REGION( 0x0400, "maincpu", 0 ) ROM_LOAD( "mp0919", 0x0000, 0x0400, CRC(92a21299) SHA1(16daadb8dbf53aaab8a71833017b4a578d035d6d) ) @@ -10137,6 +10226,8 @@ CONS( 1982, monkeysee, 0, 0, monkeysee, monkeysee, monkeysee_state, 0, COMP( 1976, speechp, 0, 0, speechp, speechp, speechp_state, 0, "Telesensory Systems, Inc.", "Speech+", MACHINE_SUPPORTS_SAVE ) +CONS( 1979, timaze, 0, 0, timaze, timaze, timaze_state, 0, "Texas Instruments", "unknown electronic maze game (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) + CONS( 1979, copycat, 0, 0, copycat, copycat, copycat_state, 0, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, copycatm2, copycat, 0, copycatm2, copycatm2, copycatm2_state, 0, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1981, ditto, 0, 0, ditto, ditto, ditto_state, 0, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/timaze.lay b/src/mame/layout/timaze.lay new file mode 100644 index 00000000000..349ae9e708f --- /dev/null +++ b/src/mame/layout/timaze.lay @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + + <element name="digit" defstate="0"> + <led7seg><color red="1.0" green="0.15" blue="0.20" /></led7seg> + </element> + + <view name="Internal Layout"> + <bounds left="0" right="10" top="0" bottom="15" /> + <bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel> + + </view> +</mamelayout> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 9f300a3da5b..d84978b432d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14847,6 +14847,7 @@ tbreakup // Tomy tc4 // Coleco tcfball // Tandy Radio Shack tcfballa // Tandy Radio Shack +timaze // Texas Instruments xl25 // Vulcan zodiac // Coleco |