trunk/src/mame/drivers/atari_s2.c
| r31806 | r31807 | |
| 47 | 47 | TIMER_DEVICE_CALLBACK_MEMBER(timer_s); |
| 48 | 48 | private: |
| 49 | 49 | bool m_timer_sb; |
| 50 | | bool m_ab1; |
| 51 | 50 | UINT8 m_timer_s[5]; |
| 52 | 51 | UINT8 m_sound0; |
| 53 | 52 | UINT8 m_sound1; |
| r31806 | r31807 | |
| 387 | 386 | // noise |
| 388 | 387 | if BIT(m_sound0, 7) |
| 389 | 388 | { |
| 390 | | m_timer_s[3] = (m_timer_s[3] << 1) | m_ab1; |
| 391 | | m_timer_s[4] = (m_timer_s[4] << 1) | !BIT(m_timer_s[3], 1); |
| 392 | | m_ab1 = BIT(m_timer_s[3], 0) ^ BIT(m_timer_s[4], 6); |
| 389 | bool ab0 = BIT(m_timer_s[3], 0) ^ BIT(m_timer_s[4], 6); |
| 390 | bool ab1 = !BIT(m_timer_s[3], 1); |
| 391 | m_timer_s[3] = (m_timer_s[3] << 1) | ab0; |
| 392 | m_timer_s[4] = (m_timer_s[4] << 1) | ab1; |
| 393 | 393 | m_dac1->write_unsigned8((m_timer_s[4] & 7)<< 5); |
| 394 | 394 | } |
| 395 | else |
| 396 | { |
| 397 | m_timer_s[3] = 0; |
| 398 | m_timer_s[4] = 0; |
| 399 | } |
| 395 | 400 | } |
| 396 | 401 | } |
| 397 | 402 | } |
| r31806 | r31807 | |
| 452 | 457 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 453 | 458 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 454 | 459 | MCFG_SOUND_ADD("dac", DAC, 0) |
| 455 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 460 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) |
| 456 | 461 | MCFG_SOUND_ADD("dac1", DAC, 0) |
| 457 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 462 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) |
| 458 | 463 | |
| 459 | 464 | /* Video */ |
| 460 | 465 | MCFG_DEFAULT_LAYOUT(layout_atari_s2) |