Previous 199869 Revisions Next

r29619 Sunday 13th April, 2014 at 19:35:18 UTC by Angelo Salese
Disabled check irq routine for now.
[src/mame/drivers]model2.c
[src/mame/includes]model2.h

trunk/src/mame/includes/model2.h
r29618r29619
167167   DECLARE_WRITE32_MEMBER(copro_sharc_buffer_w);
168168   DECLARE_READ32_MEMBER(copro_tgp_buffer_r);
169169   DECLARE_WRITE32_MEMBER(copro_tgp_buffer_w);
170   DECLARE_READ32_MEMBER(tgpid_r);
170171   DECLARE_READ8_MEMBER(driveio_port_r);
171172   DECLARE_WRITE8_MEMBER(driveio_port_w);
172173   DECLARE_READ8_MEMBER(driveio_port_str_r);
trunk/src/mame/drivers/model2.c
r29618r29619
361361   m_timers[tnum]->reset();
362362
363363   m_intreq |= (1<<bit);
364   if(m_intena & 1<<bit)
365      m_maincpu->set_input_line(I960_IRQ2, ASSERT_LINE);
364366   //printf("%08x %08x (%08x)\n",m_intreq,m_intena,1<<bit);
365367   model2_check_irq_state();
366368
r29618r29619
10271029
10281030void model2_state::model2_check_irq_state()
10291031{
1032   return;
1033
1034   /* TODO: vf2 and fvipers hangs with an irq halt on POST, disabled for now */
10301035   const int irq_type[12]= {I960_IRQ0,I960_IRQ1,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ3,I960_IRQ3};
10311036
10321037   for(int i=0;i<12;i++)
r29618r29619
14201425   model2_3d_set_zclip( machine(), data & 0xFF );
14211426}
14221427
1428READ32_MEMBER(model2_state::tgpid_r)
1429{
1430   popmessage("Read from TGP ID, contact MAMEdev");
1431   return 0;
1432}
1433
14231434/* common map for all Model 2 versions */
14241435static ADDRESS_MAP_START( model2_base_mem, AS_PROGRAM, 32, model2_state )
14251436   AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_WRITENOP
r29618r29619
14381449
14391450   AM_RANGE(0x00980004, 0x00980007) AM_READ(fifoctl_r)
14401451   AM_RANGE(0x0098000c, 0x0098000f) AM_READWRITE(videoctl_r,videoctl_w)
1452   AM_RANGE(0x00980030, 0x0098005f) AM_READ(tgpid_r)
14411453
14421454   AM_RANGE(0x00e80000, 0x00e80007) AM_READWRITE(model2_irq_r, model2_irq_w)
14431455
r29618r29619
20092021   if(scanline == 384)
20102022   {
20112023      m_intreq |= (1<<0);
2024      if(m_intena & 1<<0)
2025         m_maincpu->set_input_line(I960_IRQ0, ASSERT_LINE);
20122026      model2_check_irq_state();
20132027   }
20142028   else if(scanline == 0)
20152029   {
20162030      /* From sound to main CPU (TODO: what enables this?) */
20172031      m_intreq |= (1<<10);
2032      if(m_intena & 1<<10)
2033         m_maincpu->set_input_line(I960_IRQ3, ASSERT_LINE);
20182034      model2_check_irq_state();
20192035   }
20202036}
r29618r29619
20262042   if(scanline == 384)
20272043   {
20282044      m_intreq |= (1<<0);
2045      if(m_intena & 1<<0)
2046         m_maincpu->set_input_line(I960_IRQ0, ASSERT_LINE);
20292047      model2_check_irq_state();
20302048   }
20312049   else if(scanline == 0) // 384
20322050   {
20332051      m_intreq |= (1<<10);
2052      if(m_intena & 1<<10)
2053         m_maincpu->set_input_line(I960_IRQ3, ASSERT_LINE);
20342054      model2_check_irq_state();
20352055   }
20362056   else if(scanline == 256)
20372057   {
2038      /* TODO: irq source? Source allocation in dynamcopc? */
2058      /* TODO: irq source? Scroll allocation in dynamcopc? */
20392059      m_intreq |= (1<<2);
2060      if(m_intena & 1<<2)
2061         m_maincpu->set_input_line(I960_IRQ2, ASSERT_LINE);
20402062      model2_check_irq_state();
20412063   }
20422064

Previous 199869 Revisions Next


© 1997-2024 The MAME Team