slightly improved Genesis detection

corrected tab widgets in GameInfoDialog
This commit is contained in:
thrust26 2019-02-11 23:02:08 +01:00
parent a4456e6af8
commit 3c2549d348
2 changed files with 3 additions and 5 deletions

View File

@ -206,7 +206,7 @@ bool ControllerDetector::usesGenesisButton(const uInt8* image, uInt32 size, Cont
{ {
if(port == Controller::Left) if(port == Controller::Left)
{ {
const int NUM_SIGS_0 = 10; const int NUM_SIGS_0 = 12;
const int SIG_SIZE_0 = 3; const int SIG_SIZE_0 = 3;
uInt8 signature_0[NUM_SIGS_0][SIG_SIZE_0] = { uInt8 signature_0[NUM_SIGS_0][SIG_SIZE_0] = {
{ 0x24, 0x09, 0x10 }, // bit INPT1; bpl { 0x24, 0x09, 0x10 }, // bit INPT1; bpl
@ -219,6 +219,8 @@ bool ControllerDetector::usesGenesisButton(const uInt8* image, uInt32 size, Cont
{ 0xa5, 0x39, 0x30 }, // lda INPT1|$30; bmi { 0xa5, 0x39, 0x30 }, // lda INPT1|$30; bmi
{ 0xa5, 0x39, 0x6a }, // lda INPT1|$30; ror { 0xa5, 0x39, 0x6a }, // lda INPT1|$30; ror
{ 0xa6, 0x39, 0x8e }, // ldx INPT1|$30; stx { 0xa6, 0x39, 0x8e }, // ldx INPT1|$30; stx
{ 0xa5, 0x09, 0x29 }, // lda INPT1; and
{ 0xa4, 0x09, 0x30 }, // ldy INPT1; bmi
}; };
for(uInt32 i = 0; i < NUM_SIGS_0; ++i) for(uInt32 i = 0; i < NUM_SIGS_0; ++i)
if(searchForBytes(image, size, signature_0[i], SIG_SIZE_0)) if(searchForBytes(image, size, signature_0[i], SIG_SIZE_0))

View File

@ -91,7 +91,6 @@ GameInfoDialog::GameInfoDialog(
myTypeDetected = new StaticTextWidget(myTab, ifont, t->getRight() + 8, ypos, myTypeDetected = new StaticTextWidget(myTab, ifont, t->getRight() + 8, ypos,
"(CM (SpectraVideo CompuMate) detected)"); "(CM (SpectraVideo CompuMate) detected)");
wid.push_back(myTypeDetected);
ypos += ifont.getLineHeight() + VGAP * 4; ypos += ifont.getLineHeight() + VGAP * 4;
pwidth = font.getStringWidth("Auto-detect"); pwidth = font.getStringWidth("Auto-detect");
@ -109,7 +108,6 @@ GameInfoDialog::GameInfoDialog(
wid.push_back(myFormat); wid.push_back(myFormat);
myFormatDetected = new StaticTextWidget(myTab, ifont, myFormat->getRight() + 8, ypos + 4, "SECAM60 detected"); myFormatDetected = new StaticTextWidget(myTab, ifont, myFormat->getRight() + 8, ypos + 4, "SECAM60 detected");
wid.push_back(myFormatDetected);
// Phosphor // Phosphor
ypos += lineHeight + VGAP; ypos += lineHeight + VGAP;
@ -211,7 +209,6 @@ GameInfoDialog::GameInfoDialog(
myP0ControllerDetected = new StaticTextWidget(myTab, ifont, myP0Controller->getLeft(), ypos, myP0ControllerDetected = new StaticTextWidget(myTab, ifont, myP0Controller->getLeft(), ypos,
"BoosterGrip detected"); "BoosterGrip detected");
wid.push_back(myP0ControllerDetected);
ypos += ifont.getLineHeight() + VGAP; ypos += ifont.getLineHeight() + VGAP;
myP1Label = new StaticTextWidget(myTab, font, HBORDER, ypos+1, "P1 controller "); myP1Label = new StaticTextWidget(myTab, font, HBORDER, ypos+1, "P1 controller ");
@ -221,7 +218,6 @@ GameInfoDialog::GameInfoDialog(
ypos += lineHeight + VGAP; ypos += lineHeight + VGAP;
myP1ControllerDetected = new StaticTextWidget(myTab, ifont, myP1Controller->getLeft(), ypos, myP1ControllerDetected = new StaticTextWidget(myTab, ifont, myP1Controller->getLeft(), ypos,
"BoosterGrip detected"); "BoosterGrip detected");
wid.push_back(myP0ControllerDetected);
ypos += ifont.getLineHeight() + VGAP + 4; ypos += ifont.getLineHeight() + VGAP + 4;
mySwapPorts = new CheckboxWidget(myTab, font, myP0Controller->getRight() + fontWidth*4, myP0Controller->getTop()+1, mySwapPorts = new CheckboxWidget(myTab, font, myP0Controller->getRight() + fontWidth*4, myP0Controller->getTop()+1,