1
65
66 #include "emu.h"
67 #include "includes/snowbros.h"
68 #include "cpu/m68000/m68000.h"
69 #include "cpu/z80/z80.h"
70 #include "sound/2151intf.h"
71 #include "sound/3812intf.h"
72 #include "sound/okim6295.h"
73 #include "video/kan_pand.h"
74 #include "video/kan_panb.h"
75 #include "cpu/mcs51/mcs51.h"
76
77
78 WRITE16_MEMBER(snowbros_state::snowbros_flipscreen_w)
79 {
80 if (ACCESSING_BITS_8_15)
81 flip_screen_set(~data & 0x8000);
82 }
83
84
85 UINT32 snowbros_state::screen_update_snowbros(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
86 {
87 device_t *pandora = machine().device("pandora");
88
89
90 bitmap.fill(0xf0, cliprect);
91 pandora_update(pandora, bitmap, cliprect);
92 return 0;
93 }
94
95
96 void snowbros_state::screen_eof_snowbros(screen_device &screen, bool state)
97 {
98
99 if (state)
100 {
101 device_t *pandora = machine().device("pandora");
102 pandora_eof(pandora);
103 }
104 }
105
106
107
108 WRITE16_MEMBER(snowbros_state::snowbros_irq4_ack_w)
109 {
110 machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
111 }
112
113 WRITE16_MEMBER(snowbros_state::snowbros_irq3_ack_w)
114 {
115 machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
116 }
117
118 WRITE16_MEMBER(snowbros_state::snowbros_irq2_ack_w)
119 {
120 machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
121 }
122
123 TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros_irq)
124 {
125 int scanline = param;
126
127 if(scanline == 240)
128 m_maincpu->set_input_line(2, ASSERT_LINE);
129
130 if(scanline == 128)
131 m_maincpu->set_input_line(3, ASSERT_LINE);
132
133 if(scanline == 32)
134 m_maincpu->set_input_line(4, ASSERT_LINE);
135 }
136
137 TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros3_irq)
138 {
139 okim6295_device *adpcm = machine().device<okim6295_device>("oki");
140 int status = adpcm->read_status();
141 int scanline = param;
142
143 if(scanline == 240)
144 m_maincpu->set_input_line(2, ASSERT_LINE);
145
146 if(scanline == 128)
147 m_maincpu->set_input_line(3, ASSERT_LINE);
148
149 if(scanline == 32)
150 m_maincpu->set_input_line(4, ASSERT_LINE);
151
152 if (m_sb3_music_is_playing)
153 {
154 if ((status&0x08)==0x00)
155 {
156 adpcm->write_command(0x80|m_sb3_music);
157 adpcm->write_command(0x00|0x82);
158 }
159
160 }
161 else
162 {
163 if ((status&0x08)==0x08)
164 {
165 adpcm->write_command(0x40);
166 }
167 }
168
169 }
170
171
172
173
174 READ16_MEMBER(snowbros_state::snowbros_68000_sound_r)
175 {
176 return soundlatch_byte_r(space,offset);
177 }
178
179
180 WRITE16_MEMBER(snowbros_state::snowbros_68000_sound_w)
181 {
182 if (ACCESSING_BITS_0_7)
183 {
184 soundlatch_byte_w(space, offset, data & 0xff);
185 machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
186 }
187 }
188
189 WRITE16_MEMBER(snowbros_state::semicom_soundcmd_w)
190 {
191 if (ACCESSING_BITS_0_7) soundlatch_byte_w(space,0,data & 0xff);
192 }
193
194
195
196 static ADDRESS_MAP_START( snowbros_map, AS_PROGRAM, 16, snowbros_state )
197 AM_RANGE(0x000000, 0x03ffff) AM_ROM
198 AM_RANGE(0x100000, 0x103fff) AM_RAM
199 AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
200 AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,snowbros_68000_sound_w)
201 AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
202 AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
203 AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
204 AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
205 AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
206 AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_spriteram_LSB_w)
207 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
208 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
209 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
210 ADDRESS_MAP_END
211
212 static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, snowbros_state )
213 AM_RANGE(0x0000, 0x7fff) AM_ROM
214 AM_RANGE(0x8000, 0x87ff) AM_RAM
215 ADDRESS_MAP_END
216
217 static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snowbros_state )
218 ADDRESS_MAP_GLOBAL_MASK(0xff)
219 AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
220 AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_byte_r, soundlatch_byte_w)
221 ADDRESS_MAP_END
222
223
224
225 READ8_MEMBER(snowbros_state::prot_io_r)
226 {
227
228 return 0x00;
229 }
230
231
232
233 WRITE8_MEMBER(snowbros_state::prot_io_w)
234 {
235 switch (offset)
236 {
237 case 0x00:
238 {
239 UINT16 word = m_hyperpac_ram[(0xe000/2)+m_semicom_prot_offset];
240 word = (word & 0xff00) | (data << 0);
241 m_hyperpac_ram[(0xe000/2)+m_semicom_prot_offset] = word;
242 break;
243 }
244
245 case 0x01:
246 {
247 UINT16 word = m_hyperpac_ram[(0xe000/2)+m_semicom_prot_offset];
248 word = (word & 0x00ff) | (data << 8);
249 m_hyperpac_ram[(0xe000/2)+m_semicom_prot_offset] = word;
250 break;
251 }
252
253 case 0x02:
254 {
255 m_semicom_prot_offset = data;
256 break;
257 }
258
259 case 0x03:
260 {
261
262 break;
263 }
264 }
265 }
266
267
268 static ADDRESS_MAP_START( protection_map, AS_PROGRAM, 8, snowbros_state )
269 AM_RANGE(0x0000, 0x1fff) AM_ROM
270 ADDRESS_MAP_END
271
272 static ADDRESS_MAP_START( protection_iomap, AS_IO, 8, snowbros_state )
273 AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(prot_io_r,prot_io_w)
274 ADDRESS_MAP_END
275
276
277
278 static ADDRESS_MAP_START( wintbob_map, AS_PROGRAM, 16, snowbros_state )
279 AM_RANGE(0x000000, 0x03ffff) AM_ROM
280 AM_RANGE(0x100000, 0x103fff) AM_RAM
281 AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
282 AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,snowbros_68000_sound_w)
283 AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
284 AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
285 AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
286 AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
287 AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
288 AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteram16b")
289 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
290 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
291 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
292 ADDRESS_MAP_END
293
294
295
296 static ADDRESS_MAP_START( honeydol_map, AS_PROGRAM, 16, snowbros_state )
297 AM_RANGE(0x000000, 0x03ffff) AM_ROM
298 AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("hyperpac_ram")
299 AM_RANGE(0x200000, 0x200001) AM_WRITENOP
300 AM_RANGE(0x300000, 0x300001) AM_WRITE(snowbros_68000_sound_w)
301 AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_irq4_ack_w)
302 AM_RANGE(0x500000, 0x500001) AM_WRITE(snowbros_irq3_ack_w)
303 AM_RANGE(0x600000, 0x600001) AM_WRITE(snowbros_irq2_ack_w)
304 AM_RANGE(0x800000, 0x800001) AM_WRITENOP
305 AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW1")
306 AM_RANGE(0x900002, 0x900003) AM_READ_PORT("DSW2")
307 AM_RANGE(0x900004, 0x900005) AM_READ_PORT("SYSTEM")
308 AM_RANGE(0xa00000, 0xa007ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
309 AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_SHARE("spriteram16b")
310 ADDRESS_MAP_END
311
312 static ADDRESS_MAP_START( honeydol_sound_map, AS_PROGRAM, 8, snowbros_state )
313 AM_RANGE(0x0000, 0x7fff) AM_ROM
314 AM_RANGE(0x8000, 0x87ff) AM_RAM
315 AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_device, read, write)
316 ADDRESS_MAP_END
317
318 static ADDRESS_MAP_START( honeydol_sound_io_map, AS_IO, 8, snowbros_state )
319 ADDRESS_MAP_GLOBAL_MASK(0xff)
320 AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
321 AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_byte_r, soundlatch_byte_w)
322 ADDRESS_MAP_END
323
324
325
326 WRITE16_MEMBER(snowbros_state::twinadv_68000_sound_w)
327 {
328 if (ACCESSING_BITS_0_7)
329 {
330 soundlatch_byte_w(space, offset, data & 0xff);
331 machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
332 }
333 }
334
335 static ADDRESS_MAP_START( twinadv_map, AS_PROGRAM, 16, snowbros_state )
336 AM_RANGE(0x000000, 0x03ffff) AM_ROM
337 AM_RANGE(0x100000, 0x10ffff) AM_RAM
338 AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
339 AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,twinadv_68000_sound_w)
340 AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
341
342 AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
343 AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
344 AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
345 AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
346 AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteram16b")
347 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
348 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
349 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
350 ADDRESS_MAP_END
351
352 WRITE8_MEMBER(snowbros_state::twinadv_oki_bank_w)
353 {
354 device_t *device = machine().device("oki");
355 int bank = (data &0x02)>>1;
356
357 if (data&0xfd) logerror ("Unused bank bits! %02x\n",data);
358
359 downcast<okim6295_device *>(device)->set_bank_base(bank * 0x40000);
360 }
361
362 static ADDRESS_MAP_START( twinadv_sound_io_map, AS_IO, 8, snowbros_state )
363 ADDRESS_MAP_GLOBAL_MASK(0xff)
364 AM_RANGE(0x02, 0x02) AM_READWRITE(soundlatch_byte_r, soundlatch_byte_w)
365 AM_RANGE(0x04, 0x04) AM_WRITE(twinadv_oki_bank_w)
366 AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki", okim6295_device, read, write)
367 ADDRESS_MAP_END
368
369
370
376
377 static ADDRESS_MAP_START( hyperpac_map, AS_PROGRAM, 16, snowbros_state )
378 AM_RANGE(0x000000, 0x0fffff) AM_ROM
379 AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("hyperpac_ram")
380 AM_RANGE(0x300000, 0x300001) AM_WRITE(semicom_soundcmd_w)
381
382 AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
383 AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
384 AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
385
386 AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
387 AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r,pandora_spriteram_LSB_w)
388 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
389 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
390 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
391 ADDRESS_MAP_END
392
393 static ADDRESS_MAP_START( hyperpac_sound_map, AS_PROGRAM, 8, snowbros_state )
394 AM_RANGE(0x0000, 0xcfff) AM_ROM
395 AM_RANGE(0xd000, 0xd7ff) AM_RAM
396 AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
397 AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
398 AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_byte_r)
399 ADDRESS_MAP_END
400
401
403 READ16_MEMBER(snowbros_state::sb3_sound_r)
404 {
405 return 0x0003;
406 }
407
408 static void sb3_play_music(running_machine &machine, int data)
409 {
410 snowbros_state *state = machine.driver_data<snowbros_state>();
411 UINT8 *snd;
412
413
414 state->m_sb3_music = data;
415
416 switch (data)
417 {
418 case 0x23:
419 case 0x26:
420 snd = state->memregion("oki")->base();
421 memcpy(snd+0x20000, snd+0x80000+0x00000, 0x20000);
422 state->m_sb3_music_is_playing = 1;
423 break;
424
425 case 0x24:
426 snd = state->memregion("oki")->base();
427 memcpy(snd+0x20000, snd+0x80000+0x20000, 0x20000);
428 state->m_sb3_music_is_playing = 1;
429 break;
430
431 case 0x25:
432 case 0x27:
433 case 0x28:
434 case 0x29:
435 case 0x2a:
436 case 0x2b:
437 case 0x2c:
438 case 0x2d:
439 snd = state->memregion("oki")->base();
440 memcpy(snd+0x20000, snd+0x80000+0x40000, 0x20000);
441 state->m_sb3_music_is_playing = 1;
442 break;
443
444 case 0x2e:
445 state->m_sb3_music_is_playing = 0;
446 break;
447 }
448 }
449
450 static void sb3_play_sound (okim6295_device *oki, int data)
451 {
452 int status = oki->read_status();
453
454 if ((status&0x01)==0x00)
455 {
456 oki->write_command(0x80|data);
457 oki->write_command(0x00|0x12);
458 }
459 else if ((status&0x02)==0x00)
460 {
461 oki->write_command(0x80|data);
462 oki->write_command(0x00|0x22);
463 }
464 else if ((status&0x04)==0x00)
465 {
466 oki->write_command(0x80|data);
467 oki->write_command(0x00|0x42);
468 }
469
470
471 }
472
473 WRITE16_MEMBER(snowbros_state::sb3_sound_w)
474 {
475 device_t *device = machine().device("oki");
476 okim6295_device *oki = downcast<okim6295_device *>(device);
477 if (data == 0x00fe)
478 {
479 m_sb3_music_is_playing = 0;
480 oki->write_command(0x78);
481 }
482 else
483 {
484 data = data>>8;
485
486 if (data <= 0x21)
487 {
488 sb3_play_sound(oki, data);
489 }
490
491 if (data>=0x22 && data<=0x31)
492 {
493 sb3_play_music(machine(), data);
494 }
495
496 if ((data>=0x30) && (data<=0x51))
497 {
498 sb3_play_sound(oki, data-0x30);
499 }
500
501 if (data>=0x52 && data<=0x5f)
502 {
503 sb3_play_music(machine(), data-0x30);
504 }
505
506 }
507 }
508
509
510
511 static ADDRESS_MAP_START( snowbros3_map, AS_PROGRAM, 16, snowbros_state )
512 AM_RANGE( 0x000000, 0x03ffff) AM_ROM
513 AM_RANGE( 0x100000, 0x103fff) AM_RAM
514 AM_RANGE( 0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
515 AM_RANGE( 0x300000, 0x300001) AM_READ(sb3_sound_r)
516 AM_RANGE( 0x300000, 0x300001) AM_WRITE(sb3_sound_w)
517 AM_RANGE( 0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
518 AM_RANGE( 0x500000, 0x500001) AM_READ_PORT("DSW1")
519 AM_RANGE( 0x500002, 0x500003) AM_READ_PORT("DSW2")
520 AM_RANGE( 0x500004, 0x500005) AM_READ_PORT("SYSTEM")
521 AM_RANGE( 0x600000, 0x6003ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
522 AM_RANGE( 0x700000, 0x7021ff) AM_RAM AM_SHARE("spriteram16b")
523 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
524 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
525 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
526 ADDRESS_MAP_END
527
528
529
530 static ADDRESS_MAP_START( finalttr_map, AS_PROGRAM, 16, snowbros_state )
531 AM_RANGE(0x000000, 0x0fffff) AM_ROM
532 AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("hyperpac_ram")
533 AM_RANGE(0x300000, 0x300001) AM_WRITE(semicom_soundcmd_w)
534
535
536 AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
537 AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
538 AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
539
540 AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
541 AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_spriteram_LSB_w)
542 AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w)
543 AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w)
544 AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w)
545 ADDRESS_MAP_END
546
547 static INPUT_PORTS_START( snowbros )
548 PORT_START("DSW1")
549 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Region ) ) PORT_DIPLOCATION("SW1:1")
550 PORT_DIPSETTING( 0x00, DEF_STR( Europe ) )
551 PORT_DIPSETTING( 0x01, "America (Romstar license)" )
552 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
553 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
554 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
555 PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
556 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4")
557 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
558 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
559 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6")
560 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
561 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
562 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
563 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
564 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
565 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
566 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
567 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8")
568 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
569 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
570 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
571 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01)
572 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
573 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
574 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
575 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00)
576 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
577 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
578 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
579 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
580 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
581 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 )
582 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 )
583 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
584
585
586 PORT_START("DSW2")
587 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
588 PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
589 PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
590 PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
591 PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
592 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
593 PORT_DIPSETTING( 0x04, "100k and every 200k" )
594 PORT_DIPSETTING( 0x0c, "100k Only" )
595 PORT_DIPSETTING( 0x08, "200k Only" )
596 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
597 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
598 PORT_DIPSETTING( 0x20, "1" )
599 PORT_DIPSETTING( 0x00, "2" )
600 PORT_DIPSETTING( 0x30, "3" )
601 PORT_DIPSETTING( 0x10, "4" )
602 PORT_DIPNAME( 0x40, 0x40, "Invulnerability" ) PORT_DIPLOCATION("SW2:7")
603 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
604 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
605 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8")
606 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
607 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
608 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
609 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
610 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
611 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
612 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
613 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
614 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
615 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
616
617 PORT_START("SYSTEM")
618 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
619 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
620 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
621 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
622 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
623 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
624 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
625 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
626 INPUT_PORTS_END
627
628 static INPUT_PORTS_START( snowbroj )
629 PORT_INCLUDE(snowbros)
630
631 PORT_MODIFY("DSW1")
632 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
633 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
634 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
635 INPUT_PORTS_END
636
637 static INPUT_PORTS_START( honeydol )
638 PORT_START("DSW1")
639 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) )
640 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
641 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
642 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
643 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) )
644 PORT_DIPNAME( 0x0004, 0x0004, "Show Girls" )
645 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
646 PORT_DIPSETTING( 0x0004, DEF_STR( On ) )
647 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
648 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
649 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
650 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
651 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
652 PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
653 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
654 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
655 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
656 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Level_Select ) )
657 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
658 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
659 PORT_DIPNAME( 0x0080, 0x0080, "Slide Show On Boot-up" )
660 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
661 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
662 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
663 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
664 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
665 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
666 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
667 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 )
668 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 )
669 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
670
671 PORT_START("DSW2")
672 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
673 PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
674 PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) )
675 PORT_DIPSETTING( 0x0001, DEF_STR( Harder ) )
676 PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
677 PORT_DIPNAME( 0x000c, 0x000c, "Timer Speed" )
678 PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
679 PORT_DIPSETTING( 0x0008, "Fast" )
680 PORT_DIPSETTING( 0x0004, "Faster" )
681 PORT_DIPSETTING( 0x0000, "Fastest" )
682 PORT_DIPNAME( 0x0030, 0x0020, DEF_STR( Lives ) )
683 PORT_DIPSETTING( 0x0000, "1" )
684 PORT_DIPSETTING( 0x0010, "2" )
685 PORT_DIPSETTING( 0x0020, "3" )
686 PORT_DIPSETTING( 0x0030, "5" )
687 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
688 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
689 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
690 PORT_DIPNAME( 0x0080, 0x0080, "Max Vs Round" )
691 PORT_DIPSETTING( 0x0080, "3" )
692 PORT_DIPSETTING( 0x0000, "1" )
693 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
694 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
695 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
696 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
697 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
698 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
699 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
700 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
701
702 PORT_START("SYSTEM")
703 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
704 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
705 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
706 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
707 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
708 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
709 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
710 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
711 INPUT_PORTS_END
712
713 static INPUT_PORTS_START( twinadv )
714 PORT_START("DSW1")
715 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) )
716 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
717 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
718 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
719 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) )
720 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
721 PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
722 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
723 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
724 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
725 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
726 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
727 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
728 PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
729 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Flip_Screen ) )
730 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
731 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
732 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
733 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
734 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
735 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Level_Select ) )
736 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
737 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
738 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
739 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
740 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
741 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
742 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
743 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 )
744 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 )
745 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
746
747 PORT_START("DSW2")
748 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
749 PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
750 PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) )
751 PORT_DIPSETTING( 0x0001, DEF_STR( Harder ) )
752 PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
753 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Lives ) )
754 PORT_DIPSETTING( 0x0004, "3" )
755 PORT_DIPSETTING( 0x0000, "5" )
756 PORT_DIPNAME( 0x0008, 0x0008, "Ticket Mode #1" )
757 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
758 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
759 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
760 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
761 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
762 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
763 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
764 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
765 PORT_DIPNAME( 0x0040, 0x0040, "Ticket Mode #2" )
766 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
767 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
768 PORT_DIPNAME( 0x80, 0x0080, DEF_STR( Free_Play ) )
769 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
770 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
771 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
772 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
773 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
774 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
775 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
776 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
777 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
778 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
779
780 PORT_START("SYSTEM")
781 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
782 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
783 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
784 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
785 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
786 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
787 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
788 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
789 INPUT_PORTS_END
790
791 static INPUT_PORTS_START( 4in1boot )
792 PORT_START("DSW1")
793 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
794 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
795 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
796 PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,3")
797 PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
798 PORT_DIPSETTING( 0x06, DEF_STR( Normal ) )
799 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
800 PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
801 PORT_DIPNAME( 0x78, 0x78, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6,7")
802 PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) )
803 PORT_DIPSETTING( 0x38, DEF_STR( 3C_1C ) )
804 PORT_DIPSETTING( 0x10, DEF_STR( 4C_2C ) )
805 PORT_DIPSETTING( 0x58, DEF_STR( 2C_1C ) )
806 PORT_DIPSETTING( 0x30, DEF_STR( 3C_2C ) )
807 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
808 PORT_DIPSETTING( 0x00, DEF_STR( 4C_4C ) )
809 PORT_DIPSETTING( 0x28, DEF_STR( 3C_3C ) )
810 PORT_DIPSETTING( 0x50, DEF_STR( 2C_2C ) )
811 PORT_DIPSETTING( 0x78, DEF_STR( 1C_1C ) )
812 PORT_DIPSETTING( 0x20, DEF_STR( 3C_4C ) )
813 PORT_DIPSETTING( 0x48, DEF_STR( 2C_3C ) )
814 PORT_DIPSETTING( 0x40, DEF_STR( 2C_4C ) )
815 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
816 PORT_DIPSETTING( 0x68, DEF_STR( 1C_3C ) )
817 PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
818 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:8")
819 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
820 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
821 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
822 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
823 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
824 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
825 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
826 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 )
827 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 )
828 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
829
830
831 PORT_START("DSW2")
832 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
833 PORT_DIPSETTING( 0x02, "1" )
834 PORT_DIPSETTING( 0x00, "2" )
835 PORT_DIPSETTING( 0x03, "3" )
836 PORT_DIPSETTING( 0x01, "4" )
837 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
838 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
839 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
840 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
841 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
842 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW2:8" )
843 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
844 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
845 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
846 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
847 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
848 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
849 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
850 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
851
852 PORT_START("SYSTEM")
853 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
854 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
855 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
856 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
857 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
858 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
859 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
860 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
861 INPUT_PORTS_END
862
863 static INPUT_PORTS_START( hyperpac )
864 PORT_START("DSW1")
865 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
866 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
867 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
868 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2")
869 PORT_DIPSETTING( 0x0002, "3" )
870 PORT_DIPSETTING( 0x0000, "5" )
871 PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5")
872 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
873 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
874 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
875 PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
876 PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
877 PORT_DIPSETTING( 0x0014, DEF_STR( 2C_3C ) )
878 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
879 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
880 PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7")
881 PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
882 PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) )
883 PORT_DIPSETTING( 0x0040, DEF_STR( Hard ) )
884 PORT_DIPSETTING( 0x0020, DEF_STR( Hardest ) )
885 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
886 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
887 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
888 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
889 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
890 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
891 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
892 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
893 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
894
895 PORT_START("DSW2")
896 PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
897 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
898 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
899 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
900 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
901 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
902 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
903 PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0000, "SW2:8" )
904 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
905 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
906 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
907 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
908 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
909 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
910 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
911 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
912
913 PORT_START("SYSTEM")
914 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
915 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
916 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
917 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
918 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
919 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
920 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
921 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
922 INPUT_PORTS_END
923
924 static INPUT_PORTS_START( cookbib2 )
925 PORT_START("DSW1")
926 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
927 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
928 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
929 PORT_DIPNAME( 0x0002, 0x0002, "Max Vs Round" ) PORT_DIPLOCATION("SW1:2")
930 PORT_DIPSETTING( 0x0002, "3" )
931 PORT_DIPSETTING( 0x0000, "1" )
932 PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5")
933 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
934 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
935 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
936 PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
937 PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
938 PORT_DIPSETTING( 0x0014, DEF_STR( 2C_3C ) )
939 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
940 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
941 PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7")
942 PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
943 PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) )
944 PORT_DIPSETTING( 0x0040, DEF_STR( Hard ) )
945 PORT_DIPSETTING( 0x0020, DEF_STR( Hardest ) )
946 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
947 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
948 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
949 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
950 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
951 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
952 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
953 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
954 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
955
956 PORT_START("DSW2")
957 PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
958 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
959 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
960 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
961 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
962 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
963 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
964 PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0000, "SW2:8" )
965 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
966 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
967 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
968 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
969 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
970 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
971 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
972 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
973
974 PORT_START("SYSTEM")
975 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
976 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
977 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
978 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
979 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
980 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
981 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
982 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
983 INPUT_PORTS_END
984
985 static INPUT_PORTS_START( cookbib3 )
986 PORT_START("DSW1")
987 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
988 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
989 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
990 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4")
991 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
992 PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
993 PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
994 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
995 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
996 PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
997 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
998 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
999 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5,6,7")
1000 PORT_DIPSETTING( 0x0020, "Level 1" )
1001 PORT_DIPSETTING( 0x0010, "Level 2" )
1002 PORT_DIPSETTING( 0x0000, "Level 3" )
1003 PORT_DIPSETTING( 0x0070, "Level 4" )
1004 PORT_DIPSETTING( 0x0060, "Level 5" )
1005 PORT_DIPSETTING( 0x0050, "Level 6" )
1006 PORT_DIPSETTING( 0x0040, "Level 7" )
1007 PORT_DIPSETTING( 0x0030, "Level 8" )
1008 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
1009 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1010 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1011 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1012 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1013 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
1014 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
1015 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
1016 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1017
1018 PORT_START("DSW2")
1019 PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
1020 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
1021 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
1022 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
1023 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
1024 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
1025 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
1026 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
1027 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1028 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1029 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1030 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1031 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1032 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1033 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1034 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1035 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
1036 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1037
1038 PORT_START("SYSTEM")
1039 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
1040 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
1041 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1042 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1043 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1044 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1045 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1046 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1047 INPUT_PORTS_END
1048
1049 static INPUT_PORTS_START( moremore )
1050 PORT_START("DSW1")
1051 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
1052 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1053 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1054 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4")
1055 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1056 PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
1057 PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
1058 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
1059 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
1060 PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
1061 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
1062 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
1063 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5,6,7")
1064 PORT_DIPSETTING( 0x0020, "Level 1" )
1065 PORT_DIPSETTING( 0x0010, "Level 2" )
1066 PORT_DIPSETTING( 0x0000, "Level 3" )
1067 PORT_DIPSETTING( 0x0070, "Level 4" )
1068 PORT_DIPSETTING( 0x0060, "Level 5" )
1069 PORT_DIPSETTING( 0x0050, "Level 6" )
1070 PORT_DIPSETTING( 0x0040, "Level 7" )
1071 PORT_DIPSETTING( 0x0030, "Level 8" )
1072 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
1073 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1074 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1075 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1076 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1077 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
1078 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
1079 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
1080 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1081
1082 PORT_START("DSW2")
1083 PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
1084 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
1085 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
1086 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
1087 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
1088 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
1089 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
1090 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
1091 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1092 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1093 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1094 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1095 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1096 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1097 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1098 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1099 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
1100 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1101
1102 PORT_START("SYSTEM")
1103 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
1104 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
1105 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1106 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1107 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1108 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1109 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1110 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1111 INPUT_PORTS_END
1112
1113 static INPUT_PORTS_START( twinkle )
1114 PORT_START("DSW1")
1115 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
1116 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1117 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1118 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4")
1119 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1120 PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
1121 PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
1122 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
1123 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
1124 PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
1125 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
1126 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
1127 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5,6,7")
1128 PORT_DIPSETTING( 0x0020, "Level 1" )
1129 PORT_DIPSETTING( 0x0010, "Level 2" )
1130 PORT_DIPSETTING( 0x0000, "Level 3" )
1131 PORT_DIPSETTING( 0x0070, "Level 4" )
1132 PORT_DIPSETTING( 0x0060, "Level 5" )
1133 PORT_DIPSETTING( 0x0050, "Level 6" )
1134 PORT_DIPSETTING( 0x0040, "Level 7" )
1135 PORT_DIPSETTING( 0x0030, "Level 8" )
1136 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
1137 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1138 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1139 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1140 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1141 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
1142 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
1143 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
1144 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1145
1146 PORT_START("DSW2")
1147 PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
1148 PORT_DIPSETTING( 0x0000, "1" )
1149 PORT_DIPSETTING( 0x0003, "2" )
1150 PORT_DIPSETTING( 0x0002, "3" )
1151 PORT_DIPSETTING( 0x0001, "4" )
1152 PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0000, "SW2:3" )
1153 PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0000, "SW2:4" )
1154 PORT_DIPNAME( 0x0010, 0x0010, "Pellet Animations" ) PORT_DIPLOCATION("SW2:5")
1155 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
1156 PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
1157 PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0000, "SW2:6" )
1158 PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0000, "SW2:7" )
1159 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
1160 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1161 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1162 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1163 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1164 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1165 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1166 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1167 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1168 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
1169 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1170
1171 PORT_START("SYSTEM")
1172 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
1173 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
1174 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1175 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1176 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1177 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1178 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1179 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1180 INPUT_PORTS_END
1181
1182
1183 static INPUT_PORTS_START( pzlbreak )
1184 PORT_START("DSW1")
1185 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
1186 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1187 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1188 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4")
1189 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1190 PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
1191 PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
1192 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
1193 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
1194 PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
1195 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
1196 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
1197 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5,6,7")
1198 PORT_DIPSETTING( 0x0020, "Level 1" )
1199 PORT_DIPSETTING( 0x0010, "Level 2" )
1200 PORT_DIPSETTING( 0x0000, "Level 3" )
1201 PORT_DIPSETTING( 0x0070, "Level 4" )
1202 PORT_DIPSETTING( 0x0060, "Level 5" )
1203 PORT_DIPSETTING( 0x0050, "Level 6" )
1204 PORT_DIPSETTING( 0x0040, "Level 7" )
1205 PORT_DIPSETTING( 0x0030, "Level 8" )
1206 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
1207 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1208 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1209 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1210 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1211 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
1212 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
1213 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
1214 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1215
1216 PORT_START("DSW2")
1217 PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
1218 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
1219 PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
1220 PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
1221 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
1222 PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
1223 PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
1224 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
1225 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1226 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1227 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1228 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1229 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1230 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1231 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1232 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1233 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
1234 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1235
1236 PORT_START("SYSTEM")
1237 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
1238 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
1239 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1240 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1241 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1242 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1243 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1244 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1245 INPUT_PORTS_END
1246
1247 static INPUT_PORTS_START( toppyrap )
1248 PORT_START("DSW1")
1249 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
1250 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1251 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1252 PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW1:2" )
1253 PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5")
1254 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1255 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
1256 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
1257 PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
1258 PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
1259 PORT_DIPSETTING( 0x0014, DEF_STR( 2C_3C ) )
1260 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
1261 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
1262 PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7")
1263 PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
1264 PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) )
1265 PORT_DIPSETTING( 0x0040, DEF_STR( Hard ) )
1266 PORT_DIPSETTING( 0x0020, DEF_STR( Hardest ) )
1267 PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
1268 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1269 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1270 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1271 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1272 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
1273 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
1274 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
1275 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1276
1277 PORT_START("DSW2")
1278 PORT_DIPNAME( 0x03, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
1279 PORT_DIPSETTING( 0x0000, "2" )
1280 PORT_DIPSETTING( 0x0003, "3" )
1281 PORT_DIPSETTING( 0x0002, "4" )
1282 PORT_DIPSETTING( 0x0001, "5" )
1283 PORT_DIPNAME( 0x000c, 0x000c, "Time" ) PORT_DIPLOCATION("SW2:3,4")
1284 PORT_DIPSETTING( 0x0004, "40 Seconds" )
1285 PORT_DIPSETTING( 0x0008, "50 Seconds" )
1286 PORT_DIPSETTING( 0x000c, "60 Seconds" )
1287 PORT_DIPSETTING( 0x0000, "70 Seconds" )
1288 PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
1289 PORT_DIPNAME( 0x0020, 0x0020, "God Mode" ) PORT_DIPLOCATION("SW2:6")
1290 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
1291 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1292 PORT_DIPNAME( 0x0040, 0x0040, "Internal Test" ) PORT_DIPLOCATION("SW2:7")
1293 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
1294 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1295 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
1296 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1297 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1298 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1299 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1300 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1301 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1302 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1303 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1304 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
1305 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1306
1307 PORT_START("SYSTEM")
1308 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 )
1309 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 )
1310 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1311 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1312 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1313 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1314 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1315 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1316 INPUT_PORTS_END
1317
1318 static INPUT_PORTS_START( finalttr )
1319 PORT_START("DSW1")
1320 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Demo_Sounds ) )
1321 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
1322 PORT_DIPSETTING( 0x0001, DEF_STR( On ) )
1323 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
1324 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1325 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1326 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
1327 PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
1328 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1329 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coinage ) )
1330 PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
1331 PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) )
1332 PORT_DIPSETTING( 0x0030, DEF_STR( 2C_1C ) )
1333 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
1334
1335 PORT_DIPSETTING( 0x0020, DEF_STR( 2C_3C ) )
1336 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_2C ) )
1337 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_4C ) )
1338 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
1339 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
1340 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1341 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
1342 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1343 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1344 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
1345 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
1346 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
1347 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
1348 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
1349 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 )
1350 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 )
1351 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1352
1353 PORT_START("DSW2")
1354 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
1355 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1356 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1357 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
1358 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1359 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1360 PORT_DIPNAME( 0x000c, 0x000c, "Time" )
1361 PORT_DIPSETTING( 0x0000, "60 Seconds" )
1362 PORT_DIPSETTING( 0x000c, "90 Seconds" )
1363 PORT_DIPSETTING( 0x0008, "120 Seconds" )
1364 PORT_DIPSETTING( 0x0004, "150 Seconds" )
1365 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
1366 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
1367 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1368 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
1369 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
1370 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1371 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
1372 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
1373 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1374 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
1375 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1376 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1377 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1378 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1379 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1380 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1381 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1382 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
1383 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
1384 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1385
1386 PORT_START("SYSTEM")
1387 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
1388 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
1389 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
1390 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
1391 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1392 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
1393 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
1394 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1395 INPUT_PORTS_END
1396
1397
1398
1399
1400 static const gfx_layout tilelayout =
1401 {
1402 16,16,
1403 RGN_FRAC(1,1),
1404 4,
1405 { 0, 1, 2, 3 },
1406 { STEP8(0,4), STEP8(8*32,4) },
1407 { STEP8(0,32), STEP8(16*32,32) },
1408 32*32
1409 };
1410
1411 static GFXDECODE_START( snowbros )
1412 GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
1413 GFXDECODE_END
1414
1415
1416
1417 static const gfx_layout honeydol_tilelayout8bpp =
1418 {
1419 16,16,
1420 RGN_FRAC(1,2),
1421 8,
1422 { 0, 1, 2, 3, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+1, RGN_FRAC(1,2)+2, RGN_FRAC(1,2)+3},
1423 { STEP8(0,4), STEP8(8*32,4) },
1424 { STEP8(0,32), STEP8(16*32,32) },
1425 32*32
1426 };
1427
1428 static GFXDECODE_START( honeydol )
1429 GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 )
1430 GFXDECODE_ENTRY( "gfx2", 0, honeydol_tilelayout8bpp, 0, 4 )
1431
1432 GFXDECODE_END
1433
1434 static GFXDECODE_START( twinadv )
1435 GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 )
1436 GFXDECODE_END
1437
1438
1439
1440 static const gfx_layout tilelayout_wb =
1441 {
1442 16,16,
1443 RGN_FRAC(1,1),
1444 4,
1445 { 0, 1, 2, 3 },
1446 { STEP4(3*4,-4), STEP4(7*4,-4), STEP4(11*4,-4), STEP4(15*4,-4) },
1447 { STEP16(0,64) },
1448 16*64
1449 };
1450
1451 static GFXDECODE_START( wb )
1452 GFXDECODE_ENTRY( "gfx1", 0, tilelayout_wb, 0, 16 )
1453 GFXDECODE_END
1454
1455
1456
1457 static const gfx_layout hyperpac_tilelayout =
1458 {
1459 16,16,
1460 RGN_FRAC(1,1),
1461 4,
1462 { 0, 1, 2, 3 },
1463 { 4, 0, 8*32+4, 8*32+0, 20,16, 8*32+20, 8*32+16,
1464 12, 8, 8*32+12, 8*32+8, 28, 24, 8*32+28, 8*32+24 },
1465 { 0*32, 2*32, 1*32, 3*32, 16*32+0*32, 16*32+2*32, 16*32+1*32, 16*32+3*32,
1466 4*32, 6*32, 5*32, 7*32, 16*32+4*32, 16*32+6*32, 16*32+5*32, 16*32+7*32 },
1467 32*32
1468 };
1469
1470
1471 static const gfx_layout sb3_tilebglayout =
1472 {
1473 16,16,
1474 RGN_FRAC(1,1),
1475 8,
1476 {8, 9,10, 11, 0, 1, 2, 3 },
1477 { 0, 4, 16, 20, 32, 36, 48, 52,
1478 512+0,512+4,512+16,512+20,512+32,512+36,512+48,512+52},
1479 { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
1480 1024+0*16,1024+1*64,1024+2*64,1024+3*64,1024+4*64,1024+5*64,1024+6*64,1024+7*64},
1481 32*64
1482 };
1483
1484
1485 static GFXDECODE_START( sb3 )
1486 GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
1487 GFXDECODE_ENTRY( "gfx2", 0, sb3_tilebglayout, 0, 2 )
1488 GFXDECODE_END
1489
1490 static GFXDECODE_START( hyperpac )
1491 GFXDECODE_ENTRY( "gfx1", 0, hyperpac_tilelayout, 0, 16 )
1492 GFXDECODE_END
1493
1494
1495 static void irqhandler(device_t *device, int irq)
1496 {
1497 device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
1498 }
1499
1500
1501
1502 static const ym3812_interface ym3812_config =
1503 {
1504 irqhandler
1505 };
1506
1507
1508 MACHINE_RESET_MEMBER(snowbros_state,semiprot)
1509 {
1510 UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
1511 int i;
1512
1513 for (i = 0;i < 0x200/2;i++)
1514 m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
1515 }
1516
1517 MACHINE_RESET_MEMBER(snowbros_state,finalttr)
1518 {
1519 UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
1520 int i;
1521
1522 for (i = 0;i < 0x200/2;i++)
1523 m_hyperpac_ram[0x2000/2 + i] = PROTDATA[i];
1524 }
1525
1526 static const kaneko_pandora_interface snowbros_pandora_config =
1527 {
1528 "screen",
1529 0,
1530 0, 0
1531 };
1532
1533 static MACHINE_CONFIG_START( snowbros, snowbros_state )
1534
1535
1536 MCFG_CPU_ADD("maincpu", M68000, 8000000)
1537 MCFG_CPU_PROGRAM_MAP(snowbros_map)
1538 MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros_irq, "screen", 0, 1)
1539
1540 MCFG_CPU_ADD("soundcpu", Z80, 6000000)
1541 MCFG_CPU_PROGRAM_MAP(sound_map)
1542 MCFG_CPU_IO_MAP(sound_io_map)
1543
1544
1545 MCFG_SCREEN_ADD("screen", RASTER)
1546 MCFG_SCREEN_REFRESH_RATE(57.5)
1547 MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
1548 MCFG_SCREEN_SIZE(32*8, 262)
1549 MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
1550 MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbros)
1551 MCFG_SCREEN_VBLANK_DRIVER(snowbros_state, screen_eof_snowbros)
1552
1553 MCFG_GFXDECODE(snowbros)
1554 MCFG_PALETTE_LENGTH(256)
1555
1556 MCFG_KANEKO_PANDORA_ADD("pandora", snowbros_pandora_config)
1557
1558
1559 MCFG_SPEAKER_STANDARD_MONO("mono")
1560
1561 MCFG_SOUND_ADD("ymsnd", YM3812, 3000000)
1562 MCFG_SOUND_CONFIG(ym3812_config)
1563 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1564 MACHINE_CONFIG_END
1565
1566
1567 static MACHINE_CONFIG_DERIVED( wintbob, snowbros )
1568
1569
1570 MCFG_CPU_MODIFY("maincpu")
1571 MCFG_CPU_CLOCK(10000000)
1572 MCFG_CPU_PROGRAM_MAP(wintbob_map)
1573
1574 MCFG_DEVICE_REMOVE("pandora")
1575
1576
1577 MCFG_GFXDECODE(wb)
1578 MCFG_SCREEN_MODIFY("screen")
1579 MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_wintbob)
1580 MCFG_SCREEN_VBLANK_NONE()
1581 MACHINE_CONFIG_END
1582
1583
1584 static MACHINE_CONFIG_DERIVED( semicom, snowbros )
1585
1586
1587 MCFG_CPU_MODIFY("maincpu")
1588 MCFG_CPU_CLOCK(16000000)
1589 MCFG_CPU_PROGRAM_MAP(hyperpac_map)
1590
1591 MCFG_CPU_MODIFY("soundcpu")
1592 MCFG_CPU_CLOCK(4000000)
1593 MCFG_CPU_PROGRAM_MAP(hyperpac_sound_map)
1594
1595 MCFG_GFXDECODE(hyperpac)
1596
1597
1598 MCFG_SOUND_REPLACE("ymsnd", YM2151, 4000000)
1599 MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
1600 MCFG_SOUND_ROUTE(0, "mono", 0.10)
1601 MCFG_SOUND_ROUTE(1, "mono", 0.10)
1602
1603 MCFG_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH)
1604 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1605 MACHINE_CONFIG_END
1606
1607
1608
1609 static MACHINE_CONFIG_DERIVED( semicom_mcu, semicom )
1610
1611
1612
1613 MCFG_CPU_ADD("protection", I8052, 16000000)
1614 MCFG_CPU_PROGRAM_MAP(protection_map)
1615 MCFG_CPU_IO_MAP(protection_iomap)
1616 MACHINE_CONFIG_END
1617
1618
1619 static MACHINE_CONFIG_DERIVED( semiprot, semicom )
1620 MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, semiprot )
1621 MACHINE_CONFIG_END
1622
1623
1642
1643 static MACHINE_CONFIG_START( honeydol, snowbros_state )
1644
1645
1646 MCFG_CPU_ADD("maincpu", M68000, 16000000)
1647 MCFG_CPU_PROGRAM_MAP(honeydol_map)
1648 MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros_irq, "screen", 0, 1)
1649
1650 MCFG_CPU_ADD("soundcpu", Z80, 4000000)
1651 MCFG_CPU_PROGRAM_MAP(honeydol_sound_map)
1652 MCFG_CPU_IO_MAP(honeydol_sound_io_map)
1653
1654
1655 MCFG_SCREEN_ADD("screen", RASTER)
1656 MCFG_SCREEN_REFRESH_RATE(57.5)
1657 MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) )
1658 MCFG_SCREEN_SIZE(32*8, 262)
1659 MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
1660 MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_honeydol)
1661
1662 MCFG_GFXDECODE(honeydol)
1663 MCFG_PALETTE_LENGTH(0x800/2)
1664
1665
1666 MCFG_SPEAKER_STANDARD_MONO("mono")
1667
1668
1669
1670 MCFG_SOUND_ADD("ymsnd", YM3812, 3000000)
1671 MCFG_SOUND_CONFIG(ym3812_config)
1672 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1673
1674
1675 MCFG_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH)
1676 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1677 MACHINE_CONFIG_END
1678
1679 static MACHINE_CONFIG_START( twinadv, snowbros_state )
1680
1681
1682 MCFG_CPU_ADD("maincpu", M68000, 16000000)
1683 MCFG_CPU_PROGRAM_MAP(twinadv_map)
1684 MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros_irq, "screen", 0, 1)
1685
1686 MCFG_CPU_ADD("soundcpu", Z80, 4000000)
1687 MCFG_CPU_PROGRAM_MAP(sound_map)
1688 MCFG_CPU_IO_MAP(twinadv_sound_io_map)
1689 MCFG_CPU_VBLANK_INT_DRIVER("screen", snowbros_state, irq0_line_hold)
1690
1691
1692 MCFG_SCREEN_ADD("screen", RASTER)
1693 MCFG_SCREEN_REFRESH_RATE(57.5)
1694 MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) )
1695 MCFG_SCREEN_SIZE(32*8, 262)
1696 MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
1697 MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_twinadv)
1698
1699 MCFG_GFXDECODE(twinadv)
1700 MCFG_PALETTE_LENGTH(0x100)
1701
1702
1703 MCFG_SPEAKER_STANDARD_MONO("mono")
1704
1705
1706 MCFG_OKIM6295_ADD("oki", 12000000/12, OKIM6295_PIN7_HIGH)
1707 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1708 MACHINE_CONFIG_END
1709
1710
1711
1728
1729 static MACHINE_CONFIG_DERIVED( finalttr, semicom )
1730
1731 MCFG_CPU_MODIFY("maincpu")
1732 MCFG_CPU_CLOCK(12000000)
1733 MCFG_CPU_PROGRAM_MAP(finalttr_map)
1734
1735 MCFG_CPU_MODIFY("soundcpu")
1736 MCFG_CPU_CLOCK(3578545)
1737
1738 MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, finalttr )
1739
1740 MCFG_SOUND_REPLACE("ymsnd", YM2151, 4000000)
1741 MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
1742 MCFG_SOUND_ROUTE(0, "mono", 0.08)
1743 MCFG_SOUND_ROUTE(1, "mono", 0.08)
1744
1745 MCFG_OKIM6295_REPLACE("oki", 999900, OKIM6295_PIN7_HIGH)
1746 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1747 MACHINE_CONFIG_END
1748
1749
1750 static MACHINE_CONFIG_DERIVED( _4in1, semicom )
1751
1752
1753 MCFG_GFXDECODE(snowbros)
1754 MACHINE_CONFIG_END
1755
1756 static MACHINE_CONFIG_START( snowbro3, snowbros_state )
1757
1758
1759 MCFG_CPU_ADD("maincpu", M68000, 16000000)
1760 MCFG_CPU_PROGRAM_MAP(snowbros3_map)
1761 MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros3_irq, "screen", 0, 1)
1762
1763
1764 MCFG_SCREEN_ADD("screen", RASTER)
1765 MCFG_SCREEN_REFRESH_RATE(60)
1766 MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
1767 MCFG_SCREEN_SIZE(32*8, 32*8)
1768 MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
1769 MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbro3)
1770
1771 MCFG_GFXDECODE(sb3)
1772 MCFG_PALETTE_LENGTH(512)
1773
1774
1775 MCFG_SPEAKER_STANDARD_MONO("mono")
1776
1777 MCFG_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH)
1778 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1779 MACHINE_CONFIG_END
1780
1781
1786
1787 ROM_START( snowbros )
1788 ROM_REGION( 0x40000, "maincpu", 0 )
1789 ROM_LOAD16_BYTE( "sn6.bin", 0x00000, 0x20000, CRC(4899ddcf) SHA1(47d750d3022a80e47ffabe47566bb2556cc8d477) )
1790 ROM_LOAD16_BYTE( "sn5.bin", 0x00001, 0x20000, CRC(ad310d3f) SHA1(f39295b38d99087dbb9c5b00bf9cb963337a50e2) )
1791
1792 ROM_REGION( 0x10000, "soundcpu", 0 )
1793 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1794
1795 ROM_REGION( 0x80000, "gfx1", 0 )
1796 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1797
1798
1799
1800
1801
1802 ROM_END
1803
1804 ROM_START( snowbrosa )
1805 ROM_REGION( 0x40000, "maincpu", 0 )
1806 ROM_LOAD16_BYTE( "sbros-3a.5", 0x00000, 0x20000, CRC(10cb37e1) SHA1(786be4640f8df2c81a32decc189ea7657ace00c6) )
1807 ROM_LOAD16_BYTE( "sbros-2a.6", 0x00001, 0x20000, CRC(ab91cc1e) SHA1(8cff61539dc7d35fcbf110d3e54fc1883e7b8509) )
1808
1809 ROM_REGION( 0x10000, "soundcpu", 0 )
1810 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1811
1812 ROM_REGION( 0x80000, "gfx1", 0 )
1813 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1814 ROM_END
1815
1816 ROM_START( snowbrosb )
1817 ROM_REGION( 0x40000, "maincpu", 0 )
1818 ROM_LOAD16_BYTE( "sbros3-a", 0x00000, 0x20000, CRC(301627d6) SHA1(0d1dc70091c87e9c27916d4232ff31b7381a64e1) )
1819 ROM_LOAD16_BYTE( "sbros2-a", 0x00001, 0x20000, CRC(f6689f41) SHA1(e4fd27b930a31479c0d99e0ddd23d5db34044666) )
1820
1821 ROM_REGION( 0x10000, "soundcpu", 0 )
1822 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1823
1824 ROM_REGION( 0x80000, "gfx1", 0 )
1825 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1826 ROM_END
1827
1828 ROM_START( snowbrosc )
1829 ROM_REGION( 0x40000, "maincpu", 0 )
1830 ROM_LOAD16_BYTE( "3-a.ic5", 0x00000, 0x20000, CRC(e1bc346b) SHA1(a20c343d9ed2ad4f785d21076499008edad251f9) )
1831 ROM_LOAD16_BYTE( "2-a.ic6", 0x00001, 0x20000, CRC(1be27f9d) SHA1(76dd14480b9274831e51016f7bb57459d7b15cf9) )
1832
1833 ROM_REGION( 0x10000, "soundcpu", 0 )
1834 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1835
1836 ROM_REGION( 0x80000, "gfx1", 0 )
1837 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1838 ROM_END
1839
1840 ROM_START( snowbrosd )
1841 ROM_REGION( 0x40000, "maincpu", 0 )
1842 ROM_LOAD16_BYTE( "sbk_3-a.bin", 0x00000, 0x20000, CRC(97174d40) SHA1(481e8c680af8b03d4bcf97b87ca0ba5a3ffca0d7) )
1843 ROM_LOAD16_BYTE( "sbk_2-a.bin", 0x00001, 0x20000, CRC(80cc80e5) SHA1(1eeca0924c93e9f0536683160e80c59871569088) )
1844
1845 ROM_REGION( 0x10000, "soundcpu", 0 )
1846 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1847
1848 ROM_REGION( 0x80000, "gfx1", 0 )
1849 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1850 ROM_END
1851
1852 ROM_START( snowbrosj )
1853 ROM_REGION( 0x40000, "maincpu", 0 )
1854 ROM_LOAD16_BYTE( "snowbros.3", 0x00000, 0x20000, CRC(3f504f9e) SHA1(700758b114c3fde6ea8f84222af0850dba13cd3b) )
1855 ROM_LOAD16_BYTE( "snowbros.2", 0x00001, 0x20000, CRC(854b02bc) SHA1(4ad1548eef94dcb95119cb4a7dcdefa037591b5b) )
1856
1857 ROM_REGION( 0x10000, "soundcpu", 0 )
1858 ROM_LOAD( "sbros-4.29", 0x0000, 0x8000, CRC(e6eab4e4) SHA1(d08187d03b21192e188784cb840a37a7bdb5ad32) )
1859
1860 ROM_REGION( 0x80000, "gfx1", 0 )
1861
1862 ROM_LOAD( "sbros-1.41", 0x00000, 0x80000, CRC(16f06b3a) SHA1(c64d3b2d32f0f0fcf1d8c5f02f8589d59ddfd428) )
1863 ROM_END
1864
1865 ROM_START( wintbob )
1866 ROM_REGION( 0x40000, "maincpu", 0 )
1867 ROM_LOAD16_BYTE( "wb3", 0x00000, 0x10000, CRC(b9719767) SHA1(431c97d409f2a5ff7f46116a4d8907e446434431) )
1868 ROM_LOAD16_BYTE( "wb1", 0x00001, 0x10000, CRC(a4488998) SHA1(4e927e31c1b865dbdba2b985c7a819a07e2e81b8) )
1869
1870
1875
1876
1877
1878
1879 ROM_LOAD16_BYTE( "wb04.bin", 0x20000, 0x10000, CRC(53be758d) SHA1(56cf85ba23fe699031d73e8f367a1b8ac837d5f8) )
1880 ROM_LOAD16_BYTE( "wb02.bin", 0x20001, 0x10000, CRC(fc8e292e) SHA1(857cfeb0be121e64e6117120514ae1f2ffeae4d6) )
1881
1882 ROM_REGION( 0x10000, "soundcpu", 0 )
1883 ROM_LOAD( "wb05.bin", 0x0000, 0x10000, CRC(53fe59df) SHA1(a99053e82b9fed76f744fa9f67078294641c6317) )
1884
1885 ROM_REGION( 0x80000, "gfx1", 0 )
1886
1887 ROM_LOAD16_BYTE( "wb13.bin", 0x00000, 0x10000, CRC(426921de) SHA1(5107c58e7e08d71895baa67fe260b17ebd61389c) )
1888 ROM_LOAD16_BYTE( "wb06.bin", 0x00001, 0x10000, CRC(68204937) SHA1(fd2ef93df5fd8aa2d36072858dbcfce41157ef3e) )
1889 ROM_LOAD16_BYTE( "wb12.bin", 0x20000, 0x10000, CRC(ef4e04c7) SHA1(17158b61b3c158e0491db9abb2e1a8c20d981d37) )
1890 ROM_LOAD16_BYTE( "wb07.bin", 0x20001, 0x10000, CRC(53f40978) SHA1(058bbf3b7877f0cd320383e0386c5959e0d6589b) )
1891 ROM_LOAD16_BYTE( "wb11.bin", 0x40000, 0x10000, CRC(41cb4563) SHA1(94f1d12d299ac08fc8522139e1927f0cf739be75) )
1892 ROM_LOAD16_BYTE( "wb08.bin", 0x40001, 0x10000, CRC(9497b88c) SHA1(367c6106276f3816528341f11f3a97ae458d25cd) )
1893 ROM_LOAD16_BYTE( "wb10.bin", 0x60000, 0x10000, CRC(5fa22b1e) SHA1(1164003d873e9738a3ca133cce689c7120061e3c) )
1894 ROM_LOAD16_BYTE( "wb09.bin", 0x60001, 0x10000, CRC(9be718ca) SHA1(5c195e4f13efbdb229201d2408d018861bf389cc) )
1895 ROM_END
1896
1897
1898
1899 ROM_START( honeydol )
1900 ROM_REGION( 0x40000, "maincpu", 0 )
1901 ROM_LOAD16_BYTE( "d-16.uh12", 0x00001, 0x20000, CRC(cee1a2e3) SHA1(6d1ff5358ec704616b724eea2ab9b60b84709eb1) )
1902 ROM_LOAD16_BYTE( "d-17.ui12", 0x00000, 0x20000, CRC(cac44154) SHA1(2c30dc033001fc9303da7e117e3401bc7af16607) )
1903
1904 ROM_REGION( 0x10000, "soundcpu", 0 )
1905 ROM_LOAD( "d-12.uh15", 0x0000, 0x8000, CRC(386f1b63) SHA1(d719875226cd3d380e2ebec49209590d91b6f07b) )
1906
1907 ROM_REGION( 0x80000, "gfx1", 0 )
1908 ROM_LOAD( "d-13.1", 0x000000, 0x80000, CRC(ff6a57fb) SHA1(2fbf61f4ac2655a60b1fa82bb6d001f0ef8b4654) )
1909
1910 ROM_REGION( 0x200000, "gfx2", 0 )
1911 ROM_LOAD( "d-14.5", 0x000000, 0x80000, CRC(2178996f) SHA1(04368384cb191b28b23199c8175e93271ab79103) )
1912 ROM_LOAD( "d-15.6", 0x080000, 0x80000, CRC(6629239e) SHA1(5f462c04eb11c2b662236fd65bbf74fa08038eec) )
1913 ROM_LOAD( "d-18.9", 0x100000, 0x80000, CRC(0210507a) SHA1(5b7348bf253b1ae8bfa86cdee2ff80aa2b3faa79) )
1914 ROM_LOAD( "d-19.10", 0x180000, 0x80000, CRC(d27375d5) SHA1(2a39ce9b985e00a290c3ea75be3b1edbc00d39ec) )
1915
1916 ROM_REGION( 0x040000, "oki", 0 )
1917 ROM_LOAD( "d-11.u14", 0x00000, 0x40000, CRC(f3ee4861) SHA1(f24f1f855ae6c96a6d84a4b5e5c196df8f922d0a) )
1918 ROM_END
1919
1920
1960
1961 ROM_START( twinadv )
1962 ROM_REGION( 0x40000, "maincpu", 0 )
1963 ROM_LOAD16_BYTE( "13.uh12", 0x00001, 0x20000, CRC(9f70a39b) SHA1(d49823be58b00c4c5a4f6cc4e4371531492aff1e) )
1964 ROM_LOAD16_BYTE( "12.ui12", 0x00000, 0x20000, CRC(d8776495) SHA1(15b93ded80bf9f240faef2d89b6076f33f1f4ece) )
1965
1966 ROM_REGION( 0x10000, "soundcpu", 0 )
1967 ROM_LOAD( "uh15.bin", 0x0000, 0x8000, CRC(3d5acd08) SHA1(c19f686862dfc12d2fa91c2dd3d3b75d9cb410c3) )
1968
1969 ROM_REGION( 0x180000, "gfx1", 0 )
1970 ROM_LOAD( "16.ua4", 0x000000, 0x80000, CRC(f491e171) SHA1(f31b945b0c4b30d1b3dc6c5928b77aad4e956bc7) )
1971 ROM_LOAD( "15.ua5", 0x080000, 0x80000, CRC(79a08b8d) SHA1(034c0a3b9e27ac174092d265b32fb82d6ee45d47) )
1972 ROM_LOAD( "14.ua6", 0x100000, 0x80000, CRC(79faee0b) SHA1(7421a5fa038d01658ba5ac1f65ea87b97ac25c36) )
1973
1974 ROM_REGION( 0x080000, "oki", 0 )
1975
1976 ROM_LOAD( "sra.bin", 0x00000, 0x40000, CRC(82f452c4) SHA1(95ad6ede87ceafb045ed7df40496baf96190b97f) )
1977 ROM_LOAD( "srb.bin", 0x40000, 0x40000, CRC(109e51e6) SHA1(3344c68d63bbad4a02b47143b2d2f72ce9bcb4bb) )
1978 ROM_END
1979
1980 ROM_START( twinadvk )
1981 ROM_REGION( 0x40000, "maincpu", 0 )
1982 ROM_LOAD16_BYTE( "uh12", 0x00001, 0x20000, CRC(e0bcc738) SHA1(7fc6a793fcdd80122c0ac6409ae4cac5597b7b5a) )
1983 ROM_LOAD16_BYTE( "ui12", 0x00000, 0x20000, CRC(a3ee6451) SHA1(9c0b415a2f325513739f2047780c2a56df350aa5) )
1984
1985 ROM_REGION( 0x10000, "soundcpu", 0 )
1986 ROM_LOAD( "uh15.bin", 0x0000, 0x8000, CRC(3d5acd08) SHA1(c19f686862dfc12d2fa91c2dd3d3b75d9cb410c3) )
1987
1988 ROM_REGION( 0x180000, "gfx1", 0 )
1989 ROM_LOAD( "ua4", 0x000000, 0x80000, CRC(a5aff49b) SHA1(ee162281ba643729ee007f9634c21fadd3c1cb48) )
1990 ROM_LOAD( "ua5", 0x080000, 0x80000, CRC(f83b3b97) SHA1(2e967d49ef411d164a0b6cf32444f60fcd8068a9) )
1991 ROM_LOAD( "ua6", 0x100000, 0x80000, CRC(4dfcffb9) SHA1(c157e031acbb321b9435389f9fc4e1ffebca106d) )
1992
1993 ROM_REGION( 0x080000, "oki", 0 )
1994
1995 ROM_LOAD( "sra.bin", 0x00000, 0x40000, CRC(82f452c4) SHA1(95ad6ede87ceafb045ed7df40496baf96190b97f) )
1996 ROM_LOAD( "srb.bin", 0x40000, 0x40000, CRC(109e51e6) SHA1(3344c68d63bbad4a02b47143b2d2f72ce9bcb4bb) )
1997 ROM_END
1998
1999
2000
2001
2002 ROM_START( hyperpac )
2003 ROM_REGION( 0x100000, "maincpu", 0 )
2004 ROM_LOAD16_BYTE( "hyperpac.h12", 0x00001, 0x20000, CRC(2cf0531a) SHA1(c4321d728845035507352d0bcf4348d28b92e85e) )
2005 ROM_LOAD16_BYTE( "hyperpac.i12", 0x00000, 0x20000, CRC(9c7d85b8) SHA1(432d5fbe8bef875ce4a9aeb74a7b57dc79c709fd) )
2006
2007 ROM_REGION( 0x10000, "soundcpu", 0 )
2008 ROM_LOAD( "hyperpac.u1", 0x00000, 0x10000 , CRC(03faf88e) SHA1(a8da883d4b765b809452bbffca37ff224edbe86d) )
2009
2010 ROM_REGION( 0x10000, "protection", 0 )
2011 ROM_LOAD( "at89c52.bin", 0x00000, 0x2000 , CRC(291f9326) SHA1(e440ce7d92188faa86e02e7f9db4ec6bce21efd3) )
2012
2013 ROM_REGION( 0x040000, "oki", 0 )
2014 ROM_LOAD( "hyperpac.j15", 0x00000, 0x40000, CRC(fb9f468d) SHA1(52857b1a04c64ac853340ebb8e92d98eabea8bc1) )
2015
2016 ROM_REGION( 0x0c0000, "gfx1", 0 )
2017 ROM_LOAD( "hyperpac.a4", 0x000000, 0x40000, CRC(bd8673da) SHA1(8466355894da4d2c9a54d03a833cc9b4ec0c67eb) )
2018 ROM_LOAD( "hyperpac.a5", 0x040000, 0x40000, CRC(5d90cd82) SHA1(56be68478a81bb4e1011990da83334929a0ac886) )
2019 ROM_LOAD( "hyperpac.a6", 0x080000, 0x40000, CRC(61d86e63) SHA1(974c634607993924fa098eff106b1b288bec1e26) )
2020 ROM_END
2021
2022 ROM_START( hyperpacb )
2023 ROM_REGION( 0x100000, "maincpu", 0 )
2024 ROM_LOAD16_BYTE( "hpacuh12.bin", 0x00001, 0x20000, CRC(633ab2c6) SHA1(534435fa602adebf651e1d42f7c96b01eb6634ef) )
2025 ROM_LOAD16_BYTE( "hpacui12.bin", 0x00000, 0x20000, CRC(23dc00d1) SHA1(8d4d00f450b94912adcbb24073f9b3b01eab0450) )
2026
2027 ROM_REGION( 0x10000, "soundcpu", 0 )
2028 ROM_LOAD( "hyperpac.u1", 0x00000, 0x10000 , CRC(03faf88e) SHA1(a8da883d4b765b809452bbffca37ff224edbe86d) )
2029
2030 ROM_REGION( 0x040000, "oki", 0 )
2031 ROM_LOAD( "hyperpac.j15", 0x00000, 0x40000, CRC(fb9f468d) SHA1(52857b1a04c64ac853340ebb8e92d98eabea8bc1) )
2032
2033 ROM_REGION( 0x0c0000, "gfx1", 0 )
2034 ROM_LOAD( "hyperpac.a4", 0x000000, 0x40000, CRC(bd8673da) SHA1(8466355894da4d2c9a54d03a833cc9b4ec0c67eb) )
2035 ROM_LOAD( "hyperpac.a5", 0x040000, 0x40000, CRC(5d90cd82) SHA1(56be68478a81bb4e1011990da83334929a0ac886) )
2036 ROM_LOAD( "hyperpac.a6", 0x080000, 0x40000, CRC(61d86e63) SHA1(974c634607993924fa098eff106b1b288bec1e26) )
2037 ROM_END
2038
2039 ROM_START( twinkle )
2040 ROM_REGION( 0x100000, "maincpu", 0 )
2041 ROM_LOAD16_BYTE( "uh12.bin", 0x00001, 0x20000, CRC(a99626fe) SHA1(489098a2ceb36df97b6b1d59b7b696300deee3ab) )
2042 ROM_LOAD16_BYTE( "ui12.bin", 0x00000, 0x20000, CRC(5af73684) SHA1(9be43e5c71152d515366e422eb077a41dbb3fe62) )
2043
2044 ROM_REGION( 0x10000, "soundcpu", 0 )
2045 ROM_LOAD( "u1.bin", 0x00000, 0x10000 , CRC(e40481da) SHA1(1c1fabcb67693235eaa6ff59ae12a35854b5564a) )
2046
2047 ROM_REGION( 0x10000, "cpu2", 0 )
2048 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2049
2050 ROM_REGION16_BE( 0x200, "user1", 0 )
2051
2053 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200, CRC(00d3e4b4) SHA1(afa359a8b48605ff034133bad2a0a182429dec71) )
2054
2055 ROM_REGION( 0x040000, "oki", 0 )
2056 ROM_LOAD( "uj15.bin", 0x00000, 0x40000, CRC(0a534b37) SHA1(b7d780eb4668f1f757a60884c022f5bbc424dc97) )
2057
2058 ROM_REGION( 0x080000, "gfx1", 0 )
2059 ROM_LOAD( "ua4.bin", 0x000000, 0x80000, CRC(6b64bb09) SHA1(547eac1ad931a6b937dff0b922d06af92cc7ab73) )
2060 ROM_END
2061
2062
2063 ROM_START( pzlbreak )
2064 ROM_REGION( 0x100000, "maincpu", 0 )
2065 ROM_LOAD16_BYTE( "4.uh12", 0x00001, 0x20000, CRC(b3f04f80) SHA1(79b5414727004719ff172e084a672b21e955f0bc) )
2066 ROM_LOAD16_BYTE( "5.ui12", 0x00000, 0x20000, CRC(13c298a0) SHA1(9455de7ea45c9a61ed6105023eb909c086c44007) )
2067
2068 ROM_REGION( 0x10000, "soundcpu", 0 )
2069 ROM_LOAD( "0.u1", 0x00000, 0x10000 , CRC(1ad646b7) SHA1(0132baa097e48df2450afdcd316375dc546ea4d0) )
2070
2071 ROM_REGION( 0x10000, "cpu2", 0 )
2072 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2073
2074 ROM_REGION16_BE( 0x200, "user1", ROMREGION_ERASEFF )
2075
2077 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200, CRC(092cb794) SHA1(eb2b336d97b440453ca37ee7605654b35dfb6bad) )
2078
2079 ROM_REGION( 0x040000, "oki", 0 )
2080 ROM_LOAD( "1.uj15", 0x00000, 0x40000, CRC(dbfae77c) SHA1(cc509d52cd9c608fc80df799890e62e7b4c143c6) )
2081
2082 ROM_REGION( 0x100000, "gfx1", 0 )
2083 ROM_LOAD( "2.ua4", 0x000000, 0x80000, CRC(d211705a) SHA1(b3a7f8198dc8c034b17b843b2ab0298426de3f55) )
2084 ROM_LOAD( "3.ua5", 0x080000, 0x80000, CRC(6cdb73e9) SHA1(649e91ee54de2b359a207bed4d950db95515a3d8) )
2085 ROM_END
2086
2087
2088 ROM_START( toppyrap )
2089 ROM_REGION( 0x100000, "maincpu", 0 )
2090 ROM_LOAD16_BYTE( "uh12.bin", 0x00001, 0x40000, CRC(6f5ad699) SHA1(42f7201d6274ff8338a7d4627af99001f473e841) )
2091 ROM_LOAD16_BYTE( "ui12.bin", 0x00000, 0x40000, CRC(caf5a7e1) SHA1(b521b2f06a804a52dad1b07657db2a29e1411844) )
2092
2093 ROM_REGION( 0x10000, "soundcpu", 0 )
2094 ROM_LOAD( "u1.bin", 0x00000, 0x10000 , CRC(07f50947) SHA1(83740655ab5f677bd009191bb0de60e237aaa11c) )
2095
2096 ROM_REGION( 0x10000, "cpu2", 0 )
2097 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2098
2099 ROM_REGION16_BE( 0x200, "user1", 0 )
2100
2103 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200, CRC(0704e6c7) SHA1(22387257db569990378c304af9677e6dc1436207) )
2104
2105 ROM_REGION( 0x040000, "oki", 0 )
2106 ROM_LOAD( "uj15.bin", 0x00000, 0x20000, CRC(a3bacfd7) SHA1(d015d8bd26d0189fc13d09fefcb9b8baaaacec8a) )
2107
2108 ROM_REGION( 0x200000, "gfx1", 0 )
2109 ROM_LOAD( "ua4.bin", 0x000000, 0x80000, CRC(a9577bcf) SHA1(9918d982ebee1c88bd203fa2b3ce2468c160fb95) )
2110 ROM_LOAD( "ua5.bin", 0x080000, 0x80000, CRC(7179d32d) SHA1(dae7126401b5bb7f99689587e05a8bf5033ec06e) )
2111 ROM_LOAD( "ua6.bin", 0x100000, 0x80000, CRC(4834e5b1) SHA1(cd8a4c329b2bfe1a9c2dea9d72ca09b71366c60a) )
2112 ROM_LOAD( "ua7.bin", 0x180000, 0x80000, CRC(663dd099) SHA1(84b52af54ac49e8b4bae23995e3cf94494be2bb3) )
2113 ROM_END
2114
2115 ROM_START( moremore )
2116 ROM_REGION( 0x100000, "maincpu", 0 )
2117 ROM_LOAD16_BYTE( "u52.bin", 0x00001, 0x40000, CRC(cea4b246) SHA1(5febcb5dda6581caccfe9079b28c2366dfc1db2b) )
2118 ROM_LOAD16_BYTE( "u74.bin", 0x00000, 0x40000, CRC(2acdcb88) SHA1(74d661d07752bbccab7eab151209a414e9bf7675) )
2119
2120 ROM_REGION( 0x10000, "soundcpu", 0 )
2121 ROM_LOAD( "u35.bin", 0x00000, 0x10000 , CRC(92dc95fc) SHA1(f04e63cc680835458246989532faf5657e28db13) )
2122
2123 ROM_REGION( 0x10000, "cpu2", 0 )
2124 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2125
2126 ROM_REGION16_BE( 0x200, "user1", 0 )
2127
2129 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(782dd2aa) SHA1(2587734271e0c85cb76bcdee171366c4e6fc9f81) )
2130
2131 ROM_REGION( 0x040000, "oki", 0 )
2132 ROM_LOAD( "u14.bin", 0x00000, 0x40000, CRC(90580088) SHA1(c64de2c0db95ab4ce06fc0a29c0cc8b7f3deeb28) )
2133
2134 ROM_REGION( 0x200000, "gfx1", 0 )
2135 ROM_LOAD( "u75.bin", 0x000000, 0x80000, CRC(d671815c) SHA1(a7e8d3bf688ce51b5d9a2b306cc557974328c322) )
2136 ROM_LOAD( "u76.bin", 0x080000, 0x80000, CRC(e0d479e8) SHA1(454b53949664aca07a86229d3b6c9ce4e9449ea6) )
2137 ROM_LOAD( "u77.bin", 0x100000, 0x80000, CRC(60a281da) SHA1(3f268f8b1cd8efd3e32d0fcdba5483c93122800e) )
2138 ROM_LOAD( "u78.bin", 0x180000, 0x80000, CRC(e2723b4e) SHA1(6b4ba1e2e937b3231d76526af3f5a4a67144e4d5) )
2139 ROM_END
2140
2141 ROM_START( moremorp )
2142 ROM_REGION( 0x100000, "maincpu", 0 )
2143 ROM_LOAD16_BYTE( "mmp_u52.bin", 0x00001, 0x40000, CRC(66baf9b2) SHA1(f1d383a94ef4313cb02c59ace17b9562eddcfb3c) )
2144 ROM_LOAD16_BYTE( "mmp_u74.bin", 0x00000, 0x40000, CRC(7c6fede5) SHA1(41bc539a6efe9eb2304243701857b972d2170bcf) )
2145
2146 ROM_REGION( 0x10000, "soundcpu", 0 )
2147 ROM_LOAD( "mmp_u35.bin", 0x00000, 0x10000 , CRC(4d098cad) SHA1(a79d417e7525a25dd6697da9f3d1de269e759d2e) )
2148
2149 ROM_REGION( 0x10000, "cpu2", 0 )
2150 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2151
2152 ROM_REGION16_BE( 0x200, "user1", 0 )
2153
2155 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(782dd2aa) SHA1(2587734271e0c85cb76bcdee171366c4e6fc9f81) )
2156
2157 ROM_REGION( 0x040000, "oki", 0 )
2158 ROM_LOAD( "mmp_u14.bin", 0x00000, 0x40000, CRC(211a2566) SHA1(48138547822a8e76c101dd4189d581f80eee1e24) )
2159
2160 ROM_REGION( 0x200000, "gfx1", 0 )
2161 ROM_LOAD( "mmp_u75.bin", 0x000000, 0x80000, CRC(af9e824e) SHA1(2b68813bf025a34b8958033108e4f8d39fd618cb) )
2162 ROM_LOAD( "mmp_u76.bin", 0x080000, 0x80000, CRC(c42af064) SHA1(f9d755e7cb52828d8594f7871932daf11443689f) )
2163 ROM_LOAD( "mmp_u77.bin", 0x100000, 0x80000, CRC(1d7396e1) SHA1(bde7e925051408dd2371b5da8235a6a4cae8cf6a) )
2164 ROM_LOAD( "mmp_u78.bin", 0x180000, 0x80000, CRC(5508d80b) SHA1(1b9a70a502b237fa11d1d55dce761e2def18873a) )
2165 ROM_END
2166
2167 ROM_START( 3in1semi )
2168 ROM_REGION( 0x100000, "maincpu", 0 )
2169 ROM_LOAD16_BYTE( "u52", 0x00001, 0x40000, CRC(b0e4a0f7) SHA1(e1f8b8ef020a85fcd7817814cf6c5d560e9e608d) )
2170 ROM_LOAD16_BYTE( "u74", 0x00000, 0x40000, CRC(266862c4) SHA1(2c5c513fee99bdb6e0ae3e0e644e516bdaddd629) )
2171
2172 ROM_REGION( 0x10000, "soundcpu", 0 )
2173 ROM_LOAD( "u35", 0x00000, 0x10000 , CRC(e40481da) SHA1(1c1fabcb67693235eaa6ff59ae12a35854b5564a) )
2174
2175 ROM_REGION( 0x10000, "cpu2", 0 )
2176 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2177
2178 ROM_REGION16_BE( 0x200, "user1", 0 )
2179
2181 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(85deba7c) SHA1(44c6d9306b4f8e47182f4740a18971c49a8df8db) )
2182
2183 ROM_REGION( 0x040000, "oki", 0 )
2184 ROM_LOAD( "u14", 0x00000, 0x40000, CRC(c83c11be) SHA1(c05d96d61e5b8245232c85cbbcb7cc1e4e066492) )
2185
2186 ROM_REGION( 0x200000, "gfx1", 0 )
2187 ROM_LOAD( "u75", 0x000000, 0x80000, CRC(b66a0db6) SHA1(a4e604eb3c0a5b16b4b0bb99219045bf2146287c) )
2188 ROM_LOAD( "u76", 0x080000, 0x80000, CRC(5f4b48ea) SHA1(e9dd1100d55b021b060990988c1e5271ce1ae35b) )
2189 ROM_LOAD( "u77", 0x100000, 0x80000, CRC(d44211e3) SHA1(53af19dec03e76912632450414cdbcbb31cc094c) )
2190 ROM_LOAD( "u78", 0x180000, 0x80000, CRC(af596afc) SHA1(875d7a51ff5c741cae4483d8da33df9cae8de52a) )
2191 ROM_END
2192
2193 ROM_START( cookbib2 )
2194 ROM_REGION( 0x100000, "maincpu", 0 )
2195 ROM_LOAD16_BYTE( "cookbib2.02", 0x00001, 0x40000, CRC(b2909460) SHA1(2438638af870cfc105631d2b5e5a27a64ab5394d) )
2196 ROM_LOAD16_BYTE( "cookbib2.01", 0x00000, 0x40000, CRC(65aafde2) SHA1(01f9f261527c35182f0445d641d987aa86ad750f) )
2197
2198 ROM_REGION( 0x10000, "soundcpu", 0 )
2199 ROM_LOAD( "cookbib2.07", 0x00000, 0x10000 , CRC(f59f1c9a) SHA1(2830261fd55249e015514fcb4cf8392e83b7fd0d) )
2200
2201 ROM_REGION( 0x10000, "cpu2", 0 )
2202 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2203
2204 ROM_REGION( 0x200, "user1", 0 )
2205
2207 ROM_LOAD16_WORD_SWAP( "protdata.bin", 0x00000, 0x200 , CRC(ae6d8ed5) SHA1(410cdacb9b90ea345c0e4be85e60a138f45a51f1) )
2208
2209 ROM_REGION( 0x040000, "oki", 0 )
2210 ROM_LOAD( "cookbib2.06", 0x00000, 0x20000, CRC(5e6f76b8) SHA1(725800143dfeaa6093ed5fcc5b9f15678ae9e547) )
2211
2212 ROM_REGION( 0x140000, "gfx1", 0 )
2213 ROM_LOAD( "cookbib2.05", 0x000000, 0x80000, CRC(89fb38ce) SHA1(1b39dd9c2743916b8d8af590bd92fe4819c2454b) )
2214 ROM_LOAD( "cookbib2.04", 0x080000, 0x80000, CRC(f240111f) SHA1(b2c3b6e3d916fc68e1fd258b1279b6c39e1f0108) )
2215 ROM_LOAD( "cookbib2.03", 0x100000, 0x40000, CRC(e1604821) SHA1(bede6bdd8331128b9f2b229d718133470bf407c9) )
2216 ROM_END
2217
2218 ROM_START( cookbib3 )
2219 ROM_REGION( 0x100000, "maincpu", 0 )
2220 ROM_LOAD16_BYTE( "u52.bin", 0x00001, 0x40000, CRC(65134893) SHA1(b1f26794d1a85893aedf55adb2195ad244f90132) )
2221 ROM_LOAD16_BYTE( "u74.bin", 0x00000, 0x40000, CRC(c4ab8435) SHA1(7f97d3deafb3eb5412a44308ef20d3317405e94c) )
2222
2223 ROM_REGION( 0x10000, "soundcpu", 0 )
2224 ROM_LOAD( "u35.bin", 0x0c000, 0x4000 , CRC(5dfd2a98) SHA1(193c0cd9272144c25cbc3660967424d34d0da185) )
2225 ROM_CONTINUE(0x8000,0x4000)
2226 ROM_CONTINUE(0x4000,0x4000)
2227 ROM_CONTINUE(0x0000,0x4000)
2228
2229 ROM_REGION( 0x10000, "cpu2", 0 )
2230 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2231
2232 ROM_REGION16_BE( 0x200, "user1", 0 )
2233
2235 ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(c819b9a8) SHA1(1d425e8c9940c0e691149e5406dd71808bd73832) )
2236
2237
2238 ROM_REGION( 0x040000, "oki", 0 )
2239 ROM_LOAD( "u14.bin", 0x00000, 0x20000, CRC(e5bf9288) SHA1(12fb9542f9105fe1a21a74a08cda4d6372b984ee) )
2240
2241 ROM_REGION( 0x180000, "gfx1", 0 )
2242 ROM_LOAD( "u75.bin", 0x000000, 0x80000, CRC(cbe4d9c8) SHA1(81b043bd2b45ab2a8c9df0ba599c6220ed0c9fbf) )
2243 ROM_LOAD( "u76.bin", 0x080000, 0x80000, CRC(1be17b57) SHA1(57b58cc094d6b47ed6136266f1d34b8bad3f421f) )
2244 ROM_LOAD( "u77.bin", 0x100000, 0x80000, CRC(7823600d) SHA1(90d431f324b71758c49f3a72ee07701ceb76403f) )
2245 ROM_END
2246
2247 ROM_START( 4in1boot )
2248 ROM_REGION( 0x100000, "maincpu", 0 )
2249 ROM_LOAD16_BYTE( "u52", 0x00001, 0x80000, CRC(71815878) SHA1(e3868f5687c1d8ec817671c50ade6c56ee83bfa1) )
2250 ROM_LOAD16_BYTE( "u74", 0x00000, 0x80000, CRC(e22d3fa2) SHA1(020ab92d8cbf37a9f8186a81934abb97088c16f9) )
2251
2252 ROM_REGION( 0x10000, "soundcpu", 0 )
2253 ROM_LOAD( "u35", 0x00000, 0x10000 , CRC(c894ac80) SHA1(ee896675b5205ab2dbd0cbb13db16aa145391d06) )
2254
2255 ROM_REGION( 0x040000, "oki", 0 )
2256 ROM_LOAD( "u14", 0x00000, 0x40000, CRC(94b09b0e) SHA1(414de3e36eff85126038e8ff74145b35076e0a43) )
2257
2258 ROM_REGION( 0x200000, "gfx1", 0 )
2259 ROM_LOAD( "u78", 0x000000, 0x200000, CRC(6c1fbc9c) SHA1(067f32cae89fd4d57b90be659d2d648e557c11df) )
2260 ROM_END
2261
2262 ROM_START( snowbros3 )
2263 ROM_REGION( 0x40000, "maincpu", 0 )
2264 ROM_LOAD16_BYTE( "ur4", 0x00000, 0x20000, CRC(19c13ffd) SHA1(4f9db70354bd410b7bcafa96be4591de8dc33d90) )
2265 ROM_LOAD16_BYTE( "ur3", 0x00001, 0x20000, CRC(3f32fa15) SHA1(1402c173c1df142ff9dd7b859689c075813a50e5) )
2266
2267
2268 ROM_REGION( 0x10000, "cpu2", 0 )
2269 ROM_LOAD( "sound.mcu", 0x00000, 0x10000 , NO_DUMP )
2270
2271 ROM_REGION( 0x80000, "gfx1", 0 )
2272 ROM_LOAD( "ua5", 0x000000, 0x80000, CRC(0604e385) SHA1(96acbc65a8db89a7be100f852dc07ba9a0313167) )
2273
2274 ROM_REGION( 0x400000, "gfx2", 0 )
2275 ROM_LOAD( "un7", 0x000000, 0x200000, CRC(4a79da4c) SHA1(59207d116d39b9ee25c51affe520f5fdff34e536) )
2276 ROM_LOAD( "un8", 0x200000, 0x200000, CRC(7a4561a4) SHA1(1dd823369c09368d1f0ec8e1cb85d700f10ff448) )
2277
2278 ROM_REGION( 0x100000, "oki", 0 )
2279 ROM_LOAD( "us5", 0x00000, 0x20000, CRC(7c6368ef) SHA1(53393c570c605f7582b61c630980041e2ed32e2d) )
2280 ROM_CONTINUE(0x80000,0x60000)
2281 ROM_END
2282
2283
2292
2293 ROM_START( finalttr )
2294 ROM_REGION( 0x100000, "maincpu", 0 )
2295 ROM_LOAD16_BYTE( "10.7o", 0x00000, 0x20000, CRC(eecc83e5) SHA1(48088a2fae8852a73a325a9659c24b241515eac3) )
2296 ROM_LOAD16_BYTE( "9.5o", 0x00001, 0x20000, CRC(58d3640e) SHA1(361bc64174a6c7b15a13e0d1f048c7ea270182ca) )
2297
2298 ROM_REGION( 0x10000, "soundcpu", 0 )
2299 ROM_LOAD( "12.5r", 0x00000, 0x10000, CRC(4bc21361) SHA1(dab9bea665c0f2fd7cee8ab7f3762e427911bcca) )
2300
2301 ROM_REGION( 0x10000, "cpu2", 0 )
2302 ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP )
2303
2304 ROM_REGION( 0x200, "user1", 0 )
2305
2307 ROM_LOAD16_WORD_SWAP( "protdata.bin", 0x00000, 0x200 , CRC(d5bbb006) SHA1(2f9ce6c4f4f5a304a807134da9c85c68a7b49200) )
2308
2311
2312 ROM_REGION( 0x040000, "oki", 0 )
2313 ROM_LOAD( "11.7p", 0x00000, 0x20000, CRC(2e331022) SHA1(1e74c66d16eb9c8ae04acecbb4040dea037492cc) )
2314
2315 ROM_REGION( 0x100000, "gfx1", 0 )
2316 ROM_LOAD( "5.1d", 0x00000, 0x40000, CRC(64a450f3) SHA1(d0560f68fe1527fda7852269ec39237ace66ab32) )
2317 ROM_LOAD( "6.1f", 0x40000, 0x40000, CRC(7281a3cc) SHA1(3f2ed7893bd7c5ff25ecb6eabce78ab66fe532a7) )
2318 ROM_LOAD( "7.1g", 0x80000, 0x40000, CRC(ec80f442) SHA1(870e44d28490a324f74af554604b9daa8422b86f) )
2319 ROM_LOAD( "9.1h", 0xc0000, 0x40000, CRC(2ebd316d) SHA1(2f1249ebd2a0bb0cc15259f7187201576a365fa6) )
2320 ROM_END
2321
2322 READ16_MEMBER(snowbros_state::moremorp_0a_read)
2323 {
2324 return 0x000a;
2325 }
2326
2327 DRIVER_INIT_MEMBER(snowbros_state,moremorp)
2328 {
2329
2330
2331
2332
2333
2334
2335
2336 machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::moremorp_0a_read),this));
2337 }
2338
2339
2340 DRIVER_INIT_MEMBER(snowbros_state,cookbib2)
2341 {
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372 #if 0
2373
2374
2375 HCROM[0x014942/2] = 0x4eb9;
2376 HCROM[0x014944/2] = 0x0004;
2377 HCROM[0x014946/2] = 0x8000;
2378 HCROM[0x014948/2] = 0x4e71;
2379
2380
2381 HCROM[0x014968/2] = 0x4eb9;
2382 HCROM[0x01496a/2] = 0x0004;
2383 HCROM[0x01496c/2] = 0x8100;
2384 HCROM[0x01496e/2] = 0x4e71;
2385
2386
2387 HCROM[0x014560/2] = 0x4eb9;
2388 HCROM[0x014562/2] = 0x0004;
2389 HCROM[0x014564/2] = 0x8200;
2390 HCROM[0x014566/2] = 0x4e71;
2391
2392
2393 HCROM[0x048000/2] = 0x4a79;
2394 HCROM[0x048002/2] = 0x0010;
2395 HCROM[0x048004/2] = 0x2462;
2396 HCROM[0x048006/2] = 0x66f8;
2397 HCROM[0x048008/2] = 0x4eb9;
2398 HCROM[0x04800a/2] = 0x0004;
2399 HCROM[0x04800c/2] = 0x8300;
2400 HCROM[0x04800e/2] = 0x4e75;
2401
2402
2403 HCROM[0x048100/2] = 0x4a79;
2404 HCROM[0x048102/2] = 0x0010;
2405 HCROM[0x048104/2] = 0x2460;
2406 HCROM[0x048106/2] = 0x66f8;
2407 HCROM[0x048108/2] = 0x4eb9;
2408 HCROM[0x04810a/2] = 0x0004;
2409 HCROM[0x04810c/2] = 0x8300;
2410 HCROM[0x04810e/2] = 0x4e75;
2411
2412
2413 HCROM[0x048200/2] = 0x4a79;
2414 HCROM[0x048202/2] = 0x0010;
2415 HCROM[0x048204/2] = 0x2490;
2416 HCROM[0x048206/2] = 0x66f8;
2417 HCROM[0x048208/2] = 0x4eb9;
2418 HCROM[0x04820a/2] = 0x0004;
2419 HCROM[0x04820c/2] = 0x8300;
2420 HCROM[0x04820e/2] = 0x4e75;
2421
2422
2423
2424
2425 HCROM[0x048300/2] = 0x48e7;
2426 HCROM[0x048302/2] = 0xfffe;
2427
2428
2429
2430
2431 HCROM[0x048304/2] = 0x45f9;
2432 HCROM[0x048306/2] = 0x0070;
2433 HCROM[0x048308/2] = 0x0000;
2434
2435
2436 HCROM[0x04830a/2] = 0x203c;
2437 HCROM[0x04830c/2] = 0x0000;
2438 HCROM[0x04830e/2] = 0x1000;
2439
2440
2441 HCROM[0x048310/2] = 0x34bc;
2442 HCROM[0x048312/2] = 0x0002;
2443
2444
2445
2446 HCROM[0x048314/2] = 0xd5fc;
2447 HCROM[0x048316/2] = 0x0000;
2448 HCROM[0x048318/2] = 0x0002;
2449
2450
2451 HCROM[0x04831a/2] = 0x5380;
2452
2453
2454 HCROM[0x04831c/2] = 0x0c80;
2455 HCROM[0x04831e/2] = 0x0000;
2456 HCROM[0x048320/2] = 0x0000;
2457
2458
2459 HCROM[0x048322/2] = 0x66ec;
2460
2461
2462
2463
2464 HCROM[0x048324/2] = 0x45f9;
2465 HCROM[0x048326/2] = 0x0010;
2466
2467
2468 HCROM[0x048328/2] = 0xf000+0xb4+0xb4;
2469
2470
2471 HCROM[0x04832a/2] = 0x41f9;
2472 HCROM[0x04832c/2] = 0x0070;
2473 HCROM[0x04832e/2] = 0x0000;
2474
2475
2476 HCROM[0x048330/2] = 0x263c;
2477 HCROM[0x048332/2] = 0x0000;
2478 HCROM[0x048334/2] = 0x0012;
2479
2480
2481 HCROM[0x048336/2] = 0x2c3c;
2482 HCROM[0x048338/2] = 0x0000;
2483 HCROM[0x04833a/2] = 0x0014;
2484
2485
2486 HCROM[0x04833c/2] = 0x243c;
2487 HCROM[0x04833e/2] = 0x0000;
2488 HCROM[0x048340/2] = 0x000a;
2489
2490
2491 HCROM[0x048342/2] = 0x2a3c;
2492 HCROM[0x048344/2] = 0x0000;
2493 HCROM[0x048346/2] = 0x0010;
2494
2495
2496 HCROM[0x048348/2] = 0x1812;
2497
2498 HCROM[0x04834a/2] = 0xe84c;
2499
2500 HCROM[0x04834c/2] = 0x0244;
2501 HCROM[0x04834e/2] = 0x000f;
2502
2503
2504 HCROM[0x048350/2] = 0x4eb9;
2505 HCROM[0x048352/2] = 0x0004;
2506 HCROM[0x048354/2] = 0x8600;
2507
2508
2509 HCROM[0x048356/2] = 0x0645;
2510 HCROM[0x048358/2] = 0x000a;
2511
2512
2513
2514 HCROM[0x04835a/2] = 0xd1fc;
2515 HCROM[0x04835c/2] = 0x0000;
2516 HCROM[0x04835e/2] = 0x0010;
2517
2518
2519
2520 HCROM[0x048360/2] = 0x1812;
2521
2522 HCROM[0x048362/2] = 0x0244;
2523 HCROM[0x048364/2] = 0x000f;
2524
2525
2526 HCROM[0x048366/2] = 0x4eb9;
2527 HCROM[0x048368/2] = 0x0004;
2528 HCROM[0x04836a/2] = 0x8600;
2529
2530
2531 HCROM[0x04836c/2] = 0x0645;
2532 HCROM[0x04836e/2] = 0x000c;
2533
2534
2535 HCROM[0x048370/2] = 0xd1fc;
2536 HCROM[0x048372/2] = 0x0000;
2537 HCROM[0x048374/2] = 0x0010;
2538
2539
2540
2541 HCROM[0x048376/2] = 0xd5fc;
2542 HCROM[0x048378/2] = 0x0000;
2543 HCROM[0x04837a/2] = 0x0001;
2544
2545
2546 HCROM[0x04837c/2] = 0x5382;
2547
2548
2549 HCROM[0x04837e/2] = 0x0c82;
2550 HCROM[0x048380/2] = 0x0000;
2551 HCROM[0x048382/2] = 0x0000;
2552
2553
2554 HCROM[0x048384/2] = 0x66c2;
2555
2556
2557 HCROM[0x048386/2] = 0x0646;
2558 HCROM[0x048388/2] = 0x000c;
2559
2560
2561 HCROM[0x04838a/2] = 0x5383;
2562
2563
2564 HCROM[0x04838c/2] = 0x0c83;
2565 HCROM[0x04838e/2] = 0x0000;
2566 HCROM[0x048390/2] = 0x0000;
2567
2568
2569 HCROM[0x048392/2] = 0x66a8;
2570
2571
2572 HCROM[0x048394/2] = 0x4cdf;
2573 HCROM[0x048396/2] = 0x7fff;
2574
2575
2576 HCROM[0x048398/2] = 0x4e75;
2577
2578
2579
2584
2585
2586
2587
2588
2589
2590
2591 HCROM[0x048600/2] = 0x317c;
2592 HCROM[0x048602/2] = 0x0010;
2593 HCROM[0x048604/2] = 0x0006;
2594
2595 HCROM[0x048606/2] = 0x3145;
2596 HCROM[0x048608/2] = 0x0008;
2597
2598 HCROM[0x04860a/2] = 0x3146;
2599 HCROM[0x04860c/2] = 0x000a;
2600
2601
2602
2603
2604 HCROM[0x04860e/2] = 0x47f9;
2605 HCROM[0x048610/2] = 0x0004;
2606 HCROM[0x048612/2] = 0x8800;
2607
2608 HCROM[0x048614/2] = 0x3004;
2609 HCROM[0x048616/2] = 0xe348;
2610
2611 HCROM[0x048618/2] = 0x3173;
2612 HCROM[0x04861a/2] = 0x0000;
2613 HCROM[0x04861c/2] = 0x000c;
2614
2615
2616
2617 HCROM[0x04861e/2] = 0x317c;
2618 HCROM[0x048620/2] = 0x0000;
2619 HCROM[0x048622/2] = 0x000e;
2620
2621
2622 HCROM[0x048624/2] = 0x4e75;
2623
2624
2625
2626
2627 HCROM[0x048800/2] = 0x0010;
2628 HCROM[0x048802/2] = 0x0011;
2629 HCROM[0x048804/2] = 0x0012;
2630 HCROM[0x048806/2] = 0x0013;
2631 HCROM[0x048808/2] = 0x0014;
2632 HCROM[0x04880a/2] = 0x0015;
2633 HCROM[0x04880c/2] = 0x0016;
2634 HCROM[0x04880e/2] = 0x0017;
2635 HCROM[0x048810/2] = 0x0018;
2636 HCROM[0x048812/2] = 0x0019;
2637 HCROM[0x048814/2] = 0x0021;
2638 HCROM[0x048816/2] = 0x0022;
2639 HCROM[0x048818/2] = 0x0023;
2640 HCROM[0x04881a/2] = 0x0024;
2641 HCROM[0x04881c/2] = 0x0025;
2642 HCROM[0x04881e/2] = 0x0026;
2643
2644
2645
2646
2664
2665
2666
2667
2668
2669 {
2670 FILE *fp;
2671
2672 fp=fopen("cookie", "w+b");
2673 if (fp)
2674 {
2675 fwrite(HCROM, 0x80000, 1, fp);
2676 fclose(fp);
2677 }
2678 }
2679 #endif
2680 }
2681
2682
2683 #if 0
2684 DRIVER_INIT_MEMBER(snowbros_state,hyperpac)
2685 {
2686 UINT16 *hyperpac_ram = m_hyperpac_ram;
2687
2688
2689 hyperpac_ram[0xe000/2] = 0x4ef9;
2690 hyperpac_ram[0xe002/2] = 0x0000;
2691 hyperpac_ram[0xe004/2] = 0x062c;
2692
2693 hyperpac_ram[0xe080/2] = 0xfedc;
2694 hyperpac_ram[0xe082/2] = 0xba98;
2695 hyperpac_ram[0xe084/2] = 0x7654;
2696 hyperpac_ram[0xe086/2] = 0x3210;
2697 }
2698 #endif
2699
2700 READ16_MEMBER(snowbros_state::_4in1_02_read)
2701 {
2702 return 0x0202;
2703 }
2704
2705 DRIVER_INIT_MEMBER(snowbros_state,4in1boot)
2706 {
2707 UINT8 *buffer;
2708 UINT8 *src = machine().root_device().memregion("maincpu")->base();
2709 int len = machine().root_device().memregion("maincpu")->bytes();
2710
2711
2712 buffer = auto_alloc_array(machine(), UINT8, len);
2713 {
2714 int i;
2715 for (i = 0;i < len; i++)
2716 if (i&1) buffer[i] = BITSWAP8(src[i],6,7,5,4,3,2,1,0);
2717 else buffer[i] = src[i];
2718
2719 memcpy(src,buffer,len);
2720 auto_free(machine(), buffer);
2721 }
2722
2723 src = machine().root_device().memregion("soundcpu")->base();
2724 len = machine().root_device().memregion("soundcpu")->bytes();
2725
2726
2727 buffer = auto_alloc_array(machine(), UINT8, len);
2728 {
2729 int i;
2730 for (i = 0;i < len; i++)
2731 buffer[i] = src[i^0x4000];
2732 memcpy(src,buffer,len);
2733 auto_free(machine(), buffer);
2734 }
2735 machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_4in1_02_read),this));
2736 }
2737
2738 DRIVER_INIT_MEMBER(snowbros_state,snowbro3)
2739 {
2740 UINT8 *buffer;
2741 UINT8 *src = machine().root_device().memregion("maincpu")->base();
2742 int len = machine().root_device().memregion("maincpu")->bytes();
2743
2744
2745 buffer = auto_alloc_array(machine(), UINT8, len);
2746 {
2747 int i;
2748 for (i = 0;i < len; i++)
2749 buffer[i] = src[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,3,4,1,2,0)];
2750 memcpy(src,buffer,len);
2751 auto_free(machine(), buffer);
2752 }
2753 }
2754
2755 READ16_MEMBER(snowbros_state::_3in1_read)
2756 {
2757 return 0x0a0a;
2758 }
2759
2760 DRIVER_INIT_MEMBER(snowbros_state,3in1semi)
2761 {
2762 machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_3in1_read),this));
2763 }
2764
2765 READ16_MEMBER(snowbros_state::cookbib3_read)
2766 {
2767 return 0x2a2a;
2768 }
2769
2770 DRIVER_INIT_MEMBER(snowbros_state,cookbib3)
2771 {
2772 machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::cookbib3_read),this));
2773 }
2774
2775 DRIVER_INIT_MEMBER(snowbros_state,pzlbreak)
2776 {
2777 pandora_set_bg_pen(machine().device("pandora"), 0xc0);
2778 }
2779
2780 GAME( 1990, snowbros, 0, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 1)", 0 )
2781 GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 2)", 0 )
2782 GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 3)", 0 )
2783 GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 4)", 0 )
2784 GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (Japan)", 0 )
2785 GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan (Dooyong license)", "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
2786 GAME( 1990, wintbob, snowbros, wintbob, snowbros, driver_device, 0, ROT0, "bootleg (Sakowa Project Korea)", "The Winter Bobble (bootleg of Snow Bros.)", 0 )
2787
2788
2789 GAME( 1993, finalttr, 0, finalttr, finalttr, driver_device, 0, ROT0, "Jeil Computer System", "Final Tetris", 0 )
2790 GAME( 1995, honeydol, 0, honeydol, honeydol, driver_device, 0, ROT0, "Barko Corp.", "Honey Dolls", 0 )
2791 GAME( 1995, twinadv, 0, twinadv, twinadv, driver_device, 0, ROT0, "Barko Corp.", "Twin Adventure (World)", 0 )
2792 GAME( 1995, twinadvk, twinadv, twinadv, twinadv, driver_device, 0, ROT0, "Barko Corp.", "Twin Adventure (Korea)", 0 )
2793 GAME( 1995, hyperpac, 0, semicom_mcu, hyperpac, driver_device, 0, ROT0, "SemiCom", "Hyper Pacman", 0 )
2794 GAME( 1995, hyperpacb,hyperpac, semicom, hyperpac, driver_device, 0, ROT0, "bootleg", "Hyper Pacman (bootleg)", 0 )
2795 GAME( 1996, cookbib2, 0, semiprot, cookbib2, snowbros_state, cookbib2, ROT0, "SemiCom", "Cookie & Bibi 2", 0 )
2796 GAME( 1996, toppyrap, 0, semiprot, toppyrap, driver_device, 0, ROT0, "SemiCom", "Toppy & Rappy", 0 )
2797 GAME( 1997, cookbib3, 0, semiprot, cookbib3, snowbros_state, cookbib3, ROT0, "SemiCom", "Cookie & Bibi 3", 0 )
2798 GAME( 1997, 3in1semi, 0, semiprot, moremore, snowbros_state, 3in1semi, ROT0, "SemiCom", "XESS - The New Revolution (SemiCom 3-in-1)", 0 )
2799 GAME( 1997, twinkle, 0, semiprot, twinkle, driver_device, 0, ROT0, "SemiCom", "Twinkle", 0 )
2800 GAME( 1997, pzlbreak, 0, semiprot, pzlbreak, snowbros_state, pzlbreak, ROT0, "SemiCom", "Puzzle Break", 0 )
2801 GAME( 1999, moremore, 0, semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More", 0 )
2802 GAME( 1999, moremorp, 0, semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More Plus", 0 )
2803 GAME( 2002, 4in1boot, 0, _4in1, 4in1boot, snowbros_state, 4in1boot, ROT0, "K1 Soft", "Puzzle King (includes bootleg of Snow Bros.)" , 0)
2804 GAME( 2002, snowbros3,snowbros, snowbro3, snowbroj, snowbros_state, snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", GAME_IMPERFECT_SOUND )