trunk/src/mess/drivers/x1twin.c
| r19777 | r19778 | |
| 573 | 573 | MCFG_SPEAKER_ADD("x1_l",-0.2, 0.0, 1.0) |
| 574 | 574 | MCFG_SPEAKER_ADD("x1_r",0.2, 0.0, 1.0) |
| 575 | 575 | 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) |
| 577 | 577 | |
| 578 | 578 | // MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 579 | 579 | |
trunk/src/mess/drivers/pv1000.c
| r19777 | r19778 | |
| 92 | 92 | sound_stream *m_sh_channel; |
| 93 | 93 | emu_timer *m_irq_on_timer; |
| 94 | 94 | emu_timer *m_irq_off_timer; |
| 95 | UINT8 m_pcg_bank; |
| 96 | UINT8 m_force_pattern; |
| 95 | 97 | |
| 96 | 98 | required_device<cpu_device> m_maincpu; |
| 97 | 99 | required_device<screen_device> m_screen; |
| r19777 | r19778 | |
| 145 | 147 | case 0x05: |
| 146 | 148 | m_fd_data = 1; |
| 147 | 149 | 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; |
| 148 | 156 | } |
| 149 | 157 | |
| 150 | 158 | m_io_regs[offset] = data; |
| r19777 | r19778 | |
| 278 | 286 | { |
| 279 | 287 | UINT16 tile = m_p_videoram[ y * 32 + x ]; |
| 280 | 288 | |
| 281 | | if ( tile < 0xe0 ) |
| 289 | if ( tile < 0xe0 || m_force_pattern ) |
| 282 | 290 | { |
| 283 | | tile += ( m_io_regs[7] * 8 ); |
| 291 | tile += ( m_pcg_bank << 8); |
| 284 | 292 | drawgfx_opaque( bitmap, cliprect, machine().gfx[0], tile, 0, 0, 0, x*8, y*8 ); |
| 285 | 293 | } |
| 286 | 294 | else |
| r19777 | r19778 | |
| 312 | 320 | |
| 313 | 321 | while ( samples > 0 ) |
| 314 | 322 | { |
| 315 | | |
| 316 | 323 | *buffer=0; |
| 317 | 324 | |
| 318 | 325 | for (size_t i=0;i<3;i++) |
| r19777 | r19778 | |
| 367 | 374 | |
| 368 | 375 | TIMER_CALLBACK_MEMBER(pv1000_state::d65010_irq_off_cb) |
| 369 | 376 | { |
| 370 | | |
| 371 | 377 | m_maincpu->set_input_line(0, CLEAR_LINE ); |
| 372 | 378 | } |
| 373 | 379 | |
| 374 | 380 | |
| 375 | 381 | void pv1000_state::machine_start() |
| 376 | 382 | { |
| 377 | | |
| 378 | 383 | m_irq_on_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(pv1000_state::d65010_irq_on_cb),this)); |
| 379 | 384 | m_irq_off_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(pv1000_state::d65010_irq_off_cb),this)); |
| 380 | 385 | } |