Previous 199869 Revisions Next

r18788 Tuesday 30th October, 2012 at 22:25:06 UTC by Angelo Salese
Fixed nested NMI behaviour on soft resets in Nichibutsu mahjong drivers (hyhoo.c, nbmj8688.c, nbmj8891.c, nbmj8991.c, pastelg.c) [Angelo Salese, Takahiro Nogi]
[src/mame/drivers]hyhoo.c nbmj8688.c nbmj8891.c nbmj8900.c pastelg.c
[src/mame/includes]nb1413m3.h
[src/mame/machine]nb1413m3.c

trunk/src/mame/machine/nb1413m3.c
r18787r18788
4141
4242
4343#define NB1413M3_TIMER_BASE 20000000
44
45/* TODO: is all of this actually programmable? */
4446static TIMER_CALLBACK( nb1413m3_timer_callback )
4547{
4648   machine.scheduler().timer_set(attotime::from_hz(NB1413M3_TIMER_BASE) * 256, FUNC(nb1413m3_timer_callback));
r18787r18788
6971         case NB1413M3_PASTELG:
7072            nb1413m3_74ls193_counter = 0x02;   // 96 ???
7173            break;
72         case NB1413M3_HYHOO:
74         //case NB1413M3_HYHOO:
7375         case NB1413M3_HYHOO2:
7476            nb1413m3_74ls193_counter = 0x05;   // 128 ???
7577            break;
r18787r18788
120122#endif
121123}
122124
125MACHINE_START( nb1413m3 )
126{
127   machine.scheduler().synchronize(FUNC(nb1413m3_timer_callback));
128}
129
123130MACHINE_RESET( nb1413m3 )
124131{
125132   nb1413m3_nmi_clock = 0;
r18787r18788
137144   nb1413m3_gfxrombank = 0;
138145   nb1413m3_inputport = 0xff;
139146   nb1413m3_outcoin_flag = 1;
140
141   machine.scheduler().synchronize(FUNC(nb1413m3_timer_callback));
142147}
143148
149
144150WRITE8_HANDLER( nb1413m3_nmi_clock_w )
145151{
146152   nb1413m3_nmi_clock = data;
trunk/src/mame/includes/nb1413m3.h
r18787r18788
121121
122122/*----------- defined in machine/nb1413m3.c -----------*/
123123
124MACHINE_START( nb1413m3 );
124125MACHINE_RESET( nb1413m3 );
125126DECLARE_WRITE8_HANDLER( nb1413m3_nmi_clock_w );
126127INTERRUPT_GEN( nb1413m3_interrupt );
trunk/src/mame/drivers/pastelg.c
r18787r18788
412412   MCFG_CPU_IO_MAP(pastelg_io_map)
413413   MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state,  irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3
414414
415   MCFG_MACHINE_START(nb1413m3)
415416   MCFG_MACHINE_RESET(nb1413m3)
416417   MCFG_NVRAM_ADD_0FILL("nvram")
417418
r18787r18788
468469   MCFG_CPU_IO_MAP(threeds_io_map)
469470   MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state,  irq0_line_assert)
470471
472   MCFG_MACHINE_START(nb1413m3)
471473   MCFG_MACHINE_RESET(nb1413m3)
472474   MCFG_NVRAM_ADD_0FILL("nvram")
473475
trunk/src/mame/drivers/nbmj8891.c
r18787r18788
26042604   MCFG_CPU_IO_MAP(gionbana_io_map)
26052605   MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
26062606
2607   MCFG_MACHINE_START(nb1413m3)
26072608   MCFG_MACHINE_RESET(nb1413m3)
26082609
26092610   /* video hardware */
trunk/src/mame/drivers/nbmj8688.c
r18787r18788
29122912   MCFG_CPU_ADD("maincpu", Z80, 5000000)   /* 5.00 MHz */
29132913   MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
29142914
2915   MCFG_MACHINE_START(nb1413m3)
29152916   MCFG_MACHINE_RESET(nb1413m3)
29162917   MCFG_NVRAM_ADD_0FILL("nvram")
29172918
r18787r18788
30243025   MCFG_CPU_IO_MAP(secolove_io_map)
30253026   MCFG_CPU_IO_MAP(p16bit_LCD_io_map)
30263027
3028   MCFG_MACHINE_START(nb1413m3)
30273029   MCFG_MACHINE_RESET(nb1413m3)
30283030   MCFG_NVRAM_ADD_0FILL("nvram")
30293031
trunk/src/mame/drivers/hyhoo.c
r18787r18788
246246   MCFG_CPU_IO_MAP(hyhoo_io_map)
247247   MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
248248
249   MCFG_MACHINE_START(nb1413m3)
249250   MCFG_MACHINE_RESET(nb1413m3)
250251   MCFG_NVRAM_ADD_0FILL("nvram")
251252
trunk/src/mame/drivers/nbmj8900.c
r18787r18788
310310   MCFG_CPU_IO_MAP(ohpaipee_io_map)
311311   MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
312312
313   MCFG_MACHINE_START(nb1413m3)
313314   MCFG_MACHINE_RESET(nb1413m3)
314315
315316   /* video hardware */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team