Previous 199869 Revisions Next

r19781 Monday 24th December, 2012 at 22:43:58 UTC by Angelo Salese
(for whatever reason irq frequency didn't matched the notes, everything works by
pulling the frequency back right so ...)

(MESS) New WORKING system
------------------------------

Casio PV-1000 [Wilbert Pol, plgDavid, Angelo Salese]
[src/mess/drivers]pv1000.c

trunk/src/mess/drivers/pv1000.c
r19780r19781
9494   emu_timer      *m_irq_off_timer;
9595   UINT8 m_pcg_bank;
9696   UINT8 m_force_pattern;
97   UINT8 m_fd_buffer_flag;
9798
9899   required_device<cpu_device> m_maincpu;
99100   required_device<screen_device> m_screen;
r19780r19781
171172      /* Bit 1 = 1 => Data is available in port FD */
172173      /* Bit 0 = 1 => Buffer at port FD is empty */
173174      data = 0;
174      data = ( m_screen->vpos() >= 212 && m_screen->vpos() <= 220 ) ? 1 : 0;
175      data = m_fd_buffer_flag & 1;
175176      data |= m_fd_data ? 2 : 0;
177      m_fd_buffer_flag &= ~1;
176178      break;
177179   case 0x05:
178180      static const char *const joynames[] = { "IN0", "IN1", "IN2", "IN3" };
r19780r19781
355357TIMER_CALLBACK_MEMBER(pv1000_state::d65010_irq_on_cb)
356358{
357359   int vpos = m_screen->vpos();
358   int next_vpos = vpos + 12;
360   int next_vpos = vpos + 4;
359361
362   if(vpos == 195)
363      m_fd_buffer_flag |= 1; /* TODO: exact timing of this */
364
360365   /* Set IRQ line and schedule release of IRQ line */
361366   m_maincpu->set_input_line(0, ASSERT_LINE );
362367   m_irq_off_timer->adjust( m_screen->time_until_pos(vpos, 380/2 ) );
r19780r19781
449454
450455
451456/*    YEAR  NAME     PARENT  COMPAT  MACHINE  INPUT  INIT    COMPANY   FULLNAME    FLAGS */
452CONS( 1983, pv1000,  0,      0,      pv1000,  pv1000, driver_device,   0,   "Casio",  "PV-1000",  GAME_NOT_WORKING )
457CONS( 1983, pv1000,  0,      0,      pv1000,  pv1000, driver_device,   0,   "Casio",  "PV-1000",  0 )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team