1.20.1: Fix bug 018242:

. Preserve drive's physical attributes (track, phase) when changing disk. (Fix for Platoon)
This commit is contained in:
tomch 2011-07-17 20:34:42 +00:00
parent a2dd508865
commit 95ba7bd519
3 changed files with 19 additions and 5 deletions

View File

@ -19,6 +19,12 @@ Restrictions/bugs:
- For an original Apple //e, 80-column (PR#3) and INVERSE, it still appears to be mousetext character, but it should be inverted upper-case from $40 to $5F.
1.20.1 - 17 Jul 2011
--------------------
Fixes:
. [Bug #018242] Preserve drive's physical attributes (track, phase) when changing disk. (Fix for Platoon)
1.20.0 - 23 Feb 2011
--------------------
Changes:

View File

@ -253,8 +253,8 @@ DISK_ICON ICON "DISK.ICO"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,20,0,0
PRODUCTVERSION 1,20,0,0
FILEVERSION 1,20,1,0
PRODUCTVERSION 1,20,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -272,12 +272,12 @@ BEGIN
VALUE "Comments", "http://applewin.berlios.de"
VALUE "CompanyName", "AppleWin"
VALUE "FileDescription", "Apple //e Emulator for Windows"
VALUE "FileVersion", "1, 20, 0, 0"
VALUE "FileVersion", "1, 20, 1, 0"
VALUE "InternalName", "APPLEWIN"
VALUE "LegalCopyright", " 1994-2011 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, 20, 0, 0"
VALUE "ProductVersion", "1, 20, 1, 0"
END
END
BLOCK "VarFileInfo"

View File

@ -514,7 +514,15 @@ ImageError_e DiskInsert(const int iDrive, LPCTSTR pszImageFilename, const bool b
if (fptr->imagehandle)
RemoveDisk(iDrive);
ZeroMemory(fptr,sizeof(Disk_t ));
// Reset the drive's struct, but preserve the physical attributes (bug#18242: Platoon)
// . Changing the disk (in the drive) doesn't affect the drive's head etc.
{
int track = fptr->track;
int phase = fptr->phase;
ZeroMemory(fptr, sizeof(Disk_t));
fptr->track = track;
fptr->phase = phase;
}
const DWORD dwAttributes = GetFileAttributes(pszImageFilename);
if(dwAttributes == INVALID_FILE_ATTRIBUTES)