1 /* Hit Me driver by the EMUL8, led by Dan Boris
2
3 It doesn't work? should the timer stuff have changed?
4
5 */
6
7 /*
8
9 Hit Me (c) Ramtek 1976
10 ---------------------------------------
11
12 Memory map
13
14 0000-07ff r Rom
15 0c00-0eff w Video Ram
16 1000-13ff r/w Scratch Ram
17
18
19 */
20
21 #include "driver.h"
22
23 static float timeout_time;
24 static int timeout_counter;
25 static const float tock = .0189;
26 data8_t *hitme_vidram;
27
28 WRITE_HANDLER( hitme_vidram_w );
29 VIDEO_START (hitme);
30 VIDEO_START (brickyrd);
31 VIDEO_UPDATE (hitme);
32 PALETTE_INIT( hitme );
33
34 INPUT_PORTS_START( hitme )
35 PORT_START
36 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) /* Start button */
37 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
38 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Random bit generator Based on Hblank */
39 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
40 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* P1 Stand button */
41 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* P1 Hit button */
42 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* P1 Bet button */
43 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
44
45 PORT_START
46 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
47 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
48 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Aux 2 dipswitch - Unused */
49 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
50 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 ) /* P2 Stand button */
51 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 ) /* P2 Hit button */
52 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 ) /* P2 Bet button */
53 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
54
55 PORT_START
56 PORT_DIPNAME( 0x01, 0x00, "Extra Hand On Natural" ) /* Aux 1 dipswitch */
57 PORT_DIPSETTING( 0x00, DEF_STR ( Off ) )
58 PORT_DIPSETTING( 0x01, DEF_STR ( On ) )
59 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
60 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Random bit generator Based on Hblank */
61 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
62 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 ) /* P3 Stand button */
63 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 ) /* P3 Hit button */
64 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 ) /* P3 Bet button */
65 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
66
67 PORT_START
68 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (TOC1) */
69 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
70 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Aux 2 dipswitch - Unused*/
71 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
72 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 ) /* P4 Stand button */
73 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 ) /* P4 Hit button */
74 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER4 ) /* P4 Bet button */
75 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
76
77 PORT_START
78 PORT_DIPNAME( 0x07, 0x07, "Number of Chips" )
79 PORT_DIPSETTING( 0x00, "5 Chips" )
80 PORT_DIPSETTING( 0x01, "10 Chips" )
81 PORT_DIPSETTING( 0x02, "15 Chips" )
82 PORT_DIPSETTING( 0x03, "20 Chips" )
83 PORT_DIPSETTING( 0x04, "25 Chips" )
84 PORT_DIPSETTING( 0x05, "30 Chips" )
85 PORT_DIPSETTING( 0x06, "35 Chips" )
86 PORT_DIPSETTING( 0x07, "40 Chips" )
87
88 PORT_START
89 PORT_DIPNAME( 0x07, 0x00, "Number of Hands" )
90 PORT_DIPSETTING( 0x00, "5 Hands" )
91 PORT_DIPSETTING( 0x01, "10 Hands" )
92 PORT_DIPSETTING( 0x02, "15 Hands" )
93 PORT_DIPSETTING( 0x03, "20 Hands" )
94 PORT_DIPSETTING( 0x04, "25 Hands" )
95 PORT_DIPSETTING( 0x05, "30 Hands" )
96 PORT_DIPSETTING( 0x06, "35 Hands" )
97 PORT_DIPSETTING( 0x07, "40 Hands" )
98 INPUT_PORTS_END
99
100 INPUT_PORTS_START( brickyrd )
101 PORT_START
102 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) /* Start button */
103 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
104 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Random bit generator Based on Hblank */
105 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
106 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
107 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
108 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
109 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
110
111 PORT_START
112 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
113 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
114 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Aux 2 dipswitch - Unused */
115 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER3 )
116 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER3 )
117 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER3 )
118 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER3 )
119 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
120
121 PORT_START
122 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ??? */
123 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
124 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Random bit generator Based on Hblank */
125 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER4 )
126 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER4 )
127 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER4 )
128 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER4 )
129 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
130
131 PORT_START
132 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (TOC1) */
133 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Always high */
134 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Aux 2 dipswitch - Unused*/
135 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
136 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
137 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
138 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
139 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Time out counter (*TO) */
140
141 /* On the flyer it says that barricade has both user adjustable points per
142 game, and speed. From experimenting it looks like points per game is the
143 same dipswitch as hitme's chips, and speed is hitme's hands. The flyer
144 says 1-7 points per games, but it really can go to 8. */
145
146 PORT_START
147 PORT_DIPNAME( 0x07, 0x07, "Points Per Game" )
148 PORT_DIPSETTING( 0x00, "1 Point" )
149 PORT_DIPSETTING( 0x01, "2 Points" )
150 PORT_DIPSETTING( 0x02, "3 Points" )
151 PORT_DIPSETTING( 0x03, "4 Points" )
152 PORT_DIPSETTING( 0x04, "5 Points" )
153 PORT_DIPSETTING( 0x05, "6 Points" )
154 PORT_DIPSETTING( 0x06, "7 Points" )
155 PORT_DIPSETTING( 0x07, "8 Points" )
156
157 /* These are like lives, you lose a point if you crash. The last person with
158 points wins the game. */
159
160 PORT_START
161 PORT_DIPNAME( 0x07, 0x00, "Game Speed" )
162 PORT_DIPSETTING( 0x00, "Fast Fast" )
163 PORT_DIPSETTING( 0x01, "7" )
164 PORT_DIPSETTING( 0x02, "6" )
165 PORT_DIPSETTING( 0x03, "5" )
166 PORT_DIPSETTING( 0x04, "4" )
167 PORT_DIPSETTING( 0x05, "3" )
168 PORT_DIPSETTING( 0x06, "2" )
169 PORT_DIPSETTING( 0x07, "Slow Slow" )
170 INPUT_PORTS_END
171
172 static struct GfxLayout charlayout =
173 {
174 8,8, /* 8*8 characters */
175 64, /* 64 characters */
176 1, /* 1 bit per pixel */
177 { 0 },
178 { 0, 1, 2, 3, 4, 5, 6, 7 },
179 { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
180 8*8 /* every char takes 8 consecutive bytes */
181 };
182
183 static struct GfxDecodeInfo gfxdecodeinfo[] =
184 {
185 { REGION_GFX1, 0, &charlayout, 0, 1 },
186 { -1 } /* end of array */
187 };
188
READ_HANDLER(hitme_port_0_r)189 static READ_HANDLER ( hitme_port_0_r )
190 {
191 if ((timer_get_time() - timeout_time) > (timeout_counter * tock))
192 {
193 return input_port_0_r (offset) - ((rand()%2) << 2) - 0x80;
194 }
195 else
196 return input_port_0_r (offset) - ((rand()%2) << 2);
197 }
198
READ_HANDLER(hitme_port_1_r)199 static READ_HANDLER ( hitme_port_1_r )
200 {
201 if ((timer_get_time() - timeout_time) > (timeout_counter * tock))
202 {
203 return input_port_1_r (offset) - 0x80;
204 }
205 else
206 return input_port_1_r (offset);
207 }
208
READ_HANDLER(hitme_port_2_r)209 static READ_HANDLER ( hitme_port_2_r )
210 {
211 if ((timer_get_time() - timeout_time) > (timeout_counter * tock))
212 {
213 return input_port_2_r (offset) - ((rand()%2) << 2) - 0x80;
214 }
215 else
216 return input_port_2_r (offset) - ((rand()%2) << 2);
217 }
218
READ_HANDLER(hitme_port_3_r)219 static READ_HANDLER ( hitme_port_3_r )
220 {
221 if ((timer_get_time() - timeout_time) > (timeout_counter * tock))
222 {
223 return input_port_3_r (offset) - 0x80;
224 }
225 else
226 return input_port_3_r (offset);
227 }
228
WRITE_HANDLER(output_port_0_w)229 static WRITE_HANDLER ( output_port_0_w )
230 {
231 timeout_counter = (data);
232 timeout_time = timer_get_time();
233 }
234
235 #if 0
236 static READ_HANDLER ( hitme_unknown_r )
237 {
238 return 0x00;
239 }
240 #endif
241
MEMORY_READ_START(hitme_readmem)242 static MEMORY_READ_START( hitme_readmem )
243 { 0x0000, 0x07ff, MRA_ROM },
244 { 0x0c00, 0x0eff, MRA_RAM },
245 { 0x1000, 0x13ff, MRA_RAM },
246 /* guesswork, probably wrong but it reads from these addresses */
247 { 0x1420, 0x1420, hitme_port_0_r },
248 { 0x1520, 0x1520, hitme_port_1_r },
249 { 0x1620, 0x1620, hitme_port_2_r },
250 { 0x1720, 0x1720, hitme_port_3_r },
251 MEMORY_END
252
253 static MEMORY_WRITE_START( hitme_writemem )
254 { 0x0000, 0x07ff, MWA_ROM },
255 { 0x0c00, 0x0eff, hitme_vidram_w, &hitme_vidram },
256 { 0x1000, 0x13ff, MWA_RAM },
257 MEMORY_END
258
259 static PORT_READ_START( hitme_readport )
260 { 0x14, 0x14, hitme_port_0_r },
261 { 0x15, 0x15, hitme_port_1_r },
262 { 0x16, 0x16, hitme_port_2_r },
263 { 0x17, 0x17, hitme_port_3_r },
264 { 0x18, 0x18, input_port_4_r },
265 { 0x19, 0x19, input_port_5_r },
266 PORT_END
267
268 static PORT_WRITE_START( hitme_writeport )
269 { 0x1d, 0x1d, output_port_0_w }, /* OUT0 */
270 /* { 0x1e, 0x1e, output_port_1_r }, // OUT1 /*/
271 PORT_END
272
273 static MACHINE_DRIVER_START( hitme )
274
275 /* basic machine hardware */
276 MDRV_CPU_ADD(8080, 8945000/16 ) /* .559 MHz */
277 MDRV_CPU_MEMORY(hitme_readmem,hitme_writemem)
278 MDRV_CPU_PORTS(hitme_readport,hitme_writeport)
279 /* interrupts not used */
280
281 MDRV_FRAMES_PER_SECOND(60)
282 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
283
284 /* video hardware */
285 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER )
286 MDRV_SCREEN_SIZE(40*8, 19*8)
287 MDRV_VISIBLE_AREA( 0*8, 40*8-1, 0*8, 19*8-1 )
288 MDRV_GFXDECODE(gfxdecodeinfo)
289 MDRV_PALETTE_LENGTH(2)
290
291 MDRV_PALETTE_INIT(hitme)
292 MDRV_VIDEO_START(hitme)
293 MDRV_VIDEO_UPDATE(hitme)
294 /* sound hardware */
295 MACHINE_DRIVER_END
296
297 /* The Barricade rom is using a resolution of 32x24 which suggests slightly
298 different hardware from HitMe (40x19) however the screenshot on the arcade
299 flyer is using a 40x19 resolution. So is this a different version of
300 Barricade or is the resolution set by a dip switch?
301
302 */
303
304
305 static MACHINE_DRIVER_START( brickyrd )
306
307 /* basic machine hardware */
308 MDRV_CPU_ADD(8080, 8945000/16 ) /* .559 MHz */
309 MDRV_CPU_MEMORY(hitme_readmem,hitme_writemem)
310 MDRV_CPU_PORTS(hitme_readport,hitme_writeport)
311
312 MDRV_FRAMES_PER_SECOND(60)
313 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
314
315 /* video hardware */
316 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER )
317 MDRV_SCREEN_SIZE(32*8, 24*8)
318 MDRV_VISIBLE_AREA( 0*8, 32*8-1, 0*8, 24*8-1 )
319 MDRV_GFXDECODE(gfxdecodeinfo)
320 MDRV_PALETTE_LENGTH(2)
321
322 MDRV_PALETTE_INIT(hitme)
323 MDRV_VIDEO_START(brickyrd)
324 MDRV_VIDEO_UPDATE(hitme)
325 /* sound hardware */
326 MACHINE_DRIVER_END
327
328 ROM_START( hitme )
329 ROM_REGION( 0x10000, REGION_CPU1, ROMREGION_INVERT ) /* 64k for code */
330 ROM_LOAD( "hm0.b7", 0x0000, 0x0200, CRC(6c48c50f) SHA1(42dc7c3461687e5be4393cc21d695bc84ae4f5dc) )
331 ROM_LOAD( "hm2.c7", 0x0200, 0x0200, CRC(25d47ba4) SHA1(6f3bb4ca6918dc07f37d0c0c7fe5ec53aa7171a5) )
332 ROM_LOAD( "hm4.d7", 0x0400, 0x0200, CRC(f8bfda8d) SHA1(48bbc106f8d80d6c1ad1a2c1575ce7d6452fbe9d) )
333 ROM_LOAD( "hm6.e7", 0x0600, 0x0200, CRC(8aa87118) SHA1(aca395a4f6a1981cd89ca99e05935d72adcb69ca) )
334
335 ROM_REGION( 0x0400, REGION_GFX1, 0 )
336 ROM_LOAD( "hmcg.h7", 0x0000, 0x0200, CRC(818f5fbe) SHA1(e2b3349e51ba57d14f3388ba93891bc6274b7a14) )
337 ROM_END
338
339 ROM_START( mblkjack )
340 ROM_REGION( 0x10000, REGION_CPU1, ROMREGION_INVERT ) /* 64k for code */
341 ROM_LOAD( "mirco1.bin", 0x0000, 0x0200, CRC(aa796ad7) SHA1(2908bdb4ab17a2f5bc4da2f957906bf2b57afa50) )
342 ROM_LOAD( "hm2.c7", 0x0200, 0x0200, CRC(25d47ba4) SHA1(6f3bb4ca6918dc07f37d0c0c7fe5ec53aa7171a5) )
343 ROM_LOAD( "hm4.d7", 0x0400, 0x0200, CRC(f8bfda8d) SHA1(48bbc106f8d80d6c1ad1a2c1575ce7d6452fbe9d) )
344 ROM_LOAD( "hm6.e7", 0x0600, 0x0200, CRC(8aa87118) SHA1(aca395a4f6a1981cd89ca99e05935d72adcb69ca) )
345
346 ROM_REGION( 0x0400, REGION_GFX1, 0 )
347 ROM_LOAD( "hmcg.h7", 0x0000, 0x0200, CRC(818f5fbe) SHA1(e2b3349e51ba57d14f3388ba93891bc6274b7a14) )
348 ROM_END
349
350 ROM_START( barricad )
351 ROM_REGION( 0x10000, REGION_CPU1, ROMREGION_INVERT ) /* 64k for code */
352 ROM_LOAD( "550806.7b", 0x0000, 0x0200, CRC(ea7f5da7) SHA1(c0ad37a0ffdb0500e8adc8fb9c4369e461307f84) )
353 ROM_LOAD( "550807.7c", 0x0200, 0x0200, CRC(0afef174) SHA1(2a7be988262b855bc81a1b0036fa9f2481d4d53b) )
354 ROM_LOAD( "550808.7d", 0x0400, 0x0200, CRC(6e02d260) SHA1(8a1640a1d56cbc34f74f07bc15e77db63635e8f5) )
355 ROM_LOAD( "550809.7e", 0x0600, 0x0200, CRC(d834a63f) SHA1(ffb631cc4f51a670c7cd30df1c79bf51301d9e9a) )
356
357 ROM_REGION( 0x0400, REGION_GFX1, 0 )
358 ROM_LOAD( "550805.7h", 0x0000, 0x0200, CRC(35197599) SHA1(3c49af89b1bc1d495e1d6265ff3feaf33c56facb) )
359 ROM_END
360
361 ROM_START( brickyrd )
362 ROM_REGION( 0x10000, REGION_CPU1, ROMREGION_INVERT ) /* 64k for code */
363 ROM_LOAD( "550806.7b", 0x0000, 0x0200, CRC(ea7f5da7) SHA1(c0ad37a0ffdb0500e8adc8fb9c4369e461307f84) )
364 ROM_LOAD( "barricad.7c", 0x0200, 0x0200, CRC(94e1d1c0) SHA1(f6e6f9a783867c3602ba8cff6a18c47c5df987a4) )
365 ROM_LOAD( "550808.7d", 0x0400, 0x0200, CRC(6e02d260) SHA1(8a1640a1d56cbc34f74f07bc15e77db63635e8f5) )
366 ROM_LOAD( "barricad.7e", 0x0600, 0x0200, CRC(2b1d914f) SHA1(f1a6631949a7c62f5de39d58821e1be36b98629e) )
367
368 ROM_REGION( 0x0400, REGION_GFX1, 0 )
369 ROM_LOAD( "barricad.7h", 0x0000, 0x0200, CRC(c676fd22) SHA1(c37bf92f5a146a93bd977b2a05485addc00ab066) )
370 ROM_END
371
372 GAMEX( 1976, hitme, 0, hitme, hitme, 0, ROT0, "RamTek", "Hit Me", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
373 GAMEX( 197?, mblkjack, hitme, hitme, hitme, 0, ROT0, "Mirco", "Black Jack (Mirco)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
374 GAMEX( 1976, barricad, 0, brickyrd, brickyrd, 0, ROT0, "RamTek", "Barricade", GAME_NO_SOUND )
375 GAMEX( 1976, brickyrd, barricad, brickyrd, brickyrd, 0, ROT0, "RamTek", "Brickyard", GAME_NO_SOUND )
376