Author Topic: Full-screen, 'correct aspect ratio' stretch, but have black borders at all sides  (Read 11174 times)

Offline galacticninja

  • New Member
  • *
  • Posts: 9
  • Karma: +0/-1
I'm playing with a 1366x768 (16:9) native resolution LCD monitor. I would like to set FBA to run at full-screen, and correct aspect ratio stretch settings, but I still get black borders at all sides including the top and bottom. AFAIK, I should only get black borders at the left and right sides of the screen if I stretch a 4:3 aspect ratio screen to fill a 16:9 monitor, while maintaining its aspect ratio. (I'd take a screenshot but both FBA and FRAPS can't properly take a screenshot at fullscreen. FBA captures a 384x224 image, while FRAPS captures a black screen.)

I tried the Enhanced (Direct3D7) blitter and the Experimental (DirectX Graphics 9) blitter, but the results are the same. I only tried those two blitters as I would like to play with scanlines enabled (default intensity settings).

My OS is Windows 7, 64-bit. GPU is an AMD HD 6750.

More info in my /config/FBA.ini file:
Code: [Select]
// FB Alpha v0.2.97.29 --- Main Config File

// Don't edit this file manually unless you know what you're doing
// FB Alpha will restore default settings when this file is deleted

// The application version this file was saved from
nIniVersion 0x029729


// --- emulation --------------------------------------------------------------

// If non-zero, use A68K for MC68000 emulation
bBurnUseASMCPUEmulation 1



// --- Video ------------------------------------------------------------------

// (Horizontal Oriented) The display mode to use for fullscreen
nVidHorWidth 1366
nVidHorHeight 768

// (Horizontal Oriented) If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderesHor 0

// (Horizontal Oriented) The preset resolutions appearing in the menu
VidPreset[0].nWidth 400
VidPreset[0].nHeight 300
VidPreset[1].nWidth 640
VidPreset[1].nHeight 480
VidPreset[2].nWidth 1024
VidPreset[2].nHeight 768
VidPreset[3].nWidth 1280
VidPreset[3].nHeight 960

// (Horizontal Oriented) Full-screen size (0 = use display mode variables)
nScreenSizeHor 0

// (Vertical Oriented) The display mode to use for fullscreen
nVidVerWidth 1366
nVidVerHeight 768

// (Vertical Oriented) If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderesVer 0

// (Vertical Oriented) The preset resolutions appearing in the menu
VidPresetVer[0].nWidth 400
VidPresetVer[0].nHeight 300
VidPresetVer[1].nWidth 640
VidPresetVer[1].nHeight 480
VidPresetVer[2].nWidth 1024
VidPresetVer[2].nHeight 768
VidPresetVer[3].nWidth 1280
VidPresetVer[3].nHeight 960

// (Vertical Oriented) Full-screen size (0 = use display mode variables)
nScreenSizeVer 0

// Full-screen bit depth
nVidDepth 32

// Specify the refresh rate, 0 = default (changing this will not work with many video cards)
nVidRefresh 0

// If non-zero, do not rotate the graphics for vertical games
nVidRotationAdjust 0

// Initial window size (0 = autosize)
nWindowSize 0

// Window position
nWindowPosX 200
nWindowPosY 4

// If non-zero, perform gamma correction
bDoGamma 0

// If non-zero, use the video hardware to correct gamma
bVidUseHardwareGamma 1

// If non-zero, don't fall back on software gamma correction
bHardwareGammaOnly 1

// Gamma to correct with
nGamma 1.250000

// If non-zero, auto-switch to fullscreen after loading game
bVidAutoSwitchFull 1

// If non-zero, allow stretching of the image to any size
bVidFullStretch 0

// If non-zero, stretch the image to the largest size preserving aspect ratio
bVidCorrectAspect 1

// If non-zero, try to use a triple buffer in fullscreen
bVidTripleBuffer 1

// If non-zero, try to synchronise blits with the display
bVidVSync 1

// If non-zero, try to enable custom DWM parameters on Windows 7, this fixes frame stuttering problems.
bVidDWMCore 1

// Transfer method:  0 = blit from system memory / use driver/DirectX texture management;
//                   1 = copy to a video memory surface, then use bltfast();
//                  -1 = autodetect for DirectDraw, equals 1 for Direct3D
nVidTransferMethod 1

// If non-zero, draw scanlines to simulate a low-res monitor
bVidScanlines 1

// Maximum scanline intensity
nVidScanIntensity 9211020

// If non-zero, rotate scanlines and RGB effects for rotated games
bVidScanRotate 1

