PDA

View Full Version : xxxx in 1 - aspect ratio change for vertical shooters



Pauly404
6th November 2009, 09:38 AM
I am running an xxxx in 1 killer edition with a 2.8 P4.

It is awesome and every game works (expect Soul Edge and Tekken 2 which are a bit slow)

I have made changes to game lists using the great help here: http://www.aussiearcade.com/showthread.php?t=13704


There are about 10 vertical shooters that stretch to full screen (4:3). Does anyone know how to change the aspect ratio for these to 3:4?

One example is DoDonPachi. The .ini files I get are below:


Here is the FB Alpha i586.ini file

// FB Alpha v0.2.94.98 --- 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 0x029498


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

// The display mode to use for fullscreen
nVidWidth 640
nVidHeight 480
nVidDepth 16

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

// If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderes 0

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

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

// Full-screen size (0 = use display mode variables)
nScreenSize 0

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

// Window position
nWindowPosX 164
nWindowPosY 99

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

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

// If non-zero, try to use a triple buffer in fullscreen
bVidTripleBuffer 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 0

// 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] 1124073472
nVidBlitterOpt[2] 0

// The aspect ratio of the monitor
nVidScrnAspectX 4
nVidScrnAspectY 3

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

// If non-zero, use a placeholder image when no game is loaded
bVidUsePlaceholder 1

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

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

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

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

// Maximum scanline intensity
nVidScanIntensity 12566463

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



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

// Sample rate
nAudSampleRate 22050

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

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

// The order of PCM/ADPCM interpolation
nInterpolation 1

// The order of FM interpolation
nFMInterpolation 0



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

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

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

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

// --- Load Game Dialog -------------------------------------------------------

// Which systems to show ROMs for.
nLoadMenuShowX 0

// If non-zero, show all clones
bLoadMenuAutoExpand 0

// If non-zero, show only available ROMsets
bAvbOnly 1

// The paths to search for rom zips. (include trailing backslash)
szAppRomPaths[0] roms\
szAppRomPaths[1]
szAppRomPaths[2]
szAppRomPaths[3]
szAppRomPaths[4]
szAppRomPaths[5]
szAppRomPaths[6]
szAppRomPaths[7]



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

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




Here is the ddonpach.ini file:

// FB Alpha v0.2.94.98 --- Config File for ddonpach (DoDonpachi (1997 2/5 master ver, international))

// --- Miscellaneous ----------------------------------------------------------

version 0x029498

analog 0x0100
cpu 0x0100



// --- Inputs -----------------------------------------------------------------

input "P1 Coin" switch 0x06
input "P1 Start" switch 0x4086
input "P1 Up" switch 0x4002
input "P1 Down" switch 0x4003
input "P1 Left" switch 0x4000
input "P1 Right" switch 0x4001
input "P1 Button 1" switch 0x4080
input "P1 Button 2" switch 0x4081
input "P1 Button 3" switch 0x4082
input "P2 Coin" switch 0x07
input "P2 Start" switch 0x4186
input "P2 Up" switch 0x4102
input "P2 Down" switch 0x4103
input "P2 Left" switch 0x4100
input "P2 Right" switch 0x4101
input "P2 Button 1" switch 0x4180
input "P2 Button 2" switch 0x4181
input "P2 Button 3" switch 0x4182
input "Reset" switch 0x3D
input "Diagnostics" switch 0x3C
input "Service" switch 0x0A


Here is the play.ini file

// FB Alpha v0.2.96.75 --- 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 0x029675


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

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



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

// The display mode to use for fullscreen
nVidWidth 640
nVidHeight 480
nVidDepth 16

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

// If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderes 0

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

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

// Full-screen size (0 = use display mode variables)
nScreenSize 0

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

// Window position
nWindowPosX 93
nWindowPosY 5

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

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

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

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

// If non-zero, try to synchronise blits with the display
bVidVSync 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 0

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

// The aspect ratio of the monitor
nVidScrnAspectX 4
nVidScrnAspectY 3

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

// If non-zero, use a placeholder image when no game is loaded
bVidUsePlaceholder 1

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

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

// If non-zero, draw scanlines at 50% intensity
bVidScanHalf 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.000000

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

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

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

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



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

// Sample rate
nAudSampleRate 11025

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

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

// The order of PCM/ADPCM interpolation
nInterpolation 1

// The order of FM interpolation
nFMInterpolation 0



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

// Filename of the active UI translation template
szLocalisationTemplate

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

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

// --- Load Game Dialog -------------------------------------------------------

// Load game dialog options
nLoadMenuShowX 0

// The paths to search for rom zips (include trailing backslash)
szAppRomPaths[0] C:\game_rom\roms\
szAppRomPaths[1]
szAppRomPaths[2]
szAppRomPaths[3]
szAppRomPaths[4]
szAppRomPaths[5]
szAppRomPaths[6]
szAppRomPaths[7] roms\



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

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

Scratch2k
6th November 2009, 12:47 PM
Just do this, a few changes in your mame.ini will solve all stretching problems:

http://www.xxxx-in-1.com/modules.php?name=Forums&file=viewtopic&t=6

Pauly404
6th November 2009, 02:48 PM
Thanks for the link - great help :)

I still have aproblem.

My Mame.ini file is different to those shown in the link. I'll do some more research...... Any more advice would be great!


Here is my Mame.ini

### mame .ini ###

### (Global) Screen-Saver Options ###
delay 0
slide_duration 3

### Audio Options ###
enable_sounds 1
sound_volume 100
music_path
enable_music 1
music_volume 100

### Movie Options ###
intro_movie_file
exit_movie_file
keep_movie_preview_aspect game_aspect
delay_before_movie_preview 2
music_movie_mix mute_movies
movie_volume 100

### Misc Options ###
layout default
ctrlr
wrap_list 0
keep_image_aspect 0
refresh_images 0
correct_orientations horizontal
show_cursor 0
winipac_file
mamewin_ipc_file
lcd_com_port 1
lcd_settings
exit_action choice

### Settings used by mamewin ###
current_emulator game
locked 0
last_ipc

Pauly404
9th November 2009, 11:29 AM
An Update.

I changed the keep_image_aspect setting in the mame.ini file (shown above) from 0 to 1.

This changed the aspect ratio shown in the menu system to show vertical games 3:4 instead of 4:3 (stretched).

However, the 10 (approx) vertical games that I am having problems with (stretched) are still opening stretched.

Any ideas

Pauly404
10th November 2009, 09:39 AM
Last night I spent 3 hours adjusting settings (stretching and aspect ratio) in .ini files. No luck. Any advice would be great......

felixthadog
10th November 2009, 09:47 AM
Since you are running an xxxx-in-1, this may not work but I thought I would post it just in case:

============
Create an .ini file for the game in question e.g. 1941.ini

Edit the ini file and put the following lines in it:

hwstretch 1
resolution 384x224
switchres 0
keepaspect 0
volume 0
skip_gameinfo 0
skip_validitychecks 0

Save the file in the ini directory under MAME e.g. C:\MAME\ini\1941.ini

=============
Matthew

Pauly404
13th November 2009, 03:32 PM
Thanks I'll give this a try and let you know how it goes :)

Pauly404
18th November 2009, 02:12 PM
No luck yet. I might give up...... I can live with 10 stretched games

felixthadog
18th November 2009, 02:26 PM
No luck yet. I might give up...... I can live with 10 stretched games

What version of MAME is it? :unsure

Matthew