Modified TIA overscan code to only blank the screen when overscan turns to

normal scan.  Previously, the blanking was done each frame, but the new
way more accurately emulates what happens on a real system.

Added a few tweaks for the properties database.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1870 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-09-06 23:27:29 +00:00
parent 383bce947b
commit ea0e137a27
3 changed files with 7 additions and 4 deletions

View File

@ -1164,7 +1164,7 @@ static const char* DefProps[DEF_PROPS_SIZE][20] = {
{ "5a734779d797ccef25dc8acfa47244c7", "", "", "Oh No! (Version 2) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a734779d797ccef25dc8acfa47244c7", "", "", "Oh No! (Version 2) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5a80b857eb8b908ab477ec4ef902edc8", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a80b857eb8b908ab477ec4ef902edc8", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5a81ad4e184050851e63c8e16e3dac77", "Jone Yuan Telephonic Enterprise Co", "Hack", "Sky Diver (Jone Yuan) (Hack)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a81ad4e184050851e63c8e16e3dac77", "Jone Yuan Telephonic Enterprise Co", "Hack", "Sky Diver (Jone Yuan) (Hack)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5a8afe5422abbfb0a342fb15afd7415f", "Atari, Robert C. Polaro", "CX26155", "Sprint Master (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "", "" }, { "5a8afe5422abbfb0a342fb15afd7415f", "Atari, Robert C. Polaro", "CX26155", "Sprint Master (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "" },
{ "5a93265095146458df2baf2162014889", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a93265095146458df2baf2162014889", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5a9d188245aff829efde816fcade0b16", "CCE", "C-808", "Phantom Tank (1983) (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a9d188245aff829efde816fcade0b16", "CCE", "C-808", "Phantom Tank (1983) (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5acf9865a72c0ce944979f76ff9610f0", "", "", "Dodge Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5acf9865a72c0ce944979f76ff9610f0", "", "", "Dodge Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2939,7 +2939,7 @@ static const char* DefProps[DEF_PROPS_SIZE][20] = {
{ "e74022cfe31ec8908844718dfbdedf7a", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e74022cfe31ec8908844718dfbdedf7a", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e77ec259e1387bc308b0534647a89198", "Parker Brothers, David Lamkins, Laura Nikolich", "931503", "Spider-Man (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e77ec259e1387bc308b0534647a89198", "Parker Brothers, David Lamkins, Laura Nikolich", "931503", "Spider-Man (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e77f332b71f13884c84771e7a121182d", "Jone Yuan Telephonic Enterprise Co", "", "Hey! Stop! (Jone Yuan)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e77f332b71f13884c84771e7a121182d", "Jone Yuan Telephonic Enterprise Co", "", "Hey! Stop! (Jone Yuan)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e784a9d26707cfcd170a4c1c60422a72", "Quelle", "147.443 6", "Gefecht im All (1983) (Quelle) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e784a9d26707cfcd170a4c1c60422a72", "Quelle", "147.443 6", "Gefecht im All (1983) (Quelle) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "64", "", "", "" },
{ "e7864caaf9ec49ed67b1904ce8602690", "", "", "Donkey Kong 2K3 Pic (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e7864caaf9ec49ed67b1904ce8602690", "", "", "Donkey Kong 2K3 Pic (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e79c4432c518ca3e497f673a167ee526", "Funvision - Fund. Int'l Co.", "", "Ocean City (Funvision)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e79c4432c518ca3e497f673a167ee526", "Funvision - Fund. Int'l Co.", "", "Ocean City (Funvision)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e7a758bb0b43d0f7004e92b9abf4bc83", "", "", "Troll's Adventure (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e7a758bb0b43d0f7004e92b9abf4bc83", "", "", "Troll's Adventure (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },

View File

@ -628,6 +628,7 @@ inline void TIA::endFrame()
{ {
// This stuff should only happen at the end of a frame // This stuff should only happen at the end of a frame
// Compute the number of scanlines in the frame // Compute the number of scanlines in the frame
uInt32 previousCount = myScanlineCountForLastFrame;
myScanlineCountForLastFrame = scanlines(); myScanlineCountForLastFrame = scanlines();
// Stats counters // Stats counters
@ -659,7 +660,8 @@ inline void TIA::endFrame()
// sure that they're also different from one another // sure that they're also different from one another
// This will force the framebuffer class to completely re-render // This will force the framebuffer class to completely re-render
// the screen // the screen
if(myScanlineCountForLastFrame > myMaximumNumberOfScanlines) if(previousCount > myMaximumNumberOfScanlines &&
myScanlineCountForLastFrame <= myMaximumNumberOfScanlines)
{ {
memset(myCurrentFrameBuffer, 0, 160 * 320); memset(myCurrentFrameBuffer, 0, 160 * 320);
memset(myPreviousFrameBuffer, 1, 160 * 320); memset(myPreviousFrameBuffer, 1, 160 * 320);

View File

@ -6835,7 +6835,7 @@
"Cartridge.Manufacturer" "Atari, Robert C. Polaro" "Cartridge.Manufacturer" "Atari, Robert C. Polaro"
"Cartridge.ModelNo" "CX26155" "Cartridge.ModelNo" "CX26155"
"Cartridge.Name" "Sprint Master (1988) (Atari)" "Cartridge.Name" "Sprint Master (1988) (Atari)"
"Display.YStart" "26" "Display.YStart" "24"
"" ""
"Cartridge.MD5" "5a80b857eb8b908ab477ec4ef902edc8" "Cartridge.MD5" "5a80b857eb8b908ab477ec4ef902edc8"
@ -17470,6 +17470,7 @@
"Cartridge.ModelNo" "147.443 6" "Cartridge.ModelNo" "147.443 6"
"Cartridge.Name" "Gefecht im All (1983) (Quelle) (PAL)" "Cartridge.Name" "Gefecht im All (1983) (Quelle) (PAL)"
"Cartridge.Note" "AKA Space Jockey" "Cartridge.Note" "AKA Space Jockey"
"Display.YStart" "64"
"" ""
"Cartridge.MD5" "e74022cfe31ec8908844718dfbdedf7a" "Cartridge.MD5" "e74022cfe31ec8908844718dfbdedf7a"