1 /***************************************************************************
2 
3 Tag Team Wrestling hardware description:
4 
5 This hardware is very similar to the BurgerTime/Lock N Chase family of games
6 but there are just enough differences to make it a pain to share the
7 codebase. It looks like this hardware is a bridge between the BurgerTime
8 family and the later Technos games, like Mat Mania and Mysterious Stones.
9 
10 The video hardware supports 3 sprite banks instead of 1
11 The sound hardware appears nearly identical to Mat Mania
12 
13 
14 Stephh's notes :
15 
16   - When the "Cabinet" Dip Switch is set to "Cocktail", the screen status
17     depends on which player is the main wrestler on the ring :
18 
19       * player 1 : normal screen
20       * player 2 : inverted screen
21 
22 TODO:
23         * fix hi-score (reset) bug
24 
25 ***************************************************************************/
26 
27 #include "driver.h"
28 #include "vidhrdw/generic.h"
29 #include "cpu/m6502/m6502.h"
30 
31 extern WRITE_HANDLER( tagteam_videoram_w );
32 extern WRITE_HANDLER( tagteam_colorram_w );
33 extern READ_HANDLER( tagteam_mirrorvideoram_r );
34 extern WRITE_HANDLER( tagteam_mirrorvideoram_w );
35 extern READ_HANDLER( tagteam_mirrorcolorram_r );
36 extern WRITE_HANDLER( tagteam_mirrorcolorram_w );
37 extern WRITE_HANDLER( tagteam_video_control_w );
38 extern WRITE_HANDLER( tagteam_control_w );
39 extern WRITE_HANDLER( tagteam_flipscreen_w );
40 
41 extern PALETTE_INIT( tagteam );
42 extern VIDEO_START( tagteam );
43 extern VIDEO_UPDATE( tagteam );
44 
WRITE_HANDLER(sound_command_w)45 static WRITE_HANDLER( sound_command_w )
46 {
47 	soundlatch_w(offset,data);
48 	cpu_set_irq_line(1,M6502_IRQ_LINE,HOLD_LINE);
49 }
50 
51 
MEMORY_READ_START(readmem)52 static MEMORY_READ_START( readmem )
53 	{ 0x0000, 0x07ff, MRA_RAM },
54 	{ 0x2000, 0x2000, input_port_1_r },     /* IN1 */
55 	{ 0x2001, 0x2001, input_port_0_r },     /* IN0 */
56 	{ 0x2002, 0x2002, input_port_2_r },     /* DSW2 */
57 	{ 0x2003, 0x2003, input_port_3_r },     /* DSW1 */
58 	{ 0x4000, 0x43ff, tagteam_mirrorvideoram_r },
59 	{ 0x4400, 0x47ff, tagteam_mirrorcolorram_r },
60 	{ 0x4800, 0x4fff, MRA_RAM },
61 	{ 0x8000, 0xffff, MRA_ROM },
62 MEMORY_END
63 
64 static MEMORY_WRITE_START( writemem )
65 	{ 0x0000, 0x07ff, MWA_RAM },
66 	{ 0x2000, 0x2000, tagteam_flipscreen_w },
67 	{ 0x2001, 0x2001, tagteam_control_w },
68 	{ 0x2002, 0x2002, sound_command_w },
69 //	{ 0x2003, 0x2003, MWA_NOP }, /* Appears to increment when you're out of the ring */
70 	{ 0x4000, 0x43ff, tagteam_mirrorvideoram_w },
71 	{ 0x4400, 0x47ff, tagteam_mirrorcolorram_w },
72 	{ 0x4800, 0x4bff, tagteam_videoram_w, &videoram },
73 	{ 0x4c00, 0x4fff, tagteam_colorram_w, &colorram },
74 	{ 0x8000, 0xffff, MWA_ROM },
75 MEMORY_END
76 
77 
78 static MEMORY_READ_START( sound_readmem )
79 	{ 0x0000, 0x03ff, MRA_RAM },
80 	{ 0x2007, 0x2007, soundlatch_r },
81 	{ 0x4000, 0xffff, MRA_ROM },
82 MEMORY_END
83 
84 static MEMORY_WRITE_START( sound_writemem )
85 	{ 0x0000, 0x03ff, MWA_RAM },
86 	{ 0x2000, 0x2000, AY8910_write_port_0_w },
87 	{ 0x2001, 0x2001, AY8910_control_port_0_w },
88 	{ 0x2002, 0x2002, AY8910_write_port_1_w },
89 	{ 0x2003, 0x2003, AY8910_control_port_1_w },
90 	{ 0x2004, 0x2004, DAC_0_data_w },
91 	{ 0x2005, 0x2005, interrupt_enable_w },
92 MEMORY_END
93 
94 
95 
96 static INTERRUPT_GEN( tagteam_interrupt )
97 {
98 	static int coin;
99 	int port;
100 
101 	port = readinputport(0) & 0xc0;
102 
103 	if (port != 0xc0)    /* Coin */
104 	{
105 		if (coin == 0)
106 		{
107 			coin = 1;
108 			cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
109 		}
110 	}
111 	else coin = 0;
112 }
113 
114 
115 INPUT_PORTS_START( bigprowr )
116 	PORT_START      /* IN0 */
117 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
118 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
119 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
120 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
121 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
122 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
123 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
124 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
125 
126 	PORT_START      /* IN1 */
127 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
128 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
129 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
130 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
131 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
132 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
133 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
134 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
135 
136 	PORT_START      /* DSW1 */
137 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
138 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
139 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
140 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
141 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_3C ) )
142 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) )
143 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
144 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
145 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_2C ) )
146 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_3C ) )
147 	PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
148 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
149 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
150 	PORT_DIPNAME( 0x60, 0x00, DEF_STR( Cabinet ) )
151 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )			// "Upright, Single Controls"
152 	PORT_DIPSETTING(    0x40, "Upright, Dual Controls" )
153 //	PORT_DIPSETTING(    0x20, "Cocktail, Single Controls" )	// IMPOSSIBLE !
154 	PORT_DIPSETTING(    0x60, DEF_STR( Cocktail ) )			// "Cocktail, Dual Controls"
155 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK  )
156 
157 	PORT_START      /* DSW2 */
158 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
159 	PORT_DIPSETTING(    0x01, "Normal" )
160 	PORT_DIPSETTING(    0x00, "Hard" )
161 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
162 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
163 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
164 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
165 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
166 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
167 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
168 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
169 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
170 	PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
171 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
172 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
173 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) )
174 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
175 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
176 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) )
177 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
178 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
179 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) )
180 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
181 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
182 INPUT_PORTS_END
183 
184 /* Same as 'bigprowr', but additional "Coin Mode" Dip Switch */
185 INPUT_PORTS_START( tagteam )
186 	PORT_START      /* IN0 */
187 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
188 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
189 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
190 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
191 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
192 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
193 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
194 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
195 
196 	PORT_START      /* IN1 */
197 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
198 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
199 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
200 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
201 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
202 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
203 	PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_START1 )
204 	PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_START2 )
205 
206 	PORT_START      /* DSW1 */
207 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
208 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
209 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
210 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
211 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_3C ) )			// 1C_6C when "Coin Mode 2"
212 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) )
213 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
214 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
215 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_2C ) )
216 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_3C ) )			// 1C_6C when "Coin Mode 2"
217 	PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
218 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
219 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
220 	PORT_DIPNAME( 0x60, 0x00, DEF_STR( Cabinet ) )
221 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )			// "Upright, Single Controls"
222 	PORT_DIPSETTING(    0x40, "Upright, Dual Controls" )
223 //	PORT_DIPSETTING(    0x20, "Cocktail, Single Controls" )	// IMPOSSIBLE !
224 	PORT_DIPSETTING(    0x60, DEF_STR( Cocktail ) )			// "Cocktail, Dual Controls"
225 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK  )
226 
227 	PORT_START      /* DSW2 */
228 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
229 	PORT_DIPSETTING(    0x01, "Normal" )
230 	PORT_DIPSETTING(    0x00, "Hard" )
231 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
232 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
233 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
234 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
235 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
236 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
237 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
238 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
239 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
240 	PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
241 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
242 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
243 	PORT_DIPNAME( 0xe0, 0x00, "Coin Mode" )				// Check code at 0xff5c
244 	PORT_DIPSETTING(    0x00, "Mode 1" )
245 	PORT_DIPSETTING(    0x80, "Mode 2" )
246 	/* Other values (0x20, 0x40, 0x60, 0xa0, 0xc0, 0xe0) : "Mode 1" */
247 INPUT_PORTS_END
248 
249 
250 
251 static struct GfxLayout charlayout =
252 {
253 	8,8,    /* 8*8 characters */
254 	3072,   /* 3072 characters */
255 	3,      /* 3 bits per pixel */
256 	{ 2*3072*8*8, 3072*8*8, 0 },    /* the bitplanes are separated */
257 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
258 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
259 	8*8     /* every char takes 8 consecutive bytes */
260 };
261 
262 
263 static struct GfxLayout spritelayout =
264 {
265 	16,16,  /* 16*16 sprites */
266 	768,    /* 768 sprites */
267 	3,      /* 3 bits per pixel */
268 	{ 2*768*16*16, 768*16*16, 0 },  /* the bitplanes are separated */
269 	{ 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7,
270 			0, 1, 2, 3, 4, 5, 6, 7 },
271 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
272 			8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
273 	32*8    /* every sprite takes 32 consecutive bytes */
274 };
275 
276 static struct GfxDecodeInfo tagteam_gfxdecodeinfo[] =
277 {
278 	{ REGION_GFX1, 0, &charlayout,   0, 4 }, /* chars */
279 	{ REGION_GFX1, 0, &spritelayout, 0, 4 }, /* sprites */
280 	{ -1 } /* end of array */
281 };
282 
283 
284 
285 static struct AY8910interface ay8910_interface =
286 {
287 	2,      /* 2 chips */
288 	1500000,        /* 1.5 MHz ?? */
289 	{ 25, 25 },
290 	{ 0 },
291 	{ 0 },
292 	{ 0 },
293 	{ 0 }
294 };
295 
296 static struct DACinterface dac_interface =
297 {
298 	1,
299 	{ 255 }
300 };
301 
302 static MACHINE_DRIVER_START( tagteam )
303 
304 	/* basic machine hardware */
305 	MDRV_CPU_ADD(M6502, 1500000)	/* 1.5 MHz ?? */
306 	MDRV_CPU_MEMORY(readmem,writemem)
307 	MDRV_CPU_VBLANK_INT(tagteam_interrupt,1)
308 
309 	MDRV_CPU_ADD(M6502, 975000)
310 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)  /* 975 kHz ?? */
311 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
312 	MDRV_CPU_VBLANK_INT(nmi_line_pulse,16)   /* IRQs are triggered by the main CPU */
313 
314 	MDRV_FRAMES_PER_SECOND(57)
315 	MDRV_VBLANK_DURATION(3072)
316 
317 	/* video hardware */
318 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
319 	MDRV_SCREEN_SIZE(32*8, 32*8)
320 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
321 	MDRV_GFXDECODE(tagteam_gfxdecodeinfo)
322 	MDRV_PALETTE_LENGTH(32)
323 	MDRV_COLORTABLE_LENGTH(32)
324 
325 	MDRV_PALETTE_INIT(tagteam)
326 	MDRV_VIDEO_START(tagteam)
327 	MDRV_VIDEO_UPDATE(tagteam)
328 
329 	/* sound hardware */
330 	MDRV_SOUND_ADD(AY8910, ay8910_interface)
331 	MDRV_SOUND_ADD(DAC, dac_interface)
332 MACHINE_DRIVER_END
333 
334 
335 
336 ROM_START( bigprowr )
337 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
338 	ROM_LOAD( "bf00-1.20",    0x08000, 0x2000, CRC(8aba32c9) SHA1(9228082a8251feaf25849311c3de63ca42cf659e) )
339 	ROM_LOAD( "bf01.33",      0x0a000, 0x2000, CRC(0a41f3ae) SHA1(1b82cd864f0bd7f16f961fec0b88307996abb166) )
340 	ROM_LOAD( "bf02.34",      0x0c000, 0x2000, CRC(a28b0a0e) SHA1(50b40048a3e2efb2afb7acfb4efde6dbc25fc009) )
341 	ROM_LOAD( "bf03.46",      0x0e000, 0x2000, CRC(d4cf7ec7) SHA1(cfabe40adb05f6239c3e2f002a78efb50150d27d) )
342 
343 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for audio code */
344 	ROM_LOAD( "bf4.8",        0x04000, 0x2000, CRC(0558e1d8) SHA1(317011c0e3a9d5f73c67d044c1fab315ff8049fb) )
345 	ROM_LOAD( "bf5.7",        0x06000, 0x2000, CRC(c1073f24) SHA1(0337c259c10fae3067e5e0e0acf54e6d0891b29f) )
346 	ROM_LOAD( "bf6.6",        0x08000, 0x2000, CRC(208cd081) SHA1(e5f6379e7f7bc80cdea12de7e0a2bb232bb16b5a) )
347 	ROM_LOAD( "bf7.3",        0x0a000, 0x2000, CRC(34a033dc) SHA1(01e4c331233a2337c7c53edd221bb87859278b04) )
348 	ROM_LOAD( "bf8.2",        0x0c000, 0x2000, CRC(eafe8056) SHA1(4a2d1c903e4acee962aeb0f0f18333252790f686) )
349 	ROM_LOAD( "bf9.1",        0x0e000, 0x2000, CRC(d589ce1b) SHA1(c2aca1cc6867d4d6d6e02ac29a4c53c667bf6d89) )
350 
351 	ROM_REGION( 0x12000, REGION_GFX1, ROMREGION_DISPOSE )
352 	ROM_LOAD( "bf10.89",      0x00000, 0x2000, CRC(b1868746) SHA1(a3eff1b00f9ac2512d6ca81f9223723642d4f06a) )
353 	ROM_LOAD( "bf11.94",      0x02000, 0x2000, CRC(c3fe99c1) SHA1(beb3056b37f26a52f3c0907868054b3cc3c4e3ea) )
354 	ROM_LOAD( "bf12.103",     0x04000, 0x2000, CRC(c8717a46) SHA1(6de0238071aacb443234d9a7ef250ddfaa9dd1a8) )
355 	ROM_LOAD( "bf13.91",      0x06000, 0x2000, CRC(23ee34d3) SHA1(2af79845c2d4f06eb85db14d67ec4a499fc272b1) )
356 	ROM_LOAD( "bf14.95",      0x08000, 0x2000, CRC(a6721142) SHA1(200058d7b688dccda0ab0f568ab6c6c215a23e0a) )
357 	ROM_LOAD( "bf15.105",     0x0a000, 0x2000, CRC(60ae1078) SHA1(f9c162ff0830aff26d121f04c107dadb060d4bd5) )
358 	ROM_LOAD( "bf16.93",      0x0c000, 0x2000, CRC(d33dc245) SHA1(3a40ca7f7e17eaaea6e3f90fcf4cb9a72fc4ba8f) )
359 	ROM_LOAD( "bf17.96",      0x0e000, 0x2000, CRC(ccf42380) SHA1(6a8958201125c1b13b1354c98adc573dbea64d56) )
360 	ROM_LOAD( "bf18.107",     0x10000, 0x2000, CRC(fd6f006d) SHA1(ad100ac8c0fed24f922a2cc908c88b4fced07eb0) )
361 
362 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
363 	ROM_LOAD( "fko.8",        0x0000, 0x0020, CRC(b6ee1483) SHA1(b2ea7be533e29da6cd7302532da2eb0410490e6a) )
364 	ROM_LOAD( "fjo.25",       0x0020, 0x0020, CRC(24da2b63) SHA1(4db7e1ff1b9fd5ae4098cd7ca66cf1fa2574501a) ) /* What is this prom for? */
365 ROM_END
366 
367 ROM_START( tagteam )
368 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
369 	ROM_LOAD( "prowbf0.bin",  0x08000, 0x2000, CRC(6ec3afae) SHA1(8ae11cb41a72bda053ce8b79c383503da5324cd1) )
370 	ROM_LOAD( "prowbf1.bin",  0x0a000, 0x2000, CRC(b8fdd176) SHA1(afa8e890ac54101eef0274c8aabe25d188085a18) )
371 	ROM_LOAD( "prowbf2.bin",  0x0c000, 0x2000, CRC(3d33a923) SHA1(e6402290fca72f4fa3a76e37957b9d4f5b4aeddb) )
372 	ROM_LOAD( "prowbf3.bin",  0x0e000, 0x2000, CRC(518475d2) SHA1(b26bb0bb658bfd5ac24ee8ebb7fc11a79917aeda) )
373 
374 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for audio code */
375 	ROM_LOAD( "bf4.8",        0x04000, 0x2000, CRC(0558e1d8) SHA1(317011c0e3a9d5f73c67d044c1fab315ff8049fb) )
376 	ROM_LOAD( "bf5.7",        0x06000, 0x2000, CRC(c1073f24) SHA1(0337c259c10fae3067e5e0e0acf54e6d0891b29f) )
377 	ROM_LOAD( "bf6.6",        0x08000, 0x2000, CRC(208cd081) SHA1(e5f6379e7f7bc80cdea12de7e0a2bb232bb16b5a) )
378 	ROM_LOAD( "bf7.3",        0x0a000, 0x2000, CRC(34a033dc) SHA1(01e4c331233a2337c7c53edd221bb87859278b04) )
379 	ROM_LOAD( "bf8.2",        0x0c000, 0x2000, CRC(eafe8056) SHA1(4a2d1c903e4acee962aeb0f0f18333252790f686) )
380 	ROM_LOAD( "bf9.1",        0x0e000, 0x2000, CRC(d589ce1b) SHA1(c2aca1cc6867d4d6d6e02ac29a4c53c667bf6d89) )
381 
382 	ROM_REGION( 0x12000, REGION_GFX1, ROMREGION_DISPOSE )
383 	ROM_LOAD( "prowbf10.bin", 0x00000, 0x2000, CRC(48165902) SHA1(3145fc83f17712b460a08b882677cfcac08fc272) )
384 	ROM_LOAD( "bf11.94",      0x02000, 0x2000, CRC(c3fe99c1) SHA1(beb3056b37f26a52f3c0907868054b3cc3c4e3ea) )
385 	ROM_LOAD( "prowbf12.bin", 0x04000, 0x2000, CRC(69de1ea2) SHA1(7b696c74e29c0bae33b386da463365e7e796c6a0) )
386 	ROM_LOAD( "prowbf13.bin", 0x06000, 0x2000, CRC(ecfa581d) SHA1(1352c6a5f8e6f2d3fbe9f9e74c542ea2467f1438) )
387 	ROM_LOAD( "bf14.95",      0x08000, 0x2000, CRC(a6721142) SHA1(200058d7b688dccda0ab0f568ab6c6c215a23e0a) )
388 	ROM_LOAD( "prowbf15.bin", 0x0a000, 0x2000, CRC(d0de7e03) SHA1(79267c09621f8f5255c82a69790d5b52b1c5dd6e) )
389 	ROM_LOAD( "prowbf16.bin", 0x0c000, 0x2000, CRC(75ee5705) SHA1(95fdea3768f2d5b81ba5dafd3b13a061cd96689a) )
390 	ROM_LOAD( "bf17.96",      0x0e000, 0x2000, CRC(ccf42380) SHA1(6a8958201125c1b13b1354c98adc573dbea64d56) )
391 	ROM_LOAD( "prowbf18.bin", 0x10000, 0x2000, CRC(e73a4bba) SHA1(6dbc2d741ebf8fcce9144cfe6fe6f35acd25ceef) )
392 
393 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
394 	ROM_LOAD( "fko.8",        0x0000, 0x0020, CRC(b6ee1483) SHA1(b2ea7be533e29da6cd7302532da2eb0410490e6a) )
395 	ROM_LOAD( "fjo.25",       0x0020, 0x0020, CRC(24da2b63) SHA1(4db7e1ff1b9fd5ae4098cd7ca66cf1fa2574501a) ) /* What is this prom for? */
396 ROM_END
397 
398 
399 
400 GAME( 1983, bigprowr, 0,        tagteam, bigprowr, 0, ROT270, "Technos", "The Big Pro Wrestling!" )
401 GAME( 1983, tagteam,  bigprowr, tagteam, tagteam,  0, ROT270, "Technos (Data East license)", "Tag Team Wrestling" )
402