mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-06-03 13:29:40 +00:00
Fix: Mouse support in Contiki v1.3
This commit is contained in:
parent
804d34ee13
commit
f2a52d23f3
|
@ -18,6 +18,11 @@ Restrictions/bugs:
|
|||
- During Mockingboard playback, Speaker emulation isn't precise
|
||||
|
||||
|
||||
1.14.1 - 09 Aug 2007 (beta)
|
||||
---------------------------
|
||||
. Fix: Mouse support in Contiki v1.3
|
||||
|
||||
|
||||
1.14.0 - 08 Aug 2007 (beta)
|
||||
---------------------------
|
||||
Fixes:
|
||||
|
|
|
@ -210,8 +210,8 @@ DISK_ICON ICON "DISK.ICO"
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,14,0,0
|
||||
PRODUCTVERSION 1,14,0,0
|
||||
FILEVERSION 1,14,1,0
|
||||
PRODUCTVERSION 1,14,1,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -229,12 +229,12 @@ BEGIN
|
|||
VALUE "Comments", "http://applewin.berlios.de"
|
||||
VALUE "CompanyName", "Michael O'Brien, Oliver Schmidt, Tom Charlesworth"
|
||||
VALUE "FileDescription", "Apple //e Emulator for Windows"
|
||||
VALUE "FileVersion", "1, 14, 0, 0"
|
||||
VALUE "FileVersion", "1, 14, 1, 0"
|
||||
VALUE "InternalName", "APPLEWIN"
|
||||
VALUE "LegalCopyright", "© 1994-2007 Michael O'Brien, Oliver Schmidt, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis"
|
||||
VALUE "OriginalFilename", "APPLEWIN.EXE"
|
||||
VALUE "ProductName", "Apple //e Emulator"
|
||||
VALUE "ProductVersion", "1, 14, 0, 0"
|
||||
VALUE "ProductVersion", "1, 14, 1, 0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
|
@ -225,7 +225,6 @@ void CMouseInterface::On6821_B(BYTE byData)
|
|||
|
||||
void CMouseInterface::OnCommand()
|
||||
{
|
||||
//char szDbg[256];
|
||||
switch( m_byBuff[0] & 0xF0 )
|
||||
{
|
||||
case MOUSE_SET:
|
||||
|
@ -249,13 +248,11 @@ void CMouseInterface::OnCommand()
|
|||
m_byBuff[4] = ( m_nY >> 8 ) & 0xFF;
|
||||
m_byBuff[5] = m_byState; // button 0/1 interrupt status
|
||||
m_byState &= ~0x20;
|
||||
//sprintf(szDbg, "[MOUSE-READ] IRQ=0x%02X X=(0x%02X-0x%02X) Y=(0x%02X-0x%02X) \n", m_byBuff[5], m_byBuff[1], m_byBuff[2], m_byBuff[3], m_byBuff[4]); OutputDebugString(szDbg);
|
||||
break;
|
||||
case MOUSE_SERV:
|
||||
m_nDataLen = 2;
|
||||
m_byBuff[1] = m_byState & ~0x20; // reason of interrupt
|
||||
CpuIrqDeassert(IS_MOUSE);
|
||||
//sprintf(szDbg, "[MOUSE-SERV] IRQ=0x%02X\n", m_byBuff[1]); OutputDebugString(szDbg);
|
||||
break;
|
||||
case MOUSE_CLEAR:
|
||||
Reset();
|
||||
|
@ -343,12 +340,11 @@ void CMouseInterface::OnMouseEvent()
|
|||
byState |= 0x04; // Button 0/1 interrupt
|
||||
if ( m_bVBL )
|
||||
byState |= 0x08;
|
||||
byState &= m_byMode & 0x2E;
|
||||
//byState &= m_byMode & 0x2E;
|
||||
byState &= ((m_byMode & 0x0E) | 0x20); // Keep "X/Y moved since last READMOUSE" for next MOUSE_READ (Contiki v1.3 uses this)
|
||||
|
||||
if ( byState & 0x0E )
|
||||
{
|
||||
//char szDbg[256];
|
||||
//sprintf(szDbg, "[MOUSE] 0x%02X, %04d(%04d), %04d(%04d), %d\n", byState, m_iX, m_nX, m_iY, m_nY, bBtn0); OutputDebugString(szDbg);
|
||||
m_byState |= byState;
|
||||
CpuIrqAssert(IS_MOUSE);
|
||||
}
|
||||
|
@ -406,8 +402,8 @@ void CMouseInterface::SetPosition(int xvalue, int yvalue)
|
|||
{
|
||||
if ((m_iRangeX == 0) || (m_iRangeY == 0))
|
||||
{
|
||||
m_iX = m_iMinX;
|
||||
m_iY = m_iMinY;
|
||||
m_nX = m_iX = m_iMinX;
|
||||
m_nY = m_iY = m_iMinY;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user