mirror of https://github.com/stella-emu/stella.git
Merge branch 'master' of https://github.com/stella-emu/stella
This commit is contained in:
commit
6d6522ad41
|
@ -395,22 +395,24 @@ string Console::formatFromSignature() const
|
||||||
static constexpr uInt8 PAL_60[] = { 'P', 'A', 'L', ' ', '6', '0'};
|
static constexpr uInt8 PAL_60[] = { 'P', 'A', 'L', ' ', '6', '0'};
|
||||||
static constexpr uInt8 PAL__60[] = { 'P', 'A', 'L', '-', '6', '0'};
|
static constexpr uInt8 PAL__60[] = { 'P', 'A', 'L', '-', '6', '0'};
|
||||||
|
|
||||||
size_t size;
|
size_t size = 0;
|
||||||
const ByteBuffer& image = myCart->getImage(size);
|
const ByteBuffer& image = myCart->getImage(size);
|
||||||
|
|
||||||
if(searchForBytes(image, size, PAL60, 5) ||
|
if(searchForBytes(image, size, PAL60, 5) ||
|
||||||
searchForBytes(image, size, PAL_60, 6) ||
|
searchForBytes(image, size, PAL_60, 6) ||
|
||||||
searchForBytes(image, size, PAL__60, 6))
|
searchForBytes(image, size, PAL__60, 6))
|
||||||
return "PAL60";
|
return "PAL60";
|
||||||
|
|
||||||
// Nothing found
|
// Nothing found
|
||||||
return "AUTO";
|
return "AUTO";
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
bool Console::searchForBytes(const ByteBuffer& image, size_t imagesize,
|
bool Console::searchForBytes(const ByteBuffer& image, size_t imagesize,
|
||||||
const uInt8* signature, uInt32 sigsize) const
|
const uInt8* signature, uInt32 sigsize)
|
||||||
{
|
{
|
||||||
if(imagesize >= sigsize)
|
if(imagesize >= sigsize)
|
||||||
|
{
|
||||||
for(uInt32 i = 0; i < imagesize - sigsize; ++i)
|
for(uInt32 i = 0; i < imagesize - sigsize; ++i)
|
||||||
{
|
{
|
||||||
uInt32 matches = 0;
|
uInt32 matches = 0;
|
||||||
|
@ -422,11 +424,9 @@ bool Console::searchForBytes(const ByteBuffer& image, size_t imagesize,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(matches == sigsize)
|
if(matches == sigsize)
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -426,20 +426,6 @@ class Console : public Serializable, public ConsoleIO
|
||||||
*/
|
*/
|
||||||
string formatFromSignature() const;
|
string formatFromSignature() const;
|
||||||
|
|
||||||
/**
|
|
||||||
Search the image for the specified byte signature.
|
|
||||||
|
|
||||||
@param image A pointer to the ROM image
|
|
||||||
@param imagesize The size of the ROM image
|
|
||||||
@param signature The byte sequence to search for
|
|
||||||
@param sigsize The number of bytes in the signature
|
|
||||||
|
|
||||||
@return True if the signature was found, else false
|
|
||||||
*/
|
|
||||||
bool searchForBytes(const ByteBuffer& image, size_t imagesize,
|
|
||||||
const uInt8* signature, uInt32 sigsize) const;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Create the audio queue
|
Create the audio queue
|
||||||
*/
|
*/
|
||||||
|
@ -457,6 +443,19 @@ class Console : public Serializable, public ConsoleIO
|
||||||
void toggleTIACollision(TIABit bit, string_view bitname,
|
void toggleTIACollision(TIABit bit, string_view bitname,
|
||||||
bool show = true, bool toggle = true) const;
|
bool show = true, bool toggle = true) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Search the image for the specified byte signature.
|
||||||
|
|
||||||
|
@param image A pointer to the ROM image
|
||||||
|
@param imagesize The size of the ROM image
|
||||||
|
@param signature The byte sequence to search for
|
||||||
|
@param sigsize The number of bytes in the signature
|
||||||
|
|
||||||
|
@return True if the signature was found, else false
|
||||||
|
*/
|
||||||
|
static bool searchForBytes(const ByteBuffer& image, size_t imagesize,
|
||||||
|
const uInt8* signature, uInt32 sigsize);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Reference to the osystem object
|
// Reference to the osystem object
|
||||||
OSystem& myOSystem;
|
OSystem& myOSystem;
|
||||||
|
|
|
@ -121,6 +121,7 @@ void FrameManager::setAdjustVSize(Int32 adjustVSize)
|
||||||
void FrameManager::onSetVblank(uInt64 cycles)
|
void FrameManager::onSetVblank(uInt64 cycles)
|
||||||
{
|
{
|
||||||
if (myState == State::waitForVsyncEnd)
|
if (myState == State::waitForVsyncEnd)
|
||||||
|
{
|
||||||
if (myVblank) // VBLANK switched on
|
if (myVblank) // VBLANK switched on
|
||||||
{
|
{
|
||||||
myVblankStart = cycles;
|
myVblankStart = cycles;
|
||||||
|
@ -129,6 +130,7 @@ void FrameManager::onSetVblank(uInt64 cycles)
|
||||||
{
|
{
|
||||||
myVblankCycles += cycles - myVblankStart;
|
myVblankCycles += cycles - myVblankStart;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
Loading…
Reference in New Issue