mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-05-28 17:41:37 +00:00
Fix Phasor's AY order - fix for mb-audit v1.2
This commit is contained in:
parent
9d3b7027ff
commit
7d11c24a70
|
@ -274,12 +274,14 @@ void MockingboardCard::WriteToORB(BYTE device)
|
|||
#else
|
||||
if (m_phasorEnable)
|
||||
{
|
||||
int nAY_CS = (m_phasorMode == PH_Phasor) ? (~(value >> 3) & 3) : 1;
|
||||
const int kAY0 = 2; // bit4=0 (active low) selects the 1st AY8913, ie. the only AY8913 in Mockingboard mode (confirmed on real Phasor h/w)
|
||||
const int kAY1 = 1; // bit3=0 (active low) selects the 2nd AY8913 attached to this 6522 (unavailable in Mockingboard mode)
|
||||
int nAY_CS = (m_phasorMode == PH_Phasor) ? (~(value >> 3) & 3) : kAY0;
|
||||
|
||||
if (nAY_CS & 1)
|
||||
if (nAY_CS & kAY0)
|
||||
AY8910_Write(device, value, 0);
|
||||
|
||||
if (nAY_CS & 2)
|
||||
if (nAY_CS & kAY1)
|
||||
AY8910_Write(device, value, 1);
|
||||
}
|
||||
else
|
||||
|
@ -508,7 +510,6 @@ BYTE __stdcall MockingboardCard::IORead(WORD PC, WORD nAddr, BYTE bWrite, BYTE n
|
|||
|
||||
BYTE MockingboardCard::IOReadInternal(WORD PC, WORD nAddr, BYTE bWrite, BYTE nValue, ULONG nExecutedCycles)
|
||||
{
|
||||
//UpdateCycles(nExecutedCycles);
|
||||
GetCardMgr().GetMockingboardCardMgr().UpdateCycles(nExecutedCycles);
|
||||
|
||||
#ifdef _DEBUG
|
||||
|
@ -582,7 +583,6 @@ BYTE __stdcall MockingboardCard::IOWrite(WORD PC, WORD nAddr, BYTE bWrite, BYTE
|
|||
|
||||
BYTE MockingboardCard::IOWriteInternal(WORD PC, WORD nAddr, BYTE bWrite, BYTE nValue, ULONG nExecutedCycles)
|
||||
{
|
||||
//UpdateCycles(nExecutedCycles);
|
||||
GetCardMgr().GetMockingboardCardMgr().UpdateCycles(nExecutedCycles);
|
||||
|
||||
#ifdef _DEBUG
|
||||
|
|
|
@ -50,7 +50,7 @@ private:
|
|||
static const UINT NUM_SY6522 = 2;
|
||||
static const UINT NUM_AY8913 = 4; // Phasor has 4, MB has 2
|
||||
// static const UINT NUM_SSI263 = 2;
|
||||
static const UINT NUM_DEVS_PER_MB = NUM_SY6522;
|
||||
static const UINT NUM_DEVS_PER_MB = NUM_SY6522; // Number of MB_SUBUNIT per Mockingboard card
|
||||
static const UINT NUM_VOICES_PER_AY8913 = 3;
|
||||
static const UINT NUM_VOICES = (NUM_AY8913 * NUM_VOICES_PER_AY8913);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user