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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "5a9d188245aff829efde816fcade0b16", "CCE", "C-808", "Phantom Tank (1983) (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "e79c4432c518ca3e497f673a167ee526", "Funvision - Fund. Int'l Co.", "", "Ocean City (Funvision)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "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
// Compute the number of scanlines in the frame
uInt32 previousCount = myScanlineCountForLastFrame;
myScanlineCountForLastFrame = scanlines();
// Stats counters
@ -659,7 +660,8 @@ inline void TIA::endFrame()
// sure that they're also different from one another
// This will force the framebuffer class to completely re-render
// the screen
if(myScanlineCountForLastFrame > myMaximumNumberOfScanlines)
if(previousCount > myMaximumNumberOfScanlines &&
myScanlineCountForLastFrame <= myMaximumNumberOfScanlines)
{
memset(myCurrentFrameBuffer, 0, 160 * 320);
memset(myPreviousFrameBuffer, 1, 160 * 320);

View File

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