1 /******************************************************************************
2
3 Game Driver for Video System Mahjong series.
4
5 Idol-Mahjong Final Romance (Japan)
6 (c)1991 Video System Co.,Ltd.
7
8 Nekketsu Mahjong Sengen! AFTER 5 (Japan)
9 (c)1991 Video System Co.,Ltd.
10
11 Mahjong Daiyogen (Japan)
12 (c)1990 Video System Co.,Ltd.
13
14 Mahjong Fun Club - Idol Saizensen (Japan)
15 (c)1989 Video System Co.,Ltd.
16
17 Mahjong Natsu Monogatari (Mahjong Summer Story) (Japan)
18 (c)1989 Video System Co.,Ltd.
19
20 Natsuiro Mahjong (Mahjong Summer Story) (Japan)
21 (c)1989 Video System Co.,Ltd.
22
23 Idol-Mahjong Housoukyoku (Japan)
24 (c)1988 System Service Co.,Ltd.
25
26 Rettou Juudan Nekkyoku Janshi - Higashi Nippon Hen (Japan)
27 (c)1988 Video System Co.,Ltd.
28
29 Driver by Takahiro Nogi <nogi@kt.rim.or.jp> 2001/02/04 -
30 and Nicola Salmoria, Aaron Giles
31
32 ******************************************************************************/
33 /******************************************************************************
34 Memo:
35
36 - 2player's input is not supported.
37
38 - Communication between MAIN CPU and SUB CPU can be wrong.
39
40 ******************************************************************************/
41
42 #include "driver.h"
43 #include "cpu/z80/z80.h"
44 #include "vidhrdw/generic.h"
45 #include "fromance.h"
46
47
48 /* Local variables */
49 static UINT8 fromance_directionflag;
50 static UINT8 fromance_commanddata;
51 static UINT8 fromance_portselect;
52
53 static UINT8 fromance_adpcm_reset;
54 static UINT8 fromance_adpcm_data;
55 static UINT8 fromance_vclk_left;
56
57
58
59 /*************************************
60 *
61 * Machine init
62 *
63 *************************************/
64
MACHINE_INIT(fromance)65 static MACHINE_INIT( fromance )
66 {
67 fromance_directionflag = 0;
68 fromance_commanddata = 0;
69 fromance_portselect = 0;
70
71 fromance_adpcm_reset = 0;
72 fromance_adpcm_data = 0;
73 fromance_vclk_left = 0;
74 }
75
76
77
78 /*************************************
79 *
80 * Master/slave communication
81 *
82 *************************************/
83
READ_HANDLER(fromance_commanddata_r)84 static READ_HANDLER( fromance_commanddata_r )
85 {
86 return fromance_commanddata;
87 }
88
89
deferred_commanddata_w(int data)90 static void deferred_commanddata_w(int data)
91 {
92 fromance_commanddata = data;
93 fromance_directionflag = 1;
94 }
95
96
WRITE_HANDLER(fromance_commanddata_w)97 static WRITE_HANDLER( fromance_commanddata_w )
98 {
99 /* do this on a timer to let the slave CPU synchronize */
100 timer_set(TIME_NOW, data, deferred_commanddata_w);
101 }
102
103
READ_HANDLER(fromance_busycheck_main_r)104 static READ_HANDLER( fromance_busycheck_main_r )
105 {
106 /* set a timer to force synchronization after the read */
107 timer_set(TIME_NOW, 0, NULL);
108
109 if (!fromance_directionflag) return 0x00; /* standby*/
110 else return 0xff; /* busy*/
111 }
112
113
READ_HANDLER(fromance_busycheck_sub_r)114 static READ_HANDLER( fromance_busycheck_sub_r )
115 {
116 if (fromance_directionflag) return 0xff; /* standby*/
117 else return 0x00; /* busy*/
118 }
119
120
WRITE_HANDLER(fromance_busycheck_sub_w)121 static WRITE_HANDLER( fromance_busycheck_sub_w )
122 {
123 fromance_directionflag = 0;
124 }
125
126
127
128 /*************************************
129 *
130 * Slave CPU ROM banking
131 *
132 *************************************/
133
WRITE_HANDLER(fromance_rombank_w)134 static WRITE_HANDLER( fromance_rombank_w )
135 {
136 unsigned char *ROM = memory_region(REGION_CPU2);
137
138 cpu_setbank(1, &ROM[0x010000 + (0x4000 * data)]);
139 }
140
141
142
143 /*************************************
144 *
145 * ADPCM interface
146 *
147 *************************************/
148
WRITE_HANDLER(fromance_adpcm_reset_w)149 static WRITE_HANDLER( fromance_adpcm_reset_w )
150 {
151 fromance_adpcm_reset = (data & 0x01);
152 fromance_vclk_left = 0;
153
154 MSM5205_reset_w(0, !(data & 0x01));
155 }
156
157
WRITE_HANDLER(fromance_adpcm_w)158 static WRITE_HANDLER( fromance_adpcm_w )
159 {
160 fromance_adpcm_data = data;
161 fromance_vclk_left = 2;
162 }
163
164
fromance_adpcm_int(int irq)165 static void fromance_adpcm_int(int irq)
166 {
167 /* skip if we're reset */
168 if (!fromance_adpcm_reset)
169 return;
170
171 /* clock the data through */
172 if (fromance_vclk_left)
173 {
174 MSM5205_data_w(0, (fromance_adpcm_data >> 4));
175 fromance_adpcm_data <<= 4;
176 fromance_vclk_left--;
177 }
178
179 /* generate an NMI if we're out of data */
180 if (!fromance_vclk_left)
181 cpu_set_nmi_line(1, PULSE_LINE);
182 }
183
184
185
186 /*************************************
187 *
188 * Input handlers
189 *
190 *************************************/
191
WRITE_HANDLER(fromance_portselect_w)192 static WRITE_HANDLER( fromance_portselect_w )
193 {
194 fromance_portselect = data;
195 }
196
197
READ_HANDLER(fromance_keymatrix_r)198 static READ_HANDLER( fromance_keymatrix_r )
199 {
200 int ret = 0xff;
201
202 if (fromance_portselect & 0x01)
203 ret &= readinputport(4);
204 if (fromance_portselect & 0x02)
205 ret &= readinputport(5);
206 if (fromance_portselect & 0x04)
207 ret &= readinputport(6);
208 if (fromance_portselect & 0x08)
209 ret &= readinputport(7);
210 if (fromance_portselect & 0x10)
211 ret &= readinputport(8);
212
213 return ret;
214 }
215
216
217
218 /*************************************
219 *
220 * Coin counters
221 *
222 *************************************/
223
WRITE_HANDLER(fromance_coinctr_w)224 static WRITE_HANDLER( fromance_coinctr_w )
225 {
226 /**/
227 }
228
229
230
231 /*************************************
232 *
233 * Master CPU memory handlers
234 *
235 *************************************/
236
MEMORY_READ_START(nekkyoku_readmem_main)237 static MEMORY_READ_START( nekkyoku_readmem_main )
238 { 0x0000, 0xbfff, MRA_ROM },
239 { 0xc000, 0xdfff, MRA_RAM },
240 { 0xf000, 0xf000, input_port_0_r },
241 { 0xf001, 0xf001, fromance_keymatrix_r },
242 { 0xf002, 0xf002, input_port_1_r },
243 { 0xf003, 0xf003, fromance_busycheck_main_r },
244 { 0xf004, 0xf004, input_port_3_r },
245 { 0xf005, 0xf005, input_port_2_r },
246 MEMORY_END
247
248 static MEMORY_WRITE_START( nekkyoku_writemem_main )
249 { 0x0000, 0xbfff, MWA_ROM },
250 { 0xc000, 0xdfff, MWA_RAM },
251 { 0xf000, 0xf000, fromance_portselect_w },
252 { 0xf001, 0xf001, MWA_NOP },
253 { 0xf002, 0xf002, fromance_coinctr_w },
254 { 0xf003, 0xf003, fromance_commanddata_w },
255 MEMORY_END
256
257
258 static MEMORY_READ_START( fromance_readmem_main )
259 { 0x0000, 0x7fff, MRA_ROM },
260 { 0xc000, 0xdfff, MRA_RAM },
261 { 0x9e89, 0x9e89, MRA_NOP }, /* unknown (idolmj)*/
262 { 0xe000, 0xe000, input_port_0_r },
263 { 0xe001, 0xe001, fromance_keymatrix_r },
264 { 0xe002, 0xe002, input_port_1_r },
265 { 0xe003, 0xe003, fromance_busycheck_main_r },
266 { 0xe004, 0xe004, input_port_3_r },
267 { 0xe005, 0xe005, input_port_2_r },
268 MEMORY_END
269
270 static MEMORY_WRITE_START( fromance_writemem_main )
271 { 0x0000, 0x7fff, MWA_ROM },
272 { 0xc000, 0xdfff, MWA_RAM },
273 { 0xe000, 0xe000, fromance_portselect_w },
274 { 0xe002, 0xe002, fromance_coinctr_w },
275 { 0xe003, 0xe003, fromance_commanddata_w },
276 MEMORY_END
277
278
279
280 /*************************************
281 *
282 * Slave CPU memory handlers
283 *
284 *************************************/
285
286 static MEMORY_READ_START( nekkyoku_readmem_sub )
287 { 0x0000, 0x7fff, MRA_ROM },
288 { 0x8000, 0xbfff, MRA_BANK1 },
289 { 0xc000, 0xefff, fromance_videoram_r },
290 { 0xf000, 0xf7ff, MRA_RAM },
291 { 0xf800, 0xffff, fromance_paletteram_r },
292 MEMORY_END
293
294 static MEMORY_WRITE_START( nekkyoku_writemem_sub )
295 { 0x0000, 0x7fff, MWA_ROM },
296 { 0x8000, 0xbfff, MWA_ROM },
297 { 0xc000, 0xefff, fromance_videoram_w },
298 { 0xf000, 0xf7ff, MWA_RAM },
299 { 0xf800, 0xffff, fromance_paletteram_w },
300 MEMORY_END
301
302
303 static MEMORY_READ_START( fromance_readmem_sub )
304 { 0x0000, 0x7fff, MRA_ROM },
305 { 0x8000, 0xbfff, MRA_BANK1 },
306 { 0xc000, 0xc7ff, MRA_RAM },
307 { 0xc800, 0xcfff, fromance_paletteram_r },
308 { 0xd000, 0xffff, fromance_videoram_r },
309 MEMORY_END
310
311 static MEMORY_WRITE_START( fromance_writemem_sub )
312 { 0x0000, 0x7fff, MWA_ROM },
313 { 0x8000, 0xbfff, MWA_ROM },
314 { 0xc000, 0xc7ff, MWA_RAM },
315 { 0xc800, 0xcfff, fromance_paletteram_w },
316 { 0xd000, 0xffff, fromance_videoram_w },
317 MEMORY_END
318
319
320
321 /*************************************
322 *
323 * Slave CPU port handlers
324 *
325 *************************************/
326
327 static PORT_READ_START( nekkyoku_readport_sub )
328 { 0x12, 0x12, IORP_NOP }, /* unknown*/
329 { 0xe1, 0xe1, fromance_busycheck_sub_r },
330 { 0xe6, 0xe6, fromance_commanddata_r },
331 PORT_END
332
333 static PORT_WRITE_START( nekkyoku_writeport_sub )
334 { 0x10, 0x10, fromance_crtc_data_w },
335 { 0x11, 0x11, fromance_crtc_register_w },
336 { 0xe0, 0xe0, fromance_rombank_w },
337 { 0xe1, 0xe1, fromance_gfxreg_w },
338 { 0xe2, 0xe5, fromance_scroll_w },
339 { 0xe6, 0xe6, fromance_busycheck_sub_w },
340 { 0xe7, 0xe7, fromance_adpcm_reset_w },
341 { 0xe8, 0xe8, fromance_adpcm_w },
342 { 0xe9, 0xe9, AY8910_write_port_0_w },
343 { 0xea, 0xea, AY8910_control_port_0_w },
344 PORT_END
345
346 static PORT_READ_START( fromance_readport_sub )
347 { 0x12, 0x12, IORP_NOP }, /* unknown*/
348 { 0x21, 0x21, fromance_busycheck_sub_r },
349 { 0x26, 0x26, fromance_commanddata_r },
350 PORT_END
351
352 static PORT_WRITE_START( idolmj_writeport_sub )
353 { 0x10, 0x10, fromance_crtc_data_w },
354 { 0x11, 0x11, fromance_crtc_register_w },
355 { 0x20, 0x20, fromance_rombank_w },
356 { 0x21, 0x21, fromance_gfxreg_w },
357 { 0x22, 0x25, fromance_scroll_w },
358 { 0x26, 0x26, fromance_busycheck_sub_w },
359 { 0x27, 0x27, fromance_adpcm_reset_w },
360 { 0x28, 0x28, fromance_adpcm_w },
361 { 0x29, 0x29, AY8910_write_port_0_w },
362 { 0x2a, 0x2a, AY8910_control_port_0_w },
363 PORT_END
364
365 static PORT_WRITE_START( fromance_writeport_sub )
366 { 0x10, 0x10, fromance_crtc_data_w },
367 { 0x11, 0x11, fromance_crtc_register_w },
368 { 0x20, 0x20, fromance_rombank_w },
369 { 0x21, 0x21, fromance_gfxreg_w },
370 { 0x22, 0x25, fromance_scroll_w },
371 { 0x26, 0x26, fromance_busycheck_sub_w },
372 { 0x27, 0x27, fromance_adpcm_reset_w },
373 { 0x28, 0x28, fromance_adpcm_w },
374 { 0x2a, 0x2a, YM2413_register_port_0_w },
375 { 0x2b, 0x2b, YM2413_data_port_0_w },
376 PORT_END
377
378
379
380 /*************************************
381 *
382 * Port definitions
383 *
384 *************************************/
385
386 #define FROMANCE_KEYMATRIX1 \
387 PORT_START \
388 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 A", KEYCODE_A, IP_JOY_NONE ) \
389 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 E", KEYCODE_E, IP_JOY_NONE ) \
390 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 I", KEYCODE_I, IP_JOY_NONE ) \
391 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 M", KEYCODE_M, IP_JOY_NONE ) \
392 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Kan", KEYCODE_LCONTROL, IP_JOY_NONE ) \
393 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) \
394 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
395 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
396
397 #define FROMANCE_KEYMATRIX2 \
398 PORT_START \
399 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 B", KEYCODE_B, IP_JOY_NONE ) \
400 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 F", KEYCODE_F, IP_JOY_NONE ) \
401 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 J", KEYCODE_J, IP_JOY_NONE ) \
402 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 N", KEYCODE_N, IP_JOY_NONE ) \
403 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Reach", KEYCODE_LSHIFT, IP_JOY_NONE ) \
404 PORT_BITX(0x20, IP_ACTIVE_LOW, 0, "P1 Bet", KEYCODE_2, IP_JOY_NONE ) \
405 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
406 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
407
408 #define FROMANCE_KEYMATRIX3 \
409 PORT_START \
410 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 C", KEYCODE_C, IP_JOY_NONE ) \
411 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 G", KEYCODE_G, IP_JOY_NONE ) \
412 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 K", KEYCODE_K, IP_JOY_NONE ) \
413 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 Chi", KEYCODE_SPACE, IP_JOY_NONE ) \
414 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Ron", KEYCODE_Z, IP_JOY_NONE ) \
415 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
416 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
417 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
418
419 #define FROMANCE_KEYMATRIX4 \
420 PORT_START \
421 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 D", KEYCODE_D, IP_JOY_NONE ) \
422 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 H", KEYCODE_H, IP_JOY_NONE ) \
423 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 L", KEYCODE_L, IP_JOY_NONE ) \
424 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 Pon", KEYCODE_LALT, IP_JOY_NONE ) \
425 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
426 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
427 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
428 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
429
430 #define FROMANCE_KEYMATRIX5 \
431 PORT_START \
432 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 Last Chance", KEYCODE_RALT, IP_JOY_NONE ) \
433 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 Take Score", KEYCODE_RCONTROL, IP_JOY_NONE ) \
434 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 Double Up", KEYCODE_RSHIFT, IP_JOY_NONE ) \
435 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 Flip", KEYCODE_X, IP_JOY_NONE ) \
436 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Big", KEYCODE_ENTER, IP_JOY_NONE ) \
437 PORT_BITX(0x20, IP_ACTIVE_LOW, 0, "P1 Small", KEYCODE_BACKSPACE, IP_JOY_NONE ) \
438 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
439 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
440
441
442 INPUT_PORTS_START( nekkyoku )
443 PORT_START /* (0) TEST SW */
444 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
445 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
446 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
447 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
448 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
449 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
450 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
451 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
452
453 PORT_START /* (1) COIN SW */
454 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
455 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
456 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
457 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
458 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
459 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
460 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
461 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
462
463 PORT_START /* (2) DIPSW-1 */
464 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
465 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
466 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
467 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
468 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
469 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
470 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
471 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
472 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
473 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
474 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
475 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
476 PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" )
477 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
478 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
479 PORT_DIPNAME( 0x20, 0x00, "DIPSW 1-6" )
480 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
481 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
482 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
483 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
484 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
485 PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
486 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
487 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
488
489 PORT_START /* (3) DIPSW-2 */
490 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
491 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
492 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
493 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
494 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
495 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
496 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
497 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
498 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
499 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
500 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
501 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
502 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
503 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
504 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
505 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
506 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
507 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
508 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
509 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
510 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
511 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
512 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
513 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
514
515 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
516 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
517 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
518 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
519 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
520 INPUT_PORTS_END
521
522
523 INPUT_PORTS_START( idolmj )
524 PORT_START /* (0) TEST SW */
525 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
526 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
527 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
528 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
529 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
530 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
531 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
532 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
533
534 PORT_START /* (1) COIN SW */
535 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
536 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
537 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
538 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
539 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
540 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
541 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
542 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
543
544 PORT_START /* (2) DIPSW-1 */
545 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
546 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
547 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
548 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
549 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
550 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
551 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
552 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
553 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
554 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
555 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
556 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
557 PORT_DIPNAME( 0x10, 0x00, "Voices" )
558 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
559 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
560 PORT_DIPNAME( 0x20, 0x00, "DIPSW 1-6" )
561 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
562 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
563 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
564 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
565 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
566 PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
567 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
568 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
569
570 PORT_START /* (3) DIPSW-2 */
571 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
572 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
573 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
574 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
575 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
576 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
577 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
578 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
579 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
580 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
581 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
582 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
583 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
584 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
585 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
586 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
587 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
588 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
589 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
590 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
591 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
592 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
593 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
594 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
595
596 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
597 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
598 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
599 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
600 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
601 INPUT_PORTS_END
602
603
604 INPUT_PORTS_START( fromance )
605 PORT_START /* (0) TEST SW */
606 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
607 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
608 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
609 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
610 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
611 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
612 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
613 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
614
615 PORT_START /* (1) COIN SW */
616 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
617 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
618 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
619 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
620 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
621 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
622 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
623 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
624
625 PORT_START /* (2) DIPSW-1 */
626 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
627 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
628 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
629 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
630 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
631 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
632 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
633 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
634 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
635 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
636 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
637 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
638 PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" )
639 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
640 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
641 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
642 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
643 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
644 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
645 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
646 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
647 PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
648
649 PORT_START /* (3) DIPSW-2 */
650 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
651 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
652 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
653 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
654 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
655 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
656 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
657 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
658 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
659 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
660 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
661 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
662 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
663 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
664 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
665 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
666 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
667 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
668 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
669 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
670 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
671 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
672 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
673 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
674
675 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
676 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
677 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
678 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
679 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
680 INPUT_PORTS_END
681
682
683 INPUT_PORTS_START( nmsengen )
684 PORT_START /* (0) TEST SW */
685 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
686 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
687 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
688 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
689 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
690 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
691 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
692 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
693
694 PORT_START /* (1) COIN SW */
695 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
696 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
697 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
698 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
699 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
700 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
701 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
702 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
703
704 PORT_START /* (2) DIPSW-1 */
705 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
706 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
707 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
708 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
709 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
710 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
711 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
712 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
713 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
714 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
715 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
716 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
717 PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" )
718 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
719 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
720 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
721 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
722 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
723 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
724 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
725 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
726 PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
727
728 PORT_START /* (3) DIPSW-2 */
729 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
730 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
731 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
732 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
733 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
734 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
735 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
736 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
737 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
738 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
739 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
740 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
741 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
742 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
743 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
744 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
745 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
746 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
747 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
748 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
749 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
750 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
751 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
752 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
753
754 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
755 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
756 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
757 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
758 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
759 INPUT_PORTS_END
760
761
762 INPUT_PORTS_START( daiyogen )
763 PORT_START /* (0) TEST SW */
764 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
765 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
766 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
767 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
768 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
769 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
770 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
771 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
772
773 PORT_START /* (1) COIN SW */
774 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
775 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
776 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
777 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
778 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
779 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
780 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
781 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
782
783 PORT_START /* (2) DIPSW-1 */
784 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
785 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
786 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
787 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
788 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
789 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
790 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
791 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
792 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
793 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
794 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
795 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
796 PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" )
797 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
798 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
799 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
800 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
801 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
802 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
803 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
804 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
805 PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
806 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
807 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
808
809 PORT_START /* (3) DIPSW-2 */
810 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
811 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
812 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
813 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
814 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
815 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
816 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
817 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
818 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
819 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
820 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
821 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
822 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
823 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
824 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
825 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
826 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
827 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
828 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
829 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
830 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
831 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
832 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
833 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
834
835 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
836 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
837 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
838 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
839 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
840 INPUT_PORTS_END
841
842
843 INPUT_PORTS_START( mfunclub )
844 PORT_START /* (0) TEST SW */
845 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
846 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
847 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
848 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
849 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
850 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
851 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
852 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
853
854 PORT_START /* (1) COIN SW */
855 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
856 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
857 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
858 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
859 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
860 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
861 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
862 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
863
864 PORT_START /* (2) DIPSW-1 */
865 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
866 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
867 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
868 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
869 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
870 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
871 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
872 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
873 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
874 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
875 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
876 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
877 PORT_DIPNAME( 0x10, 0x00, "Voices" )
878 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
879 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
880 PORT_DIPNAME( 0x20, 0x00, "DIPSW 1-6" )
881 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
882 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
883 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
884 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
885 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
886 PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
887 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
888 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
889
890 PORT_START /* (3) DIPSW-2 */
891 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
892 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
893 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
894 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
895 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
896 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
897 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
898 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
899 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
900 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
901 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
902 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
903 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
904 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
905 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
906 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
907 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
908 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
909 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
910 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
911 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
912 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
913 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
914 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
915
916 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
917 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
918 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
919 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
920 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
921 INPUT_PORTS_END
922
923
924 INPUT_PORTS_START( mjnatsu )
925 PORT_START /* (0) TEST SW */
926 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
927 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* MEMORY RESET*/
928 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
929 PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE ) /* TEST*/
930 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
931 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
932 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
933 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
934
935 PORT_START /* (1) COIN SW */
936 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
937 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
938 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
939 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
940 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
941 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
942 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* COIN1*/
943 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
944
945 PORT_START /* (2) DIPSW-1 */
946 PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
947 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
948 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
949 PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
950 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
951 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
952 PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
953 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
954 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
955 PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
956 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
957 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
958 PORT_DIPNAME( 0x10, 0x00, "Voices" )
959 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
960 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
961 PORT_DIPNAME( 0x20, 0x00, "DIPSW 1-6" )
962 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
963 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
964 PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
965 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
966 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
967 PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
968 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
969 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
970
971 PORT_START /* (3) DIPSW-2 */
972 PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
973 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
974 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
975 PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
976 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
977 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
978 PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
979 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
980 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
981 PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
982 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
983 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
984 PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
985 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
986 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
987 PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
988 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
989 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
990 PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
991 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
992 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
993 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
994 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
995 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
996
997 FROMANCE_KEYMATRIX1 /* (4) PORT 1-0 */
998 FROMANCE_KEYMATRIX2 /* (5) PORT 1-1 */
999 FROMANCE_KEYMATRIX3 /* (6) PORT 1-2 */
1000 FROMANCE_KEYMATRIX4 /* (7) PORT 1-3 */
1001 FROMANCE_KEYMATRIX5 /* (8) PORT 1-4 */
1002 INPUT_PORTS_END
1003
1004
1005
1006 /*************************************
1007 *
1008 * Graphics definitions
1009 *
1010 *************************************/
1011
1012 static struct GfxLayout bglayout =
1013 {
1014 8,4,
1015 RGN_FRAC(1,1),
1016 4,
1017 { 0, 1, 2, 3 },
1018 { 4, 0, 12, 8, 20, 16, 28, 24 },
1019 { 0*32, 1*32, 2*32, 3*32 },
1020 16*8
1021 };
1022
1023
1024 static struct GfxDecodeInfo fromance_gfxdecodeinfo[] =
1025 {
1026 { REGION_GFX1, 0, &bglayout, 0, 128 },
1027 { REGION_GFX2, 0, &bglayout, 0, 128 },
1028 { -1 }
1029 };
1030
1031
1032
1033 /*************************************
1034 *
1035 * Sound definitions
1036 *
1037 *************************************/
1038
1039 static struct YM2413interface ym2413_interface=
1040 {
1041 1, /* 1 chip */
1042 3579545, /* 3.579545 MHz ? */
1043 { YM2413_VOL(100,MIXER_PAN_CENTER,100,MIXER_PAN_CENTER) }
1044 };
1045
1046
1047 static struct AY8910interface ay8910_interface =
1048 {
1049 1, /* 1 chip */
1050 12000000/6, /* 1.5 MHz ? */
1051 { 15 }, /* volume */
1052 { 0 }, /* read port #0 */
1053 { 0 }, /* read port #1 */
1054 { 0 }, /* write port #0 */
1055 { 0 } /* write port #1 */
1056 };
1057
1058
1059 static struct MSM5205interface msm5205_interface =
1060 {
1061 1, /* 1 chip */
1062 384000, /* 384 KHz */
1063 { fromance_adpcm_int }, /* IRQ handler */
1064 { MSM5205_S48_4B }, /* 8 KHz */
1065 { 80 } /* volume */
1066 };
1067
1068 static struct MSM5205interface fromance_msm5205_interface =
1069 {
1070 1, /* 1 chip */
1071 384000, /* 384 KHz */
1072 { fromance_adpcm_int }, /* IRQ handler */
1073 { MSM5205_S48_4B }, /* 8 KHz */
1074 { 10 } /* volume */
1075 };
1076
1077
1078 /*************************************
1079 *
1080 * Machine drivers
1081 *
1082 *************************************/
1083
1084 static MACHINE_DRIVER_START( nekkyoku )
1085
1086 /* basic machine hardware */
1087 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1088 MDRV_CPU_MEMORY(nekkyoku_readmem_main,nekkyoku_writemem_main)
1089 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1090
1091 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1092 MDRV_CPU_MEMORY(nekkyoku_readmem_sub,nekkyoku_writemem_sub)
1093 MDRV_CPU_PORTS(nekkyoku_readport_sub,nekkyoku_writeport_sub)
1094
1095 MDRV_FRAMES_PER_SECOND(60)
1096 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1097
1098 MDRV_MACHINE_INIT(fromance)
1099
1100 /* video hardware */
1101 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1102 MDRV_SCREEN_SIZE(512, 256)
1103 MDRV_VISIBLE_AREA(0, 352-1, 0, 240-1)
1104 MDRV_GFXDECODE(fromance_gfxdecodeinfo)
1105 MDRV_PALETTE_LENGTH(1024)
1106
1107 MDRV_VIDEO_START(nekkyoku)
1108 MDRV_VIDEO_UPDATE(fromance)
1109
1110 /* sound hardware */
1111 MDRV_SOUND_ADD(AY8910, ay8910_interface)
1112 MDRV_SOUND_ADD(MSM5205, msm5205_interface)
1113 MACHINE_DRIVER_END
1114
1115
1116 static MACHINE_DRIVER_START( idolmj )
1117
1118 /* basic machine hardware */
1119 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1120 MDRV_CPU_MEMORY(fromance_readmem_main,fromance_writemem_main)
1121 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1122
1123 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1124 MDRV_CPU_MEMORY(fromance_readmem_sub,fromance_writemem_sub)
1125 MDRV_CPU_PORTS(fromance_readport_sub,idolmj_writeport_sub)
1126
1127 MDRV_FRAMES_PER_SECOND(60)
1128 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1129
1130 MDRV_MACHINE_INIT(fromance)
1131
1132 /* video hardware */
1133 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1134 MDRV_SCREEN_SIZE(512, 256)
1135 MDRV_VISIBLE_AREA(0, 352-1, 0, 240-1)
1136 MDRV_GFXDECODE(fromance_gfxdecodeinfo)
1137 MDRV_PALETTE_LENGTH(2048)
1138
1139 MDRV_VIDEO_START(fromance)
1140 MDRV_VIDEO_UPDATE(fromance)
1141
1142 /* sound hardware */
1143 MDRV_SOUND_ADD(AY8910, ay8910_interface)
1144 MDRV_SOUND_ADD(MSM5205, msm5205_interface)
1145 MACHINE_DRIVER_END
1146
1147
1148 static MACHINE_DRIVER_START( fromance )
1149
1150 /* basic machine hardware */
1151 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1152 MDRV_CPU_MEMORY(fromance_readmem_main,fromance_writemem_main)
1153 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1154
1155 MDRV_CPU_ADD(Z80,12000000/2) /* 6.00 Mhz ? */
1156 MDRV_CPU_MEMORY(fromance_readmem_sub,fromance_writemem_sub)
1157 MDRV_CPU_PORTS(fromance_readport_sub,fromance_writeport_sub)
1158
1159 MDRV_FRAMES_PER_SECOND(60)
1160 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1161
1162 MDRV_MACHINE_INIT(fromance)
1163
1164 /* video hardware */
1165 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1166 MDRV_SCREEN_SIZE(512, 256)
1167 MDRV_VISIBLE_AREA(0, 352-1, 0, 240-1)
1168 MDRV_GFXDECODE(fromance_gfxdecodeinfo)
1169 MDRV_PALETTE_LENGTH(2048)
1170
1171 MDRV_VIDEO_START(fromance)
1172 MDRV_VIDEO_UPDATE(fromance)
1173
1174 /* sound hardware */
1175 MDRV_SOUND_ADD(YM2413, ym2413_interface)
1176 MDRV_SOUND_ADD(MSM5205, fromance_msm5205_interface)
1177 MACHINE_DRIVER_END
1178
1179
1180
1181 /*************************************
1182 *
1183 * ROM definitions
1184 *
1185 *************************************/
1186
1187 ROM_START( nekkyoku )
1188 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1189 ROM_LOAD( "1-ic1a.bin", 0x000000, 0x008000, CRC(bb52d959) SHA1(1dfeb108879978dbcc1398e64b26c36505bee6d0) )
1190 ROM_LOAD( "2-ic2a.bin", 0x008000, 0x008000, CRC(61848d8b) SHA1(72048c53e4364544ca8a79e213db9d02b7b4778f) )
1191
1192 ROM_REGION( 0x210000, REGION_CPU2, 0 )
1193 ROM_LOAD( "3-ic3a.bin", 0x000000, 0x008000, CRC(a13da011) SHA1(601180f65ba42b7b1b6b058c0eccf88af1b430ca) )
1194 ROM_LOAD( "ic4a.bin", 0x010000, 0x080000, CRC(1cc4d31b) SHA1(6ea8ec3d6b3bbffbbab3460e9c5dae74195eafc6) )
1195 ROM_LOAD( "ic5a.bin", 0x090000, 0x080000, CRC(8b0945a1) SHA1(c52f77d817c687afa0cd93e7725cdf2021158a11) )
1196 ROM_LOAD( "ic6a.bin", 0x110000, 0x080000, CRC(d5615e1d) SHA1(ffee1a240045636db5d03345faadb9991b51f2c9) )
1197 ROM_LOAD( "4-ic7a.bin", 0x190000, 0x008000, CRC(e259cfbb) SHA1(d92a71e5f840b338aa2080a6b5872e23c7b6146f) )
1198
1199 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1200 ROM_LOAD( "ic11a.bin", 0x000000, 0x080000, CRC(2bc2b1d0) SHA1(1c516b058a640ca07b065f4c55959b63a11ca015) )
1201 ROM_LOAD( "ic12a.bin", 0x080000, 0x040000, CRC(cac93dc0) SHA1(e47f547ac83ac005e787a2c9f802101d251d4a66) )
1202 ROM_LOAD( "6-ic13a.bin", 0x0c0000, 0x008000, CRC(84830e34) SHA1(e3af89938b1e122909b13faf0022b6b60afb1f3f) )
1203 ROM_FILL( 0x0c8000, 0x038000, 0xff )
1204 ROM_FILL( 0x100000, 0x100000, 0xff )
1205
1206 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1207 ROM_LOAD( "ic8a.bin", 0x000000, 0x080000, CRC(599790d8) SHA1(4e4ade1a89d6cb93b0808867883d70c4c7ed78dd) )
1208 ROM_LOAD( "ic9a.bin", 0x080000, 0x040000, CRC(78c1906f) SHA1(54459e0120ec58a962d3f4a1287e68d2fbb28be9) )
1209 ROM_LOAD( "5-ic10a.bin", 0x0c0000, 0x008000, CRC(2e78515f) SHA1(397985c082ffc0df07cd44d54e4fef909c30a4f1) )
1210 ROM_FILL( 0x0c8000, 0x038000, 0xff )
1211 ROM_FILL( 0x100000, 0x100000, 0xff )
1212 ROM_END
1213
1214
1215 ROM_START( idolmj )
1216 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1217 ROM_LOAD( "3-13g.bin", 0x000000, 0x008000, CRC(910e9e7a) SHA1(5d577549ca25def14fbc6db682afda105244b7c1) )
1218
1219 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1220 ROM_LOAD( "5-13e.bin", 0x000000, 0x008000, CRC(cda33264) SHA1(88ac345fccce82fafc346675726b1b806ecab1bc) )
1221 ROM_LOAD( "18e.bin", 0x010000, 0x080000, CRC(7ee5aaf3) SHA1(f1aaa512a475bfb56250ef4350d4b17e6165c5f7) )
1222 ROM_LOAD( "17e.bin", 0x090000, 0x080000, CRC(38055f94) SHA1(7724e099efda2a255ccc7989f2584fc543e77061) )
1223 ROM_LOAD( "4-14e.bin", 0x190000, 0x010000, CRC(84d80b43) SHA1(7d6310d313b953ed460a6891316845b64bffdd31) )
1224
1225 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1226 ROM_LOAD( "6e.bin", 0x000000, 0x080000, CRC(51dadedd) SHA1(ce0188cce457759130d70b71b2877a7eb98824e4) )
1227 ROM_LOAD( "2-8e.bin", 0x080000, 0x008000, CRC(a1a62c4c) SHA1(c946ad5dab918e0a7951c7eca88f1b32bf96e895) )
1228 ROM_FILL( 0x088000, 0x008000, 0xff )
1229 ROM_FILL( 0x090000, 0x170000, 0xff )
1230
1231 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1232 ROM_LOAD( "3e.bin", 0x000000, 0x080000, CRC(eff9b562) SHA1(895d70be5efd746e15393bb138e6c6f7d39b2e54) )
1233 ROM_LOAD( "1-1e.bin", 0x080000, 0x008000, CRC(abf03c62) SHA1(0ad88ffe3f06f493978f292154894415ed38f797) )
1234 ROM_FILL( 0x088000, 0x008000, 0xff )
1235 ROM_FILL( 0x090000, 0x170000, 0xff )
1236 ROM_END
1237
1238
1239 ROM_START( mjnatsu )
1240 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1241 ROM_LOAD( "3-ic70.bin", 0x000000, 0x008000, CRC(543eb9e1) SHA1(cfe1d33bdf6541e2207465a941f342be21b69f7d) )
1242
1243 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1244 ROM_LOAD( "4-ic47.bin", 0x000000, 0x008000, CRC(27a61dc7) SHA1(e12e36eefb7cbce8e1383b7c1b57793cde2cd6cd) )
1245 ROM_LOAD( "ic87.bin", 0x010000, 0x080000, CRC(caec9310) SHA1(a92be0116d7e682763e387230a51daedbe749c26) )
1246 ROM_LOAD( "ic78.bin", 0x090000, 0x080000, CRC(2b291006) SHA1(5360158ee9e50bd956f149ce0e58920d4d294b42) )
1247 ROM_LOAD( "ic72.bin", 0x110000, 0x020000, CRC(42464fba) SHA1(b16da303f3e16f47322d00f7a27d2004be63f611) )
1248 ROM_LOAD( "5-ic48.bin", 0x210000, 0x010000, CRC(d3c06cd9) SHA1(53c10670557d72a87f2a289f22ea2749d8d35976) )
1249
1250 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1251 ROM_LOAD( "ic58.bin", 0x000000, 0x080000, CRC(257a8075) SHA1(c741a4f10cbec8e6d641d4dc2b36749277bc9548) )
1252 ROM_LOAD( "ic63.bin", 0x080000, 0x020000, CRC(b54c7d3a) SHA1(6be26b7d2cdf884fc140c8ed44865784d107583a) )
1253 ROM_LOAD( "1-ic74.bin", 0x0a0000, 0x008000, CRC(fbafa46b) SHA1(3867180f8a3cb3becf78023d3bbc2bb66580a13d) )
1254 ROM_FILL( 0x0a8000, 0x008000, 0xff )
1255 ROM_FILL( 0x0b0000, 0x150000, 0xff )
1256
1257 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1258 ROM_LOAD( "ic59.bin", 0x000000, 0x080000, CRC(03983ac7) SHA1(1e14ec3c614b227a6362f2a3a7582ac7a4f58ee3) )
1259 ROM_LOAD( "ic64.bin", 0x080000, 0x040000, CRC(9bd8e855) SHA1(a445dd7634958f69e58aed2581513e7a583ff66b) )
1260 ROM_FILL( 0x0c0000, 0x140000, 0xff )
1261 ROM_END
1262
1263
1264 ROM_START( natsuiro )
1265 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1266 ROM_LOAD( "3-ic70.bin", 0x000000, 0x008000, CRC(543eb9e1) SHA1(cfe1d33bdf6541e2207465a941f342be21b69f7d) )
1267
1268 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1269 ROM_LOAD( "m4.bin", 0x000000, 0x008000, CRC(8d37cc3f) SHA1(90fee63b5864002bec95c61003532e743d351244) )
1270 ROM_LOAD( "ic87.bin", 0x010000, 0x080000, CRC(caec9310) SHA1(a92be0116d7e682763e387230a51daedbe749c26) )
1271 ROM_LOAD( "ic78.bin", 0x090000, 0x080000, CRC(2b291006) SHA1(5360158ee9e50bd956f149ce0e58920d4d294b42) )
1272 ROM_LOAD( "ic72.bin", 0x110000, 0x020000, CRC(42464fba) SHA1(b16da303f3e16f47322d00f7a27d2004be63f611) )
1273 ROM_LOAD( "m5.bin", 0x210000, 0x010000, CRC(cd1ea5f7) SHA1(26965663485c7311c7a421dba0921fdfb8392df9) )
1274
1275 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1276 ROM_LOAD( "ic58.bin", 0x000000, 0x080000, CRC(257a8075) SHA1(c741a4f10cbec8e6d641d4dc2b36749277bc9548) )
1277 ROM_LOAD( "ic63.bin", 0x080000, 0x020000, CRC(b54c7d3a) SHA1(6be26b7d2cdf884fc140c8ed44865784d107583a) )
1278 ROM_LOAD( "m1.bin", 0x0a0000, 0x008000, CRC(fbafa46b) SHA1(3867180f8a3cb3becf78023d3bbc2bb66580a13d) )
1279 ROM_FILL( 0x0a8000, 0x008000, 0xff )
1280 ROM_FILL( 0x0b0000, 0x150000, 0xff )
1281
1282 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1283 ROM_LOAD( "ic59.bin", 0x000000, 0x080000, CRC(03983ac7) SHA1(1e14ec3c614b227a6362f2a3a7582ac7a4f58ee3) )
1284 ROM_LOAD( "ic64.bin", 0x080000, 0x040000, CRC(9bd8e855) SHA1(a445dd7634958f69e58aed2581513e7a583ff66b) )
1285 ROM_LOAD( "m2.bin", 0x0c0000, 0x008000, CRC(61129677) SHA1(a1789b4e23b46c61c822eb02fdfa65b7d0a34ce8) )
1286 ROM_FILL( 0x0c8000, 0x138000, 0xff )
1287 ROM_END
1288
1289
1290 ROM_START( mfunclub )
1291 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1292 ROM_LOAD( "3.70", 0x000000, 0x008000, CRC(e6f76ca3) SHA1(2f4292e50770c3325c1573781cb21940d73e8fb1) )
1293
1294 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1295 ROM_LOAD( "4.47", 0x000000, 0x008000, CRC(d71ee0e3) SHA1(87a5bc53bc2f027fc644427f34141826de9f48a5) )
1296 ROM_LOAD( "586.87", 0x010000, 0x080000, CRC(e197af4a) SHA1(e68530bf8dbf9cb0913b36879f1ec0756f202b4e) )
1297 ROM_LOAD( "587.78", 0x090000, 0x080000, CRC(08ff39c3) SHA1(d1f6011c9d08820eef3bb80abcf2fdb9acd9d967) )
1298 ROM_LOAD( "5.57", 0x290000, 0x010000, CRC(bf988bde) SHA1(6e965f26f7c72b4ede954bd9941db282dfe0e6a9) )
1299
1300 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1301 ROM_LOAD( "584.58", 0x000000, 0x080000, CRC(d65af431) SHA1(0006846631619af41bfd4a14563c16966ea1573b) )
1302 ROM_LOAD( "lh634a14.63", 0x080000, 0x080000, CRC(cdda9b9e) SHA1(ffb2ca1233d5e969abc9da2faa0252ba8e779b42) )
1303 ROM_FILL( 0x100000, 0x080000, 0xff )
1304 ROM_LOAD( "1.74", 0x180000, 0x008000, CRC(5b0b2efc) SHA1(4524d9e8b6c059e0cca31d9f0d677cb6bd09561d) )
1305 ROM_FILL( 0x188000, 0x078000, 0xff )
1306
1307 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1308 ROM_LOAD( "585.59", 0x000000, 0x080000, CRC(58ce0937) SHA1(729e1b906454145b3d069717f2e058ab41750db1) )
1309 ROM_FILL( 0x080000, 0x100000, 0xff )
1310 ROM_LOAD( "2.75", 0x180000, 0x010000, CRC(4dd4f786) SHA1(06f398cffc54ac9e7c42eddc1d46e00c0a64d9c7) )
1311 ROM_FILL( 0x190000, 0x070000, 0xff )
1312 ROM_END
1313
1314
1315 ROM_START( daiyogen )
1316 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1317 ROM_LOAD( "n1-ic70.bin", 0x000000, 0x008000, CRC(29af632b) SHA1(9a55cc7a82dc2735be6310de27521ff0f5c352bd) )
1318
1319 ROM_REGION( 0x130000, REGION_CPU2, 0 )
1320 ROM_LOAD( "n2-ic47.bin", 0x000000, 0x008000, CRC(8896604c) SHA1(305a42c6c770645d6dcb5297325dbb3c7e337443) )
1321 ROM_LOAD( "ic87.bin", 0x010000, 0x080000, CRC(4f86ffe2) SHA1(159952b6be9800b117b70d992ef86d72fdac1802) )
1322 ROM_LOAD( "ic78.bin", 0x090000, 0x080000, CRC(ae52bccd) SHA1(591bf4736807b004a2576c220066985d3218e0a1) )
1323 ROM_LOAD( "7-ic72.bin", 0x110000, 0x020000, CRC(30279296) SHA1(6943fd16c1b87f5000c89c380091dc922866e5ac) )
1324
1325 ROM_REGION( 0x0c0000, REGION_GFX1, ROMREGION_DISPOSE )
1326 ROM_LOAD( "ic58.bin", 0x000000, 0x080000, CRC(8cf3d5f5) SHA1(26470a9b02fd5017cbb64ceee00abb51c58b97d3) )
1327 ROM_LOAD( "ic63.bin", 0x080000, 0x040000, CRC(64611070) SHA1(203aa055c318a9bc6cd6f56a6fbd2ff12e4e4d5a) )
1328
1329 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1330 ROM_LOAD( "ic59.bin", 0x000000, 0x080000, CRC(715f2f8c) SHA1(a1206bc21556c2644688f6332b9a57c7188ea7fa) )
1331 ROM_LOAD( "ic64.bin", 0x080000, 0x080000, CRC(e5a41864) SHA1(73b25fe87e347feabe7256ced80a696c377d690c) )
1332 ROM_END
1333
1334
1335 ROM_START( nmsengen )
1336 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1337 ROM_LOAD( "3-ic70.bin", 0x000000, 0x008000, CRC(4e6edbbb) SHA1(890f93569a6dec6bf7c917a3db4f268c6ec64564) )
1338
1339 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1340 ROM_LOAD( "4-ic47.bin", 0x000000, 0x008000, CRC(d31c596e) SHA1(6063805b93c39054ad4804d6d476b8370c4249ca) )
1341 ROM_LOAD( "vsj-ic87.bin", 0x010000, 0x100000, CRC(d3e8bd73) SHA1(a8c8f3c589e561cb79ac586209369ae192507212) )
1342 ROM_LOAD( "j5-ic72.bin", 0x210000, 0x020000, CRC(db937253) SHA1(35fe382393e05911e7d801fff49b5427c6337ba3) )
1343
1344 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1345 ROM_LOAD( "vsk-ic63.bin", 0x000000, 0x100000, CRC(f95f9c67) SHA1(1826b52ad404ca44d79fa869aa5a974299861f40) )
1346 ROM_LOAD( "ic58.bin", 0x100000, 0x040000, CRC(c66dcf18) SHA1(a64f2fb478a8b3d08d0157059c9d4ab30d43c9bf) )
1347 ROM_FILL( 0x140000, 0x080000, 0xff )
1348 ROM_LOAD( "1-ic68.bin", 0x1c0000, 0x020000, CRC(a944a8d6) SHA1(1dfaa34c6c406c7216aa989268a0d8e680f419e2) )
1349 ROM_FILL( 0x1e0000, 0x020000, 0xff )
1350
1351 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1352 ROM_LOAD( "vsh-ic64.bin", 0x000000, 0x100000, CRC(f546ffaf) SHA1(bb4babc2dffc36fb321d64cd4a28c3089f3ee366) )
1353 ROM_LOAD( "vsg-ic59.bin", 0x100000, 0x080000, CRC(25bae018) SHA1(ba00718d473d1fbaec8d18cc481ed146657ef14f) )
1354 ROM_LOAD( "ic69.bin", 0x180000, 0x040000, CRC(dc867ccd) SHA1(69745b9f6aecb92fea8e70b0cec4895dea444c04) )
1355 ROM_LOAD( "2-ic75.bin", 0x1c0000, 0x020000, CRC(e2fad82e) SHA1(3ab41e8e7674f8d12b0a0f518c5a54af8afa1231) )
1356 ROM_FILL( 0x1e0000, 0x020000, 0xff )
1357 ROM_END
1358
1359
1360 ROM_START( fromance )
1361 ROM_REGION( 0x010000, REGION_CPU1, 0 )
1362 ROM_LOAD( "2-ic70.bin", 0x000000, 0x008000, CRC(a0866e26) SHA1(019a8dfaa54dd397f642622d7ed847b7147a61f7) )
1363
1364 ROM_REGION( 0x410000, REGION_CPU2, 0 )
1365 ROM_LOAD( "1-ic47.bin", 0x000000, 0x008000, CRC(ac859917) SHA1(86808c06fba4a3320298d38815e8e5d32ad29182) )
1366 ROM_LOAD( "ic87.bin", 0x010000, 0x100000, CRC(bb0d224e) SHA1(020a5b09f58f1c18cae89c8da019562ebed16710) )
1367 ROM_LOAD( "ic78.bin", 0x110000, 0x040000, CRC(ba2dba83) SHA1(ca744b4ddd2200d29a5d4efe6a3378d7cfe28a36) )
1368 ROM_LOAD( "5-ic72.bin", 0x210000, 0x020000, CRC(377cd57c) SHA1(7e81ca5b898f5ffe24068be1e7cd0a57a3ca68b8) )
1369
1370 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE )
1371 ROM_LOAD( "ic63.bin", 0x000000, 0x100000, CRC(faa9cdf3) SHA1(194dfaf04dc960fa1d575ad494a333cc7e7d221a) )
1372 ROM_FILL( 0x100000, 0x0c0000, 0xff )
1373 ROM_LOAD( "4-ic68.bin", 0x1c0000, 0x020000, CRC(9b35cea3) SHA1(e99df84c57e6d473681b7622ad6a28fce63f1128) )
1374 ROM_FILL( 0x1e0000, 0x020000, 0xff )
1375
1376 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1377 ROM_LOAD( "ic64.bin", 0x000000, 0x100000, CRC(23b9a484) SHA1(4299b689eb1da3d7e69c604eb28651ebfd4dad09) )
1378 ROM_FILL( 0x100000, 0x080000, 0xff )
1379 ROM_LOAD( "ic69.bin", 0x180000, 0x040000, CRC(d06a0fc0) SHA1(ea645b77f671ad71049e4db547b2c4a22e12d6c3) )
1380 ROM_LOAD( "3-ic75.bin", 0x1c0000, 0x020000, CRC(bb314e78) SHA1(58ce4f9c94e45b05543289643b848fbdcb9ab473) )
1381 ROM_FILL( 0x1e0000, 0x020000, 0xff )
1382 ROM_END
1383
1384
1385
1386 /*************************************
1387 *
1388 * Game drivers
1389 *
1390 *************************************/
1391
1392 GAMEX(1988, nekkyoku, 0, nekkyoku, nekkyoku, 0, ROT0, "Video System Co.", "Rettou Juudan Nekkyoku Janshi - Higashi Nippon Hen (Japan)", GAME_IMPERFECT_GRAPHICS )
1393 GAME( 1988, idolmj, 0, idolmj, idolmj, 0, ROT0, "System Service", "Idol-Mahjong Housoukyoku (Japan)" )
1394 GAME( 1989, mjnatsu, 0, fromance, mjnatsu, 0, ROT0, "Video System Co.", "Mahjong Natsu Monogatari (Japan)" )
1395 GAME( 1989, natsuiro, mjnatsu, fromance, mjnatsu, 0, ROT0, "Video System Co.", "Natsuiro Mahjong (Japan)" )
1396 GAME( 1989, mfunclub, 0, fromance, mfunclub, 0, ROT0, "Video System Co.", "Mahjong Fun Club - Idol Saizensen (Japan)" )
1397 GAME( 1990, daiyogen, 0, fromance, daiyogen, 0, ROT0, "Video System Co.", "Mahjong Daiyogen (Japan)" )
1398 GAME( 1991, nmsengen, 0, fromance, nmsengen, 0, ROT0, "Video System Co.", "Nekketsu Mahjong Sengen! AFTER 5 (Japan)" )
1399 GAME( 1991, fromance, 0, fromance, fromance, 0, ROT0, "Video System Co.", "Idol-Mahjong Final Romance (Japan)" )
1400