Previous 199869 Revisions Next

r36408 Friday 13th March, 2015 at 17:28:15 UTC by David Haywood
v53: provide access to the interrupt lines (nw)
[src/emu/cpu/nec]v53.c v53.h

trunk/src/emu/cpu/nec/v53.c
r244919r244920
447447   return 0;
448448}
449449
450WRITE_LINE_MEMBER( v53_base_device::upd71059_irq_w)
450
451
452// the external interface provides no external access to the usual IRQ line of the V33, everything goes through the interrupt controller
453void v53_base_device::execute_set_input(int irqline, int state)
451454{
452   printf("upd71059_irq_w %d\n", state);
455   switch (irqline)
456   {
457      case INPUT_LINE_IRQ0: m_v53icu->ir0_w(state); break;
458      case INPUT_LINE_IRQ1: m_v53icu->ir1_w(state); break;
459      case INPUT_LINE_IRQ2: m_v53icu->ir2_w(state); break;
460      case INPUT_LINE_IRQ3: m_v53icu->ir3_w(state); break;
461      case INPUT_LINE_IRQ4: m_v53icu->ir4_w(state); break;
462      case INPUT_LINE_IRQ5: m_v53icu->ir5_w(state); break;
463      case INPUT_LINE_IRQ6: m_v53icu->ir6_w(state); break;
464      case INPUT_LINE_IRQ7: m_v53icu->ir7_w(state); break;
465
466      case INPUT_LINE_NMI: nec_common_device::execute_set_input(irqline, state); break;
467      case NEC_INPUT_LINE_POLL: nec_common_device::execute_set_input(irqline, state); break;
468   }
453469}
454470
471// for hooking the interrupt controller output up to the core
472WRITE_LINE_MEMBER(v53_base_device::internal_irq_w)
473{
474   nec_common_device::execute_set_input(0, state);
475}
476
477
455478static MACHINE_CONFIG_FRAGMENT( v53 )
456479
457480   MCFG_DEVICE_ADD("pit", PIT8254, 0) // functionality identical to uPD71054
r244919r244920
481504   MCFG_AM9517A_OUT_DACK_3_CB(WRITELINE(v53_base_device, dma_dack3_trampoline_w))
482505
483506   
484   MCFG_PIC8259_ADD( "upd71059pic", WRITELINE(v53_base_device, upd71059_irq_w), VCC, READ8(v53_base_device,get_pic_ack))
507   MCFG_PIC8259_ADD( "upd71059pic", WRITELINE(v53_base_device, internal_irq_w), VCC, READ8(v53_base_device,get_pic_ack))
485508
486509   MCFG_DEVICE_ADD("v53scu", V53_SCU, 0)
487510   MCFG_I8251_TXD_HANDLER(WRITELINE(v53_base_device, scu_txd_trampoline_cb))
trunk/src/emu/cpu/nec/v53.h
r244919r244920
235235
236236
237237   DECLARE_READ8_MEMBER(get_pic_ack);
238   DECLARE_WRITE_LINE_MEMBER(upd71059_irq_w);
238   DECLARE_WRITE_LINE_MEMBER(internal_irq_w);
239239
240
240241protected:
241242   // device-level overrides
242243   virtual machine_config_constructor device_mconfig_additions() const;
243244   virtual void device_start();
244245   virtual void device_reset();
245   
246   virtual void execute_set_input(int inputnum, int state);
247
246248   required_device<pit8253_device> m_v53tcu;
247249   required_device<upd71071_v53_device> m_v53dmau;
248250   required_device<pic8259_device> m_v53icu;
r244919r244920
286288   
287289
288290
289
290291};
291292
292293


Previous 199869 Revisions Next


© 1997-2024 The MAME Team