Rename ms_pWorkBuffer to m_pWorkBuffer (as it's no longer static)

This commit is contained in:
tomcw 2020-12-10 21:28:12 +00:00
parent d2a34e1f91
commit 50a0e81941
3 changed files with 34 additions and 35 deletions

View File

@ -67,13 +67,13 @@ CImageBase::CImageBase()
: m_uNumTracksInImage(0) : m_uNumTracksInImage(0)
, m_uVolumeNumber(DEFAULT_VOLUME_NUMBER) , m_uVolumeNumber(DEFAULT_VOLUME_NUMBER)
{ {
ms_pWorkBuffer = new BYTE[TRACK_DENIBBLIZED_SIZE * 2]; m_pWorkBuffer = new BYTE[TRACK_DENIBBLIZED_SIZE * 2];
} }
CImageBase::~CImageBase() CImageBase::~CImageBase()
{ {
delete [] ms_pWorkBuffer; delete [] m_pWorkBuffer;
ms_pWorkBuffer = NULL; m_pWorkBuffer = NULL;
} }
@ -299,8 +299,8 @@ LPBYTE CImageBase::Code62(int sector)
// CONVERT THE 256 8-BIT BYTES INTO 342 6-BIT BYTES, WHICH WE STORE // CONVERT THE 256 8-BIT BYTES INTO 342 6-BIT BYTES, WHICH WE STORE
// STARTING AT 4K INTO THE WORK BUFFER. // STARTING AT 4K INTO THE WORK BUFFER.
{ {
LPBYTE sectorbase = ms_pWorkBuffer+(sector << 8); LPBYTE sectorbase = m_pWorkBuffer+(sector << 8);
LPBYTE resultptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE resultptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
BYTE offset = 0xAC; BYTE offset = 0xAC;
while (offset != 0x02) while (offset != 0x02)
{ {
@ -326,8 +326,8 @@ LPBYTE CImageBase::Code62(int sector)
// BLOCK OF 343 BYTES STARTING AT 5K INTO THE WORK BUFFER. // BLOCK OF 343 BYTES STARTING AT 5K INTO THE WORK BUFFER.
{ {
BYTE savedval = 0; BYTE savedval = 0;
LPBYTE sourceptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE sourceptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
LPBYTE resultptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400; LPBYTE resultptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400;
int loop = 342; int loop = 342;
while (loop--) while (loop--)
{ {
@ -343,14 +343,14 @@ LPBYTE CImageBase::Code62(int sector)
// ZERO BITS. THE CONVERTED BLOCK OF 343 BYTES IS STORED STARTING AT 4K // ZERO BITS. THE CONVERTED BLOCK OF 343 BYTES IS STORED STARTING AT 4K
// INTO THE WORK BUFFER. // INTO THE WORK BUFFER.
{ {
LPBYTE sourceptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400; LPBYTE sourceptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400;
LPBYTE resultptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE resultptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
int loop = 343; int loop = 343;
while (loop--) while (loop--)
*(resultptr++) = ms_DiskByte[(*(sourceptr++)) >> 2]; *(resultptr++) = ms_DiskByte[(*(sourceptr++)) >> 2];
} }
return ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; return m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
} }
//------------------------------------- //-------------------------------------
@ -374,8 +374,8 @@ void CImageBase::Decode62(LPBYTE imageptr)
// USING OUR TABLE, CONVERT THE DISK BYTES BACK INTO 6-BIT BYTES // USING OUR TABLE, CONVERT THE DISK BYTES BACK INTO 6-BIT BYTES
{ {
LPBYTE sourceptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE sourceptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
LPBYTE resultptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400; LPBYTE resultptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400;
int loop = 343; int loop = 343;
while (loop--) while (loop--)
*(resultptr++) = sixbitbyte[*(sourceptr++) & 0x7F]; *(resultptr++) = sixbitbyte[*(sourceptr++) & 0x7F];
@ -385,8 +385,8 @@ void CImageBase::Decode62(LPBYTE imageptr)
// TO UNDO THE EFFECTS OF THE CHECKSUMMING PROCESS // TO UNDO THE EFFECTS OF THE CHECKSUMMING PROCESS
{ {
BYTE savedval = 0; BYTE savedval = 0;
LPBYTE sourceptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400; LPBYTE sourceptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x400;
LPBYTE resultptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE resultptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
int loop = 342; int loop = 342;
while (loop--) while (loop--)
{ {
@ -397,8 +397,8 @@ void CImageBase::Decode62(LPBYTE imageptr)
// CONVERT THE 342 6-BIT BYTES INTO 256 8-BIT BYTES // CONVERT THE 342 6-BIT BYTES INTO 256 8-BIT BYTES
{ {
LPBYTE lowbitsptr = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE; LPBYTE lowbitsptr = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE;
LPBYTE sectorbase = ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x56; LPBYTE sectorbase = m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+0x56;
BYTE offset = 0xAC; BYTE offset = 0xAC;
while (offset != 0x02) while (offset != 0x02)
{ {
@ -429,7 +429,7 @@ void CImageBase::Decode62(LPBYTE imageptr)
void CImageBase::DenibblizeTrack(LPBYTE trackimage, SectorOrder_e SectorOrder, int nibbles) void CImageBase::DenibblizeTrack(LPBYTE trackimage, SectorOrder_e SectorOrder, int nibbles)
{ {
memset(ms_pWorkBuffer, 0, TRACK_DENIBBLIZED_SIZE); memset(m_pWorkBuffer, 0, TRACK_DENIBBLIZED_SIZE);
// SEARCH THROUGH THE TRACK IMAGE FOR EACH SECTOR. FOR EVERY SECTOR // SEARCH THROUGH THE TRACK IMAGE FOR EACH SECTOR. FOR EVERY SECTOR
// WE FIND, COPY THE NIBBLIZED DATA FOR THAT SECTOR INTO THE WORK // WE FIND, COPY THE NIBBLIZED DATA FOR THAT SECTOR INTO THE WORK
@ -467,15 +467,15 @@ void CImageBase::DenibblizeTrack(LPBYTE trackimage, SectorOrder_e SectorOrder, i
int tempoffset = offset; int tempoffset = offset;
while (loop < 384) // TODO-TC: Why 384? Only need 343 for Decode62() while (loop < 384) // TODO-TC: Why 384? Only need 343 for Decode62()
{ {
*(ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+loop++) = *(trackimage+tempoffset++); *(m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+loop++) = *(trackimage+tempoffset++);
if (tempoffset >= nibbles) if (tempoffset >= nibbles)
tempoffset = 0; tempoffset = 0;
} }
if (byteval[2] == 0x96) if (byteval[2] == 0x96)
{ {
sector = ((*(ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+4) & 0x55) << 1) sector = ((*(m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+4) & 0x55) << 1)
| (*(ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+5) & 0x55); | (*(m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE+5) & 0x55);
#ifdef _DEBUG #ifdef _DEBUG
_ASSERT( sector < NUM_SECTORS ); _ASSERT( sector < NUM_SECTORS );
@ -494,7 +494,7 @@ void CImageBase::DenibblizeTrack(LPBYTE trackimage, SectorOrder_e SectorOrder, i
uWriteDataFieldPrologueCount++; uWriteDataFieldPrologueCount++;
_ASSERT(uWriteDataFieldPrologueCount <= NUM_SECTORS); _ASSERT(uWriteDataFieldPrologueCount <= NUM_SECTORS);
#endif #endif
Decode62(ms_pWorkBuffer+(ms_SectorNumber[SectorOrder][sector] << 8)); Decode62(m_pWorkBuffer+(ms_SectorNumber[SectorOrder][sector] << 8));
} }
sector = 0; sector = 0;
} }
@ -506,7 +506,7 @@ void CImageBase::DenibblizeTrack(LPBYTE trackimage, SectorOrder_e SectorOrder, i
DWORD CImageBase::NibblizeTrack(LPBYTE trackimagebuffer, SectorOrder_e SectorOrder, int track) DWORD CImageBase::NibblizeTrack(LPBYTE trackimagebuffer, SectorOrder_e SectorOrder, int track)
{ {
memset(ms_pWorkBuffer+TRACK_DENIBBLIZED_SIZE, 0, TRACK_DENIBBLIZED_SIZE); memset(m_pWorkBuffer+TRACK_DENIBBLIZED_SIZE, 0, TRACK_DENIBBLIZED_SIZE);
LPBYTE imageptr = trackimagebuffer; LPBYTE imageptr = trackimagebuffer;
BYTE sector = 0; BYTE sector = 0;
@ -575,9 +575,9 @@ DWORD CImageBase::NibblizeTrack(LPBYTE trackimagebuffer, SectorOrder_e SectorOrd
void CImageBase::SkewTrack(const int nTrack, const int nNumNibbles, const LPBYTE pTrackImageBuffer) void CImageBase::SkewTrack(const int nTrack, const int nNumNibbles, const LPBYTE pTrackImageBuffer)
{ {
int nSkewBytes = (nTrack*768) % nNumNibbles; int nSkewBytes = (nTrack*768) % nNumNibbles;
CopyMemory(ms_pWorkBuffer, pTrackImageBuffer, nNumNibbles); CopyMemory(m_pWorkBuffer, pTrackImageBuffer, nNumNibbles);
CopyMemory(pTrackImageBuffer, ms_pWorkBuffer+nSkewBytes, nNumNibbles-nSkewBytes); CopyMemory(pTrackImageBuffer, m_pWorkBuffer+nSkewBytes, nNumNibbles-nSkewBytes);
CopyMemory(pTrackImageBuffer+nNumNibbles-nSkewBytes, ms_pWorkBuffer, nSkewBytes); CopyMemory(pTrackImageBuffer+nNumNibbles-nSkewBytes, m_pWorkBuffer, nSkewBytes);
} }
//------------------------------------- //-------------------------------------
@ -659,7 +659,7 @@ public:
virtual void Read(ImageInfo* pImageInfo, const float phase, LPBYTE pTrackImageBuffer, int* pNibbles, UINT* pBitCount, bool enhanceDisk) virtual void Read(ImageInfo* pImageInfo, const float phase, LPBYTE pTrackImageBuffer, int* pNibbles, UINT* pBitCount, bool enhanceDisk)
{ {
const UINT track = PhaseToTrack(phase); const UINT track = PhaseToTrack(phase);
ReadTrack(pImageInfo, track, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE); ReadTrack(pImageInfo, track, m_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
*pNibbles = NibblizeTrack(pTrackImageBuffer, eDOSOrder, track); *pNibbles = NibblizeTrack(pTrackImageBuffer, eDOSOrder, track);
if (!enhanceDisk) if (!enhanceDisk)
SkewTrack(track, *pNibbles, pTrackImageBuffer); SkewTrack(track, *pNibbles, pTrackImageBuffer);
@ -669,7 +669,7 @@ public:
{ {
const UINT track = PhaseToTrack(phase); const UINT track = PhaseToTrack(phase);
DenibblizeTrack(pTrackImageBuffer, eDOSOrder, nNibbles); DenibblizeTrack(pTrackImageBuffer, eDOSOrder, nNibbles);
WriteTrack(pImageInfo, track, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE); WriteTrack(pImageInfo, track, m_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
} }
virtual bool AllowCreate(void) { return true; } virtual bool AllowCreate(void) { return true; }
@ -727,7 +727,7 @@ public:
virtual void Read(ImageInfo* pImageInfo, const float phase, LPBYTE pTrackImageBuffer, int* pNibbles, UINT* pBitCount, bool enhanceDisk) virtual void Read(ImageInfo* pImageInfo, const float phase, LPBYTE pTrackImageBuffer, int* pNibbles, UINT* pBitCount, bool enhanceDisk)
{ {
const UINT track = PhaseToTrack(phase); const UINT track = PhaseToTrack(phase);
ReadTrack(pImageInfo, track, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE); ReadTrack(pImageInfo, track, m_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
*pNibbles = NibblizeTrack(pTrackImageBuffer, eProDOSOrder, track); *pNibbles = NibblizeTrack(pTrackImageBuffer, eProDOSOrder, track);
if (!enhanceDisk) if (!enhanceDisk)
SkewTrack(track, *pNibbles, pTrackImageBuffer); SkewTrack(track, *pNibbles, pTrackImageBuffer);
@ -737,7 +737,7 @@ public:
{ {
const UINT track = PhaseToTrack(phase); const UINT track = PhaseToTrack(phase);
DenibblizeTrack(pTrackImageBuffer, eProDOSOrder, nNibbles); DenibblizeTrack(pTrackImageBuffer, eProDOSOrder, nNibbles);
WriteTrack(pImageInfo, track, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE); WriteTrack(pImageInfo, track, m_pWorkBuffer, TRACK_DENIBBLIZED_SIZE);
} }
virtual eImageType GetType(void) { return eImagePO; } virtual eImageType GetType(void) { return eImagePO; }
@ -929,9 +929,9 @@ public:
{ {
ConvertSectorOrder(m_pHeader+14); ConvertSectorOrder(m_pHeader+14);
SetFilePointer(pImageInfo->hFile, track*TRACK_DENIBBLIZED_SIZE+30, NULL, FILE_BEGIN); SetFilePointer(pImageInfo->hFile, track*TRACK_DENIBBLIZED_SIZE+30, NULL, FILE_BEGIN);
memset(ms_pWorkBuffer, 0, TRACK_DENIBBLIZED_SIZE); memset(m_pWorkBuffer, 0, TRACK_DENIBBLIZED_SIZE);
DWORD bytesread; DWORD bytesread;
ReadFile(pImageInfo->hFile, ms_pWorkBuffer, TRACK_DENIBBLIZED_SIZE, &bytesread, NULL); ReadFile(pImageInfo->hFile, m_pWorkBuffer, TRACK_DENIBBLIZED_SIZE, &bytesread, NULL);
*pNibbles = NibblizeTrack(pTrackImageBuffer, eSIMSYSTEMOrder, track); *pNibbles = NibblizeTrack(pTrackImageBuffer, eSIMSYSTEMOrder, track);
} }
// OTHERWISE, IF THIS IMAGE CONTAINS NIBBLE INFORMATION, READ IT DIRECTLY INTO THE TRACK BUFFER // OTHERWISE, IF THIS IMAGE CONTAINS NIBBLE INFORMATION, READ IT DIRECTLY INTO THE TRACK BUFFER

View File

@ -99,8 +99,6 @@ protected:
DWORD NibblizeTrack (LPBYTE trackimagebuffer, SectorOrder_e SectorOrder, int track); DWORD NibblizeTrack (LPBYTE trackimagebuffer, SectorOrder_e SectorOrder, int track);
void SkewTrack (const int nTrack, const int nNumNibbles, const LPBYTE pTrackImageBuffer); void SkewTrack (const int nTrack, const int nNumNibbles, const LPBYTE pTrackImageBuffer);
LPBYTE ms_pWorkBuffer;
public: public:
UINT m_uNumTracksInImage; // Init'd by CDiskImageHelper.Detect()/GetImageForCreation() & possibly updated by IsValidImageSize() UINT m_uNumTracksInImage; // Init'd by CDiskImageHelper.Detect()/GetImageForCreation() & possibly updated by IsValidImageSize()
@ -108,6 +106,7 @@ protected:
static BYTE ms_DiskByte[0x40]; static BYTE ms_DiskByte[0x40];
static BYTE ms_SectorNumber[NUM_SECTOR_ORDERS][NUM_SECTORS]; static BYTE ms_SectorNumber[NUM_SECTOR_ORDERS][NUM_SECTORS];
BYTE m_uVolumeNumber; BYTE m_uVolumeNumber;
LPBYTE m_pWorkBuffer;
}; };
//------------------------------------- //-------------------------------------

View File

@ -61,8 +61,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "Debugger/DebugDefs.h" #include "Debugger/DebugDefs.h"
#include "YamlHelper.h" #include "YamlHelper.h"
// in this file use allocate the 64KB of RAM with an aligned memory allocations (0x1000) // In this file allocate the 64KB of RAM with aligned memory allocations (0x10000)
// to ease mapping between Apple ][ and host memory space (while debugging) // to ease mapping between Apple ][ and host memory space (while debugging).
// this is not available in Visual Studio // this is not available in Visual Studio
// https://en.cppreference.com/w/c/memory/aligned_alloc // https://en.cppreference.com/w/c/memory/aligned_alloc