Previous 15994 Revisions Next

r14993 Sunday 22nd April, 2012 at 03:48:28 UTC by R. Belmont
Apple II: Fixed reset bit for Mockingboard/Phasor. Fixes stuck sounds in Mockingboard and Phasor utility programs. [R. Belmont]
[src/mess/machine]a2mockingboard.c

src/mess/machine/a2mockingboard.c
r14992r14993
7575   MCFG_VIA6522_ADD(VIA2_TAG, 1022727, mockingboard_via2_intf)
7676
7777    MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
78    MCFG_SPEAKER_STANDARD_STEREO("lspeaker2", "rspeaker2")
7879    MCFG_SOUND_ADD(AY1_TAG, AY8913, 1022727)
7980    MCFG_SOUND_CONFIG(mockingboard_ay8910_interface)
80    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
81    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
8182    MCFG_SOUND_ADD(AY2_TAG, AY8913, 1022727)
8283    MCFG_SOUND_CONFIG(mockingboard_ay8910_interface)
83    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
84    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker2", 1.0)
8485    MCFG_SOUND_ADD(AY3_TAG, AY8913, 1022727)
8586    MCFG_SOUND_CONFIG(mockingboard_ay8910_interface)
86    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
87    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
8788    MCFG_SOUND_ADD(AY4_TAG, AY8913, 1022727)
8889    MCFG_SOUND_CONFIG(mockingboard_ay8910_interface)
89    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
90    MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker2", 1.0)
9091MACHINE_CONFIG_END
9192
9293//-------------------------------------------------
r14992r14993
272273{
273274    if (state)
274275    {
275        raise_slot_nmi();
276        raise_slot_irq();
276277    }
277278    else
278279    {
279        lower_slot_nmi();
280        lower_slot_irq();
280281    }
281282}
282283
r14992r14993
297298
298299WRITE8_MEMBER( a2bus_ayboard_device::via1_out_b )
299300{
300    if (!(data & 8))
301    if (!(data & 4))
301302    {
302303        ay8910_reset_w(m_ay1, 0, 0);
304        if (m_isPhasor && m_PhasorNative)
305        {
306            ay8910_reset_w(m_ay2, 0, 0);
307        }
303308    }
304309    else
305310    {
r14992r14993
336341                chipSel = 1;
337342            }
338343
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);
341345            switch (data & 3)
342346            {
343347                case 0: // BDIR=0, BC1=0 (inactive)
r14992r14993
397401
398402WRITE8_MEMBER( a2bus_ayboard_device::via2_out_b )
399403{
400    if (!(data & 8))
404    if (!(data & 4))
401405    {
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        }
403415    }
404416    else
405417    {
r14992r14993
436448                chipSel = 1;
437449            }
438450
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);
440452            switch (data & 3)
441453            {
442454                case 0: // BDIR=0, BC1=0 (inactive)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team