Previous 199869 Revisions Next

r22735 Friday 10th May, 2013 at 14:38:22 UTC by Robbbert
Indianbtbr: Fixed cocktail controls. Connected sound to be like indianbt. There's no music in this version.
[src/mame/audio]8080bw.c
[src/mame/drivers]8080bw.c
[src/mame/includes]8080bw.h

trunk/src/mame/includes/8080bw.h
r22734r22735
7171   DECLARE_WRITE8_MEMBER(ballbomb_sh_port_2_w);
7272   DECLARE_WRITE8_MEMBER(indianbt_sh_port_1_w);
7373   DECLARE_WRITE8_MEMBER(indianbt_sh_port_2_w);
74   DECLARE_WRITE8_MEMBER(indianbtbr_sh_port_1_w);
75   DECLARE_WRITE8_MEMBER(indianbtbr_sh_port_2_w);
76   DECLARE_READ8_MEMBER(indianbtbr_01_r);
7477   DECLARE_WRITE8_MEMBER(schaser_sh_port_1_w);
7578   DECLARE_WRITE8_MEMBER(schaser_sh_port_2_w);
7679   DECLARE_WRITE8_MEMBER(rollingc_sh_port_w);
trunk/src/mame/drivers/8080bw.c
r22734r22735
20072007/*******************************************************/
20082008/*                                                     */
20092009/* Taito  "Indian battle"                              */
2010/* In "indianbtbr", the "number of animals" dipswitch  */
2011/*  is ineffective because they compare for 8 kills at */
2012/*  0x811, which is not possible. This byte should be  */
2013/*  0x03.                                              */
20102014/*                                                     */
20112015/*******************************************************/
20122016
r22734r22735
20422046   INVADERS_CAB_TYPE_PORT
20432047INPUT_PORTS_END
20442048
2049static INPUT_PORTS_START( indianbtbr )
2050   PORT_START("IN0")
2051   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2052   PORT_DIPSETTING(    0x00, "3" )
2053   PORT_DIPSETTING(    0x01, "4" )
2054   PORT_DIPSETTING(    0x02, "5" )
2055   PORT_DIPSETTING(    0x03, "6" )
2056   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
2057   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
2058   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
2059   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) //Enable color map to be in C400-DFFF
2060   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
2061   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) //Length of manufacturer's logo (0x11 or 0x16)
20452062
2063   PORT_START("IN1")
2064   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
2065   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
2066   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
2067   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2068   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2069   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
2070   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
2071   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2072
2073   PORT_START("IN2")
2074   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
2075   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
2076   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
2077   PORT_DIPNAME(0x08,  0x00, "Invulnerability (Cheat)")
2078   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2079   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2080   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
2081   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
2082   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2)
2083   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2084
2085   /* Dummy port for cocktail mode */
2086   INVADERS_CAB_TYPE_PORT
2087INPUT_PORTS_END
2088
2089
20462090/*
20472091 Protection / sound hw checks ?
20482092
r22734r22735
20752119   return machine().rand();
20762120}
20772121
2122READ8_MEMBER(_8080bw_state::indianbtbr_01_r)
2123{
2124   UINT8 data = ioport("IN1")->read();
2125   if (!m_flip_screen) return data;
2126   return (data & 0x8f) | (ioport("IN2")->read() & 0x70);
2127}
2128
20782129static ADDRESS_MAP_START( indianbt_io_map, AS_IO, 8, _8080bw_state )
20792130   AM_RANGE(0x00, 0x00) AM_READ(indianbt_r)
20802131   AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
r22734r22735
20822133   AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(indianbt_sh_port_1_w)
20832134   AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
20842135   AM_RANGE(0x05, 0x05) AM_WRITE(indianbt_sh_port_2_w)
2085   AM_RANGE(0x06, 0x06) AM_WRITENOP /* sound ? */
2136   AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
20862137   AM_RANGE(0x07, 0x07) AM_WRITE(indianbt_sh_port_3_w)
20872138ADDRESS_MAP_END
20882139
2140static ADDRESS_MAP_START( indianbtbr_io_map, AS_IO, 8, _8080bw_state )
2141   AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
2142   AM_RANGE(0x01, 0x01) AM_READ(indianbtbr_01_r)
2143   AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
2144   AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(indianbtbr_sh_port_1_w)
2145   AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
2146   AM_RANGE(0x05, 0x05) AM_WRITE(indianbtbr_sh_port_2_w)
2147   AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
2148   AM_RANGE(0x07, 0x07) AM_WRITENOP
2149ADDRESS_MAP_END
20892150
2151
20902152static MACHINE_CONFIG_DERIVED_CLASS( indianbt, mw8080bw_root, _8080bw_state )
20912153
20922154   /* basic machine hardware */
r22734r22735
21092171   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
21102172MACHINE_CONFIG_END
21112173
2174static MACHINE_CONFIG_DERIVED_CLASS( indianbtbr, mw8080bw_root, _8080bw_state )
21122175
2176   /* basic machine hardware */
2177   MCFG_CPU_MODIFY("maincpu")
2178   MCFG_CPU_PROGRAM_MAP(schaser_map)
2179   MCFG_CPU_IO_MAP(indianbtbr_io_map)
2180   MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
21132181
2182   /* add shifter */
2183   MCFG_MB14241_ADD("mb14241")
2184
2185   /* video hardware */
2186   MCFG_SCREEN_MODIFY("screen")
2187   MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_indianbt)
2188
2189   /* sound hardware */
2190   MCFG_FRAGMENT_ADD(invaders_samples_audio)
2191MACHINE_CONFIG_END
2192
2193
2194
21142195/*******************************************************/
21152196/*                                                     */
21162197/* Taito "Steel Worker"                                */
r22734r22735
44384519GAME( 1981, polarisbr,  polaris,  polaris,   polaris,   driver_device, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE )
44394520GAME( 1980, ballbomb,   0,        ballbomb,  ballbomb,  driver_device, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )  /* missing clouds */
44404521GAME( 1980, indianbt,   0,        indianbt,  indianbt,  driver_device, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
4441GAME( 1983, indianbtbr, indianbt, indianbt,  indianbt,  driver_device, 0, ROT270, "Taito do Brasil", "Indian Battle (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
4522GAME( 1983, indianbtbr, indianbt, indianbtbr,indianbtbr,driver_device, 0, ROT270, "Taito do Brasil", "Indian Battle (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
44424523GAME( 1980, steelwkr,   0,        steelwkr,  steelwkr,  driver_device, 0, ROT0  , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
44434524GAMEL(1980?,galactic,   0,        galactic,  galactic,  driver_device, 0, ROT270, "Taito do Brasil", "Galactica - Batalha Espacial", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_galactic )
44444525GAMEL(1980?,spacmiss,   galactic, galactic,  galactic,  driver_device, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_galactic )
trunk/src/mame/audio/8080bw.c
r22734r22735
336336
337337   machine().sound().system_enable(data & 0x20);
338338
339   m_screen_red = data & 0x01;
340
341339   m_port_1_last_extra = data;
342340}
343341
r22734r22735
360358   discrete_sound_w(m_discrete, space, INDIANBT_MUSIC_DATA, data);
361359}
362360
361WRITE8_MEMBER(_8080bw_state::indianbtbr_sh_port_1_w)
362{
363   UINT8 rising_bits = data & ~m_port_1_last_extra;
363364
365   if (rising_bits & 0x01) m_samples->start(4, 7);     /* Lasso */
366   if (rising_bits & 0x04) m_samples->start(0, 1);     /* Shot Sound */
367   if (rising_bits & 0x08) m_samples->start(3, 2);     /* Hit */
364368
369   machine().sound().system_enable(data & 0x20);
370
371   m_port_1_last_extra = data;
372}
373
374WRITE8_MEMBER(_8080bw_state::indianbtbr_sh_port_2_w)
375{
376   UINT8 rising_bits = data & ~m_port_2_last_extra;
377
378   if (rising_bits & 0x08) m_samples->start(2, 3);     /* Move */
379   if (rising_bits & 0x10) m_samples->start(3, 7);     /* Death */
380
381   m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
382
383   m_port_2_last_extra = data;
384}
385
386
387
365388/*******************************************************************/
366389/*                                                                 */
367390/* Taito "Polaris"                                                 */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team