Previous 199869 Revisions Next

r19587 Sunday 16th December, 2012 at 13:34:35 UTC by Robbbert
shuttlei, skylove : fixed cocktail mode [Robbbert]
[src/mame/drivers]8080bw.c
[src/mame/includes]8080bw.h
[src/mame/video]8080bw.c

trunk/src/mame/drivers/8080bw.c
r19586r19587
21542154   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
21552155   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
21562156   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2157
2158   PORT_START("P2")
2159   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
2160   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2)
2161   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
2162
2163   /* Dummy port for cocktail mode */
2164   INVADERS_CAB_TYPE_PORT
21572165INPUT_PORTS_END
21582166
21592167// 'no 1' which is displayed before each player plays actually refers to the wave number, not the player number!
r19586r19587
21942202   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
21952203   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
21962204   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2205
2206   PORT_START("P2")
2207   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
2208   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2)
2209   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
2210
2211   /* Dummy port for cocktail mode */
2212   INVADERS_CAB_TYPE_PORT
21972213INPUT_PORTS_END
21982214
2215READ8_MEMBER( _8080bw_state::shuttlei_ff_r )
2216{
2217   UINT8 data = ioport("INPUTS")->read();
2218   if (!m_c8080bw_flip_screen) return data;
2219   return (data & 0x3b) | ioport("P2")->read();
2220}
2221
2222WRITE8_MEMBER( _8080bw_state::shuttlei_ff_w )
2223{
2224        /* bit 0 goes high when first coin inserted
2225           bit 1 also goes high when subsequent coins are inserted
2226              These may be for indicator lamps under the start buttons.
2227           bit 2 goes high while player 2 is playing    */
2228
2229   m_c8080bw_flip_screen = BIT(data, 2) & BIT(ioport(CABINET_PORT_TAG)->read(), 0);
2230}
2231
21992232static ADDRESS_MAP_START( shuttlei_map, AS_PROGRAM, 8, _8080bw_state )
22002233   AM_RANGE(0x0000, 0x1fff) AM_ROM
22012234   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
r19586r19587
22072240   AM_RANGE(0xfc, 0xfc) AM_WRITENOP /* game writes 0xAA every so often (perhaps when base hit?) */
22082241   AM_RANGE(0xfd, 0xfd) AM_WRITE(shuttlei_sh_port_1_w)
22092242   AM_RANGE(0xfe, 0xfe) AM_READ_PORT("DSW") AM_WRITE(shuttlei_sh_port_2_w)
2210   AM_RANGE(0xff, 0xff) AM_READ_PORT("INPUTS")
2243   AM_RANGE(0xff, 0xff) AM_READWRITE(shuttlei_ff_r,shuttlei_ff_w)
22112244ADDRESS_MAP_END
22122245
22132246
r19586r19587
42864319GAME( 1979, solfight,   ozmawars, invaders,  ozmawars,  driver_device, 0, ROT270, "bootleg", "Solar Fight (bootleg of Ozma Wars)", GAME_SUPPORTS_SAVE )
42874320GAME( 1979, yosakdon,   0,        yosakdon,  yosakdon,  driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
42884321GAME( 1979, yosakdona,  yosakdon, yosakdon,  yosakdon,  driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
4289GAMEL(1979, shuttlei,   0,        shuttlei,  shuttlei,  driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
4290GAMEL(1979, skylove,    0,        shuttlei,  skylove,   driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
4322GAMEL(1979, shuttlei,   0,        shuttlei,  shuttlei,  driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_shuttlei )
4323GAMEL(1979, skylove,    0,        shuttlei,  skylove,   driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_shuttlei )
42914324GAME (1978, claybust,   0,        claybust,  claybust,  driver_device, 0, ROT0,   "Model Racing", "Claybuster", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // no titlescreen, Claybuster according to flyers
42924325GAME (1980, gunchamp,   0,        claybust,  gunchamp,  driver_device, 0, ROT0,   "Model Racing", "Gun Champ", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // no titlescreen, Gun Champ according to original cab
42934326GAME( 19??, astropal,   0,        astropal,  astropal,  driver_device, 0, ROT0,   "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
trunk/src/mame/includes/8080bw.h
r19586r19587
8080   DECLARE_WRITE8_MEMBER(schasercv_sh_port_2_w);
8181   DECLARE_WRITE8_MEMBER(yosakdon_sh_port_1_w);
8282   DECLARE_WRITE8_MEMBER(yosakdon_sh_port_2_w);
83   DECLARE_READ8_MEMBER(shuttlei_ff_r);
84   DECLARE_WRITE8_MEMBER(shuttlei_ff_w);
8385   DECLARE_WRITE8_MEMBER(shuttlei_sh_port_1_w);
8486   DECLARE_WRITE8_MEMBER(shuttlei_sh_port_2_w);
8587   DECLARE_READ8_MEMBER(claybust_gun_lo_r);
trunk/src/mame/video/8080bw.c
r19586r19587
454454
455455      for (i = 0; i < 8; i++)
456456      {
457         bitmap.pix32(y, x|i) = pens[BIT(data, 7)];
457         if (m_c8080bw_flip_screen)
458         {
459            if (y < 192)
460               bitmap.pix32(191-y, 255-(x|i)) = pens[BIT(data, 7)];
461         }
462         else
463            bitmap.pix32(y, x|i) = pens[BIT(data, 7)];
458464         data <<= 1;
459465      }
460466   }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team