Previous 199869 Revisions Next

r36411 Friday 13th March, 2015 at 21:51:27 UTC by David Haywood
hooked v53 irq ack callback so that it can get the correct vector from the controller, make a note of which ones get unmasked (nw)
[src/emu/cpu/nec]v53.c
[src/mame/audio]hng64.c

trunk/src/emu/cpu/nec/v53.c
r244922r244923
215215   m_out_dack_1_cb.resolve_safe();
216216   m_out_dack_2_cb.resolve_safe();
217217   m_out_dack_3_cb.resolve_safe();
218
219   static_set_irq_acknowledge_callback(*this, device_irq_acknowledge_delegate(FUNC(pic8259_device::inta_cb), (pic8259_device*)m_v53icu));
218220}
219221
220222void v53_base_device::install_peripheral_io()
r244922r244923
484486   MCFG_PIT8253_OUT0_HANDLER(WRITELINE( v53_base_device, tcu_out0_trampoline_cb ))
485487   MCFG_PIT8253_OUT1_HANDLER(WRITELINE( v53_base_device, tcu_out1_trampoline_cb ))
486488   MCFG_PIT8253_OUT2_HANDLER(WRITELINE( v53_base_device, tcu_out2_trampoline_cb ))
489   
487490
488491   MCFG_DEVICE_ADD("upd71071dma", V53_DMAU, 4000000)
489492   MCFG_AM9517A_OUT_HREQ_CB(WRITELINE(v53_base_device, hreq_trampoline_cb))
r244922r244923
506509   
507510   MCFG_PIC8259_ADD( "upd71059pic", WRITELINE(v53_base_device, internal_irq_w), VCC, READ8(v53_base_device,get_pic_ack))
508511
512
513
509514   MCFG_DEVICE_ADD("v53scu", V53_SCU, 0)
510515   MCFG_I8251_TXD_HANDLER(WRITELINE(v53_base_device, scu_txd_trampoline_cb))
511516   MCFG_I8251_DTR_HANDLER(WRITELINE(v53_base_device, scu_dtr_trampoline_cb))
trunk/src/mame/audio/hng64.c
r244922r244923
1414
1515The earlier revisions appear to have 2 banks of code (there are vectors at the end of the 0x1e0000 block and the 0x1f0000 block)
1616
17Those first two revisions also spam the entire range of I/O ports with values several times on startup causing some unexpected
18writes to the V53 internal registers.  The important ones are reinitialized after this however, I'm guessing this is harmless
19on real hardware, as the code flow seems to be correct.
17If the banking setup is wrong then those first two revisions also spam the entire range of I/O ports with values several times
18on startup causing some unexpected writes to the V53 internal registers.
2019
2120data structures look very similar between all of them
2221
22IRQ mask register on the internal interrupt controller is set to 0xd8
23
24so levels 0,1,2,5 are unmasked
25
2326*/
2427
2528
r244922r244923
298301{
299302   // these are very active, maybe they feed back into the v53 via one of the IRQ pins?  TM2 toggles more rapidly than TM1
300303//   printf("tcu_tm1_cb %02x\n", state);
304   m_audiocpu->set_input_line(0, state? ASSERT_LINE:CLEAR_LINE);
301305}
302306
303307WRITE_LINE_MEMBER(hng64_state::tcu_tm2_cb)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team