// The selected blitter module
nVidSelect 1

// Options for the blitter modules
nVidBlitterOpt[0] 0
nVidBlitterOpt[1] 33554440.000000
nVidBlitterOpt[2] 0
nVidBlitterOpt[3] 1107296257
nVidBlitterOpt[4] 32

// If non-zero, attempt to auto-detect the monitor aspect ratio
bMonitorAutoCheck 0

// The aspect ratio of the monitor
nVidScrnAspectX 16
nVidScrnAspectY 9

// If non-zero, force all games to use a 60Hz refresh rate
bForce60Hz 0

// If non-zero, skip frames when needed to keep the emulation running at full speed
bAlwaysDrawFrames 1

// --- DirectDraw blitter module settings -------------------------------------

// If non-zero, draw scanlines at 50% intensity
bVidScanHalf 1

// If non-zero, force flipping for games that need it
bVidForceFlip 0

// --- Direct3D 7 blitter module settings -------------------------------------

// If non-zero, use bi-linear filtering to display the image
bVidBilinear 1

// If non-zero, simulate slow phosphors (feedback)
bVidScanDelay 0

// If non-zero, use bi-linear filtering for the scanlines
bVidScanBilinear 1

// Feedback amount for slow phosphor simulation
nVidFeedbackIntensity 64

// Oversaturation amount for slow phosphor simulation
nVidFeedbackOverSaturation 0

// Angle at wich the emulated screen is tilted (in radians)
fVidScreenAngle 0.174533

// Angle of the sphere segment used for the 3D screen (in radians)
fVidScreenCurvature 0.698132

// If non-zero, force 16 bit emulation even in 32-bit screenmodes
bVidForce16bit 0

// --- DirectX Graphics 9 blitter module settings -----------------------------

// The filter parameters for the cubic filter
dVidCubicB 0.000000
dVidCubicC 0.000000

// --- DirectX Graphics 9 Alt blitter module settings -------------------------

// If non-zero, use bi-linear filtering to display the image
bVidDX9Bilinear 1

// If non-zero, use hardware vertex to display the image
bVidHardwareVertex 0

// If non-zero, use motion blur to display the image
bVidMotionBlur 0



// --- Sound ------------------------------------------------------------------

// The selected audio plugin
nAudSelect 0

// Number of frames in sound buffer (= sound lag)
nAudSegCount 6

// The order of PCM/ADPCM interpolation
nInterpolation 3

// The order of FM interpolation
nFMInterpolation 3

// --- DirectSound plugin settings --------------------------------------------

// Sample rate
nAudSampleRate[0] 44100

// DSP module to use for sound enhancement: 0 = none, 1 = low-pass filter
nAudDSPModule[0] 0

// --- XAudio2 plugin settings ------------------------------------------------

// Sample rate
nAudSampleRate[1] 22050

// DSP module to use for sound enhancement: 0 = none, 1 = low-pass filter, 2 = reverb
nAudDSPModule[1] 0



// --- UI ---------------------------------------------------------------------

// Filename of the active UI translation template
szLocalisationTemplate

// Filename of the active gamelist translation template
szGamelistLocalisationTemplate

// If non-zero, enable gamelist localisation
nGamelistLocalisationActive 0

// 1 = display pause/record/replay/kaillera icons in the upper right corner of the display
nVidSDisplayStatus 1

// Minimum height (in pixels) of the font used for the Kaillera chat function (used for arcade resolution)
nMinChatFontSize 12

// Maximum height (in pixels) of the font used for the Kaillera chat function (used for 1280x960 or higher).
nMaxChatFontSize 36

// Make the menu modeless
bModelessMenu 0

// Minimum length of time to display the splash screen (in milliseconds)
nSplashTime 1500

// If non-zero, load and save all ram (the state)
bDrvSaveAll 0

// The thread priority for the application. Do *NOT* edit this manually
nAppThreadPriority 0

// If non-zero, process keyboard input even when the application loses focus
bAlwaysProcessKeyboardInput 0

// If non-zero, pause when the application loses focus
bAutoPause 0

// If non-zero, save the inputs for each game
bSaveInputs 1



// --- CD emulation -----------------------------------------------------------

 // The selected CD emulation module
nCDEmuSelect 0

 // The path to the CD image to use (.cue or .iso)
CDEmuImage



// --- Load Game Dialogs ------------------------------------------------------

// Load game dialog dimensions (in win32 client co-ordinates)
nSelDlgWidth 734
nSelDlgHeight 550

// Load game dialog options
nLoadMenuShowX 1343488000

// Load game dialog board type filter options
nLoadMenuBoardTypeFilter 0

