1 #include "../vidhrdw/amidar.c"
2
3 /***************************************************************************
4
5 Amidar memory map (preliminary)
6
7 0000-3fff ROM (Amidar US version and Turtles: 0000-4fff)
8 8000-87ff RAM
9 9000-93ff Video RAM
10 9800-983f Screen attributes
11 9840-985f sprites
12
13 read:
14 a800 watchdog reset
15 b000 IN0
16 b010 IN1
17 b020 IN2
18 b820 DSW (not Turtles)
19 see the input_ports definition below for details on the input bits
20
21 write:
22 a008 interrupt enable
23 a010/a018 flip screen X & Y (I don't know which is which)
24 a030 coin counter A
25 a038 coin counter B
26 b800 To AY-3-8910 port A (commands for the audio CPU)
27 b810 bit 3 = interrupt trigger on audio CPU
28
29
30 SOUND BOARD:
31 0000-1fff ROM
32 8000-83ff RAM
33
34 write:
35 9000 ?
36 9080 ?
37
38 I/0 ports:
39 read:
40 20 8910 #2 read
41 80 8910 #1 read
42
43 write
44 10 8910 #2 control
45 20 8910 #2 write
46 40 8910 #1 control
47 80 8910 #1 write
48
49 interrupts:
50 interrupt mode 1 triggered by the main CPU
51
52 ***************************************************************************/
53
54 #include "driver.h"
55 #include "vidhrdw/generic.h"
56
57
58
59 extern unsigned char *amidar_attributesram;
60 void amidar_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
61 WRITE_HANDLER( amidar_attributes_w );
62 void amidar_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
63
64 READ_HANDLER( scramble_portB_r );
65 WRITE_HANDLER( scramble_sh_irqtrigger_w );
66
WRITE_HANDLER(amidar_coina_w)67 WRITE_HANDLER( amidar_coina_w )
68 {
69 coin_counter_w (0, data);
70 coin_counter_w (0, 0);
71 }
72
WRITE_HANDLER(amidar_coinb_w)73 WRITE_HANDLER( amidar_coinb_w )
74 {
75 coin_counter_w (1, data);
76 coin_counter_w (1, 0);
77 }
78
79 static struct MemoryReadAddress amidar_readmem[] =
80 {
81 { 0x0000, 0x4fff, MRA_ROM },
82 { 0x8000, 0x87ff, MRA_RAM },
83 { 0x9000, 0x93ff, MRA_RAM },
84 { 0x9800, 0x985f, MRA_RAM },
85 { 0xa800, 0xa800, watchdog_reset_r },
86 { 0xb000, 0xb000, input_port_0_r }, /* IN0 */
87 { 0xb010, 0xb010, input_port_1_r }, /* IN1 */
88 { 0xb020, 0xb020, input_port_2_r }, /* IN2 */
89 { 0xb820, 0xb820, input_port_3_r }, /* DSW */
90 { -1 } /* end of table */
91 };
92
93 static struct MemoryWriteAddress writemem[] =
94 {
95 { 0x0000, 0x4fff, MWA_ROM },
96 { 0x8000, 0x87ff, MWA_RAM },
97 { 0x9000, 0x93ff, videoram_w, &videoram, &videoram_size },
98 { 0x9800, 0x983f, amidar_attributes_w, &amidar_attributesram },
99 { 0x9840, 0x985f, MWA_RAM, &spriteram, &spriteram_size },
100 { 0x9860, 0x987f, MWA_NOP },
101 { 0xa008, 0xa008, interrupt_enable_w },
102 { 0xa010, 0xa010, flip_screen_x_w },
103 { 0xa018, 0xa018, flip_screen_y_w },
104 { 0xa030, 0xa030, amidar_coina_w },
105 { 0xa038, 0xa038, amidar_coinb_w },
106 { 0xb800, 0xb800, soundlatch_w },
107 { 0xb810, 0xb810, scramble_sh_irqtrigger_w },
108 { -1 } /* end of table */
109 };
110
111
112
113 static struct MemoryReadAddress sound_readmem[] =
114 {
115 { 0x0000, 0x1fff, MRA_ROM },
116 { 0x8000, 0x83ff, MRA_RAM },
117 { -1 } /* end of table */
118 };
119
120 static struct MemoryWriteAddress sound_writemem[] =
121 {
122 { 0x0000, 0x1fff, MWA_ROM },
123 { 0x8000, 0x83ff, MWA_RAM },
124 // { 0x9000, 0x9000, MWA_NOP },
125 // { 0x9080, 0x9080, MWA_NOP },
126 { -1 } /* end of table */
127 };
128
129
130
131 static struct IOReadPort sound_readport[] =
132 {
133 { 0x80, 0x80, AY8910_read_port_0_r },
134 { 0x20, 0x20, AY8910_read_port_1_r },
135 { -1 } /* end of table */
136 };
137
138 static struct IOWritePort sound_writeport[] =
139 {
140 { 0x40, 0x40, AY8910_control_port_0_w },
141 { 0x80, 0x80, AY8910_write_port_0_w },
142 { 0x10, 0x10, AY8910_control_port_1_w },
143 { 0x20, 0x20, AY8910_write_port_1_w },
144 { -1 } /* end of table */
145 };
146
147
148
149 INPUT_PORTS_START( amidar )
150 PORT_START /* IN0 */
151 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
152 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
153 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
154 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
155 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
156 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
157 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
158 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
159
160 PORT_START /* IN1 */
161 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
162 PORT_DIPSETTING( 0x03, "3" )
163 PORT_DIPSETTING( 0x02, "4" )
164 PORT_DIPSETTING( 0x01, "5" )
165 PORT_BITX (0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "255", IP_KEY_NONE, IP_JOY_NONE )
166 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
167 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
168 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
169 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
170 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
171 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
172
173 PORT_START /* IN2 */
174 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
175 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
176 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
177 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
178 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
179 PORT_DIPSETTING( 0x00, "30000 70000" )
180 PORT_DIPSETTING( 0x04, "50000 80000" )
181 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
182 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
183 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
184 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
185 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
186 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
187 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
188 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
189 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
190 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
191 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
192
193 PORT_START /* DSW */
194 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
195 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
196 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
197 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
198 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
199 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
200 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
201 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
202 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
203 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
204 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
205 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
206 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
207 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
208 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
209 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
210 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
211 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
212 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
213 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
214 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
215 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
216 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
217 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
218 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
219 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
220 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
221 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
222 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
223 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
224 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
225 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
226 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
227 PORT_DIPSETTING( 0x00, "Disable All Coins" )
228 INPUT_PORTS_END
229
230 INPUT_PORTS_START( amidaro )
231 PORT_START /* IN0 */
232 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
233 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
234 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
235 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
236 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
237 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
238 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
239 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
240
241 PORT_START /* IN1 */
242 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
243 PORT_DIPSETTING( 0x03, "1" )
244 PORT_DIPSETTING( 0x02, "2" )
245 PORT_DIPSETTING( 0x01, "3" )
246 PORT_DIPSETTING( 0x00, "4" )
247 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
248 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
249 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
250 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
251 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
252 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
253
254 PORT_START /* IN2 */
255 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
256 PORT_DIPNAME( 0x02, 0x00, "Level Progression" )
257 PORT_DIPSETTING( 0x00, "Slow" )
258 PORT_DIPSETTING( 0x02, "Fast" )
259 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
260 PORT_DIPSETTING( 0x00, "30000 70000" )
261 PORT_DIPSETTING( 0x04, "50000 80000" )
262 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
263 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
264 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
265 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
266 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
267 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
268 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
269 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
270 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
271 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
272 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
273
274 PORT_START /* DSW */
275 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
276 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
277 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
278 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
279 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
280 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
281 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
282 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
283 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
284 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
285 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
286 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
287 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
288 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
289 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
290 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
291 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
292 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
293 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
294 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
295 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
296 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
297 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
298 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
299 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
300 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
301 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
302 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
303 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
304 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
305 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
306 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
307 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
308 PORT_DIPSETTING( 0x00, "Disable All Coins" )
309 INPUT_PORTS_END
310
311 /* absolutely identical to amidar, the only difference is the BONUS dip switch */
312 INPUT_PORTS_START( amidarjp )
313 PORT_START /* IN0 */
314 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
315 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
316 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
317 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
318 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
319 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
320 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
321 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
322
323 PORT_START /* IN1 */
324 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
325 PORT_DIPSETTING( 0x03, "3" )
326 PORT_DIPSETTING( 0x02, "4" )
327 PORT_DIPSETTING( 0x01, "5" )
328 PORT_BITX (0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "255", IP_KEY_NONE, IP_JOY_NONE )
329 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
330 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
331 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
332 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
333 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
334 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
335
336 PORT_START /* IN2 */
337 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
338 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
339 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
340 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
341 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
342 PORT_DIPSETTING( 0x00, "30000 50000" )
343 PORT_DIPSETTING( 0x04, "50000 50000" )
344 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
345 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
346 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
347 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
348 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
349 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
350 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
351 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
352 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
353 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
354 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
355
356 PORT_START /* DSW */
357 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
358 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
359 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
360 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
361 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
362 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
363 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
364 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
365 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
366 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
367 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
368 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
369 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
370 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
371 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
372 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
373 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
374 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
375 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
376 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
377 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
378 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
379 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
380 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
381 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
382 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
383 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
384 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
385 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
386 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
387 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
388 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
389 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
390 PORT_DIPSETTING( 0x00, "Disable All Coins" )
391 INPUT_PORTS_END
392
393 /* similar to Amidar, dip switches are different and port 3, which in Amidar */
394 /* selects coins per credit, is not used. */
395 INPUT_PORTS_START( turtles )
396 PORT_START /* IN0 */
397 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
398 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
399 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
400 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
401 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
402 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
403 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
404 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
405
406 PORT_START /* IN1 */
407 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
408 PORT_DIPSETTING( 0x00, "2" )
409 PORT_DIPSETTING( 0x01, "3" )
410 PORT_DIPSETTING( 0x02, "4" )
411 PORT_BITX (0, 0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "126", IP_KEY_NONE, IP_JOY_NONE )
412 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
413 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
414 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
415 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
416 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
417 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
418
419 PORT_START /* IN2 */
420 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
421 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
422 PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" )
423 PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" )
424 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" )
425 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" )
426 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
427 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
428 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
429 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
430 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
431 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
432 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
433 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
434 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
435 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
436 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
437 INPUT_PORTS_END
438
439 /* same as Turtles, but dip switches are different. */
440 INPUT_PORTS_START( turpin )
441 PORT_START /* IN0 */
442 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
443 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
444 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
445 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
446 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
447 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
448 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
449 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
450
451 PORT_START /* IN1 */
452 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
453 PORT_DIPSETTING( 0x00, "2" )
454 PORT_DIPSETTING( 0x01, "4" )
455 PORT_DIPSETTING( 0x02, "6" )
456 PORT_BITX (0, 0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "126", IP_KEY_NONE, IP_JOY_NONE )
457 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
458 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
459 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
460 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
461 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
462 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
463
464 PORT_START /* IN2 */
465 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
466 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
467 PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )
468 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
469 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
470 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
471 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
472 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
473 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
474 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
475 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
476 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
477 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
478 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
479 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
480 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
481 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
482 INPUT_PORTS_END
483
484 /* similar to Turtles, lives are different */
485 INPUT_PORTS_START( 600 )
486 PORT_START /* IN0 */
487 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
488 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
489 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
490 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
491 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
492 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
493 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
494 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
495
496 PORT_START /* IN1 */
497 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
498 PORT_DIPSETTING( 0x00, "3" )
499 PORT_DIPSETTING( 0x01, "4" )
500 PORT_DIPSETTING( 0x02, "5" )
501 PORT_BITX (0, 0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "126", IP_KEY_NONE, IP_JOY_NONE )
502 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
503 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
504 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
505 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
506 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
507 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
508
509 PORT_START /* IN2 */
510 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
511 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
512 PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" )
513 PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" )
514 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" )
515 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" )
516 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
517 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
518 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
519 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
520 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
521 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
522 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
523 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
524 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
525 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
526 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
527 INPUT_PORTS_END
528
529
530
531 static struct GfxLayout charlayout =
532 {
533 8,8, /* 8*8 characters */
534 256, /* 256 characters */
535 2, /* 2 bits per pixel */
536 { 0, 256*8*8 }, /* the two bitplanes are separated */
537 { 0, 1, 2, 3, 4, 5, 6, 7 },
538 { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
539 8*8 /* every char takes 8 consecutive bytes */
540 };
541 static struct GfxLayout spritelayout =
542 {
543 16,16, /* 16*16 sprites */
544 64, /* 64 sprites */
545 2, /* 2 bits per pixel */
546 { 0, 64*16*16 }, /* the two bitplanes are separated */
547 { 0, 1, 2, 3, 4, 5, 6, 7,
548 8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
549 { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
550 16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
551 32*8 /* every sprite takes 32 consecutive bytes */
552 };
553
554 static struct GfxDecodeInfo gfxdecodeinfo[] =
555 {
556 { REGION_GFX1, 0x0000, &charlayout, 0, 8 },
557 { REGION_GFX1, 0x0000, &spritelayout, 0, 8 },
558 { -1 } /* end of array */
559 };
560
561
562
563 static struct AY8910interface ay8910_interface =
564 {
565 2, /* 2 chips */
566 14318000/8, /* 1.78975 Mhz */
567 { MIXERG(30,MIXER_GAIN_2x,MIXER_PAN_CENTER), MIXERG(30,MIXER_GAIN_2x,MIXER_PAN_CENTER) },
568 { soundlatch_r },
569 { scramble_portB_r },
570 { 0 },
571 { 0 }
572 };
573
574
575
576 static struct MachineDriver machine_driver_amidar =
577 {
578 /* basic machine hardware */
579 {
580 {
581 CPU_Z80,
582 18432000/6, /* 3.072 Mhz */
583 amidar_readmem,writemem,0,0,
584 nmi_interrupt,1
585 },
586 {
587 CPU_Z80 | CPU_AUDIO_CPU,
588 14318000/8, /* 1.78975 Mhz */
589 sound_readmem,sound_writemem,sound_readport,sound_writeport,
590 ignore_interrupt,1 /* interrupts are triggered by the main CPU */
591 }
592 },
593 60, 2500, /* frames per second, vblank duration */
594 1, /* 1 CPU slice per frame - interleaving is forced when a sound command is written */
595 0,
596
597 /* video hardware */
598 32*8, 32*8, { 0*8, 32*8-1, 2*8, 30*8-1 },
599 gfxdecodeinfo,
600 32,32,
601 amidar_vh_convert_color_prom,
602
603 VIDEO_TYPE_RASTER|VIDEO_SUPPORTS_DIRTY,
604 0,
605 generic_vh_start,
606 generic_vh_stop,
607 amidar_vh_screenrefresh,
608
609 /* sound hardware */
610 0,0,0,0,
611 {
612 {
613 SOUND_AY8910,
614 &ay8910_interface
615 }
616 }
617 };
618
619
620
621 /***************************************************************************
622
623 Game driver(s)
624
625 ***************************************************************************/
626
627 ROM_START( amidar )
628 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
629 ROM_LOAD( "amidar.2c", 0x0000, 0x1000, 0xc294bf27 )
630 ROM_LOAD( "amidar.2e", 0x1000, 0x1000, 0xe6e96826 )
631 ROM_LOAD( "amidar.2f", 0x2000, 0x1000, 0x3656be6f )
632 ROM_LOAD( "amidar.2h", 0x3000, 0x1000, 0x1be170bd )
633
634 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
635 ROM_LOAD( "amidar.5c", 0x0000, 0x1000, 0xc4b66ae4 )
636 ROM_LOAD( "amidar.5d", 0x1000, 0x1000, 0x806785af )
637
638 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
639 ROM_LOAD( "amidar.5f", 0x0000, 0x0800, 0x5e51e84d )
640 ROM_LOAD( "amidar.5h", 0x0800, 0x0800, 0x2f7f1c30 )
641
642 ROM_REGION( 0x0020, REGION_PROMS )
643 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, 0xf940dcc3 )
644 ROM_END
645
646 ROM_START( amidaru )
647 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
648 ROM_LOAD( "amidarus.2c", 0x0000, 0x1000, 0x951e0792 )
649 ROM_LOAD( "amidarus.2e", 0x1000, 0x1000, 0xa1a3a136 )
650 ROM_LOAD( "amidarus.2f", 0x2000, 0x1000, 0xa5121bf5 )
651 ROM_LOAD( "amidarus.2h", 0x3000, 0x1000, 0x051d1c7f )
652 ROM_LOAD( "amidarus.2j", 0x4000, 0x1000, 0x351f00d5 )
653
654 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
655 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, 0x8ca7b750 )
656 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, 0x9b5bdc0a )
657
658 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
659 ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, 0x2cfe5ede )
660 ROM_LOAD( "amidarus.5h", 0x0800, 0x0800, 0x57c4fd0d )
661
662 ROM_REGION( 0x0020, REGION_PROMS )
663 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, 0xf940dcc3 )
664 ROM_END
665
666 ROM_START( amidaro )
667 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
668 ROM_LOAD( "107.2cd", 0x0000, 0x1000, 0xc52536be )
669 ROM_LOAD( "108.2fg", 0x1000, 0x1000, 0x38538b98 )
670 ROM_LOAD( "109.2fg", 0x2000, 0x1000, 0x69907f0f )
671 ROM_LOAD( "110.2h", 0x3000, 0x1000, 0xba149a93 )
672 ROM_LOAD( "111.2j", 0x4000, 0x1000, 0x20d01c2e )
673
674 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
675 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, 0x8ca7b750 )
676 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, 0x9b5bdc0a )
677
678 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
679 ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, 0x2cfe5ede )
680 ROM_LOAD( "113.5h", 0x0800, 0x0800, 0xbcdce168 ) /* The letter 'S' is slightly different */
681
682 ROM_REGION( 0x0020, REGION_PROMS )
683 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, 0xf940dcc3 )
684 ROM_END
685
686 ROM_START( amigo )
687 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
688 ROM_LOAD( "2732.a1", 0x0000, 0x1000, 0x930dc856 )
689 ROM_LOAD( "2732.a2", 0x1000, 0x1000, 0x66282ff5 )
690 ROM_LOAD( "2732.a3", 0x2000, 0x1000, 0xe9d3dc76 )
691 ROM_LOAD( "2732.a4", 0x3000, 0x1000, 0x4a4086c9 )
692
693 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
694 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, 0x8ca7b750 )
695 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, 0x9b5bdc0a )
696
697 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
698 ROM_LOAD( "2716.a6", 0x0000, 0x0800, 0x2082ad0a )
699 ROM_LOAD( "2716.a5", 0x0800, 0x0800, 0x3029f94f )
700
701 ROM_REGION( 0x0020, REGION_PROMS )
702 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, 0xf940dcc3 )
703 ROM_END
704
705 ROM_START( turtles )
706 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
707 ROM_LOAD( "turt_vid.2c", 0x0000, 0x1000, 0xec5e61fb )
708 ROM_LOAD( "turt_vid.2e", 0x1000, 0x1000, 0xfd10821e )
709 ROM_LOAD( "turt_vid.2f", 0x2000, 0x1000, 0xddcfc5fa )
710 ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, 0x9e71696c )
711 ROM_LOAD( "turt_vid.2j", 0x4000, 0x1000, 0xfcd49fef )
712
713 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
714 ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, 0xf0c30f9a )
715 ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, 0xaf5fc43c )
716
717 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
718 ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, 0xe5999d52 )
719 ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, 0xc3ffd655 )
720
721 ROM_REGION( 0x0020, REGION_PROMS )
722 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, 0xf3ef02dd )
723 ROM_END
724
725 ROM_START( turpin )
726 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
727 ROM_LOAD( "m1", 0x0000, 0x1000, 0x89177473 )
728 ROM_LOAD( "m2", 0x1000, 0x1000, 0x4c6ca5c6 )
729 ROM_LOAD( "m3", 0x2000, 0x1000, 0x62291652 )
730 ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, 0x9e71696c )
731 ROM_LOAD( "m5", 0x4000, 0x1000, 0x7d2600f2 )
732
733 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
734 ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, 0xf0c30f9a )
735 ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, 0xaf5fc43c )
736
737 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
738 ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, 0xe5999d52 )
739 ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, 0xc3ffd655 )
740
741 ROM_REGION( 0x0020, REGION_PROMS )
742 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, 0xf3ef02dd )
743 ROM_END
744
745 ROM_START( 600 )
746 ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
747 ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, 0x8ee090ae )
748 ROM_LOAD( "600_vid.2e", 0x1000, 0x1000, 0x45bfaff2 )
749 ROM_LOAD( "600_vid.2f", 0x2000, 0x1000, 0x9f4c8ed7 )
750 ROM_LOAD( "600_vid.2h", 0x3000, 0x1000, 0xa92ef056 )
751 ROM_LOAD( "600_vid.2j", 0x4000, 0x1000, 0x6dadd72d )
752
753 ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
754 ROM_LOAD( "600_snd.5c", 0x0000, 0x1000, 0x1773c68e )
755 ROM_LOAD( "600_snd.5d", 0x1000, 0x1000, 0xa311b998 )
756
757 ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
758 ROM_LOAD( "600_vid.5h", 0x0000, 0x0800, 0x006c3d56 )
759 ROM_LOAD( "600_vid.5f", 0x0800, 0x0800, 0x7dbc0426 )
760
761 ROM_REGION( 0x0020, REGION_PROMS )
762 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, 0xf3ef02dd )
763 ROM_END
764
765
766
767 GAME( 1981, amidar, 0, amidar, amidarjp, 0, ROT90, "Konami", "Amidar" )
768 GAME( 1982, amidaru, amidar, amidar, amidar, 0, ROT90, "Konami (Stern license)", "Amidar (Stern)" )
769 GAME( 1982, amidaro, amidar, amidar, amidaro, 0, ROT90, "Konami (Olympia license)", "Amidar (Olympia)" )
770 GAME( 1982, amigo, amidar, amidar, amidar, 0, ROT90, "bootleg", "Amigo" )
771 GAME( 1981, turtles, 0, amidar, turtles, 0, ROT90, "[Konami] (Stern license)", "Turtles" )
772 GAME( 1981, turpin, turtles, amidar, turpin, 0, ROT90, "[Konami] (Sega license)", "Turpin" )
773 GAME( 1981, 600, turtles, amidar, 600, 0, ROT90, "Konami", "600" )
774