Added "PAL60" support, which AFAIK is simply a PAL screenmode with a 60Hz

refresh rate.

Updated properties for AStar and Ladybug ROMs which have PAL60 versions.
Still TODO (now that the infrastructure is in place) is update all other
ROMs that might be PAL60.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1152 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2006-11-19 20:59:30 +00:00
parent 8ce5a7cdab
commit e1076ea369
5 changed files with 1458 additions and 1427 deletions

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Console.cxx,v 1.99 2006-11-19 00:48:55 stephena Exp $
// $Id: Console.cxx,v 1.100 2006-11-19 20:59:29 stephena Exp $
//============================================================================
#include <assert.h>
@ -84,7 +84,7 @@ Console::Console(const uInt8* image, uInt32 size, const string& md5,
setDeveloperProperties();
// Make sure height is set properly for PAL ROM
if(myProperties.get(Display_Format) == "PAL")
if(myProperties.get(Display_Format).compare(0, 3, "PAL") == 0)
if(myProperties.get(Display_Height) == "210")
myProperties.set(Display_Height, "250");
@ -277,6 +277,13 @@ void Console::toggleFormat()
framerate = 50;
}
else if(format == "PAL")
{
myProperties.set(Display_Format, "PAL60");
mySystem->reset();
myOSystem->frameBuffer().showMessage("PAL60 Mode");
framerate = 60;
}
else if(format == "PAL60")
{
myProperties.set(Display_Format, "NTSC");
mySystem->reset();
@ -396,13 +403,13 @@ void Console::initialize()
// This can be overridden by changing the framerate in the
// VideoDialog box or on the commandline, but it can't be saved
// (ie, framerate is now solely determined based on ROM format).
uInt32 framerate = myOSystem->settings().getInt("framerate");
const string& format = myProperties.get(Display_Format);
int framerate = myOSystem->settings().getInt("framerate");
if(framerate == -1)
{
const string& s = myProperties.get(Display_Format);
if(s == "NTSC")
if(format == "NTSC" || format == "PAL60")
framerate = 60;
else if(s == "PAL")
else if(format == "PAL")
framerate = 50;
else
framerate = 60;
@ -413,10 +420,10 @@ void Console::initialize()
// The # of channels can be overridden in the AudioDialog box or on
// the commandline, but it can't be saved.
uInt32 channels;
const string& s = myProperties.get(Cartridge_Sound);
if(s == "STEREO")
const string& sound = myProperties.get(Cartridge_Sound);
if(sound == "STEREO")
channels = 2;
else if(s == "MONO")
else if(sound == "MONO")
channels = 1;
else
channels = 1;

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: TIA.cxx,v 1.69 2006-08-31 02:31:28 bwmott Exp $
// $Id: TIA.cxx,v 1.70 2006-11-19 20:59:30 stephena Exp $
//============================================================================
#include <cassert>
@ -237,12 +237,12 @@ void TIA::reset()
myFrameWidth = 160;
}
if(myConsole.properties().get(Display_Format) == "PAL")
if(myConsole.properties().get(Display_Format).compare(0, 3, "PAL") == 0)
{
myColorLossEnabled = true;
myMaximumNumberOfScanlines = 342;
}
else
else // NTSC
{
myColorLossEnabled = false;
myMaximumNumberOfScanlines = 290;
@ -692,13 +692,13 @@ const uInt32* TIA::palette() const
const string& format = myConsole.properties().get(Display_Format);
if(type == "standard")
return (format == "PAL") ? ourPALPalette : ourNTSCPalette;
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette : ourNTSCPalette;
else if(type == "original")
return (format == "PAL") ? ourPALPalette11 : ourNTSCPalette11;
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette11 : ourNTSCPalette11;
else if(type == "z26")
return (format == "PAL") ? ourPALPaletteZ26 : ourNTSCPaletteZ26;
return (format.compare(0, 3, "PAL") == 0) ? ourPALPaletteZ26 : ourNTSCPaletteZ26;
else // return normal palette by default
return (format == "PAL") ? ourPALPalette : ourNTSCPalette;
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette : ourNTSCPalette;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

View File

@ -1,3 +1,17 @@
"Cartridge.MD5" "00f7985c20b8bdf3c557fac4d3f26775"
"Cartridge.Manufacturer" "Aaron Curtis"
"Cartridge.Name" "AStar (NTSC)"
"Cartridge.Rarity" "Homebrew"
""
"Cartridge.MD5" "a3fee8ce15525ea00d45a06f04c215d1"
"Cartridge.Manufacturer" "Aaron Curtis"
"Cartridge.Name" "AStar (PAL60)"
"Cartridge.Rarity" "Homebrew"
"Display.Format" "PAL60"
"Display.Height" "250"
""
"Cartridge.MD5" "9b150a42fc788960fbb4cbe250259ee2"
"Cartridge.Name" "3E Bankswitch Test (TIA @ $40)"
"Cartridge.Manufacturer" "Kroko"
@ -20913,7 +20927,7 @@
"Cartridge.Name" "Lady Bug (PAL60)"
"Cartridge.Rarity" "Homebrew"
"Console.RightDifficulty" "A"
"Display.Format" "PAL"
"Display.Format" "PAL60"
"Display.Phosphor" "YES"
""
@ -20928,3 +20942,10 @@
"Cartridge.Name" "Andrew Davies early notBoulderDash demo (NTSC)"
"Display.Phosphor" "YES"
""
"Cartridge.MD5" "3fd1f9d66a418c9f787fc5799174ddb7"
"Cartridge.Manufacturer" "Aaron Curtis"
"Cartridge.Name" "AStar (PAL)"
"Cartridge.Rarity" "Homebrew"
"Display.Format" "PAL"
""

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: GameInfoDialog.cxx,v 1.26 2006-11-04 19:38:25 stephena Exp $
// $Id: GameInfoDialog.cxx,v 1.27 2006-11-19 20:59:30 stephena Exp $
//
// Based on code from ScummVM - Scumm Interpreter
// Copyright (C) 2002-2004 The ScummVM project
@ -201,13 +201,14 @@ GameInfoDialog::GameInfoDialog(
xpos = 10; ypos = vBorder;
lwidth = font.getStringWidth("Use Phosphor: ");
pwidth = font.getStringWidth("NTSC");
pwidth = font.getStringWidth("PAL60");
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
"Format:", kTextAlignLeft);
myFormat = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
pwidth, lineHeight, "", 0, 0);
myFormat->appendEntry("NTSC", 1);
myFormat->appendEntry("PAL", 2);
myFormat->appendEntry("PAL60", 3);
wid.push_back(myFormat);
ypos += lineHeight + 3;
@ -403,6 +404,8 @@ void GameInfoDialog::loadConfig()
myFormat->setSelectedTag(1);
else if(s == "PAL")
myFormat->setSelectedTag(2);
else if(s == "PAL60")
myFormat->setSelectedTag(3);
else
myFormat->setSelectedTag(0);
@ -523,7 +526,7 @@ void GameInfoDialog::saveConfig()
// Display properties
tag = myFormat->getSelectedTag();
s = (tag == 1) ? "NTSC" : "PAL";
s = (tag == 3) ? "PAL60" : (tag == 2) ? "PAL" : "NTSC";
myGameProperties->set(Display_Format, s);
s = myXStart->getEditString();