// Load game dialog genre filter options
nLoadMenuGenreFilter 0

// Load game dialog family filter options
nLoadMenuFamilyFilter 0

// The paths to search for rom zips (include trailing backslash)
szAppRomPaths[0] C:\FBA\roms\
szAppRomPaths[1]
szAppRomPaths[2]
szAppRomPaths[3]
szAppRomPaths[4]
szAppRomPaths[5]
szAppRomPaths[6]
szAppRomPaths[7] roms\
szAppRomPaths[8]
szAppRomPaths[9]
szAppRomPaths[10]
szAppRomPaths[11]
szAppRomPaths[12]
szAppRomPaths[13]
szAppRomPaths[14]
szAppRomPaths[15]
szAppRomPaths[16]
szAppRomPaths[17]
szAppRomPaths[18]
szAppRomPaths[19] roms/

// The path to search for Neo Geo CDZ isos
szNeoCDGamesDir /neocdiso/

// The paths to search for support files (include trailing backslash)
szAppPreviewsPath previews\
szAppTitlesPath titles\
szAppCheatsPath cheats\
szAppHiscorePath support\hiscores\
szAppSamplesPath support/samples/
szAppIpsPath ips\
szAppIconsPath icons\
szNeoCDCoverDir support/neocdz/

// The cartridges to use for emulation of an MVS system
nBurnDrvSelect[0] (null)
nBurnDrvSelect[1] (null)
nBurnDrvSelect[2] (null)
nBurnDrvSelect[3] (null)
nBurnDrvSelect[4] (null)
nBurnDrvSelect[5] (null)

// Neo Geo CD Load Game Dialog options
bNeoCDListScanSub 0
bNeoCDListScanOnlyISO 0



// --- miscellaneous ---------------------------------------------------------

// If non-zero, don't change the status of the Num Lock key.
bNoChangeNumLock 0

// If non-zero, enable high score saving support.
EnableHiscores 1

// The language index to use for the IPS Patch Manager dialog.
nIpsSelectedLanguage 0

// If non-zero, display drivers icons.
bEnableIcons 0

// Specify icons display size, 0 = 16x16 , 1 = 24x24, 2 = 32x32.
nIconsSize 0

// Previous games list.
szPrevGames[0] ffight
szPrevGames[1] armwar
szPrevGames[2] dino
szPrevGames[3] megaman2
szPrevGames[4] captcomm
szPrevGames[5] avspu
szPrevGames[6] redearth
szPrevGames[7] ssriders
szPrevGames[8] gigawing
szPrevGames[9] 19xx

// Player default controls, number is the index of the configuration in the input dialog
nPlayerDefaultControls[0] 32
szPlayerDefaultIni[0] config\presets\
nPlayerDefaultControls[1] 1
szPlayerDefaultIni[1]
nPlayerDefaultControls[2] 2
szPlayerDefaultIni[2]
nPlayerDefaultControls[3] 3
szPlayerDefaultIni[3]
« Last Edit: February 26, 2014, 12:25:25 PM by galacticninja »

Offline knottymouse

  • New Member
  • *
  • Posts: 2
  • Karma: +0/-0
I take it there is no solution to this?

I'm in the exact same situation and the windowboxing of a 4:3 image on a 16:9 monitor is incorrect.  Scaling should provide a pillarbox image not a windowbox one.


Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
The problem happens here, too.  Would be nice to have a stretch-to-fit fullscreen & keep aspect ratio on fullscreen feature, eh? :)

best regards,
- dink

Offline Romhack

  • Expert
  • *****
  • Posts: 92
  • Karma: +49/-0
On my laptop [1366x768 (16:9)] FBA refuses to go fullscreen, returning some random WidthxHeightxDepth message box... :S

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
On my laptop [1366x768 (16:9)] FBA refuses to go fullscreen, returning some random WidthxHeightxDepth message box... :S

Romhack, it does this when the api for going fullscreen returns an error - usually because the fullscreen width/height or bitdepth is set wrong.

Offline Famicom

  • New Member
  • *
  • Posts: 1
  • Karma: +0/-0
Yeah, fullscreen works the same way for me too. It didn't happen in the past. We may be doing something wrong, though. Otherwise, I think they broke something in the latest versions.

Cheers.

Offline henrikes

  • New Member
  • *
  • Posts: 1
  • Karma: +0/-0
Any solution to this issue?

I have the same issue and i cant really understand whats the problem..

-----------------

Forget it.... just tried the latest build
« Last Edit: September 29, 2019, 02:09:59 PM by henrikes »