Dosbox on pi 4, game window is fullscreen but not centered on screen
-
@quicksilver Very nice workaround, it takes just some time for my projector to adapt the display resolution but as it is automatic, fine for me :-) Thanks !
I even had to slow some games... :-D
-
@quicksilver
The resoltion on tv info says 1920x1080p
so that must be the issue that its not switching and the scripts not activated.
i have them in correct location, do i need to do anything with them before running games.
Sorry took along time to respond
Thanks
Sim -
@Simrose try this: drop to the command line (press f4 if youre in emulation station) and type
tvservice -m DMT
Post the output here.
Also do
tvservice -m CEA
And post the output here
-
-
@Simrose Ok, so now we know that your TV should support DMT mode 4. Can you verify that your
runcommand-onend.sh
andruncommand-onstart.sh
are named correctly? Can you verify that they are located at/opt/retropie/configs/all/
? Can you post the content of each file? -
runcommand-onend.sh contains
#! /usr/bin/env bash
echo "Hello logfile - runcommand-onend checking in here" >&2
#START DOSBOX SECTION - SNIP HERE IF PASTING INTO EXISITNG SCRIPT
if [ $2 = "dosbox" ]
then
echo "Reverting display back to preferred mode" >&2
tvservice -p
fi
#END DOSBOX SECTION
runcommand-onstart.sh file contanins
#! /usr/bin/env bash
echo "Hello logfile - runcommand-onstart checking in here" >&2
#START DOSBOX SECTION - SNIP CONTENTS IF PASTING INTO EXISTING SCRIPT
if [ $2 = "dosbox" ]
then
echo "dosbox detected - changing video mode to 640x480@60hz" >&2
tvservice -e "DMT 4"
fi
#END DOSBOX SECTION -
@Simrose in the start script try changing
tvservice -e "DMT 4"
to
tvservice -e "CEA 1"
also, can you run a dosbox game, quit the game. Then post the contents of
/dev/shm/runcommand.log
? -
@quicksilver said in Dosbox on pi 4, game window is fullscreen but not centered on screen:
CEA 1
/opt/retropie/configs/all/runcommand-onstart.sh: line 10: syntax error: unexpected end of file
Parameters:
Executing: bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox.sh "/home/pi/RetroPie/roms/pc/arkanoid.conf"
/etc/timidity/fluidr3_gm.cfg: No such file or directory
timidity: Error reading configuration file.
Please check /etc/timidity/timidity.cfg
DOSBox version SVN
Copyright 2002-2019 DOSBox Team, published under GNU GPL.CONFIG: Loading primary settings from config file /home/pi/.dosbox/dosbox-SVN.conf
CONFIG: Loading additional settings from config file /home/pi/RetroPie/roms/pc/arkanoid.conf
ALSA:Client initialised [128:0]
MIDI: Opened device:alsa
Two or more joysticks reported, initializing with 2axis
Using joystick Wireless Controller with 6 axes, 13 buttons and 1 hat(s)
Using joystick Wireless Controller with 6 axes, 13 buttons and 1 hat(s)
timidity: no process found
/opt/retropie/configs/all/runcommand-onend.sh: line 10: syntax error: unexpected end of fileI tried both modes DMT 4, CEA 1
still the same.
Thanks
Sim -
Something is wrong with the formatting of your scripts. I suspect you have windows style line endings instead of Unix style. Delete your scripts and download and just use mine exactly as they are.
https://mega.nz/folder/ddJTWKaZ#JQV_WCprVMAP77qRnlGmEg
In the future when you write a script that is intended to be used on a Linux machine, make sure you use a program like notepad++ with formating set to Unix.
-
Thanks I'm just waiting to get a chance to try and will let you know. I was using notepad ++ but didn't change format thanks for the tip. I never experimented with them before.
Sim -
@quicksilver I am using your scripts and still no good. I can see the script message now and the game does play but the video is small in top left and rest of the screen is a graphical mess. I have no idea why. I really want to get it working.
Thanks SimHello logfile - runcommand-onstart checking in here
dosbox detected - changing video mode to 640x480@60hz
Parameters:
Executing: bash /home/pi/RetroPie/roms/pc/+Start\ DOSBox.sh "/home/pi/RetroPie/roms/pc/arkanoid.conf"
/etc/timidity/fluidr3_gm.cfg: No such file or directory
timidity: Error reading configuration file.
Please check /etc/timidity/timidity.cfg
DOSBox version SVN
Copyright 2002-2019 DOSBox Team, published under GNU GPL.CONFIG: Loading primary settings from config file /home/pi/.dosbox/dosbox-SVN.conf
CONFIG: Loading additional settings from config file /home/pi/RetroPie/roms/pc/arkanoid.conf
ALSA:Client initialised [128:0]
MIDI: Opened device:alsa
One joystick reported, initializing with 4axis
Using joystick Wireless Controller with 6 axes, 13 buttons and 1 hat(s)
timidity: no process found
Hello logfile - runcommand-onend checking in here
Reverting display back to preferred mode -
@Simrose are you using these settings in your arkanoid.conf?
fullscreen = true fulldouble = false fullresolution = original windowresolution = original output = surface autolock = true sensitivity = 100 waitonerror = true priority = higher,normal usescancodes = false frameskip = 0 aspect = true scaler = normal2x
Also when you post code or configs here on the forums put them in a code block by placing three back ticks (```) above your code and three below it. The back ticks should be on their own lines.
Also when was the last time you updated dosbox?
-
No I just thought that we just had to change the Dosbox svn like you have it above.
I just updated from source I'll try again then after that I'll try changing the Conf settings for the actual game.
Is that what I should of done before?
Should i keep in dosbox-SVN.conf
fullscreen = true
fulldouble = false
fullresolution = desktop
windowresolution = original
output = overlay
autolock = true
sensitivity = 100
waitonerror = true
priority = higher,normal
mapperfile = mapper-SVN.map
usescancodes = false
frameskip = 0
aspect = true
scaler = normal2x
Or should i restore that file to default and just change in arkanoid.confSorry
SimEdit
I added those above values to the arkanoid.conf and now the screen is much to large and doesnt fit into my resolution.The game runs but i would esitmate the top left corner of the game fills the whole screen.
thanks
Sim -
@Simrose try to restore the default dosbox-svn.conf to default and just change those settings in the arkanoid.conf.
I can post the default settings if needed. Or delete the dosbox-svn.conf right before updating dosbox and it should get replaced.
-
I kept the original but that didnt work. I deleted dosbox-svn.conf and now reinstalling so hopefully will work after that.
this is my arkanoid.conf
mount c "/home/pi/RetroPie/roms/pc/.data/arkanoid.pc"
c:
ARKANOID.COM
EXIT
fullscreen = true
fulldouble = false
fullresolution = original
windowresolution = original
output = surface
autolock = true
sensitivity = 100
waitonerror = true
priority = higher,normal
usescancodes = false
frameskip = 0
aspect = true
scaler = normal2x -
@Simrose can you post your full arkanoid.conf?
Remember put three back ticks (```) above and below it (no parentheses)
-
@quicksilver said in Dosbox on pi 4, game window is fullscreen but not centered on screen:
[autoexec] # Lines in this section will be run at startup. # You can put your MOUNT lines here. mount c "/home/pi/RetroPie/roms/pc/.data/arkanoid.pc" c: ARKANOID.COM EXIT fullscreen = true fulldouble = false fullresolution = original windowresolution = original output = surface autolock = true sensitivity = 100 waitonerror = true priority = higher,normal usescancodes = false frameskip = 0 aspect = true scaler = normal2x
-
@Simrose The formatting for your arkanoid.conf is completely wrong. Your screen settings need to be in their own
[sdl]
section. Delete the contents of your arkanoid.conf and copy/paste the entirety what I have below instead. For any other dos games using .conf files use what I have below as a template.# This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox) # Lines starting with a # are comment lines and are ignored by DOSBox. # They are used to (briefly) document the effect of each option. [sdl] # fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back) # fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox. # fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768). # Using your monitor's native resolution with aspect=true might give the best results. # If you end up with small window on a large screen, try an output different from surface.On Windows 10 with display scaling (Scale and layout) set to a value above 100%, it is recommended # to use a lower full/windowresolution, in order to avoid window size problems. # windowresolution: Scale the window to this size IF the output device supports hardware scaling. # (output=surface does not!) # output: What video system to use for output. # Possible values: surface, overlay. # autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock) # sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50). # waitonerror: Wait before closing the console if dosbox has an error. # priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized. # pause is only valid for the second entry. # Possible values: lowest, lower, normal, higher, highest, pause. # mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value. # usescancodes: Avoid usage of symkeys, might not work on all operating systems. fullscreen = true fulldouble = false fullresolution = original windowresolution = original output = surface autolock = true sensitivity = 100 waitonerror = true priority = higher,normal mapperfile = mapper-SVN.map usescancodes = false [dosbox] # language: Select another language file. # machine: The type of machine DOSBox tries to emulate. # Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe. # captures: Directory where things like wave, midi, screenshot get captured. # memsize: Amount of memory DOSBox has in megabytes. # This value is best left at its default to avoid problems with some games, # though few games might require a higher value. # There is generally no speed advantage when raising this value. language = machine = svga_s3 captures = capture memsize = 16 [render] # frameskip: How many frames DOSBox skips before drawing one. # aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down! # scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended, # then the scaler will be used even if the result might not be desired. # To fit a scaler in the resolution used at full screen may require a border or side bars, # to fill the screen entirely, depending on your hardware, a different scaler/fullresolution might work. # Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x. frameskip = 0 aspect = true scaler = normal2x [cpu] # core: CPU Core used in emulation. auto will switch to dynamic if available and # appropriate. # Possible values: auto, dynamic, normal, simple. # cputype: CPU Type used in emulation. auto is the fastest choice. # Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch. # cycles: Amount of instructions DOSBox tries to emulate each millisecond. # Setting this value too high results in sound dropouts and lags. # Cycles can be set in 3 ways: # 'auto' tries to guess what a game needs. # It usually works, but can fail for certain games. # 'fixed #number' will set a fixed amount of cycles. This is what you usually # need if 'auto' fails (Example: fixed 4000). # 'max' will allocate as much cycles as your computer is able to # handle. # Possible values: auto, fixed, max. # cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12) # cycledown: Setting it lower than 100 will be a percentage. core = dynamic cputype = auto cycles = max cycleup = 10 cycledown = 20 [mixer] # nosound: Enable silent mode, sound is still emulated though. # rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged. # Possible values: 1024, 2048, 4096, 8192, 512, 256. # prebuffer: How many milliseconds of data to keep on top of the blocksize. nosound = false rate = 44100 blocksize = 1024 prebuffer = 25 [midi] # mpu401: Type of MPU-401 to emulate. # Possible values: intelligent, uart, none. # mididevice: Device that will receive the MIDI data from MPU-401. # Possible values: default, win32, alsa, oss, coreaudio, coremidi, none. # midiconfig: Special configuration options for the device driver. This is usually the id or part of the name of the device you want to use (find the id/name with mixer/listmidi). # Or in the case of coreaudio, you can specify a soundfont here. # When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues. # In that case, add 'delaysysex', for example: midiconfig=2 delaysysex # See the README/Manual for more details. mpu401 = intelligent mididevice = alsa midiconfig = 128:0 [sblaster] # sbtype: Type of Soundblaster to emulate. gb is Gameblaster. # Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none. # sbbase: The IO address of the soundblaster. # Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300. # irq: The IRQ number of the soundblaster. # Possible values: 7, 5, 3, 9, 10, 11, 12. # dma: The DMA number of the soundblaster. # Possible values: 1, 5, 0, 3, 6, 7. # hdma: The High DMA number of the soundblaster. # Possible values: 1, 5, 0, 3, 6, 7. # sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer. # oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'. # Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none. # oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well). # Possible values: default, compat, fast, mame. # oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly). # Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000. sbtype = sb16 sbbase = 220 irq = 7 dma = 1 hdma = 5 sbmixer = true oplmode = auto oplemu = default oplrate = 44100 [gus] # gus: Enable the Gravis Ultrasound emulation. # gusrate: Sample rate of Ultrasound emulation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # gusbase: The IO base address of the Gravis Ultrasound. # Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300. # gusirq: The IRQ number of the Gravis Ultrasound. # Possible values: 5, 3, 7, 9, 10, 11, 12. # gusdma: The DMA channel of the Gravis Ultrasound. # Possible values: 3, 0, 1, 5, 6, 7. # ultradir: Path to Ultrasound directory. In this directory # there should be a MIDI directory that contains # the patch files for GUS playback. Patch sets used # with Timidity should work fine. gus = false gusrate = 44100 gusbase = 240 gusirq = 5 gusdma = 3 ultradir = C:\ULTRASND [speaker] # pcspeaker: Enable PC-Speaker emulation. # pcrate: Sample rate of the PC-Speaker sound generation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'. # Possible values: auto, on, off. # tandyrate: Sample rate of the Tandy 3-Voice generation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible). pcspeaker = true pcrate = 44100 tandy = auto tandyrate = 44100 disney = true [joystick] # joysticktype: Type of joystick to emulate: auto (default), none, # 2axis (supports two joysticks), # 4axis (supports one joystick, first joystick used), # 4axis_2 (supports one joystick, second joystick used), # fcs (Thrustmaster), ch (CH Flightstick). # none disables joystick emulation. # auto chooses emulation depending on real joystick(s). # (Remember to reset dosbox's mapperfile if you saved it earlier) # Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none. # timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away). # autofire: continuously fires as long as you keep the button pressed. # swap34: swap the 3rd and the 4th axis. Can be useful for certain joysticks. # buttonwrap: enable button wrapping at the number of emulated buttons. # circularinput: enable translation of circular input to square output. # Try enabling this if your left analog stick can only move in a circle. # deadzone: the percentage of motion to ignore. 100 turns the stick into a digital one. joysticktype = auto timed = true autofire = false swap34 = false buttonwrap = false circularinput = false deadzone = 10 [serial] # serial1: set type of device connected to com port. # Can be disabled, dummy, modem, nullmodem, directserial. # Additional parameters must be in the same line in the form of # parameter:value. Parameter for all types is irq (optional). # for directserial: realport (required), rxdelay (optional). # (realport:COM1 realport:ttyS0). # for modem: listenport (optional). # for nullmodem: server, rxdelay, txdelay, telnet, usedtr, # transparent, port, inhsocket (all optional). # Example: serial1=modem listenport:5000 # Possible values: dummy, disabled, modem, nullmodem, directserial. # serial2: see serial1 # Possible values: dummy, disabled, modem, nullmodem, directserial. # serial3: see serial1 # Possible values: dummy, disabled, modem, nullmodem, directserial. # serial4: see serial1 # Possible values: dummy, disabled, modem, nullmodem, directserial. serial1 = dummy serial2 = dummy serial3 = disabled serial4 = disabled [dos] # xms: Enable XMS support. # ems: Enable EMS support. The default (=true) provides the best # compatibility but certain applications may run better with # other choices, or require EMS support to be disabled (=false) # to work at all. # Possible values: true, emsboard, emm386, false. # umb: Enable UMB support. # keyboardlayout: Language code of the keyboard layout (or none). xms = true ems = true umb = true keyboardlayout = auto [ipx] # ipx: Enable ipx over UDP/IP emulation. ipx = false [autoexec] # Lines in this section will be run at startup. # You can put your MOUNT lines here. mount c "/home/pi/RetroPie/roms/pc/.data/arkanoid.pc" c: ARKANOID.COM EXIT
-
That is so kind of you. It is working now with your settings. I will do the same for each game.
I am so happy :-)
Thanks
Sim -
@Simrose Im glad we finally got it sorted it for you! Happy gaming! :D
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.