mirror of https://github.com/stella-emu/stella.git
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:
parent
8ce5a7cdab
commit
e1076ea369
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// 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>
|
#include <assert.h>
|
||||||
|
@ -84,7 +84,7 @@ Console::Console(const uInt8* image, uInt32 size, const string& md5,
|
||||||
setDeveloperProperties();
|
setDeveloperProperties();
|
||||||
|
|
||||||
// Make sure height is set properly for PAL ROM
|
// 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")
|
if(myProperties.get(Display_Height) == "210")
|
||||||
myProperties.set(Display_Height, "250");
|
myProperties.set(Display_Height, "250");
|
||||||
|
|
||||||
|
@ -277,6 +277,13 @@ void Console::toggleFormat()
|
||||||
framerate = 50;
|
framerate = 50;
|
||||||
}
|
}
|
||||||
else if(format == "PAL")
|
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");
|
myProperties.set(Display_Format, "NTSC");
|
||||||
mySystem->reset();
|
mySystem->reset();
|
||||||
|
@ -396,13 +403,13 @@ void Console::initialize()
|
||||||
// This can be overridden by changing the framerate in the
|
// This can be overridden by changing the framerate in the
|
||||||
// VideoDialog box or on the commandline, but it can't be saved
|
// VideoDialog box or on the commandline, but it can't be saved
|
||||||
// (ie, framerate is now solely determined based on ROM format).
|
// (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)
|
if(framerate == -1)
|
||||||
{
|
{
|
||||||
const string& s = myProperties.get(Display_Format);
|
if(format == "NTSC" || format == "PAL60")
|
||||||
if(s == "NTSC")
|
|
||||||
framerate = 60;
|
framerate = 60;
|
||||||
else if(s == "PAL")
|
else if(format == "PAL")
|
||||||
framerate = 50;
|
framerate = 50;
|
||||||
else
|
else
|
||||||
framerate = 60;
|
framerate = 60;
|
||||||
|
@ -413,10 +420,10 @@ void Console::initialize()
|
||||||
// The # of channels can be overridden in the AudioDialog box or on
|
// The # of channels can be overridden in the AudioDialog box or on
|
||||||
// the commandline, but it can't be saved.
|
// the commandline, but it can't be saved.
|
||||||
uInt32 channels;
|
uInt32 channels;
|
||||||
const string& s = myProperties.get(Cartridge_Sound);
|
const string& sound = myProperties.get(Cartridge_Sound);
|
||||||
if(s == "STEREO")
|
if(sound == "STEREO")
|
||||||
channels = 2;
|
channels = 2;
|
||||||
else if(s == "MONO")
|
else if(sound == "MONO")
|
||||||
channels = 1;
|
channels = 1;
|
||||||
else
|
else
|
||||||
channels = 1;
|
channels = 1;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// 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>
|
#include <cassert>
|
||||||
|
@ -237,12 +237,12 @@ void TIA::reset()
|
||||||
myFrameWidth = 160;
|
myFrameWidth = 160;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(myConsole.properties().get(Display_Format) == "PAL")
|
if(myConsole.properties().get(Display_Format).compare(0, 3, "PAL") == 0)
|
||||||
{
|
{
|
||||||
myColorLossEnabled = true;
|
myColorLossEnabled = true;
|
||||||
myMaximumNumberOfScanlines = 342;
|
myMaximumNumberOfScanlines = 342;
|
||||||
}
|
}
|
||||||
else
|
else // NTSC
|
||||||
{
|
{
|
||||||
myColorLossEnabled = false;
|
myColorLossEnabled = false;
|
||||||
myMaximumNumberOfScanlines = 290;
|
myMaximumNumberOfScanlines = 290;
|
||||||
|
@ -692,13 +692,13 @@ const uInt32* TIA::palette() const
|
||||||
const string& format = myConsole.properties().get(Display_Format);
|
const string& format = myConsole.properties().get(Display_Format);
|
||||||
|
|
||||||
if(type == "standard")
|
if(type == "standard")
|
||||||
return (format == "PAL") ? ourPALPalette : ourNTSCPalette;
|
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette : ourNTSCPalette;
|
||||||
else if(type == "original")
|
else if(type == "original")
|
||||||
return (format == "PAL") ? ourPALPalette11 : ourNTSCPalette11;
|
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette11 : ourNTSCPalette11;
|
||||||
else if(type == "z26")
|
else if(type == "z26")
|
||||||
return (format == "PAL") ? ourPALPaletteZ26 : ourNTSCPaletteZ26;
|
return (format.compare(0, 3, "PAL") == 0) ? ourPALPaletteZ26 : ourNTSCPaletteZ26;
|
||||||
else // return normal palette by default
|
else // return normal palette by default
|
||||||
return (format == "PAL") ? ourPALPalette : ourNTSCPalette;
|
return (format.compare(0, 3, "PAL") == 0) ? ourPALPalette : ourNTSCPalette;
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -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.MD5" "9b150a42fc788960fbb4cbe250259ee2"
|
||||||
"Cartridge.Name" "3E Bankswitch Test (TIA @ $40)"
|
"Cartridge.Name" "3E Bankswitch Test (TIA @ $40)"
|
||||||
"Cartridge.Manufacturer" "Kroko"
|
"Cartridge.Manufacturer" "Kroko"
|
||||||
|
@ -20913,7 +20927,7 @@
|
||||||
"Cartridge.Name" "Lady Bug (PAL60)"
|
"Cartridge.Name" "Lady Bug (PAL60)"
|
||||||
"Cartridge.Rarity" "Homebrew"
|
"Cartridge.Rarity" "Homebrew"
|
||||||
"Console.RightDifficulty" "A"
|
"Console.RightDifficulty" "A"
|
||||||
"Display.Format" "PAL"
|
"Display.Format" "PAL60"
|
||||||
"Display.Phosphor" "YES"
|
"Display.Phosphor" "YES"
|
||||||
""
|
""
|
||||||
|
|
||||||
|
@ -20928,3 +20942,10 @@
|
||||||
"Cartridge.Name" "Andrew Davies early notBoulderDash demo (NTSC)"
|
"Cartridge.Name" "Andrew Davies early notBoulderDash demo (NTSC)"
|
||||||
"Display.Phosphor" "YES"
|
"Display.Phosphor" "YES"
|
||||||
""
|
""
|
||||||
|
|
||||||
|
"Cartridge.MD5" "3fd1f9d66a418c9f787fc5799174ddb7"
|
||||||
|
"Cartridge.Manufacturer" "Aaron Curtis"
|
||||||
|
"Cartridge.Name" "AStar (PAL)"
|
||||||
|
"Cartridge.Rarity" "Homebrew"
|
||||||
|
"Display.Format" "PAL"
|
||||||
|
""
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// 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
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -201,13 +201,14 @@ GameInfoDialog::GameInfoDialog(
|
||||||
|
|
||||||
xpos = 10; ypos = vBorder;
|
xpos = 10; ypos = vBorder;
|
||||||
lwidth = font.getStringWidth("Use Phosphor: ");
|
lwidth = font.getStringWidth("Use Phosphor: ");
|
||||||
pwidth = font.getStringWidth("NTSC");
|
pwidth = font.getStringWidth("PAL60");
|
||||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||||
"Format:", kTextAlignLeft);
|
"Format:", kTextAlignLeft);
|
||||||
myFormat = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
|
myFormat = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
|
||||||
pwidth, lineHeight, "", 0, 0);
|
pwidth, lineHeight, "", 0, 0);
|
||||||
myFormat->appendEntry("NTSC", 1);
|
myFormat->appendEntry("NTSC", 1);
|
||||||
myFormat->appendEntry("PAL", 2);
|
myFormat->appendEntry("PAL", 2);
|
||||||
|
myFormat->appendEntry("PAL60", 3);
|
||||||
wid.push_back(myFormat);
|
wid.push_back(myFormat);
|
||||||
|
|
||||||
ypos += lineHeight + 3;
|
ypos += lineHeight + 3;
|
||||||
|
@ -403,6 +404,8 @@ void GameInfoDialog::loadConfig()
|
||||||
myFormat->setSelectedTag(1);
|
myFormat->setSelectedTag(1);
|
||||||
else if(s == "PAL")
|
else if(s == "PAL")
|
||||||
myFormat->setSelectedTag(2);
|
myFormat->setSelectedTag(2);
|
||||||
|
else if(s == "PAL60")
|
||||||
|
myFormat->setSelectedTag(3);
|
||||||
else
|
else
|
||||||
myFormat->setSelectedTag(0);
|
myFormat->setSelectedTag(0);
|
||||||
|
|
||||||
|
@ -523,7 +526,7 @@ void GameInfoDialog::saveConfig()
|
||||||
|
|
||||||
// Display properties
|
// Display properties
|
||||||
tag = myFormat->getSelectedTag();
|
tag = myFormat->getSelectedTag();
|
||||||
s = (tag == 1) ? "NTSC" : "PAL";
|
s = (tag == 3) ? "PAL60" : (tag == 2) ? "PAL" : "NTSC";
|
||||||
myGameProperties->set(Display_Format, s);
|
myGameProperties->set(Display_Format, s);
|
||||||
|
|
||||||
s = myXStart->getEditString();
|
s = myXStart->getEditString();
|
||||||
|
|
Loading…
Reference in New Issue