- Stephen Anthony |
+ Ant
+ (http://aqfl.net) |
+ Provided much feedback and testing which eventually led to a fix
+ for the infamouse ATI OpenGL 'red screen' issue |
+
+
+
+ Stephen Anthony
+ (http://minbar.org) |
Ported Stella 1.1 to SDL. Added extra command line options to X11/SDL
versions. Added INI file support, faster startup, snapshot support,
and pause functionality to core. Converted Stella 1.1 manual to HTML.
Ported codebase to SDL for Windows/MacOSX. Added OpenGL support and
- Stelladaptor support. Current maintainer for the Linux and Windows versions. |
+ Stelladaptor support. Current maintainer for the Linux, OSX and Windows
+ versions.
@@ -2816,6 +2877,14 @@ Ms Pac-Man (Stella extended codes):
Provided "A Brief History of the Atari 2600" for this manual |
+
+ Ian Bogost and the Georgia Tech Atari Team
+ (CRT Simulation Project) |
+ Contributed code for the 'CRT simulation' OpenGL filters. The Winter 2009
+ team members are Edward Booth, Michael Cook, Justin Dobbs, William Rowland
+ and Prince Yang. |
+
+
Dan Boris |
Provided technical information on the Supercharger |
@@ -2852,9 +2921,10 @@ Ms Pac-Man (Stella extended codes):
- Mark Grebe |
+ Mark Grebe
+ (http://www.atarimac.com) |
Author of the Macintosh OSX version of Stella starting with the
- 1.4 release. Helped with Stelladaptor support. |
+ 1.4 release until release 2.4. Helped with Stelladaptor support.
@@ -2883,6 +2953,11 @@ Ms Pac-Man (Stella extended codes):
Provided updated NTSC palette and many ideas |
+
+ Andrew Kator (http://www.katorlegaz.com) |
+ Provided PHP and CSS code for a major update to the Stella website |
+
+
Kostas Nakos |
Author/maintainer of the WinCE version of Stella starting with the
@@ -2939,6 +3014,11 @@ Ms Pac-Man (Stella extended codes):
| Author of the "Game Menu" emulator game shell |
+
+ RomHunter (RomHunter ROMs) |
+ Provides an updated database of ROM information on a regular basis |
+
+
John Saeger |
Participated in a helpful discussion on understanding the TIA's
@@ -2961,6 +3041,12 @@ Ms Pac-Man (Stella extended codes):
Stella; now he's helping with the web site |
+
+ Seagtgruff |
+ Provided test ROMs which finally fixed all remaining issues with
+ ADC/SBC opcode decimal mode emulation |
+
+
David Shaw |
Provided make targets for the BSDI platform |
diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx
index 85b9bde44..2c1a45d9e 100644
--- a/src/emucore/Settings.cxx
+++ b/src/emucore/Settings.cxx
@@ -310,18 +310,18 @@ void Settings::usage()
<< " -gl_vsync <1|0> Enable synchronize to vertical blank interrupt\n"
<< " -gl_texrect <1|0> Enable GL_TEXTURE_RECTANGLE extension\n"
// << " -gl_accel <1|0> Enable SDL_GL_ACCELERATED_VISUAL\n"
- << " -tv_tex TV texturing, type is one of the following:\n"
- << " normal TODO - document\n"
- << " stag TODO - document\n"
- << " -tv_bleed TV color bleed, type is one of the following:\n"
- << " low TODO - document\n"
- << " medium TODO - document\n"
- << " high TODO - document\n"
- << " -tv_noise TV noise, type is one of the following:\n"
- << " low TODO - document\n"
- << " medium TODO - document\n"
- << " high TODO - document\n"
- << " -tv_phos <1|0> TV phosphor burn-off\n"
+ << " -tv_tex OpenGL TV texturing, type is one of the following:\n"
+ << " normal Aligned in a grid\n"
+ << " stag Aligned in a staggered grid\n"
+ << " -tv_bleed OpenGL TV color bleed, type is one of the following:\n"
+ << " low \n"
+ << " medium \n"
+ << " high \n"
+ << " -tv_noise OpenGL TV RF noise emulation, type is one of the following:\n"
+ << " low \n"
+ << " medium \n"
+ << " high \n"
+ << " -tv_phos <1|0> OpenGL TV phosphor burn-off\n"
<< endl
#endif
<< " -tia_filter Use the specified filter in emulation mode\n"
diff --git a/src/gui/AboutDialog.cxx b/src/gui/AboutDialog.cxx
index aaddc3a62..31fd3e822 100644
--- a/src/gui/AboutDialog.cxx
+++ b/src/gui/AboutDialog.cxx
@@ -26,15 +26,12 @@
#include "AboutDialog.hxx"
-#define ADD_ATEXT(d) do { dsc[i] = d; i++; } while(0)
-#define ADD_ALINE ADD_ATEXT("")
-
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AboutDialog::AboutDialog(OSystem* osystem, DialogContainer* parent,
const GUI::Font& font)
: Dialog(osystem, parent, 0, 0, 0, 0),
myPage(1),
- myNumPages(6)
+ myNumPages(5)
{
const int lineHeight = font.getLineHeight(),
fontWidth = font.getMaxCharWidth(),
@@ -46,7 +43,7 @@ AboutDialog::AboutDialog(OSystem* osystem, DialogContainer* parent,
// Set real dimensions
_w = 52 * fontWidth + 8;
- _h = 12 * lineHeight + 20;
+ _h = 10 * lineHeight + 20;
// Add Previous, Next and Close buttons
xpos = 10; ypos = _h - buttonHeight - 10;
@@ -75,7 +72,7 @@ AboutDialog::AboutDialog(OSystem* osystem, DialogContainer* parent,
myTitle->setTextColor(kTextColorEm);
xpos = 10; ypos += lineHeight + 4;
- for(int i = 0; i < LINES_PER_PAGE; i++)
+ for(int i = 0; i < kLINES_PER_PAGE; i++)
{
myDesc[i] = new StaticTextWidget(this, font, xpos, ypos, _w - 20,
fontHeight, "", kTextAlignLeft);
@@ -100,9 +97,10 @@ AboutDialog::~AboutDialog()
// 4 background (black)
// 5 emphasized text (red)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-void AboutDialog::updateStrings(int page, int lines, string& title, string* &dsc)
+void AboutDialog::updateStrings(int page, int lines, string& title)
{
- dsc = new string[lines];
+#define ADD_ATEXT(d) do { myDescStr[i] = d; i++; } while(0)
+#define ADD_ALINE ADD_ATEXT("")
int i = 0;
switch(page)
@@ -124,55 +122,33 @@ void AboutDialog::updateStrings(int page, int lines, string& title, string* &dsc
ADD_ATEXT("\\L\\c0"" Bradford W. Mott");
ADD_ATEXT("\\L\\c2"" Original author, lead developer");
ADD_ATEXT("\\L\\c0"" Stephen Anthony");
- ADD_ATEXT("\\L\\c2"" Lead developer, Linux/Win32 maintainer");
+ ADD_ATEXT("\\L\\c2"" Lead developer, Linux/OSX/Win32 maintainer");
ADD_ATEXT("\\L\\c0"" Mark Grebe");
- ADD_ATEXT("\\L\\c2"" Author/maintainer for OSX port");
+ ADD_ATEXT("\\L\\c2"" Original author/maintainer for OSX port");
ADD_ATEXT("\\L\\c0"" Brian Watson");
ADD_ATEXT("\\L\\c2"" Emulation core enhancement, debugger support");
- ADD_ATEXT("\\L\\c0"" Eckhard Stolberg");
- ADD_ATEXT("\\L\\c2"" Emulation core development");
break;
case 3:
title = "The Stella team";
- ADD_ATEXT("\\L\\c0"" Joe D'Andrea");
- ADD_ATEXT("\\L\\c2"" Maintainer for Solaris port");
- ADD_ATEXT("\\L\\c0"" Darrell Spice Jr. & Doodle");
- ADD_ATEXT("\\L\\c2"" Authors for OS/2 port");
+ ADD_ATEXT("\\L\\c0"" Eckhard Stolberg");
+ ADD_ATEXT("\\L\\c2"" Emulation core development");
ADD_ATEXT("\\L\\c0"" Kostas Nakos");
ADD_ATEXT("\\L\\c2"" Author/maintainer for WinCE port");
- ADD_ATEXT("\\L\\c0"" Alex Zaballa");
- ADD_ATEXT("\\L\\c2"" Maintainer for GP2X port");
break;
case 4:
- title = "Retired members / Contributors";
- ADD_ATEXT("\\L\\c0""See Stella manual for contribution details");
+ title = "Contributors";
+ ADD_ATEXT("\\L\\c0"" See Stella manual for contribution details");
+ ADD_ATEXT("\\L\\c0"" and for many other people not listed here");
ADD_ALINE;
- ADD_ATEXT("\\L\\c0"" David Aspell, Chris Bennett, Alexander Bilstein");
- ADD_ATEXT("\\L\\c0"" Dan Boris, Piero Cavina, Bob Colbert");
- ADD_ATEXT("\\L\\c0"" Renato Ferreira, Ron Fries, Aaron Giles");
- ADD_ATEXT("\\L\\c0"" Mark Hahn, Kevin Horton, Thomas Jentzsch");
- ADD_ATEXT("\\L\\c0"" Erik \"Voch\" Kovach, Daniel Marks, James Mcclain");
- ADD_ATEXT("\\L\\c0"" David McEwen, Jeff Miller, Dan Mowczan");
- ADD_ATEXT("\\L\\c0"" Jack Nutting, Manuel Polik, Jim Pragit");
- ADD_ATEXT("\\L\\c0"" John Saeger, Chris Salomon, Jason Scott");
+ ADD_ATEXT("\\L\\c0"" Thanks to the ScummVM project for the GUI code");
+ ADD_ALINE;
+ ADD_ATEXT("\\L\\c0"" Thanks to Ian Bogost and the Georgia Tech");
+ ADD_ATEXT("\\L\\c0"" Atari Team for the CRT Simulation effects");
break;
case 5:
- title = "Retired members / Contributors";
- ADD_ATEXT("\\L\\c0""See Stella manual for contribution details");
- ADD_ALINE;
- ADD_ATEXT("\\L\\c0"" David Shaw, Raul Silva, Chris Snell, John Stiles");
- ADD_ATEXT("\\L\\c0"" Matthew Stroup, Joel Sutton, Greg Troutman");
- ADD_ATEXT("\\L\\c0"" Curt Vendel, Keith Wilkins, Jeff Wisnia");
- ADD_ALINE;
- ADD_ATEXT("\\L\\c0""And many others ...");
- ADD_ALINE;
- ADD_ATEXT("\\L\\c0""Thanks to the ScummVM project for the GUI code");
- break;
-
- case 6:
title = "Cast of thousands";
ADD_ATEXT("\\L\\c0""Special thanks to AtariAge for introducing the");
ADD_ATEXT("\\L\\c0""Atari 2600 to a whole new generation");
@@ -191,14 +167,13 @@ void AboutDialog::updateStrings(int page, int lines, string& title, string* &dsc
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void AboutDialog::displayInfo()
{
- string titleStr, *dscStr;
-
- updateStrings(myPage, LINES_PER_PAGE, titleStr, dscStr);
+ string titleStr;
+ updateStrings(myPage, kLINES_PER_PAGE, titleStr);
myTitle->setLabel(titleStr);
- for(int i = 0; i < LINES_PER_PAGE; i++)
+ for(int i = 0; i < kLINES_PER_PAGE; i++)
{
- const char *str = dscStr[i].c_str();
+ const char* str = myDescStr[i].c_str();
TextAlignment align = kTextAlignCenter;
uInt32 color = kTextColor;
@@ -256,8 +231,6 @@ void AboutDialog::displayInfo()
myDesc[i]->setLabel(str);
}
- delete[] dscStr;
-
// Redraw entire dialog
_dirty = true;
}
diff --git a/src/gui/AboutDialog.hxx b/src/gui/AboutDialog.hxx
index fc445a9a8..11548e8d7 100644
--- a/src/gui/AboutDialog.hxx
+++ b/src/gui/AboutDialog.hxx
@@ -22,8 +22,6 @@
#ifndef ABOUT_DIALOG_HXX
#define ABOUT_DIALOG_HXX
-#define LINES_PER_PAGE 10
-
class OSystem;
class DialogContainer;
class CommandSender;
@@ -39,18 +37,20 @@ class AboutDialog : public Dialog
~AboutDialog();
protected:
+ enum { kLINES_PER_PAGE = 8 };
ButtonWidget* myNextButton;
ButtonWidget* myPrevButton;
StaticTextWidget* myTitle;
- StaticTextWidget* myDesc[LINES_PER_PAGE];
+ StaticTextWidget* myDesc[kLINES_PER_PAGE];
+ string myDescStr[kLINES_PER_PAGE];
int myPage;
int myNumPages;
private:
virtual void handleCommand(CommandSender* sender, int cmd, int data, int id);
- virtual void updateStrings(int page, int lines, string& title, string* &dsc);
+ virtual void updateStrings(int page, int lines, string& title);
void displayInfo();
void loadConfig() { displayInfo(); }
diff --git a/src/gui/HelpDialog.cxx b/src/gui/HelpDialog.cxx
index 329af879d..5a8579075 100644
--- a/src/gui/HelpDialog.cxx
+++ b/src/gui/HelpDialog.cxx
@@ -73,7 +73,7 @@ HelpDialog::HelpDialog(OSystem* osystem, DialogContainer* parent,
int lwidth = 15 * fontWidth;
xpos += 5; ypos += lineHeight + 4;
- for(uInt8 i = 0; i < LINES_PER_PAGE; i++)
+ for(uInt8 i = 0; i < kLINES_PER_PAGE; i++)
{
myKey[i] =
new StaticTextWidget(this, font, xpos, ypos, lwidth,
@@ -93,11 +93,11 @@ HelpDialog::~HelpDialog()
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-void HelpDialog::updateStrings(uInt8 page, uInt8 lines,
- string& title, string*& key, string* &dsc)
+void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
{
- key = new string[lines];
- dsc = new string[lines];
+#define ADD_BIND(k,d) do { myKeyStr[i] = k; myDescStr[i] = d; i++; } while(0)
+#define ADD_TEXT(d) ADD_BIND("",d)
+#define ADD_LINE ADD_BIND("","")
uInt8 i = 0;
switch(page)
@@ -191,20 +191,16 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines,
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HelpDialog::displayInfo()
{
- string titleStr, *keyStr, *dscStr;
-
- updateStrings(myPage, LINES_PER_PAGE, titleStr, keyStr, dscStr);
+ string titleStr;
+ updateStrings(myPage, kLINES_PER_PAGE, titleStr);
myTitle->setLabel(titleStr);
- for(uInt8 i = 0; i < LINES_PER_PAGE; i++)
+ for(uInt8 i = 0; i < kLINES_PER_PAGE; i++)
{
- myKey[i]->setLabel(keyStr[i]);
- myDesc[i]->setLabel(dscStr[i]);
+ myKey[i]->setLabel(myKeyStr[i]);
+ myDesc[i]->setLabel(myDescStr[i]);
}
- delete[] keyStr;
- delete[] dscStr;
-
_dirty = true;
}
diff --git a/src/gui/HelpDialog.hxx b/src/gui/HelpDialog.hxx
index 66690a1d8..978375d65 100644
--- a/src/gui/HelpDialog.hxx
+++ b/src/gui/HelpDialog.hxx
@@ -27,12 +27,6 @@ class CommandSender;
class ButtonWidget;
class StaticTextWidget;
-#define ADD_BIND(k,d) do { key[i] = k; dsc[i] = d; i++; } while(0)
-#define ADD_TEXT(d) ADD_BIND("",d)
-#define ADD_LINE ADD_BIND("","")
-
-#define LINES_PER_PAGE 10
-
#include "OSystem.hxx"
#include "Props.hxx"
#include "bspf.hxx"
@@ -44,20 +38,22 @@ class HelpDialog : public Dialog
~HelpDialog();
protected:
+ enum { kLINES_PER_PAGE = 10 };
ButtonWidget* myNextButton;
ButtonWidget* myPrevButton;
StaticTextWidget* myTitle;
- StaticTextWidget* myKey[LINES_PER_PAGE];
- StaticTextWidget* myDesc[LINES_PER_PAGE];
+ StaticTextWidget* myKey[kLINES_PER_PAGE];
+ StaticTextWidget* myDesc[kLINES_PER_PAGE];
+ string myKeyStr[kLINES_PER_PAGE];
+ string myDescStr[kLINES_PER_PAGE];
uInt8 myPage;
uInt8 myNumPages;
private:
virtual void handleCommand(CommandSender* sender, int cmd, int data, int id);
- virtual void updateStrings(uInt8 page, uInt8 lines,
- string& title, string*& key, string* &dsc);
+ virtual void updateStrings(uInt8 page, uInt8 lines, string& title);
void displayInfo();
void loadConfig() { displayInfo(); }
};