Skip to content

Commit

Permalink
Add Taito's Steel Worker (#157)
Browse files Browse the repository at this point in the history
0.132u2: Hau fixed Steel Worker coinage (inserting a coin at certain moments during attract mode results in a broken game).
0.132u1: Hau, Chack'n and Dumping Union added 'Steel Worker' (Taito 1980).
  • Loading branch information
arcadez2003 authored Aug 21, 2024
1 parent 727841a commit 5fb0486
Showing 1 changed file with 100 additions and 1 deletion.
101 changes: 100 additions & 1 deletion src/drivers/8080bw.c
Original file line number Diff line number Diff line change
Expand Up @@ -3208,6 +3208,86 @@ INPUT_PORTS_START( spceking )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
INPUT_PORTS_END

/*******************************************************/
/* */
/* Taito "Steel Worker" */
/* */
/*******************************************************/


static WRITE8_HANDLER( steelwkr_sh_port_3_w )
{
coin_lockout_global_w(!(~data & 0x03)); /* possibly */
}

static ADDRESS_MAP_START( steelwkr_readport, ADDRESS_SPACE_IO, 8 )
/* AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r) */
AM_RANGE(0x01, 0x01) AM_READ(input_port_1_r)
AM_RANGE(0x02, 0x02) AM_READ(input_port_2_r)
AM_RANGE(0x03, 0x03) AM_READ(c8080bw_shift_data_r)
ADDRESS_MAP_END

static ADDRESS_MAP_START( steelwkr_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x02, 0x02) AM_WRITE(c8080bw_shift_amount_w)
AM_RANGE(0x04, 0x04) AM_WRITE(c8080bw_shift_data_w)
AM_RANGE(0x06, 0x06) AM_WRITE(steelwkr_sh_port_3_w)
ADDRESS_MAP_END

INPUT_PORTS_START( steelwkr )
PORT_START_TAG("IN0")
/*
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
*/
PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )

PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x03, "4" )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_TILT )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)

PORT_START_TAG("FAKE") /* Dummy port for cocktail mode */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
INPUT_PORTS_END

static MACHINE_DRIVER_START( steelwkr )

/* basic machine hardware */
MDRV_IMPORT_FROM(invaders)
MDRV_CPU_MODIFY("main")
MDRV_CPU_IO_MAP(steelwkr_readport,steelwkr_writeport)

/* video hardware */
MDRV_PALETTE_LENGTH(8)
MDRV_PALETTE_INIT(invadpt2)
MACHINE_DRIVER_END

/*******************************************************/
/* */
/* Taito "Indian battle" */
Expand Down Expand Up @@ -4248,6 +4328,23 @@ ROM_START( shuttlei )

ROM_LOAD( "8.11f", 0x1c00, 0x0400, CRC(4978552b) SHA1(5a6b6e39f57a353580ed9281d7da24950f058426) )
ROM_END

ROM_START( steelwkr )
ROM_REGION( 0x10000, REGION_CPU1, 0 )
ROM_LOAD( "1.36", 0x0000, 0x0400, CRC(5d78873a) SHA1(293cbc067937668148181453877239cb5ed57600) )
ROM_LOAD( "2.35", 0x0400, 0x0400, CRC(99cd70c6) SHA1(a08bf4db6b39d22dfcf052cc6603aab041db0208) )
ROM_LOAD( "3.34", 0x0800, 0x0400, CRC(18103b67) SHA1(45929ea56ab15769fc68873570aab3d403e8e913) )
ROM_LOAD( "4.33", 0x0c00, 0x0400, CRC(c413ae82) SHA1(302b933b45b2aaa515434b5268fd74aec4160e3f) )
ROM_LOAD( "5.32", 0x1000, 0x0400, CRC(ca7b07b5) SHA1(cbea221c4daf84825f99bbef6d731fc2ef88feeb) )
ROM_LOAD( "6.31", 0x1400, 0x0400, CRC(f8181fa0) SHA1(a907611529a1500a2ae118e834c2d4b6d11974f1) )
ROM_LOAD( "7.42", 0x1800, 0x0400, CRC(a35f113e) SHA1(53073037db55c14055810c0bee7b85eb75bbaa72) )
ROM_LOAD( "8.41", 0x1c00, 0x0400, CRC(af208370) SHA1(ccbd002accda26cc0a02987d9801a47e5f49921a) )

ROM_REGION( 0x0800, REGION_PROMS, 0 ) /* color maps player 1/player 2 (not used, but they were on the board) */
ROM_LOAD( "la05.1", 0x0000, 0x0400, CRC(98f31392) SHA1(ccdd1bd2ddd24bd6b1f8255a87e138f937eaf5b4) )
ROM_LOAD( "la06.2", 0x0400, 0x0400, CRC(98f31392) SHA1(ccdd1bd2ddd24bd6b1f8255a87e138f937eaf5b4) )
ROM_END

/* Midway games */

/* board # rom parent machine inp init (overlay/color hardware setup) */
Expand Down Expand Up @@ -4303,6 +4400,7 @@ ROM_END
GAME( 1980, polarisa, polaris, polaris, polaris, polaris, ROT270, "Taito", "Polaris (set 2)", 0 )
GAME( 1980, ballbomb, 0, ballbomb, ballbomb, invadpt2, ROT270, "Taito", "Balloon Bomber", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds and blue background */
GAME( 1980, indianbt, 0, indianbt, indianbt, indianbt, ROT270, "Taito", "Indian Battle", 0 )
GAME( 1980, steelwkr, 0, steelwkr, steelwkr, invadpt2, ROT0, "Taito", "Steel Worker", 0 )

/* Misc. manufacturers */

Expand All @@ -4323,7 +4421,7 @@ ROM_END
GAME( 1979, jspecter, invaders, invaders, jspecter, invaders, ROT270, "Jatre", "Jatre Specter (set 1)", 0 )
GAME( 1979, jspectr2, invaders, invaders, jspecter, invaders, ROT270, "Jatre", "Jatre Specter (set 2)", 0 )
GAME( 1979, cosmicmo, invaders, invaders, cosmicmo, invaders, ROT270, "Universal", "Cosmic Monsters", 0 )
GAME( 1979, cosmicm2, invaders, invaders, cosmicmo, invaders, ROT270, "Universal", "Cosmic Monsters 2", 0 )
GAME( 1979, cosmicm2, invaders, invaders, cosmicmo, invaders, ROT270, "Universal", "Cosmic Monsters 2", 0 )
GAME( 19??, superinv, invaders, invaders, invaders, invaders, ROT270, "bootleg", "Super Invaders", 0 )
GAME( 19??, invasion, invaders, invaders, invasion, invaders, ROT270, "Sidam", "Invasion", 0 )
GAME( 1978, sstrangr, 0, sstrangr, sstrangr, 8080bw, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger", 0 )
Expand All @@ -4342,3 +4440,4 @@ ROM_END
GAME( 1979, yosakdon, 0, yosakdon, yosakdon, 8080bw, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_NO_SOUND ) /* bootleg? */
GAME( 1979, yosakdoa, yosakdon, yosakdon, yosakdon, 8080bw, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_NO_SOUND ) /* bootleg? */
GAME( 197?, shuttlei, 0, shuttlei, shuttlei, shuttlei, ROT270, "Omori", "Shuttle Invader", GAME_NO_COCKTAIL | GAME_NO_SOUND )

0 comments on commit 5fb0486

Please sign in to comment.