mattel D&D WIP

This commit is contained in:
hap 2015-12-14 02:31:53 +01:00
parent 7d08109cca
commit aa35ff1b11
3 changed files with 102 additions and 14 deletions

View File

@ -2671,16 +2671,90 @@ MACHINE_CONFIG_END
/***************************************************************************
Mattel Dungeons & Dragons - Computer Labyrinth Game
* TMS1100 M34012-N2LL (die labeled M34012)
* 72 buttons, no LEDs, 1bit sound
***************************************************************************/
class mdndclab_state : public hh_tms1k_state
{
public:
mdndclab_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(mdndclab_state::write_r)
{
// R10: speaker out
m_speaker->level_w(data >> 10 & 1);
// R0-R9: input mux part
}
WRITE16_MEMBER(mdndclab_state::write_o)
{
// O0-O7: input mux part
}
READ8_MEMBER(mdndclab_state::read_k)
{
// K: multiplexed inputs
return 0;
//return read_inputs(18);
}
// config
static INPUT_PORTS_START( mdndclab )
INPUT_PORTS_END
static MACHINE_CONFIG_START( mdndclab, mdndclab_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS1100, 500000) // approximation - RC osc. R=27K, C=100pf, but unknown RC curve
MCFG_TMS1XXX_READ_K_CB(READ8(mdndclab_state, read_k))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mdndclab_state, write_r))
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mdndclab_state, write_o))
/* no video! */
/* 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
/*************************************************************************** /***************************************************************************
Milton Bradley Comp IV Milton Bradley Comp IV
* TMC0904NL CP0904A (die labeled 4A0970D-04A) * TMC0904NL CP0904A (die labeled 4A0970D-04A)
* 10 LEDs behind bezel, no sound * 10 LEDs behind bezel, no sound
known releases:
- USA: Comp IV (two versions, different casing)
- Europe: Logic 5
- Japan: Pythaligoras
This is small tabletop Mastermind game; a code-breaking game where the player This is small tabletop Mastermind game; a code-breaking game where the player
needs to find out the correct sequence of colours (numbers in our case). needs to find out the correct sequence of colours (numbers in our case).
It is known as Logic 5 in Europe, and as Pythaligoras in Japan.
Press the R key to start, followed by a set of unique numbers and E. Press the R key to start, followed by a set of unique numbers and E.
Refer to the official manual for more information. Refer to the official manual for more information.
@ -4359,8 +4433,8 @@ MACHINE_CONFIG_END
***************************************************************************/ ***************************************************************************/
ROM_START( mathmagi ) ROM_START( mathmagi )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "mp1030", 0x0000, 0x800, CRC(a81d7ccb) SHA1(4756ce42f1ea28ce5fe6498312f8306f10370969) ) ROM_LOAD( "mp1030", 0x0000, 0x0800, CRC(a81d7ccb) SHA1(4756ce42f1ea28ce5fe6498312f8306f10370969) )
ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
@ -4559,6 +4633,17 @@ ROM_START( astro )
ROM_END ROM_END
ROM_START( mdndclab )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "m34012", 0x0000, 0x0800, CRC(e851fccd) SHA1(158362c2821678a51554e02dbb2f9ef5aaf5f59f) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_mdndclab_output.pla", 0, 365, CRC(592b40ba) SHA1(63a2531278a665ace54c541101e052eb84413511) )
ROM_END
ROM_START( comp4 ) ROM_START( comp4 )
ROM_REGION( 0x0400, "maincpu", 0 ) ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "tmc0904nl_cp0904a", 0x0000, 0x0400, CRC(6233ee1b) SHA1(738e109b38c97804b4ec52bed80b00a8634ad453) ) ROM_LOAD( "tmc0904nl_cp0904a", 0x0000, 0x0400, CRC(6233ee1b) SHA1(738e109b38c97804b4ec52bed80b00a8634ad453) )
@ -4586,8 +4671,8 @@ ROM_END
ROM_START( ssimon ) ROM_START( ssimon )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "mp3476", 0x0000, 0x800, CRC(98200571) SHA1(cbd0bcfc11a534aa0be5d011584cdcac58ff437a) ) ROM_LOAD( "mp3476", 0x0000, 0x0800, CRC(98200571) SHA1(cbd0bcfc11a534aa0be5d011584cdcac58ff437a) )
ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
@ -4623,8 +4708,8 @@ ROM_END
ROM_START( merlin ) ROM_START( merlin )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "mp3404", 0x0000, 0x800, CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) ) ROM_LOAD( "mp3404", 0x0000, 0x0800, CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) )
ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) ) ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
@ -4696,8 +4781,8 @@ ROM_END
ROM_START( tandy12 ) ROM_START( tandy12 )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "cd7282sl", 0x0000, 0x800, CRC(a10013dd) SHA1(42ebd3de3449f371b99937f9df39c240d15ac686) ) ROM_LOAD( "cd7282sl", 0x0000, 0x0800, CRC(a10013dd) SHA1(42ebd3de3449f371b99937f9df39c240d15ac686) )
ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
@ -4718,8 +4803,8 @@ ROM_END
ROM_START( tpinball ) ROM_START( tpinball )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "mp1180", 0x0000, 0x800, CRC(2163b92d) SHA1(bc53d1911e88b4e89d951c6f769703105c13389c) ) ROM_LOAD( "mp1180", 0x0000, 0x0800, CRC(2163b92d) SHA1(bc53d1911e88b4e89d951c6f769703105c13389c) )
ROM_REGION( 867, "maincpu:mpla", 0 ) ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
@ -4755,6 +4840,8 @@ CONS( 1979, starwbcp, starwbc, 0, starwbc, starwbc, driver_device, 0, "Ken
COMP( 1979, astro, 0, 0, astro, astro, driver_device, 0, "Kosmos", "Astro", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) COMP( 1979, astro, 0, 0, astro, astro, driver_device, 0, "Kosmos", "Astro", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
CONS( 1980, mdndclab, 0, 0, mdndclab, mdndclab, driver_device, 0, "Mattel", "Dungeons & Dragons - Computer Labyrinth Game", MACHINE_SUPPORTS_SAVE ) // ***
CONS( 1977, comp4, 0, 0, comp4, comp4, driver_device, 0, "Milton Bradley", "Comp IV", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) CONS( 1977, comp4, 0, 0, comp4, comp4, driver_device, 0, "Milton Bradley", "Comp IV", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
CONS( 1978, simon, 0, 0, simon, simon, driver_device, 0, "Milton Bradley", "Simon (Rev. A)", MACHINE_SUPPORTS_SAVE ) CONS( 1978, simon, 0, 0, simon, simon, driver_device, 0, "Milton Bradley", "Simon (Rev. A)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, ssimon, 0, 0, ssimon, ssimon, driver_device, 0, "Milton Bradley", "Super Simon", MACHINE_SUPPORTS_SAVE ) CONS( 1979, ssimon, 0, 0, ssimon, ssimon, driver_device, 0, "Milton Bradley", "Super Simon", MACHINE_SUPPORTS_SAVE )

View File

@ -30,13 +30,13 @@ public:
// devices // devices
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
optional_ioport_array<11> m_inp_matrix; // max 11 optional_ioport_array<18> m_inp_matrix; // max 18
optional_device<speaker_sound_device> m_speaker; optional_device<speaker_sound_device> m_speaker;
// misc common // misc common
UINT16 m_r; // MCU R-pins data UINT16 m_r; // MCU R-pins data
UINT16 m_o; // MCU O-pins data UINT16 m_o; // MCU O-pins data
UINT16 m_inp_mux; // multiplexed inputs mask UINT32 m_inp_mux; // multiplexed inputs mask
bool m_power_on; bool m_power_on;
bool m_power_led; bool m_power_led;

View File

@ -2248,6 +2248,7 @@ elecdet // Ideal
starwbc // Kenner starwbc // Kenner
starwbcp // Kenner (patent) starwbcp // Kenner (patent)
astro // Kosmos astro // Kosmos
mdndclab // Mattel
comp4 // Milton Bradley comp4 // Milton Bradley
simon // Milton Bradley simon // Milton Bradley
ssimon // Milton Bradley ssimon // Milton Bradley