Previous 199869 Revisions Next

r37212 Thursday 16th April, 2015 at 18:09:50 UTC by hap
(MESS)New working game added
-----------------
Mego Mini-Vid Break Free [hap, Kevin Horton]
[src/mess]mess.lst
[src/mess/drivers]hh_hmcs40.c hh_tms1k.c hh_ucom4.c

trunk/src/mess/drivers/hh_hmcs40.c
r245723r245724
357357
358358   PORT_START("IN.1") // D8 port R0x
359359   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // separate directional buttons, hence 16way
360   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // "
360   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // "
361361   PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
362362
363363   PORT_START("IN.2") // D9 port R0x
r245723r245724
15481548   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
15491549   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // separate directional buttons, hence 16way
15501550   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
1551   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // "
1551   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // "
15521552
15531553   PORT_START("IN.1") // D2 port R0x
1554   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way
1555   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_COCKTAIL PORT_16WAY // "
1556   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    ) PORT_COCKTAIL PORT_16WAY // "
1554   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way
1555   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY // "
1556   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY // "
15571557   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY // "
15581558
15591559   PORT_START("IN.2") // D3 port R0x
r245723r245724
16281628
16291629static INPUT_PORTS_START( epacman2 )
16301630   PORT_START("IN.0") // D1 port R0x
1631   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    ) PORT_16WAY // separate directional buttons, hence 16way
1631   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY // separate directional buttons, hence 16way
16321632   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // "
1633   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_16WAY // "
1634   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_16WAY // "
1633   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY // "
1634   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // "
16351635
16361636   PORT_START("IN.1") // D2 port R0x
1637   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way
1638   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_COCKTAIL PORT_16WAY // "
1639   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    ) PORT_COCKTAIL PORT_16WAY // "
1637   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way
1638   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY // "
1639   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY // "
16401640   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY // "
16411641
16421642   PORT_START("IN.2") // D3 port R0x
trunk/src/mess/drivers/hh_tms1k.c
r245723r245724
181181            int state = active_state[y] >> x & 1;
182182            char buf1[0x10]; // lampyx
183183            char buf2[0x10]; // y.x
184
184           
185185            if (x == m_display_maxx)
186186            {
187187               // always-on if selected
r245723r245724
918918/***************************************************************************
919919
920920  Entex Electronic Baseball 2
921  * PCBs are labeled: ZENY
921  * boards are labeled: ZENY
922922  * TMS1000 MCU, MP0923 (die labeled MP0923)
923923  * 3 7seg LEDs, and other LEDs behind bezel, 1bit sound
924924
r245723r245724
10451045/***************************************************************************
10461046
10471047  Entex Electronic Baseball 3
1048  * PCBs are labeled: ZENY
1048  * boards are labeled: ZENY
10491049  * TMS1100NLL 6007 MP1204 (die labeled MP1204)
10501050  * 2*SN75492N LED display driver
10511051  * 4 7seg LEDs, and other LEDs behind bezel, 1bit sound
r245723r245724
12911291static INPUT_PORTS_START( einvader )
12921292   PORT_START("IN.0")
12931293   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1294   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // separate directional buttons, hence 16way
1294   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // separate directional buttons, hence 16way
12951295   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // "
12961296   PORT_CONFNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) PORT_CHANGED_MEMBER(DEVICE_SELF, einvader_state, difficulty_switch, NULL)
12971297   PORT_CONFSETTING(    0x00, "Amateur" )
r245723r245724
13461346  Ideal Electronic Detective
13471347  * TMS0980NLL MP6100A (die labeled 0980B-00)
13481348  * 10-digit 7seg LED display, 1bit sound
1349
1349 
13501350  hardware (and concept) is very similar to Parker Bros Stop Thief
13511351
13521352  This is an electronic board game. It requires game cards with suspect info,
r245723r245724
16381638{
16391639   // R0-R7: input mux
16401640   m_inp_mux = data & 0xff;
1641
1641   
16421642   // R0-R9: led select
16431643   m_r = data;
16441644   prepare_display();
r245723r245724
19651965{
19661966   // R0-R3,R9,R10: input mux
19671967   m_inp_mux = (data & 0xf) | (data >> 5 & 0x30);
1968
1968   
19691969   // R4: yellow lamps
19701970   // R5: green lamps
19711971   // R6: blue lamps
19721972   // R7: red lamps
19731973   display_matrix(4, 1, data >> 4, 1);
1974
1974   
19751975   // R8: speaker out
19761976   m_speaker->level_w(data >> 8 & 1);
19771977}
trunk/src/mess/drivers/hh_ucom4.c
r245723r245724
3232
3333***************************************************************************/
3434
35
36
37
38
39
40
41
42/***************************************************************************
43
44  Mego Mini-Vid Break Free (manufactured in Japan)
45  * PCB label Mego 79 rev F
46  * NEC uCOM-43 MCU, labeled D553C 031
47  * cyan VFD display Futaba DM-4.5 91
48
49  NOTE!: MESS external artwork is recommended
50
51***************************************************************************/
52
53
54
55
5635#include "emu.h"
5736#include "cpu/ucom4/ucom4.h"
5837#include "sound/speaker.h"
r245723r245724
959938
960939/***************************************************************************
961940
941  Mego Mini-Vid Break Free (manufactured in Japan)
942  * PCB label Mego 79 rev F
943  * NEC uCOM-43 MCU, labeled D553C 049
944  * cyan VFD display Futaba DM-4.5 91
945
946  NOTE!: MESS external artwork is recommended
947
948***************************************************************************/
949
950class mvbfree_state : public hh_ucom4_state
951{
952public:
953   mvbfree_state(const machine_config &mconfig, device_type type, const char *tag)
954      : hh_ucom4_state(mconfig, type, tag)
955   { }
956
957   void prepare_display();
958   DECLARE_WRITE8_MEMBER(grid_w);
959   DECLARE_WRITE8_MEMBER(plate_w);
960   DECLARE_WRITE8_MEMBER(speaker_w);
961};
962
963// handlers
964
965void mvbfree_state::prepare_display()
966{
967   UINT16 grid = BITSWAP16(m_grid,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
968   UINT16 plate = BITSWAP16(m_plate,15,14,13,12,11,10,0,1,2,3,4,5,6,7,8,9);
969   display_matrix(10, 14, plate, grid);
970}
971
972WRITE8_MEMBER(mvbfree_state::grid_w)
973{
974   // E23,F,G,H: vfd matrix grid
975   int shift = (offset - NEC_UCOM4_PORTE) * 4;
976   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
977   
978   // E01: plate 0,1
979   if (offset == NEC_UCOM4_PORTE)
980      plate_w(space, 2 + NEC_UCOM4_PORTC, data & 3);
981   else
982      prepare_display();
983}
984
985WRITE8_MEMBER(mvbfree_state::plate_w)
986{
987   // C,D(,E01): vfd matrix plate
988   int shift = (offset - NEC_UCOM4_PORTC) * 4;
989   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
990   prepare_display();
991}
992
993WRITE8_MEMBER(mvbfree_state::speaker_w)
994{
995   // I0: speaker out
996   m_speaker->level_w(data & 1);
997}
998
999
1000// config
1001
1002static INPUT_PORTS_START( mvbfree )
1003   PORT_START("IN.0") // port A
1004   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way
1005   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY // "
1006   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY // "
1007   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY // "
1008
1009   PORT_START("IN.1") // port B
1010   PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) // unimplemented p1/p2 buttons
1011   PORT_CONFNAME( 0x0c, 0x04, "Game Select")
1012   PORT_CONFSETTING(    0x04, "1" )
1013   PORT_CONFSETTING(    0x00, "2" )
1014   PORT_CONFSETTING(    0x08, "3" )
1015INPUT_PORTS_END
1016
1017static MACHINE_CONFIG_START( mvbfree, mvbfree_state )
1018
1019   /* basic machine hardware */
1020   MCFG_CPU_ADD("maincpu", NEC_D553, 400000) // approximation
1021   MCFG_UCOM4_READ_A_CB(IOPORT("IN.0"))
1022   MCFG_UCOM4_READ_B_CB(IOPORT("IN.1"))
1023   MCFG_UCOM4_WRITE_C_CB(WRITE8(mvbfree_state, plate_w))
1024   MCFG_UCOM4_WRITE_D_CB(WRITE8(mvbfree_state, plate_w))
1025   MCFG_UCOM4_WRITE_E_CB(WRITE8(mvbfree_state, grid_w))
1026   MCFG_UCOM4_WRITE_F_CB(WRITE8(mvbfree_state, grid_w))
1027   MCFG_UCOM4_WRITE_G_CB(WRITE8(mvbfree_state, grid_w))
1028   MCFG_UCOM4_WRITE_H_CB(WRITE8(mvbfree_state, grid_w))
1029   MCFG_UCOM4_WRITE_I_CB(WRITE8(mvbfree_state, speaker_w))
1030
1031   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1))
1032   MCFG_DEFAULT_LAYOUT(layout_hh_ucom4_test)
1033
1034   /* no video! */
1035
1036   /* sound hardware */
1037   MCFG_SPEAKER_STANDARD_MONO("mono")
1038   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
1039   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1040MACHINE_CONFIG_END
1041
1042
1043
1044
1045
1046/***************************************************************************
1047
9621048  Tomy(tronic) Tennis (manufactured in Japan)
9631049  * PCB labeled TOMY TN-04 TENNIS
9641050  * NEC uCOM-44 MCU, labeled D552C 048
r245723r245724
11821268
11831269static INPUT_PORTS_START( tmpacman )
11841270   PORT_START("IN.0") // port A
1185   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_16WAY // separate directional buttons, hence 16way
1186   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_16WAY // "
1271   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // separate directional buttons, hence 16way
1272   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY // "
11871273   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // "
1188   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    ) PORT_16WAY // "
1274   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY // "
11891275
11901276   PORT_START("IN.1") // port B
11911277   PORT_CONFNAME( 0x01, 0x00, DEF_STR( Difficulty ) )
r245723r245724
15971683ROM_END
15981684
15991685
1686ROM_START( mvbfree )
1687   ROM_REGION( 0x0800, "maincpu", 0 )
1688   ROM_LOAD( "d553c-049", 0x0000, 0x0800, CRC(d64a8399) SHA1(97887e486fa29b1fc4a5a40cacf3c960f67aacbf) )
1689ROM_END
1690
1691
16001692ROM_START( tmtennis )
16011693   ROM_REGION( 0x0400, "maincpu", 0 )
16021694   ROM_LOAD( "d552c-048", 0x0000, 0x0400, CRC(78702003) SHA1(4d427d4dbeed901770c682338867f58c7b54eee3) )
r245723r245724
16381730CONS( 1982, astrocmd, 0,        0, astrocmd, astrocmd, driver_device, 0, "Epoch", "Astro Command", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
16391731CONS( 1982, edracula, 0,        0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
16401732
1733CONS( 1979, mvbfree,  0,        0, mvbfree,  mvbfree,  driver_device, 0, "Mego", "Mini-Vid Break Free", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
1734
16411735CONS( 1980, tmtennis, 0,        0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
16421736CONS( 1982, tmpacman, 0,        0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
16431737CONS( 1982, tmscramb, 0,        0, tmscramb, tmscramb, driver_device, 0, "Tomy", "Scramble (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/mess.lst
r245723r245724
21912191cdkong      // Coleco
21922192cgalaxn     // Coleco
21932193cpacman     // Coleco
2194cpacmanr1   //
2194cpacmanr1   // Coleco (rev 1)
21952195cmspacmn    // Coleco
21962196egalaxn2    // Entex
21972197epacman2    // Entex
21982198pbqbert     // Parker Brothers
2199mvbfree     // Mego
21992200kingman     // Tomy
22002201tmtron      // Tomy
22012202vinvader    // VTech


Previous 199869 Revisions Next


© 1997-2024 The MAME Team