changed plain video mode into no correct aspect ratio mode

updated docs
This commit is contained in:
thrust26 2020-10-05 19:25:04 +02:00
parent 60bffab65d
commit 2464094694
7 changed files with 16 additions and 20 deletions

View File

@ -51,7 +51,7 @@
* Added another oddball TIA glitch option for delayed background color. * Added another oddball TIA glitch option for delayed background color.
* Added option to disable all scaling and postprocessing. * Added option to disable aspect correct scaling.
* Replaced "Re-disassemble" with "Disassemble @ current line" in debugger. * Replaced "Re-disassemble" with "Disassemble @ current line" in debugger.

View File

@ -2285,8 +2285,8 @@
</tr> </tr>
<tr> <tr>
<td><pre>-tia.plain_video &lt;1|0&gt;</pre></td> <td><pre>-tia.correct_aspect &lt;1|0&gt;</pre></td>
<td>Disable all scaling and postprocessing.</td> <td>Enable aspect correct scaling.</td>
</tr> </tr>
<tr> <tr>

View File

@ -623,7 +623,7 @@ FBInitStatus Console::initializeVideo(bool full)
if(full) if(full)
{ {
uInt32 width, height; uInt32 width, height;
if (myOSystem.settings().getBool("tia.plain_video")) { if (myOSystem.settings().getBool("tia.correct_aspect")) {
width = 2 * myTIA->width(); width = 2 * myTIA->width();
height = myTIA->height(); height = myTIA->height();
} else { } else {

View File

@ -835,7 +835,8 @@ void FrameBuffer::setPauseDelay()
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
shared_ptr<FBSurface> FrameBuffer::allocateSurface(int w, int h, ScalingInterpolation interpolation, const uInt32* data) shared_ptr<FBSurface> FrameBuffer::allocateSurface(int w, int h, ScalingInterpolation interpolation,
const uInt32* data)
{ {
// Add new surface to the list // Add new surface to the list
mySurfaceList.push_back(createSurface(w, h, interpolation, data)); mySurfaceList.push_back(createSurface(w, h, interpolation, data));

View File

@ -57,7 +57,7 @@ Settings::Settings()
setPermanent("tia.fs_overscan", "0"); setPermanent("tia.fs_overscan", "0");
setPermanent("tia.vsizeadjust", 0); setPermanent("tia.vsizeadjust", 0);
setPermanent("tia.dbgcolors", "roygpb"); setPermanent("tia.dbgcolors", "roygpb");
setTemporary("tia.plain_video", "false"); setTemporary("tia.correct_aspect", "true");
// Palette options // Palette options
setPermanent("palette", PaletteHandler::SETTING_STANDARD); setPermanent("palette", PaletteHandler::SETTING_STANDARD);
setPermanent("pal.phase_ntsc", "26.2"); setPermanent("pal.phase_ntsc", "26.2");
@ -454,7 +454,7 @@ void Settings::usage() const
<< " -tia.fs_overscan <0-10> Add overscan to TIA image in fullscreen mode\n" << " -tia.fs_overscan <0-10> Add overscan to TIA image in fullscreen mode\n"
<< " -tia.dbgcolors <string> Debug colors to use for each object (see manual\n" << " -tia.dbgcolors <string> Debug colors to use for each object (see manual\n"
<< " for description)\n" << " for description)\n"
<< " -tia.plain_video <1|0> Disable all scaling and postprocessing\n" << " -tia.correct_aspect <1|0> Enable aspect correct scaling\n"
<< endl << endl
<< " -tv.filter <0-5> Set TV effects off (0) or to specified mode\n" << " -tv.filter <0-5> Set TV effects off (0) or to specified mode\n"
<< " (1-5)\n" << " (1-5)\n"

View File

@ -56,7 +56,7 @@ TIASurface::TIASurface(OSystem& system)
myTiaSurface = myFB.allocateSurface( myTiaSurface = myFB.allocateSurface(
AtariNTSC::outWidth(TIAConstants::frameBufferWidth), AtariNTSC::outWidth(TIAConstants::frameBufferWidth),
TIAConstants::frameBufferHeight, TIAConstants::frameBufferHeight,
plainVideoEnabled() !correctAspect()
? FrameBuffer::ScalingInterpolation::none ? FrameBuffer::ScalingInterpolation::none
: interpolationModeFromSettings(myOSystem.settings()) : interpolationModeFromSettings(myOSystem.settings())
); );
@ -278,8 +278,6 @@ uInt32 TIASurface::enableScanlines(int change)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void TIASurface::enablePhosphor(bool enable, int blend) void TIASurface::enablePhosphor(bool enable, int blend)
{ {
enable = enable && !plainVideoEnabled();
if(myPhosphorHandler.initialize(enable, blend)) if(myPhosphorHandler.initialize(enable, blend))
{ {
myFilter = Filter(enable ? uInt8(myFilter) | 0x01 : uInt8(myFilter) & 0x10); myFilter = Filter(enable ? uInt8(myFilter) | 0x01 : uInt8(myFilter) & 0x10);
@ -290,8 +288,6 @@ void TIASurface::enablePhosphor(bool enable, int blend)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void TIASurface::enableNTSC(bool enable) void TIASurface::enableNTSC(bool enable)
{ {
enable = enable && !plainVideoEnabled();
myFilter = Filter(enable ? uInt8(myFilter) | 0x10 : uInt8(myFilter) & 0x01); myFilter = Filter(enable ? uInt8(myFilter) | 0x10 : uInt8(myFilter) & 0x01);
uInt32 surfaceWidth = enable ? uInt32 surfaceWidth = enable ?
@ -305,7 +301,7 @@ void TIASurface::enableNTSC(bool enable)
mySLineSurface->setSrcSize(1, 2 * myTIA->height()); mySLineSurface->setSrcSize(1, 2 * myTIA->height());
myScanlinesEnabled = !plainVideoEnabled() && myOSystem.settings().getInt("tv.scanlines") > 0; myScanlinesEnabled = myOSystem.settings().getInt("tv.scanlines") > 0;
FBSurface::Attributes& sl_attr = mySLineSurface->attributes(); FBSurface::Attributes& sl_attr = mySLineSurface->attributes();
sl_attr.blending = myScanlinesEnabled; sl_attr.blending = myScanlinesEnabled;
sl_attr.blendalpha = myOSystem.settings().getInt("tv.scanlines"); sl_attr.blendalpha = myOSystem.settings().getInt("tv.scanlines");
@ -317,10 +313,9 @@ void TIASurface::enableNTSC(bool enable)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
string TIASurface::effectsInfo() const string TIASurface::effectsInfo() const
{ {
if (plainVideoEnabled()) return "Plain video mode";
const FBSurface::Attributes& attr = mySLineSurface->attributes(); const FBSurface::Attributes& attr = mySLineSurface->attributes();
ostringstream buf; ostringstream buf;
switch(myFilter) switch(myFilter)
{ {
case Filter::Normal: case Filter::Normal:
@ -333,12 +328,12 @@ string TIASurface::effectsInfo() const
buf << myNTSCFilter.getPreset() << ", scanlines=" << attr.blendalpha; buf << myNTSCFilter.getPreset() << ", scanlines=" << attr.blendalpha;
break; break;
case Filter::BlarggPhosphor: case Filter::BlarggPhosphor:
buf << myNTSCFilter.getPreset() << ", phosphor, scanlines=" buf << myNTSCFilter.getPreset() << ", phosphor, scanlines=" << attr.blendalpha;
<< attr.blendalpha;
break; break;
} }
buf << ", inter=" << (myOSystem.settings().getBool("tia.inter") ? "enabled" : "disabled"); buf << ", inter=" << (myOSystem.settings().getBool("tia.inter") ? "enabled" : "disabled");
buf << ", aspect correction=" << (correctAspect() ? "enabled" : "disabled");
return buf.str(); return buf.str();
} }
@ -524,6 +519,6 @@ void TIASurface::updateSurfaceSettings()
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool TIASurface::plainVideoEnabled() const { bool TIASurface::correctAspect() const {
return myOSystem.settings().getBool("tia.plain_video"); return myOSystem.settings().getBool("tia.correct_aspect");
} }

View File

@ -184,7 +184,7 @@ class TIASurface
uInt32 averageBuffers(uInt32 bufOfs); uInt32 averageBuffers(uInt32 bufOfs);
// Is plain video mode enabled? // Is plain video mode enabled?
bool plainVideoEnabled() const; bool correctAspect() const;
private: private:
// Enumeration created such that phosphor off/on is in LSB, // Enumeration created such that phosphor off/on is in LSB,