mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
Merge branch 'master' of https://github.com/mamedev/mame.git
This commit is contained in:
commit
e9d6ad6614
@ -78,7 +78,7 @@ protected:
|
||||
UINT16 m_callstack_mask;
|
||||
UINT8 m_callstack_depth; // callstack levels: 3 on 2000/2150, 5 on 2200/2400
|
||||
UINT16 m_callstack[5+1]; // max 5
|
||||
|
||||
int m_icount;
|
||||
UINT16 m_pc; // 13-bit program counter
|
||||
UINT8 m_ppr; // prepared page register (PP 1)
|
||||
UINT8 m_pbr; // prepared bank register (PP 2)
|
||||
@ -98,20 +98,21 @@ protected:
|
||||
UINT8 m_d_polarity; // invert d-latch output
|
||||
UINT16 m_a; // 13-bit a-pins latch (master strobe latch)
|
||||
|
||||
// i/o handlers
|
||||
devcb_read8 m_read_k;
|
||||
devcb_read8 m_read_i;
|
||||
devcb_read8 m_read_d;
|
||||
devcb_write8 m_write_d;
|
||||
devcb_write16 m_write_a;
|
||||
|
||||
int m_icount;
|
||||
|
||||
// misc internal helpers
|
||||
UINT8 ram_r();
|
||||
void ram_w(UINT8 data);
|
||||
void pop_callstack();
|
||||
void push_callstack();
|
||||
void d_latch_out(bool active);
|
||||
|
||||
// opcode handlers
|
||||
void op_lai();
|
||||
void op_lab();
|
||||
void op_lae();
|
||||
|
@ -713,6 +713,9 @@ void ucom4_cpu_device::op_stm()
|
||||
|
||||
// STM X: Reset Timer F/F, Start Timer with X
|
||||
op_illegal();
|
||||
|
||||
if ((m_arg & 0xc0) != 0x80)
|
||||
logerror("%s STM opcode unexpected upper arg $%02X at $%03X\n", tag(), m_arg & 0xc0, m_pc);
|
||||
}
|
||||
|
||||
void ucom4_cpu_device::op_ttm()
|
||||
|
@ -354,6 +354,29 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, galpanic_state )
|
||||
AM_RANGE(0xf80000, 0xf80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, galpanic_state )
|
||||
AM_RANGE(0x000000, 0x4fffff) AM_ROM
|
||||
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
|
||||
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram")
|
||||
AM_RANGE(0x580000, 0x583fff) AM_RAM //_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times!
|
||||
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
|
||||
AM_RANGE(0x680000, 0x68001f) AM_RAM
|
||||
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x780000, 0x78001f) AM_RAM
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x80000e, 0x80000f) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM
|
||||
AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP
|
||||
AM_RANGE(0xe00012, 0xe00013) AM_WRITENOP
|
||||
AM_RANGE(0xe80000, 0xe80001) AM_WRITENOP
|
||||
AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( galpanic )
|
||||
PORT_START("DSW1")
|
||||
@ -615,16 +638,23 @@ static MACHINE_CONFIG_DERIVED( supmodel, comad )
|
||||
MCFG_CPU_PROGRAM_MAP(supmodel_map)
|
||||
//MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", galpanic_state, galpanic_scanline, "screen", 0, 1)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update_comad)
|
||||
MCFG_SCREEN_VBLANK_NONE()
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_OKIM6295_REPLACE("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( smissw, comad ) // 951127 PCB, 12 & 16 clocks
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_CLOCK(12000000)
|
||||
MCFG_CPU_PROGRAM_MAP(smissw_map)
|
||||
MCFG_TIMER_MODIFY("scantimer")
|
||||
MCFG_TIMER_DRIVER_CALLBACK(galpanic_state, galhustl_scanline)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( fantsia2, comad )
|
||||
|
||||
@ -933,6 +963,28 @@ ROM_START( missmw96 )
|
||||
ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smissw )
|
||||
ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "10_PROG2.UE17", 0x000000, 0x80000, CRC(e99e520f) SHA1(edd06a3b0f8d30a4020e6ea452abb0afd79d426a) )
|
||||
ROM_LOAD16_BYTE( "6_PROG1.UD17", 0x000001, 0x80000, CRC(22831657) SHA1(eeabcdef543048ccceabc4c3b4b288aec959a14f) )
|
||||
ROM_LOAD16_BYTE( "9_IM1-B.UE16B", 0x100000, 0x80000, CRC(fff1eee4) SHA1(1b88d45b5cc0b5a03296d4dc950e570fa4dc19c2) )
|
||||
ROM_LOAD16_BYTE( "5_IM1-A.UE16A", 0x100001, 0x80000, CRC(2134a72d) SHA1(f907ec8a1d6e5755a821e69564074ff05e426bb1) )
|
||||
ROM_LOAD16_BYTE( "8_IM2-B.UE15B", 0x200000, 0x80000, CRC(cf44b638) SHA1(0fe5bdb62492c31c3efffa6d85f5d6a3b4ddb2e0) )
|
||||
ROM_LOAD16_BYTE( "4_IM2-A.UE15A", 0x200001, 0x80000, CRC(d22b270f) SHA1(21bd2ced1b5fb3c08687addaa890ee621a56fff0) )
|
||||
ROM_LOAD16_BYTE( "7_IM3-B.UE14B", 0x300000, 0x80000, CRC(12a9441d) SHA1(d9cd51e0c3ffac5fc561e0927c419bce0157337e) )
|
||||
ROM_LOAD16_BYTE( "3_IM3-A.UE14A", 0x300001, 0x80000, CRC(8c656fc9) SHA1(c3fe5de7cd6cd520bbd205ec62ac0dda51f71eeb) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
|
||||
ROM_LOAD( "15_OBJ11.U5", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
|
||||
|
||||
ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
|
||||
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
|
||||
ROM_LOAD( "1_MUSIC1.UB6", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) )
|
||||
ROM_RELOAD( 0x40000, 0x80000 )
|
||||
ROM_LOAD( "2_MUSIC2.UC6", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( fantsia2 )
|
||||
ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "prog2.g17", 0x000000, 0x80000, CRC(57c59972) SHA1(4b1da928b537cf340a67026d07bc3dfc078b0d0f) )
|
||||
@ -1134,6 +1186,8 @@ GAME( 1996, missw96a, missw96, comad, missw96, driver_device, 0, ROT0, "C
|
||||
GAME( 1996, missw96b, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (set 3)", GAME_NO_COCKTAIL )
|
||||
GAME( 1996, missmw96, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL )
|
||||
|
||||
GAME( 1996, smissw, 0, smissw, missw96, driver_device, 0, ROT0, "Comad", "Super Miss World", GAME_NO_COCKTAIL ) // 951127 PCB
|
||||
|
||||
GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL )
|
||||
GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL )
|
||||
|
||||
|
@ -286,13 +286,39 @@ ROM_START( pokechmp )
|
||||
ROM_LOAD( "pokechamp_10_27c040.bin", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) )
|
||||
ROM_END
|
||||
|
||||
// only the 'maincpu' and 'bgs' regions were dumped for this set, others assumed to be the same
|
||||
ROM_START( pokechmpa )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
||||
ROM_LOAD( "1", 0x00000, 0x20000, CRC(7d051c36) SHA1(8c2329f863ad677f4398a7dab7476c9492ad4f24) )
|
||||
|
||||
ROM_REGION( 0x18000, "audiocpu", 0 ) /* 96k for code + 96k for decrypted opcodes */
|
||||
ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21))
|
||||
ROM_CONTINUE( 0x08000, 0x8000 )
|
||||
|
||||
ROM_REGION( 0x100000, "bgs", 0 )
|
||||
ROM_LOAD( "6", 0x00000, 0x40000, CRC(1aec1de2) SHA1(f42db2445dcf1fb0957bf8a4414c3266ae47fae1) )
|
||||
ROM_LOAD( "5", 0x40000, 0x40000, CRC(79823f7a) SHA1(1059b4baf4d4d3c49d4de4194f29f8601e75972b) )
|
||||
ROM_LOAD( "4", 0x80000, 0x40000, CRC(e76f7596) SHA1(bb4c55bad2693da3f76d33fdf0f7f32c44dfd3e0) )
|
||||
ROM_LOAD( "3", 0xc0000, 0x40000, CRC(a22946b8) SHA1(d77fb5bfe00349753a9e6ea9de82c1eefca090f7) )
|
||||
|
||||
ROM_REGION( 0x20000, "sprites", 0 )
|
||||
/* the first half of all these roms is identical. For rom 3 both halves match. Correct decode is to ignore the first half */
|
||||
ROM_LOAD( "pokechamp_02_27c512.bin", 0x00000, 0x08000, CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87) ) ROM_CONTINUE( 0x00000, 0x8000 )
|
||||
ROM_LOAD( "pokechamp_01_27c512.bin", 0x08000, 0x08000, CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c) ) ROM_CONTINUE( 0x08000, 0x8000 )
|
||||
ROM_LOAD( "pokechamp_04_27c512.bin", 0x10000, 0x08000, CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038) ) ROM_CONTINUE( 0x10000, 0x8000 )
|
||||
ROM_LOAD( "pokechamp_03_27c512.bin", 0x18000, 0x08000, CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5) ) ROM_CONTINUE( 0x18000, 0x8000 )
|
||||
|
||||
ROM_REGION( 0x80000, "oki", 0 )
|
||||
ROM_LOAD( "pokechamp_10_27c040.bin", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) )
|
||||
ROM_END
|
||||
|
||||
// only the 'maincpu' and 'bgs' and 'oki' regions were dumped for this set, others assumed to be the same
|
||||
ROM_START(billlist)
|
||||
ROM_REGION(0x20000, "maincpu", 0)
|
||||
ROM_LOAD("billiard_list.1", 0x00000, 0x20000, CRC(4ef416f7) SHA1(e995410e2c79a3fbd2ac76a80dc6c412eb454e52) )
|
||||
|
||||
ROM_REGION(0x18000, "audiocpu", 0) /* 96k for code + 96k for decrypted opcodes */
|
||||
ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, BAD_DUMP CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21)) // wasn't dumped from this set
|
||||
ROM_LOAD("pokechamp_09_27c512.bin", 0x10000, 0x8000, CRC(c78f6483) SHA1(a0d063effd8d1850f674edccb6e7a285b2311d21))
|
||||
ROM_CONTINUE(0x08000, 0x8000)
|
||||
|
||||
ROM_REGION(0x100000, "bgs", 0)
|
||||
@ -303,14 +329,15 @@ ROM_START(billlist)
|
||||
|
||||
ROM_REGION(0x20000, "sprites", 0)
|
||||
/* the first half of all these roms is identical. For rom 3 both halves match. Correct decode is to ignore the first half */
|
||||
ROM_LOAD("pokechamp_02_27c512.bin", 0x00000, 0x08000, BAD_DUMP CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87)) ROM_CONTINUE(0x00000, 0x8000) // wasn't dumped from this set
|
||||
ROM_LOAD("pokechamp_01_27c512.bin", 0x08000, 0x08000, BAD_DUMP CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c)) ROM_CONTINUE(0x08000, 0x8000) // ""
|
||||
ROM_LOAD("pokechamp_04_27c512.bin", 0x10000, 0x08000, BAD_DUMP CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038)) ROM_CONTINUE(0x10000, 0x8000) // ""
|
||||
ROM_LOAD("pokechamp_03_27c512.bin", 0x18000, 0x08000, BAD_DUMP CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5)) ROM_CONTINUE(0x18000, 0x8000) // ""
|
||||
ROM_LOAD("pokechamp_02_27c512.bin", 0x00000, 0x08000, CRC(1ff44545) SHA1(2eee44484accce7b0ba21babf6e8344b234a4e87)) ROM_CONTINUE(0x00000, 0x8000)
|
||||
ROM_LOAD("pokechamp_01_27c512.bin", 0x08000, 0x08000, CRC(338fc412) SHA1(bb8ae99ee6a399a8c67bedb88d0837fd0a4a426c)) ROM_CONTINUE(0x08000, 0x8000)
|
||||
ROM_LOAD("pokechamp_04_27c512.bin", 0x10000, 0x08000, CRC(ee6991af) SHA1(8eca3cdfd2eb74257253957a87b245b7f85bd038)) ROM_CONTINUE(0x10000, 0x8000)
|
||||
ROM_LOAD("pokechamp_03_27c512.bin", 0x18000, 0x08000, CRC(99f9884a) SHA1(096d6ce70dc51fb9142e80e1ec45d6d7225481f5)) ROM_CONTINUE(0x18000, 0x8000)
|
||||
|
||||
ROM_REGION(0x80000, "oki", 0)
|
||||
ROM_LOAD("billiard_list.x", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ", 0 )
|
||||
GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ (set 1)", 0 )
|
||||
GAME( 1995, pokechmpa,pokechmp, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ (set 2)", 0 )
|
||||
GAME( 1995, billlist, pokechmp, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Billard List", 0)
|
||||
|
@ -5899,6 +5899,7 @@ pcktgalb // bootleg
|
||||
pcktgal2 // (c) 1989 Data East Corporation (World?)
|
||||
pcktgal2j // (c) 1989 Data East Corporation (World?)
|
||||
pokechmp // Korean hack of Pocket Gal
|
||||
pokechmpa //
|
||||
billlist //
|
||||
spool3 // (c) 1989 Data East Corporation (World?)
|
||||
spool3i // (c) 1990 Data East Corporation + I-Vics license
|
||||
@ -9311,6 +9312,7 @@ missw96 // (c) 1996 Comad
|
||||
missw96a // (c) 1996 Comad
|
||||
missw96b // (c) 1996 Comad
|
||||
missmw96 // (c) 1996 Comad
|
||||
smissw //
|
||||
fantsia2 // (c) 1997 Comad
|
||||
fantsia2a // (c) 1997 Comad
|
||||
wownfant // (c) 2002 Comad
|
||||
|
@ -6,7 +6,15 @@
|
||||
* board labeled TOMY TN-04 TENNIS
|
||||
* NEC uCOM-44 MCU, labeled D552C 048
|
||||
* VFD display NEC FIP11AM15T (FIP=fluorescent indicator panel)
|
||||
|
||||
The initial release of this game was in 1979, known as Pro-Tennis,
|
||||
it is unknown if the hardware and/or ROM contents differ.
|
||||
|
||||
|
||||
TODO:
|
||||
- 2-player mode doesn't work: the guys auto-serve and the left player
|
||||
always hits the net, mcu emulation bug?
|
||||
- difficulty switch changes mcu freq
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -87,7 +95,7 @@ READ8_MEMBER(tmtennis_state::input_r)
|
||||
|
||||
// read selected button rows
|
||||
for (int i = 0; i < 2; i++)
|
||||
if (~m_input_mux & (1 << i))
|
||||
if (~m_input_mux >> i & 1)
|
||||
inp &= m_button_matrix[i]->read();
|
||||
|
||||
return inp >> (offset*4);
|
||||
@ -122,32 +130,46 @@ WRITE8_MEMBER(tmtennis_state::grid_w)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Inputs
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( tmtennis )
|
||||
PORT_START("IN.0") // E0 port A/B
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2)
|
||||
/* Pro-Tennis physical button layout and labels is like this:
|
||||
|
||||
PORT_START("IN.1") // E1 port A/B
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
[SERVE] [1] [2] [3] [3] [2] [1] [SERVE]
|
||||
[4] [5] [6] [6] [5] [4]
|
||||
|
||||
PRACTICE<--PRO1-->PRO2 1PLAYER<--OFF-->2PLAYER
|
||||
*/
|
||||
|
||||
static INPUT_PORTS_START( tmtennis )
|
||||
PORT_START("IN.0") // E0 port A/B (left side)
|
||||
PORT_CONFNAME( 0x101, 0x001, DEF_STR( Difficulty ) )
|
||||
PORT_CONFSETTING( 0x000, "Practice" )
|
||||
PORT_CONFSETTING( 0x001, "Pro 1" )
|
||||
PORT_CONFSETTING( 0x101, "Pro 2" )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) // P2 serve
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN.1") // E1 port A/B (right side)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // P1 serve
|
||||
PORT_CONFNAME( 0x02, 0x02, "Players" )
|
||||
PORT_CONFSETTING( 0x02, "1" )
|
||||
PORT_CONFSETTING( 0x00, "2" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -212,4 +234,4 @@ ROM_START( tmtennis )
|
||||
ROM_END
|
||||
|
||||
|
||||
CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tomytronic Tennis", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomytronic)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user