Previous 199869 Revisions Next

r18000 Tuesday 18th September, 2012 at 14:58:53 UTC by Miodrag Milanović
And final for today (no whatsnew)
[src/mame/drivers]ddenlovr.c
[src/mame/includes]dynax.h

trunk/src/mame/includes/dynax.h
r17999r18000
476476   INTERRUPT_GEN_MEMBER(jantouki_sound_vblank_interrupt);
477477   INTERRUPT_GEN_MEMBER(yarunara_clock_interrupt);
478478   INTERRUPT_GEN_MEMBER(mjelctrn_vblank_interrupt);
479   INTERRUPT_GEN_MEMBER(quizchq_irq);
480   INTERRUPT_GEN_MEMBER(mmpanic_irq);
481   INTERRUPT_GEN_MEMBER(hanakanz_irq);
482   INTERRUPT_GEN_MEMBER(mjchuuka_irq);
483   INTERRUPT_GEN_MEMBER(hginga_irq);
484   INTERRUPT_GEN_MEMBER(mjflove_irq);
485   INTERRUPT_GEN_MEMBER(hparadis_irq);
479486};
480487
481488//----------- defined in drivers/dynax.c -----------
trunk/src/mame/drivers/ddenlovr.c
r17999r18000
85018501   /* basic machine hardware */
85028502   MCFG_CPU_ADD("maincpu",M68000, XTAL_24MHz / 2)
85038503   MCFG_CPU_PROGRAM_MAP(ddenlovr_map)
8504   MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
8504   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, irq1_line_hold)
85058505
85068506   MCFG_MACHINE_START_OVERRIDE(dynax_state,ddenlovr)
85078507   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
85938593   0xee is vblank
85948594   0xfc is from the 6242RTC
85958595 */
8596static INTERRUPT_GEN( quizchq_irq )
8596INTERRUPT_GEN_MEMBER(dynax_state::quizchq_irq)
85978597{
8598   dynax_state *state = device->machine().driver_data<dynax_state>();
85998598//  int scanline = param;
86008599
86018600   /* I haven't found a irq ack register, so I need this kludge to
r17999r18000
86048603//  if (downcast<cpu_device *>(state->m_maincpu)->input_state(0))
86058604//      return;
86068605
8607   state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xee);
8606   m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xee);
86088607}
86098608
86108609static WRITE_LINE_DEVICE_HANDLER( quizchq_rtc_irq )
r17999r18000
86258624   MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/2)   /* Verified */
86268625   MCFG_CPU_PROGRAM_MAP(quizchq_map)
86278626   MCFG_CPU_IO_MAP(quizchq_portmap)
8628   MCFG_CPU_VBLANK_INT("screen",quizchq_irq)
8627   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, quizchq_irq)
86298628
86308629   MCFG_MACHINE_START_OVERRIDE(dynax_state,rongrong)
86318630   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
86778676    RST 20 is from the link device?
86788677 */
86798678
8680static INTERRUPT_GEN( mmpanic_irq )
8679INTERRUPT_GEN_MEMBER(dynax_state::mmpanic_irq)
86818680{
8682   dynax_state *state = device->machine().driver_data<dynax_state>();
86838681   //int scanline = param;
86848682
86858683   /* I haven't found a irq ack register, so I need this kludge to
r17999r18000
86888686   //if (downcast<cpu_device *>(state->m_maincpu)->input_state(0))
86898687   //  return;
86908688
8691   state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xcf); // RST 08, vblank
8689   m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xcf); // RST 08, vblank
86928690}
86938691
86948692
r17999r18000
87118709   MCFG_CPU_ADD("maincpu", Z80, 8000000)
87128710   MCFG_CPU_PROGRAM_MAP(mmpanic_map)
87138711   MCFG_CPU_IO_MAP(mmpanic_portmap)
8714   MCFG_CPU_VBLANK_INT("screen",mmpanic_irq)
8712   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mmpanic_irq)
87158713
87168714   MCFG_CPU_ADD("soundcpu", Z80, 3579545)
87178715   MCFG_CPU_PROGRAM_MAP(mmpanic_sound_map)
87188716   MCFG_CPU_IO_MAP(mmpanic_sound_portmap)
8719   MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)   // NMI by main cpu
8717   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, irq0_line_hold)   // NMI by main cpu
87208718
87218719   MCFG_MACHINE_START_OVERRIDE(dynax_state,mmpanic)
87228720   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
87638761    0xe2 is from the 6242RTC
87648762 */
87658763
8766static INTERRUPT_GEN( hanakanz_irq )
8764INTERRUPT_GEN_MEMBER(dynax_state::hanakanz_irq)
87678765{
8768   dynax_state *state = device->machine().driver_data<dynax_state>();
8769
87708766   /* I haven't found a irq ack register, so I need this kludge to
87718767       make sure I don't lose any interrupt generated by the blitter,
87728768       otherwise quizchq would lock up. */
87738769   //if (downcast<cpu_device *>(state->m_maincpu)->input_state(0))
87748770   //  return;
87758771
8776   state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xe0);
8772   m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xe0);
87778773}
87788774
87798775static WRITE_LINE_DEVICE_HANDLER(hanakanz_rtc_irq)
r17999r18000
88008796   MCFG_CPU_ADD("maincpu",Z80,8000000)   // TMPZ84C015BF-8
88018797   MCFG_CPU_PROGRAM_MAP(hanakanz_map)
88028798   MCFG_CPU_IO_MAP(hanakanz_portmap)
8803   MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
8799   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hanakanz_irq)
88048800
88058801   MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
88068802   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
88558851    0xf8 is vblank
88568852    0xfa is from the 6242RTC
88578853 */
8858static INTERRUPT_GEN( mjchuuka_irq )
8854INTERRUPT_GEN_MEMBER(dynax_state::mjchuuka_irq)
88598855{
8860   dynax_state *state = device->machine().driver_data<dynax_state>();
8861
88628856   /* I haven't found a irq ack register, so I need this kludge to
88638857       make sure I don't lose any interrupt generated by the blitter,
88648858       otherwise quizchq would lock up. */
88658859   //if (downcast<cpu_device *>(state->m_maincpu)->input_state(0))
88668860   //  return;
88678861
8868   state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
8862   m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
88698863}
88708864
88718865static WRITE_LINE_DEVICE_HANDLER(mjchuuka_rtc_irq)
r17999r18000
88928886   /* basic machine hardware */
88938887   MCFG_CPU_MODIFY("maincpu")
88948888   MCFG_CPU_IO_MAP(mjchuuka_portmap)
8895   MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
8889   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjchuuka_irq)
88968890
88978891   MCFG_DEVICE_MODIFY("rtc")
88988892   MCFG_DEVICE_CONFIG(mjchuuka_rtc_intf)
r17999r18000
89068900   MCFG_CPU_MODIFY("maincpu")
89078901   MCFG_CPU_PROGRAM_MAP(funkyfig_map)
89088902   MCFG_CPU_IO_MAP(funkyfig_portmap)
8909   MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
8903   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjchuuka_irq)
89108904
89118905   MCFG_MACHINE_START_OVERRIDE(dynax_state,funkyfig)
89128906
r17999r18000
90139007    0xfa and/or 0xfc are from the blitter (almost identical)
90149008    0xee triggered by the RTC
90159009 */
9016static INTERRUPT_GEN( hginga_irq )
9010INTERRUPT_GEN_MEMBER(dynax_state::hginga_irq)
90179011{
9018   dynax_state *state = device->machine().driver_data<dynax_state>();
90199012//  int scanline = param;
90209013
90219014   /* I haven't found a irq ack register, so I need this kludge to
r17999r18000
90249017//  if (downcast<cpu_device *>(state->m_maincpu)->input_state(0))
90259018//      return;
90269019
9027   state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
9020   m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
90289021}
90299022
90309023static const ay8910_interface hginga_ay8910_interface =
r17999r18000
90619054   MCFG_CPU_MODIFY("maincpu")
90629055   MCFG_CPU_PROGRAM_MAP(hginga_map)
90639056   MCFG_CPU_IO_MAP(hginga_portmap)
9064   MCFG_CPU_VBLANK_INT("screen",hginga_irq)
9057   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hginga_irq)
90659058
90669059   MCFG_DEVICE_MODIFY("rtc")
90679060   MCFG_DEVICE_CONFIG(hginga_rtc_intf)
r17999r18000
90799072   MCFG_CPU_MODIFY("maincpu")
90809073   MCFG_CPU_PROGRAM_MAP(hgokou_map)
90819074   MCFG_CPU_IO_MAP(hgokou_portmap)
9082   MCFG_CPU_VBLANK_INT("screen",hginga_irq)
9075   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hginga_irq)
90839076
90849077   MCFG_DEVICE_MODIFY("rtc")
90859078   MCFG_DEVICE_CONFIG(hginga_rtc_intf)
r17999r18000
91489141MACHINE_CONFIG_END
91499142
91509143
9151static INTERRUPT_GEN( mjflove_irq )
9144INTERRUPT_GEN_MEMBER(dynax_state::mjflove_irq)
91529145{
9153   dynax_state *state = device->machine().driver_data<dynax_state>();
9154
9155   state->m_mjflove_irq_cause = 1;
9156   state->m_maincpu->set_input_line(0, HOLD_LINE);
9146   m_mjflove_irq_cause = 1;
9147   m_maincpu->set_input_line(0, HOLD_LINE);
91579148}
91589149
91599150static WRITE_LINE_DEVICE_HANDLER(mjflove_rtc_irq)
r17999r18000
91779168   MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/2)   /* Verified */
91789169   MCFG_CPU_PROGRAM_MAP(rongrong_map)
91799170   MCFG_CPU_IO_MAP(mjflove_portmap)
9180   MCFG_CPU_VBLANK_INT("screen",mjflove_irq)
9171   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjflove_irq)
91819172
91829173   MCFG_MACHINE_START_OVERRIDE(dynax_state,mjflove)
91839174
r17999r18000
91929183
91939184/*  It runs in IM 2, thus needs a vector on the data bus:
91949185    0xee is vblank  */
9195static INTERRUPT_GEN( hparadis_irq )
9186INTERRUPT_GEN_MEMBER(dynax_state::hparadis_irq)
91969187{
9197   device->execute().set_input_line_and_vector(0, HOLD_LINE, 0xee);
9188   device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xee);
91989189}
91999190
92009191static MACHINE_CONFIG_DERIVED( hparadis, quizchq )
r17999r18000
92039194   MCFG_CPU_MODIFY("maincpu")
92049195   MCFG_CPU_PROGRAM_MAP(hparadis_map)
92059196   MCFG_CPU_IO_MAP(hparadis_portmap)
9206   MCFG_CPU_VBLANK_INT("screen", hparadis_irq)
9197   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hparadis_irq)
92079198
92089199   MCFG_MACHINE_START_OVERRIDE(dynax_state,hparadis)
92099200MACHINE_CONFIG_END
r17999r18000
92169207   MCFG_CPU_ADD("maincpu",Z80, XTAL_20MHz / 2)   // ?
92179208   MCFG_CPU_PROGRAM_MAP(hanakanz_map)
92189209   MCFG_CPU_IO_MAP(jongtei_portmap)
9219   MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
9210   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hanakanz_irq)
92209211
92219212   MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
92229213   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
92579248   MCFG_CPU_ADD("maincpu",Z80, XTAL_16MHz / 2)   // ?
92589249   MCFG_CPU_PROGRAM_MAP(sryudens_map)
92599250   MCFG_CPU_IO_MAP(sryudens_portmap)
9260   MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
9251   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjchuuka_irq)
92619252
92629253   MCFG_MACHINE_START_OVERRIDE(dynax_state,sryudens)
92639254   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
93029293   MCFG_CPU_ADD("maincpu",Z80, XTAL_16MHz / 2)
93039294   MCFG_CPU_PROGRAM_MAP(janshinp_map)
93049295   MCFG_CPU_IO_MAP(janshinp_portmap)
9305   MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
9296   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjchuuka_irq)
93069297
93079298   MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
93089299   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
93769367   MCFG_CPU_ADD("maincpu",Z80, XTAL_16MHz / 2)
93779368   MCFG_CPU_PROGRAM_MAP(seljan2_map)
93789369   MCFG_CPU_IO_MAP(seljan2_portmap)
9379   MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
9370   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjchuuka_irq)
93809371
93819372   MCFG_MACHINE_START_OVERRIDE(dynax_state,seljan2)
93829373   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
r17999r18000
94239414   MCFG_CPU_ADD("maincpu",Z80, XTAL_20MHz / 2)
94249415   MCFG_CPU_PROGRAM_MAP(hanakanz_map)
94259416   MCFG_CPU_IO_MAP(daimyojn_portmap)
9426   MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
9417   MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, hanakanz_irq)
94279418
94289419   MCFG_MACHINE_START_OVERRIDE(dynax_state,mjflove)
94299420   MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team