Previous 199869 Revisions Next

r19778 Monday 24th December, 2012 at 20:39:03 UTC by Angelo Salese
PV-1000: Fixed Dig Dug gfxs
[src/mess/drivers]pv1000.c x1twin.c

trunk/src/mess/drivers/x1twin.c
r19777r19778
573573   MCFG_SPEAKER_ADD("x1_l",-0.2, 0.0, 1.0)
574574   MCFG_SPEAKER_ADD("x1_r",0.2, 0.0, 1.0)
575575   MCFG_SPEAKER_ADD("pce_l",-0.2, 0.0, 1.0)
576   MCFG_SPEAKER_ADD("pce_r",-0.2, 0.0, 1.0)
576   MCFG_SPEAKER_ADD("pce_r",0.2, 0.0, 1.0)
577577
578578//  MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
579579
trunk/src/mess/drivers/pv1000.c
r19777r19778
9292   sound_stream   *m_sh_channel;
9393   emu_timer      *m_irq_on_timer;
9494   emu_timer      *m_irq_off_timer;
95   UINT8 m_pcg_bank;
96   UINT8 m_force_pattern;
9597
9698   required_device<cpu_device> m_maincpu;
9799   required_device<screen_device> m_screen;
r19777r19778
145147   case 0x05:
146148      m_fd_data = 1;
147149      break;
150//   case 0x06 VRAM + PCG location, always fixed at 0xb8xx
151   case 0x07:
152      /* ---- -xxx unknown, border color? */
153      m_pcg_bank = (data & 0x20) >> 5;
154      m_force_pattern = ((data & 0x10) >> 4); /* Dig Dug relies on this */
155      break;
148156   }
149157
150158   m_io_regs[offset] = data;
r19777r19778
278286      {
279287         UINT16 tile = m_p_videoram[ y * 32 + x ];
280288
281         if ( tile < 0xe0 )
289         if ( tile < 0xe0 || m_force_pattern )
282290         {
283            tile += ( m_io_regs[7] * 8 );
291            tile += ( m_pcg_bank << 8);
284292            drawgfx_opaque( bitmap, cliprect, machine().gfx[0], tile, 0, 0, 0, x*8, y*8 );
285293         }
286294         else
r19777r19778
312320
313321   while ( samples > 0 )
314322   {
315
316323      *buffer=0;
317324
318325      for (size_t i=0;i<3;i++)
r19777r19778
367374
368375TIMER_CALLBACK_MEMBER(pv1000_state::d65010_irq_off_cb)
369376{
370
371377   m_maincpu->set_input_line(0, CLEAR_LINE );
372378}
373379
374380
375381void pv1000_state::machine_start()
376382{
377
378383   m_irq_on_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(pv1000_state::d65010_irq_on_cb),this));
379384   m_irq_off_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(pv1000_state::d65010_irq_off_cb),this));
380385}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team