src/mess/machine/a2mockingboard.c
| r14992 | r14993 | |
| 75 | 75 | MCFG_VIA6522_ADD(VIA2_TAG, 1022727, mockingboard_via2_intf) |
| 76 | 76 | |
| 77 | 77 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 78 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker2", "rspeaker2") |
| 78 | 79 | MCFG_SOUND_ADD(AY1_TAG, AY8913, 1022727) |
| 79 | 80 | MCFG_SOUND_CONFIG(mockingboard_ay8910_interface) |
| 80 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) |
| 81 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) |
| 81 | 82 | MCFG_SOUND_ADD(AY2_TAG, AY8913, 1022727) |
| 82 | 83 | MCFG_SOUND_CONFIG(mockingboard_ay8910_interface) |
| 83 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) |
| 84 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker2", 1.0) |
| 84 | 85 | MCFG_SOUND_ADD(AY3_TAG, AY8913, 1022727) |
| 85 | 86 | MCFG_SOUND_CONFIG(mockingboard_ay8910_interface) |
| 86 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) |
| 87 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) |
| 87 | 88 | MCFG_SOUND_ADD(AY4_TAG, AY8913, 1022727) |
| 88 | 89 | MCFG_SOUND_CONFIG(mockingboard_ay8910_interface) |
| 89 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) |
| 90 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker2", 1.0) |
| 90 | 91 | MACHINE_CONFIG_END |
| 91 | 92 | |
| 92 | 93 | //------------------------------------------------- |
| r14992 | r14993 | |
| 272 | 273 | { |
| 273 | 274 | if (state) |
| 274 | 275 | { |
| 275 | | raise_slot_nmi(); |
| 276 | raise_slot_irq(); |
| 276 | 277 | } |
| 277 | 278 | else |
| 278 | 279 | { |
| 279 | | lower_slot_nmi(); |
| 280 | lower_slot_irq(); |
| 280 | 281 | } |
| 281 | 282 | } |
| 282 | 283 | |
| r14992 | r14993 | |
| 297 | 298 | |
| 298 | 299 | WRITE8_MEMBER( a2bus_ayboard_device::via1_out_b ) |
| 299 | 300 | { |
| 300 | | if (!(data & 8)) |
| 301 | if (!(data & 4)) |
| 301 | 302 | { |
| 302 | 303 | ay8910_reset_w(m_ay1, 0, 0); |
| 304 | if (m_isPhasor && m_PhasorNative) |
| 305 | { |
| 306 | ay8910_reset_w(m_ay2, 0, 0); |
| 307 | } |
| 303 | 308 | } |
| 304 | 309 | else |
| 305 | 310 | { |
| r14992 | r14993 | |
| 336 | 341 | chipSel = 1; |
| 337 | 342 | } |
| 338 | 343 | |
| 339 | | // printf("Phasor: %02x to AY1/2 CS %02x (BDIR/BC1 %02x, data %02x)\n", m_porta1, chipSel, data & 3, data); |
| 340 | | |
| 344 | printf("Phasor: %02x to AY1/2 CS %02x (BDIR/BC1 %02x, data %02x)\n", m_porta1, chipSel, data & 3, data); |
| 341 | 345 | switch (data & 3) |
| 342 | 346 | { |
| 343 | 347 | case 0: // BDIR=0, BC1=0 (inactive) |
| r14992 | r14993 | |
| 397 | 401 | |
| 398 | 402 | WRITE8_MEMBER( a2bus_ayboard_device::via2_out_b ) |
| 399 | 403 | { |
| 400 | | if (!(data & 8)) |
| 404 | if (!(data & 4)) |
| 401 | 405 | { |
| 402 | | ay8910_reset_w(m_ay2, 0, 0); |
| 406 | if (m_isPhasor && m_PhasorNative) |
| 407 | { |
| 408 | ay8910_reset_w(m_ay3, 0, 0); |
| 409 | ay8910_reset_w(m_ay4, 0, 0); |
| 410 | } |
| 411 | else |
| 412 | { |
| 413 | ay8910_reset_w(m_ay2, 0, 0); |
| 414 | } |
| 403 | 415 | } |
| 404 | 416 | else |
| 405 | 417 | { |
| r14992 | r14993 | |
| 436 | 448 | chipSel = 1; |
| 437 | 449 | } |
| 438 | 450 | |
| 439 | | // printf("Phasor: %02x to AY3/4 CS %02x (BDIR/BC1 %02x, data %02x)\n", m_porta2, chipSel, data & 3, data); |
| 451 | printf("Phasor: %02x to AY3/4 CS %02x (BDIR/BC1 %02x, data %02x)\n", m_porta2, chipSel, data & 3, data); |
| 440 | 452 | switch (data & 3) |
| 441 | 453 | { |
| 442 | 454 | case 0: // BDIR=0, BC1=0 (inactive) |