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 option to disable all scaling and postprocessing.
* Added option to disable aspect correct scaling.
* Replaced "Re-disassemble" with "Disassemble @ current line" in debugger.

View File

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

View File

@ -623,7 +623,7 @@ FBInitStatus Console::initializeVideo(bool full)
if(full)
{
uInt32 width, height;
if (myOSystem.settings().getBool("tia.plain_video")) {
if (myOSystem.settings().getBool("tia.correct_aspect")) {
width = 2 * myTIA->width();
height = myTIA->height();
} 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
mySurfaceList.push_back(createSurface(w, h, interpolation, data));

View File

@ -57,7 +57,7 @@ Settings::Settings()
setPermanent("tia.fs_overscan", "0");
setPermanent("tia.vsizeadjust", 0);
setPermanent("tia.dbgcolors", "roygpb");
setTemporary("tia.plain_video", "false");
setTemporary("tia.correct_aspect", "true");
// Palette options
setPermanent("palette", PaletteHandler::SETTING_STANDARD);
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.dbgcolors <string> Debug colors to use for each object (see manual\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
<< " -tv.filter <0-5> Set TV effects off (0) or to specified mode\n"
<< " (1-5)\n"

View File

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

View File

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