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