trunk/src/mame/drivers/galpanic.c
| r243490 | r243491 | |
| 354 | 354 | AM_RANGE(0xf80000, 0xf80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */ |
| 355 | 355 | ADDRESS_MAP_END |
| 356 | 356 | |
| 357 | static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, galpanic_state ) |
| 358 | AM_RANGE(0x000000, 0x4fffff) AM_ROM |
| 359 | AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram") |
| 360 | AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram") |
| 361 | AM_RANGE(0x580000, 0x583fff) AM_RAM //_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times! |
| 362 | AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */ |
| 363 | AM_RANGE(0x680000, 0x68001f) AM_RAM |
| 364 | AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") |
| 365 | AM_RANGE(0x780000, 0x78001f) AM_RAM |
| 366 | AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1") |
| 367 | AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2") |
| 368 | AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM") |
| 369 | AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r) |
| 370 | AM_RANGE(0x80000e, 0x80000f) AM_READ(comad_timer_r) |
| 371 | AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */ |
| 372 | AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP |
| 373 | AM_RANGE(0xc00000, 0xc0ffff) AM_RAM |
| 374 | AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP |
| 375 | AM_RANGE(0xe00012, 0xe00013) AM_WRITENOP |
| 376 | AM_RANGE(0xe80000, 0xe80001) AM_WRITENOP |
| 377 | AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */ |
| 378 | ADDRESS_MAP_END |
| 357 | 379 | |
| 380 | |
| 358 | 381 | static INPUT_PORTS_START( galpanic ) |
| 359 | 382 | PORT_START("DSW1") |
| 360 | 383 | PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" ) |
| r243490 | r243491 | |
| 615 | 638 | MCFG_CPU_PROGRAM_MAP(supmodel_map) |
| 616 | 639 | //MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", galpanic_state, galpanic_scanline, "screen", 0, 1) |
| 617 | 640 | |
| 618 | | /* video hardware */ |
| 619 | | MCFG_SCREEN_MODIFY("screen") |
| 620 | | MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update_comad) |
| 621 | | MCFG_SCREEN_VBLANK_NONE() |
| 622 | | |
| 623 | 641 | /* sound hardware */ |
| 624 | 642 | MCFG_OKIM6295_REPLACE("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified |
| 625 | 643 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 626 | 644 | MACHINE_CONFIG_END |
| 627 | 645 | |
| 646 | static MACHINE_CONFIG_DERIVED( smissw, comad ) // 951127 PCB, 12 & 16 clocks |
| 628 | 647 | |
| 648 | /* basic machine hardware */ |
| 649 | MCFG_CPU_MODIFY("maincpu") |
| 650 | MCFG_CPU_CLOCK(12000000) |
| 651 | MCFG_CPU_PROGRAM_MAP(smissw_map) |
| 652 | MCFG_TIMER_MODIFY("scantimer") |
| 653 | MCFG_TIMER_DRIVER_CALLBACK(galpanic_state, galhustl_scanline) |
| 654 | |
| 655 | MACHINE_CONFIG_END |
| 656 | |
| 657 | |
| 658 | |
| 629 | 659 | static MACHINE_CONFIG_DERIVED( fantsia2, comad ) |
| 630 | 660 | |
| 631 | 661 | /* basic machine hardware */ |
| r243490 | r243491 | |
| 933 | 963 | ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) ) |
| 934 | 964 | ROM_END |
| 935 | 965 | |
| 966 | ROM_START( smissw ) |
| 967 | ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */ |
| 968 | ROM_LOAD16_BYTE( "10_PROG2.UE17", 0x000000, 0x80000, CRC(e99e520f) SHA1(edd06a3b0f8d30a4020e6ea452abb0afd79d426a) ) |
| 969 | ROM_LOAD16_BYTE( "6_PROG1.UD17", 0x000001, 0x80000, CRC(22831657) SHA1(eeabcdef543048ccceabc4c3b4b288aec959a14f) ) |
| 970 | ROM_LOAD16_BYTE( "9_IM1-B.UE16B", 0x100000, 0x80000, CRC(fff1eee4) SHA1(1b88d45b5cc0b5a03296d4dc950e570fa4dc19c2) ) |
| 971 | ROM_LOAD16_BYTE( "5_IM1-A.UE16A", 0x100001, 0x80000, CRC(2134a72d) SHA1(f907ec8a1d6e5755a821e69564074ff05e426bb1) ) |
| 972 | ROM_LOAD16_BYTE( "8_IM2-B.UE15B", 0x200000, 0x80000, CRC(cf44b638) SHA1(0fe5bdb62492c31c3efffa6d85f5d6a3b4ddb2e0) ) |
| 973 | ROM_LOAD16_BYTE( "4_IM2-A.UE15A", 0x200001, 0x80000, CRC(d22b270f) SHA1(21bd2ced1b5fb3c08687addaa890ee621a56fff0) ) |
| 974 | ROM_LOAD16_BYTE( "7_IM3-B.UE14B", 0x300000, 0x80000, CRC(12a9441d) SHA1(d9cd51e0c3ffac5fc561e0927c419bce0157337e) ) |
| 975 | ROM_LOAD16_BYTE( "3_IM3-A.UE14A", 0x300001, 0x80000, CRC(8c656fc9) SHA1(c3fe5de7cd6cd520bbd205ec62ac0dda51f71eeb) ) |
| 976 | |
| 977 | ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */ |
| 978 | ROM_LOAD( "15_OBJ11.U5", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) ) |
| 979 | |
| 980 | ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */ |
| 981 | /* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */ |
| 982 | ROM_LOAD( "1_MUSIC1.UB6", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) ) |
| 983 | ROM_RELOAD( 0x40000, 0x80000 ) |
| 984 | ROM_LOAD( "2_MUSIC2.UC6", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) ) |
| 985 | ROM_END |
| 986 | |
| 987 | |
| 936 | 988 | ROM_START( fantsia2 ) |
| 937 | 989 | ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */ |
| 938 | 990 | ROM_LOAD16_BYTE( "prog2.g17", 0x000000, 0x80000, CRC(57c59972) SHA1(4b1da928b537cf340a67026d07bc3dfc078b0d0f) ) |
| r243490 | r243491 | |
| 1134 | 1186 | GAME( 1996, missw96b, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (set 3)", GAME_NO_COCKTAIL ) |
| 1135 | 1187 | GAME( 1996, missmw96, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL ) |
| 1136 | 1188 | |
| 1189 | GAME( 1996, smissw, 0, smissw, missw96, driver_device, 0, ROT0, "Comad", "Super Miss World", GAME_NO_COCKTAIL ) // 951127 PCB |
| 1190 | |
| 1137 | 1191 | GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL ) |
| 1138 | 1192 | GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL ) |
| 1139 | 1193 | |
trunk/src/mame/drivers/pokechmp.c
| r243490 | r243491 | |
| 286 | 286 | ROM_LOAD( "pokechamp_10_27c040.bin", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) ) |
| 287 | 287 | ROM_END |
| 288 | 288 | |
| 289 | // only the 'maincpu' and 'bgs' regions were dumped for this set, others assumed to be the same |
| 290 | ROM_START( pokechmpa ) |
| 291 | ROM_REGION( 0x20000, "maincpu", 0 ) |
| 292 | ROM_LOAD( "1", 0x00000, 0x20000, CRC(7d051c36) SHA1(8c2329f863ad677f4398a7dab7476c9492ad4f24) ) |
| 289 | 293 | |
| 294 | ROM_REGION( 0x18000, "audiocpu", 0 ) /* 96k for code + 96k for decrypted opcodes */ |
| 295 | ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21)) |
| 296 | ROM_CONTINUE( 0x08000, 0x8000 ) |
| 297 | |
| 298 | ROM_REGION( 0x100000, "bgs", 0 ) |
| 299 | ROM_LOAD( "6", 0x00000, 0x40000, CRC(1aec1de2) SHA1(f42db2445dcf1fb0957bf8a4414c3266ae47fae1) ) |
| 300 | ROM_LOAD( "5", 0x40000, 0x40000, CRC(79823f7a) SHA1(1059b4baf4d4d3c49d4de4194f29f8601e75972b) ) |
| 301 | ROM_LOAD( "4", 0x80000, 0x40000, CRC(e76f7596) SHA1(bb4c55bad2693da3f76d33fdf0f7f32c44dfd3e0) ) |
| 302 | ROM_LOAD( "3", 0xc0000, 0x40000, CRC(a22946b8) SHA1(d77fb5bfe00349753a9e6ea9de82c1eefca090f7) ) |
| 303 | |
| 304 | ROM_REGION( 0x20000, "sprites", 0 ) |
| 305 | /* the first half of all these roms is identical. For rom 3 both halves match. Correct decode is to ignore the first half */ |
| 306 | ROM_LOAD( "pokechamp_02_27c512.bin", 0x00000, 0x08000, CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87) ) ROM_CONTINUE( 0x00000, 0x8000 ) |
| 307 | ROM_LOAD( "pokechamp_01_27c512.bin", 0x08000, 0x08000, CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c) ) ROM_CONTINUE( 0x08000, 0x8000 ) |
| 308 | ROM_LOAD( "pokechamp_04_27c512.bin", 0x10000, 0x08000, CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038) ) ROM_CONTINUE( 0x10000, 0x8000 ) |
| 309 | ROM_LOAD( "pokechamp_03_27c512.bin", 0x18000, 0x08000, CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5) ) ROM_CONTINUE( 0x18000, 0x8000 ) |
| 310 | |
| 311 | ROM_REGION( 0x80000, "oki", 0 ) |
| 312 | ROM_LOAD( "pokechamp_10_27c040.bin", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) ) |
| 313 | ROM_END |
| 314 | |
| 315 | // only the 'maincpu' and 'bgs' and 'oki' regions were dumped for this set, others assumed to be the same |
| 290 | 316 | ROM_START(billlist) |
| 291 | 317 | ROM_REGION(0x20000, "maincpu", 0) |
| 292 | 318 | ROM_LOAD("billiard_list.1", 0x00000, 0x20000, CRC(4ef416f7) SHA1(e995410e2c79a3fbd2ac76a80dc6c412eb454e52) ) |
| 293 | 319 | |
| 294 | 320 | ROM_REGION(0x18000, "audiocpu", 0) /* 96k for code + 96k for decrypted opcodes */ |
| 295 | | ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, BAD_DUMP CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21)) // wasn't dumped from this set |
| 321 | ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21)) |
| 296 | 322 | ROM_CONTINUE(0x08000, 0x8000) |
| 297 | 323 | |
| 298 | 324 | ROM_REGION(0x100000, "bgs", 0) |
| r243490 | r243491 | |
| 303 | 329 | |
| 304 | 330 | ROM_REGION(0x20000, "sprites", 0) |
| 305 | 331 | /* the first half of all these roms is identical. For rom 3 both halves match. Correct decode is to ignore the first half */ |
| 306 | | ROM_LOAD("pokechamp_02_27c512.bin", 0x00000, 0x08000, BAD_DUMP CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87)) ROM_CONTINUE(0x00000, 0x8000) // wasn't dumped from this set |
| 307 | | ROM_LOAD("pokechamp_01_27c512.bin", 0x08000, 0x08000, BAD_DUMP CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c)) ROM_CONTINUE(0x08000, 0x8000) // "" |
| 308 | | ROM_LOAD("pokechamp_04_27c512.bin", 0x10000, 0x08000, BAD_DUMP CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038)) ROM_CONTINUE(0x10000, 0x8000) // "" |
| 309 | | ROM_LOAD("pokechamp_03_27c512.bin", 0x18000, 0x08000, BAD_DUMP CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5)) ROM_CONTINUE(0x18000, 0x8000) // "" |
| 332 | ROM_LOAD("pokechamp_02_27c512.bin", 0x00000, 0x08000, CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87)) ROM_CONTINUE(0x00000, 0x8000) |
| 333 | ROM_LOAD("pokechamp_01_27c512.bin", 0x08000, 0x08000, CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c)) ROM_CONTINUE(0x08000, 0x8000) |
| 334 | ROM_LOAD("pokechamp_04_27c512.bin", 0x10000, 0x08000, CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038)) ROM_CONTINUE(0x10000, 0x8000) |
| 335 | ROM_LOAD("pokechamp_03_27c512.bin", 0x18000, 0x08000, CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5)) ROM_CONTINUE(0x18000, 0x8000) |
| 310 | 336 | |
| 311 | 337 | ROM_REGION(0x80000, "oki", 0) |
| 312 | 338 | ROM_LOAD("billiard_list.x", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) ) |
| 313 | 339 | ROM_END |
| 314 | 340 | |
| 315 | | GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ", 0 ) |
| 341 | GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ (set 1)", 0 ) |
| 342 | GAME( 1995, pokechmpa,pokechmp, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ (set 2)", 0 ) |
| 316 | 343 | GAME( 1995, billlist, pokechmp, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Billard List", 0) |
trunk/src/mess/drivers/tmtennis.c
| r243490 | r243491 | |
| 6 | 6 | * board labeled TOMY TN-04 TENNIS |
| 7 | 7 | * NEC uCOM-44 MCU, labeled D552C 048 |
| 8 | 8 | * VFD display NEC FIP11AM15T (FIP=fluorescent indicator panel) |
| 9 | |
| 10 | The initial release of this game was in 1979, known as Pro-Tennis, |
| 11 | it is unknown if the hardware and/or ROM contents differ. |
| 12 | |
| 9 | 13 | |
| 14 | TODO: |
| 15 | - 2-player mode doesn't work: the guys auto-serve and the left player |
| 16 | always hits the net, mcu emulation bug? |
| 17 | - difficulty switch changes mcu freq |
| 10 | 18 | |
| 11 | 19 | ***************************************************************************/ |
| 12 | 20 | |
| r243490 | r243491 | |
| 87 | 95 | |
| 88 | 96 | // read selected button rows |
| 89 | 97 | for (int i = 0; i < 2; i++) |
| 90 | | if (~m_input_mux & (1 << i)) |
| 98 | if (~m_input_mux >> i & 1) |
| 91 | 99 | inp &= m_button_matrix[i]->read(); |
| 92 | 100 | |
| 93 | 101 | return inp >> (offset*4); |
| r243490 | r243491 | |
| 122 | 130 | } |
| 123 | 131 | |
| 124 | 132 | |
| 133 | |
| 125 | 134 | /*************************************************************************** |
| 126 | 135 | |
| 127 | 136 | Inputs |
| 128 | 137 | |
| 129 | 138 | ***************************************************************************/ |
| 130 | 139 | |
| 140 | /* Pro-Tennis physical button layout and labels is like this: |
| 141 | |
| 142 | [SERVE] [1] [2] [3] [3] [2] [1] [SERVE] |
| 143 | [4] [5] [6] [6] [5] [4] |
| 144 | |
| 145 | PRACTICE<--PRO1-->PRO2 1PLAYER<--OFF-->2PLAYER |
| 146 | */ |
| 147 | |
| 131 | 148 | static INPUT_PORTS_START( tmtennis ) |
| 132 | | PORT_START("IN.0") // E0 port A/B |
| 133 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) |
| 134 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) |
| 135 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) |
| 149 | PORT_START("IN.0") // E0 port A/B (left side) |
| 150 | PORT_CONFNAME( 0x101, 0x001, DEF_STR( Difficulty ) ) |
| 151 | PORT_CONFSETTING( 0x000, "Practice" ) |
| 152 | PORT_CONFSETTING( 0x001, "Pro 1" ) |
| 153 | PORT_CONFSETTING( 0x101, "Pro 2" ) |
| 154 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) // P2 serve |
| 155 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) |
| 136 | 156 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) |
| 137 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) |
| 138 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) |
| 139 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2) |
| 140 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2) |
| 157 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) |
| 158 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) |
| 159 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) |
| 160 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) |
| 141 | 161 | |
| 142 | | PORT_START("IN.1") // E1 port A/B |
| 143 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 144 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 145 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) |
| 162 | PORT_START("IN.1") // E1 port A/B (right side) |
| 163 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // P1 serve |
| 164 | PORT_CONFNAME( 0x02, 0x02, "Players" ) |
| 165 | PORT_CONFSETTING( 0x02, "1" ) |
| 166 | PORT_CONFSETTING( 0x00, "2" ) |
| 167 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 146 | 168 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) |
| 147 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) |
| 148 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) |
| 149 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) |
| 150 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) |
| 169 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 170 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) |
| 171 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) |
| 172 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) |
| 151 | 173 | INPUT_PORTS_END |
| 152 | 174 | |
| 153 | 175 | |
| r243490 | r243491 | |
| 212 | 234 | ROM_END |
| 213 | 235 | |
| 214 | 236 | |
| 215 | | CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tomytronic Tennis", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 237 | CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomytronic)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |