finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
915 stars 360 forks source link

Default Blitter/BithDepth issue for fullscreen #1090

Closed ghost closed 2 years ago

ghost commented 2 years ago

FB Neo 1.0.0.03 night build 23 june 2022 Game: Akai Katana Full screen bitdepth is automatically determined and set in menu as 32 bit. Resolution 1920x1080. Default is blitter SoftX. When try to switch to fullscreen it gives error 1920x1080x16bit. Changing bitdepth doesn't help. But if you switch blitter to experimental DirectX 9 it switches to fullscreen normally.

dinkc64 commented 2 years ago

Hi makushima, ddraw blitters (softfx & basic blitter) are incapable of hd (or +) resolutions for fullscreen, with some gfx cards. Please attach your ini file here (config/fbneo*.ini) and I'll try to see if perhaps the problem is something else.

best regards,

ghost commented 2 years ago

image

// FinalBurn Neo v1.0.0.03 --- Main Config File

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

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

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

// (Horizontal Oriented) The display mode to use for fullscreen nVidHorWidth 1920 nVidHorHeight 1080

// The aspect ratio of the (Horizontal Oriented) monitor nVidScrnAspectX 16 nVidScrnAspectY 9

// (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 640 VidPreset[0].nHeight 480 VidPreset[1].nWidth 1024 VidPreset[1].nHeight 768 VidPreset[2].nWidth 1280 VidPreset[2].nHeight 960 VidPreset[3].nWidth 1920 VidPreset[3].nHeight 1080

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

// (Vertical Oriented) The display mode to use for fullscreen nVidVerWidth 1920 nVidVerHeight 1080

// The aspect ratio of the (Vertical Oriented) monitor nVidVerScrnAspectX 16 nVidVerScrnAspectY 9

// (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 640 VidPresetVer[0].nHeight 480 VidPresetVer[1].nWidth 1024 VidPresetVer[1].nHeight 768 VidPresetVer[2].nWidth 1280 VidPresetVer[2].nHeight 960 VidPresetVer[3].nWidth 1920 VidPresetVer[3].nHeight 1080

// (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 499 nWindowPosY 15

// 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 0

// Monitor for Horizontal Games (GDI Identifier) HorScreen

// Monitor for Vertical Games (GDI Identifier) VerScreen

// 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 synchronise to DWM on Windows 7+, this fixes frame stuttering problems. bVidDWMSync 0

// 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 0

// Maximum scanline intensity nVidScanIntensity 12566463

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

// The selected blitter module nVidSelect 3

// Options for the blitter modules nVidBlitterOpt[0] 0 nVidBlitterOpt[1] 0,000000 nVidBlitterOpt[2] 2 nVidBlitterOpt[3] 0 nVidBlitterOpt[4] 0

// If non-zero, attempt to auto-detect the monitor resolution and aspect ratio bMonitorAutoCheck 1

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

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

// If non-zero, enable run-ahead mode for the reduction of input lag bRunAhead 0

// --- 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 1

// --- 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

// Active HardFX shader effect nVidDX9HardFX 0

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

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

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

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

// The selected audio plugin nAudSelect 0

// Audio Volume nAudVolume 10000

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

// The order of PCM/ADPCM interpolation nInterpolation 1

// The order of FM interpolation nFMInterpolation 0

// --- 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] 44100

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

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

// The filename of the placeholder image to use (empty filename = use built-in) szPlaceHolder

// 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 process priority for the application. Do NOT edit this manually nAppProcessPriority 32

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

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

// 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 549

// Load game dialog options nLoadMenuShowX 17179869119 nLoadMenuShowY 268435456 nLoadMenuExpand 17

// Load game dialog board type filter options nLoadMenuBoardTypeFilter 0

// Load game dialog genre filter options nLoadMenuGenreFilter 0

// Load game dialog favorites filter options nLoadMenuFavoritesFilter 0

// Load game dialog family filter options nLoadMenuFamilyFilter 0

// The paths to search for rom zips (include trailing backslash) szAppRomPaths[0] C:\Games\DodonpachiSaidaioujou\0.239r81506x64\roms\ szAppRomPaths[1] szAppRomPaths[2] szAppRomPaths[3] szAppRomPaths[4] roms/channelf/ szAppRomPaths[5] roms/ngp/ szAppRomPaths[6] roms/nes/ szAppRomPaths[7] roms/fds/ szAppRomPaths[8] roms/spectrum/ szAppRomPaths[9] roms/msx/ szAppRomPaths[10] roms/sms/ szAppRomPaths[11] roms/gamegear/ szAppRomPaths[12] roms/sg1000/ szAppRomPaths[13] roms/coleco/ szAppRomPaths[14] roms/tg16/ szAppRomPaths[15] roms/sgx/ szAppRomPaths[16] roms/pce/ szAppRomPaths[17] roms/megadrive/ szAppRomPaths[18] roms/arcade/ 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 support/previews/ szAppTitlesPath support/titles/ szAppCheatsPath support/cheats/ szAppHiscorePath support/hiscores/ szAppSamplesPath support/samples/ szAppHDDPath support/hdd/ szAppIpsPath support/ips/ szAppIconsPath support/icons/ szNeoCDCoverDir support/neocdz/ szAppBlendPath support/blend/ szAppSelectPath support/select/ szAppVersusPath support/versus/ szAppScoresPath support/scores/ szAppBossesPath support/bosses/ szAppGameoverPath support/gameover/ szAppFlyersPath support/flyers/ szAppMarqueesPath support/marquees/ szAppControlsPath support/cpanel/ szAppCabinetsPath support/cabinets/ szAppPCBsPath support/pcbs/ szAppHistoryPath support/history/ szAppEEPROMPath config/games/

// 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, enable the high resolution system timer. bEnableHighResTimer 1

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

// If non-zero, create support folders at program start. bAlwaysCreateSupportFolders 1

// If non-zero, load game selection dialog at program start. bAutoLoadGameList 0

// Auto-Fire Rate, non-linear - use the GUI to change this setting! nAutoFireRate 12

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

// If non-zero, enable alpha blending support. bBurnUseBlend 1

// If non-zero, enable gear shifter display support. BurnShiftEnabled 1

// If non-zero, enable lightgun reticle display support. bBurnGunDrawReticles 1

// If non-zero, DISABLE start-up rom scan (if needed). bSkipStartupCheck 0

// If non-zero, enable SlowMo T.A. [0 - 4] nSlowMo 0

// If non-zero, enable 1x - 3x pixel output for the AVI writer. nAvi3x 1

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

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

// If non-zero, display drivers icons for parents only (use if all icons causes UI issues). bIconsOnlyParents 1

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

// Previous games list. szPrevGames[0] akatana szPrevGames[1] pinkswts szPrevGames[2] ddpsdoj szPrevGames[3] szPrevGames[4] szPrevGames[5] szPrevGames[6] szPrevGames[7] szPrevGames[8] szPrevGames[9]

// Player default controls, number is the index of the configuration in the input dialog nPlayerDefaultControls[0] 0 szPlayerDefaultIni[0] nPlayerDefaultControls[1] 1 szPlayerDefaultIni[1] nPlayerDefaultControls[2] 2 szPlayerDefaultIni[2] nPlayerDefaultControls[3] 3 szPlayerDefaultIni[3]

ghost commented 2 years ago

It is fine if it doesn't work. It is little bit inconsistent. I didn't changed any settings except controls. Default automatic settings for fullscreen looks correct in menu but user cannot switch to full screen. Maybe fullscreen option should be grayed in such configuration?

ghost commented 2 years ago

windows 10, geforce gtx 965m

dinkc64 commented 2 years ago

well, 1920x1080x 32 or 16bpp works fine with ddraw on my system, but on some gfx cards don't allow ddraw (which is very outdated method for blit) to run at this resolution. There's no way to know if it will be possible without actually trying to go fullscreen first. I think its simply a bug in the error dialog saying 16bpp when it's actually 32bpp, though.

dinkc64 commented 2 years ago

Looking at the debug log it appears to try 32bpp (configured) first, when it fails it tries 16bpp, but that also fails, so the dialog comes up saying it 16bpp. I think SoftFX is the only blitter that will try a lower bpp when 32bpp fails.

ghost commented 2 years ago

OK. it makes sense now.