From e310c1d53915d306d8aa9a1bed9bac489bd30b03 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Thu, 9 Oct 2014 14:31:15 -0500 Subject: [PATCH] Added region specific test pattern for correctness' sake. ;-) --- res/test-pattern-pal.jpg | Bin 0 -> 23925 bytes src/gui/mainwin.cpp | 28 ++++++++++++++++++++++++---- src/gui/mainwin.h | 1 + src/gui/virtualjaguar.qrc | 1 + 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 res/test-pattern-pal.jpg diff --git a/res/test-pattern-pal.jpg b/res/test-pattern-pal.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cde6f04b2513e2712ce84626f7b5e2886613aadc GIT binary patch literal 23925 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 literal 0 HcmV?d00001 diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index 713ec11..cc5dab1 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -330,7 +330,7 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), // Do this in case original size isn't correct (mostly for the first-run case) ResizeMainWindow(); - // Create our test pattern bitmap + // Create our test pattern bitmaps QImage tempImg(":/res/test-pattern.jpg"); QImage tempImgScaled = tempImg.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); @@ -345,6 +345,20 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), } } + QImage tempImg2(":/res/test-pattern-pal"); + QImage tempImgScaled2 = tempImg2.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + for(uint32_t y=0; yrasterHeight; y++) { - memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); + if (vjs.hardwareTypeNTSC) + memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); + else + memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern2 + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); } } } @@ -1084,7 +1101,10 @@ void MainWin::ResizeMainWindow(void) { for(uint32_t y=0; yrasterHeight; y++) { - memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); + if (vjs.hardwareTypeNTSC) + memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); + else + memcpy(videoWidget->buffer + (y * videoWidget->textureWidth), testPattern2 + (y * VIRTUAL_SCREEN_WIDTH), VIRTUAL_SCREEN_WIDTH * sizeof(uint32_t)); } } @@ -1191,7 +1211,7 @@ WriteLog("Pipelined DSP = %s\n", (vjs.usePipelinedDSP ? "ON" : "off")); ReadProfiles(&settings); } - + void MainWin::WriteSettings(void) { QSettings settings("Underground Software", "Virtual Jaguar"); diff --git a/src/gui/mainwin.h b/src/gui/mainwin.h index e5dc8e2..a87289d 100644 --- a/src/gui/mainwin.h +++ b/src/gui/mainwin.h @@ -145,6 +145,7 @@ class MainWin: public QMainWindow QIcon powerGreen; QIcon powerRed; uint32_t testPattern[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL]; + uint32_t testPattern2[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL]; }; #endif // __MAINWIN_H__ diff --git a/src/gui/virtualjaguar.qrc b/src/gui/virtualjaguar.qrc index 19e99ed..5d43c4a 100644 --- a/src/gui/virtualjaguar.qrc +++ b/src/gui/virtualjaguar.qrc @@ -35,6 +35,7 @@ ../../res/homebrew-file.png ../../res/unknown-file.png ../../res/test-pattern.jpg + ../../res/test-pattern-pal.jpg ../../res/help.html -- 2.37.2