joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.64k stars 374 forks source link

Dosbox-x always opens in window mode when launched from a batch file #2643

Open Focus78 opened 3 years ago

Focus78 commented 3 years ago

Describe the bug 0.83.15 always opens in window mode when launched from a batch file despite "fullscreen = true" being set in the config file. The behavior is correct with the SDL2 version but then any game running with a soundfont has the music all screwed up.

To Reproduce Launch a game with dosbox-x from a batch file.

Expected behavior If the flag "fullscreen = true" is set in the config file then it should always open in fullscreen.

Environment (please complete the following information): Windows 0.83.15

Wengier commented 3 years ago

I cannot really reproduce this issue. You can try start DOSBox-X with -fs (-fullscreen) option and see if it works.

Focus78 commented 3 years ago

I experience no change adding the "-fs" command line option to the batch file.

Try launching glovepie from the same batchfile prior to dosbox-x. I use it to remap keys that some games don't provide the option to natively. Maybe you can reproduce it that way.

Focus78 commented 3 years ago

This is still not resolved nor was it acknowledged why this behavior is only occurring with the SDL1 build and not the SDL2 build. I provided exactly how to reproduce the problem in case it was missed.

Wengier commented 3 years ago

@Focus78 I guess this issue may only be reproduceable on very specific setups, which I may try later. In your case why not try the SDL2 build then if it works for you?

Focus78 commented 3 years ago

Because as I already mentioned, the SDL2 build distorts playback when utilitizing soundfonts. The MIDI music is essentially screwed up at various points in each track...

Wengier commented 3 years ago

@Focus78 Can you try maximized-window mode instead and see if it works for you? Maximized-window mode is similar to full-screen mode except that the title bar and menu bar are visible, and can be enabled with the config option in [sdl] section:

maximize = true

Hope this helps.

Focus78 commented 3 years ago

There was no "maximize" option by default in the config so I added it under the [SDL} header with the flag set to true. There is no change from the behavior previously described of dosbox-x launching minimized still.

Did you recreate the scenario I explained above with glovepie?

Wengier commented 3 years ago

I have not yet reproduced the problem so far. However, there is certainly a maximize option in [sdl] section of the config file. You can take a look at the sample config file here:

https://github.com/joncampbell123/dosbox-x/blob/master/dosbox-x.reference.conf

Focus78 commented 3 years ago

Here's a copy of the vanilla config and I'm running the most recent version according to your wesbite.

`[SDL]

fullscreen: Start DOSBox-X directly in fullscreen. (Press [F11/F12]+F to go back)

fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox-X.

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.

windowresolution: Scale the window to this size IF the output device supports hardware scaling.

(output=surface does not!)

windowposition: Set the window position at startup in the positionX,positionY format (e.g.: 1300,200)

display: Specify a screen/display number to use for a multi-screen setup (0 = default).

output: What video system to use for output (OpenGLnb = OpenGL nearest; OpenGLpp = OpenGL perfect; ttf = TrueType font output).

Possible values: default, surface, overlay, ttf, OpenGL, OpenGLnb, OpenGLhq, OpenGLpp, ddraw.

autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)

clip_mouse_button: Select the mouse button or use arrow keys for the shared clipboard copy/paste function.

The default mouse button is "right", which means using the right mouse button to select text, copy to and paste from the host clipboard.

Set to "middle" to use the middle mouse button, "arrows" to use arrow keys instead of a mouse button, or "none" to disable this feature.

Possible values: none, middle, right, arrows.

clip_key_modifier: Change the keyboard modifier for the shared clipboard copy/paste function using a mouse button or arrow keys.

The default modifier is "shift" (both left and right shift keys). Set to "none" if no modifier is desired.

Possible values: none, ctrl, lctrl, rctrl, alt, lalt, ralt, shift, lshift, rshift, ctrlalt, ctrlshift, altshift, lctrlalt, lctrlshift, laltshift, rctrlalt, rctrlshift, raltshift.

clip_paste_bios: Specify whether to use BIOS keyboard functions for the clipboard pasting instead of the keystroke method.

For pasting clipboard text into Windows 3.x/9x applications (e.g. Notepad), make sure to use the keystroke method.

Possible values: true, false, 1, 0, default.

clip_paste_speed: Set keyboard speed for pasting text from the shared clipboard.

If the default setting of 30 causes lost keystrokes, increase the number.

Or experiment with decreasing the number for applications that accept keystrokes quickly.

sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50).

mouse_emulation: When is mouse emulated ?

integration: when not locked

locked: when locked

always: every time

never: at no time

If disabled, the mouse position in DOSBox-X is exactly where the host OS reports it.

When using a high DPI mouse, the emulation of mouse movement can noticeably reduce the

sensitiveness of your device, i.e. the mouse is slower but more precise.

Possible values: integration, locked, always, never.

mouse_wheel_key: Convert mouse wheel movements into keyboard presses such as arrow keys.

0: disabled; 1: up/down arrows; 2: left/right arrows; 3: PgUp/PgDn keys.

Putting a minus sign in front will disable the conversion for guest systems.

waitonerror: Wait before closing the console if DOSBox-X has an error.

priority: Priority levels for DOSBox-X. Second entry behind the comma is for when DOSBox-X 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.

If set to "auto" (default), it is enabled for SDL1 and non-US keyboards.

Possible values: true, false, 1, 0, auto.

titlebar: Change the string displayed in the DOSBox-X title bar.

showbasic: If set, DOSBox-X will show basic information including the DOSBox-X version number and current running speed in the title bar.

showdetails: If set, DOSBox-X will show the cycles count (FPS) and emulation speed relative to realtime in the title bar.

showmenu: Whether to show the menu bar (if supported). Default true.

fullscreen = false fulldouble = true fullresolution = 1920x1080 windowresolution = 800x600 windowposition = 560,236 display = 0 output = openglhq autolock = false clip_mouse_button = right clip_key_modifier = shift clip_paste_bios = default clip_paste_speed = 30 sensitivity = 100 mouse_emulation = locked mouse_wheel_key = -1 waitonerror = true priority = higher,normal mapperfile = DOSBox-X.map usescancodes = auto titlebar = showbasic = false showdetails = false showmenu = false

[DOSBox]

language: Select another language file.

title: Additional text to place in the title bar of the window.

fastbioslogo: If set, DOSBox-X will skip the BIOS screen by activating fast BIOS logo mode (without 1-second pause).

startbanner: If set (default), DOSBox-X will display the welcome banner when it starts.

bannercolortheme: You can specify a different background color theme for the welcome banner from the default one.

Possible values: default, black, red, green, yellow, blue, magenta, cyan, white.

dpi aware: Set this option (auto by default) to indicate to your OS that DOSBox-X is DPI aware.

If it is not set, Windows Vista/7/8/10 and higher may upscale the DOSBox-X window

on higher resolution monitors which is probably not what you want.

Possible values: true, false, 1, 0, auto.

quit warning: Set this option to indicate whether DOSBox-X should show a warning message when the user tries to close its window.

If set to auto (default), DOSBox-X will warn if a DOS program, game or a guest system is currently running.

If set to autofile, DOSBox-X will warn if there are open file handles or a guest system is currently running.

Possible values: true, false, 1, 0, auto, autofile.

show advanced options: If set, the Configuration Tool will display all config options (including advanced ones) by default.

hostkey: By default, DOSBox-X uses the mapper-defined host key, which defaults to F11 on Windows and F12 on other platforms.

You may alternatively specify a host key with this setting and bypass the host key as defined in the mapper.

This can also be done from the menu ("Main" => "Select host key").

Possible values: ctrlalt, ctrlshift, altshift, mapper.

mapper send key: Select the key the mapper SendKey function will send.

Possible values: winlogo, winmenu, alttab, ctrlesc, ctrlbreak, ctrlaltdel.

synchronize time: If set, DOSBox-X will try to automatically synchronize time with the host, unless you decide to change the date/time manually.

machine: The type of machine DOSBox-X tries to emulate.

Possible values: hercules, cga, cga_mono, cga_rgb, cga_composite, cga_composite2, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe, amstrad, pc98, pc9801, pc9821, fm_towns, mcga, mda.

captures: Directory where things like wave, midi, screenshot get captured.

autosave: Enable the auto-save state feature. Specify a time interval in seconds, and optionally a save slot or start and end save slots.

For example, "autosave=10 11-20" will set a 10-second time interval for auto-saving, and the save slots used will be between 11 and 20.

You can additionally specify up to 9 programs for this feature, e.g. "autosave=10 11-20 EDIT:21-30 EDITOR:35" for "EDIT" and "EDITOR".

Putting a minus sign (-) before the time interval causes the auto-saving function to not be activated at start.

saveslot: Select the default save slot (1-100) to save/load states.

savefile: Select the default save file to save/load states. If specified it will be used instead of the save slot.

saveremark: If set, the save state feature will ask users to enter remarks when saving a state.

forceloadstate: If set, DOSBox-X will load a saved state even if it finds there is a mismatch in the DOSBox-X version, machine type, program name and/or the memory size.

memsize: Amount of memory DOSBox-X has in megabytes.

This value is best left at its default to avoid problems with some games,

although other games and applications may require a higher value.

Programs that use 286 protected mode like Windows 3.0 in Standard Mode may crash with more than 15MB.

nocachedir: If set, MOUNT commands will mount with -nocachedir (disable directory caching) by default.

freesizecap: If set to "cap" (="true"), the value of MOUNT -freesize will apply only if the actual free size is greater than the specified value.

If set to "relative", the value of MOUNT -freesize will change relative to the specified value.

If set to "fixed" (="false"), the value of MOUNT -freesize will be a fixed one to be reported all the time.

Possible values: true, false, fixed, relative, cap, 2, 1, 0.

title = fastbioslogo = true startbanner = false bannercolortheme = default dpi aware = auto quit warning = false show advanced options = false hostkey = mapper mapper send key = ctrlaltdel synchronize time = false machine = svga_s3 captures = autosave = saveslot = 1 savefile = saveremark = true forceloadstate = false memsize = 32 nocachedir = false freesizecap = cap

[Video]

vmemsize: Amount of video memory in megabytes.

The maximum resolution and color depth the svga_s3 will be able to display

is determined by this value.

-1: auto (vmemsizekb is ignored)

0: 512k (800x600 at 256 colors) if vmemsizekb=0

1: 1024x768 at 256 colors or 800x600 at 64k colors

2: 1600x1200 at 256 colors or 1024x768 at 64k colors or 640x480 at 16M colors

4: 1600x1200 at 64k colors or 1024x768 at 16M colors

8: up to 1600x1200 at 16M colors

For build engine games, use more memory than in the list above so it can

use triple buffering and thus won't flicker.

vmemsizekb: Amount of video memory in kilobytes, in addition to vmemsize.

high intensity blinking: Set to false if you want to see high-intensity background colors instead of blinking foreground text.

This option has no effect in PC-98 and some other video modes.

vmemsize = -1 vmemsizekb = 0 high intensity blinking = true

[Render]

frameskip: How many frames DOSBox-X skips before drawing one.

aspect: Aspect ratio correction mode. Can be set to the following values:

'false' (default):

'Direct3D'/OpenGL outputs: image is simply scaled to full window/fullscreen size, possibly resulting in disproportional image

'surface' output: it does no aspect ratio correction (default), resulting in disproportional images if VGA mode pixel ratio is not 4:3

'true':

'Direct3D'/OpenGL outputs: uses output driver functions to scale / pad image with black bars, correcting output to proportional 4:3 image

In most cases image degradation should not be noticeable (it all depends on the video adapter and how much the image is upscaled).

Should have none to negligible impact on performance, mostly being done in hardware

For the pixel-perfect scaling (output=OpenGLpp), it is recommended to enable this whenever the emulated display has an aspect ratio of 4:3

'surface' output: inherits old DOSBox aspect ratio correction method (adjusting rendered image line count to correct output to 4:3 ratio)

Due to source image manipulation this mode does not mix well with scalers, i.e. multiline scalers like hq2x/hq3x will work poorly

Slightly degrades visual image quality. Has a tiny impact on performance

When using xBRZ scaler with 'surface' output, aspect ratio correction is done by the scaler itself, so none of the above apply

Possible values: false, true, 0, 1, yes, no, nearest, bilinear.

euro: Display Euro symbol instead of the specified ASCII character (33-255).

For example, setting it to 128 allows Euro symbol to be displayed instead of C-cedilla.

doublescan: If set, doublescanned output emits two scanlines for each source line, in the

same manner as the actual VGA output (320x200 is rendered as 640x400 for example).

If clear, doublescanned output is rendered at the native source resolution (320x200 as 320x200).

This affects the raster PRIOR to the software or hardware scalers. Choose wisely.

For pixel-perfect scaling (output=OpenGLpp), it is recommended to turn this option off.

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.

Scalers should work with most output options, but they are ignored for OpenGLpp and TrueType font outputs.

Possible values: none, normal2x, normal3x, normal4x, normal5x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x, gray, gray2x, hardware_none, hardware2x, hardware3x, hardware4x, hardware5x, xbrz, xbrz_bilinear.

glshader: Path to GLSL shader source to use with OpenGL output ("none" to disable, or "default" for default shader).

Can be either an absolute path, a file in the "glshaders" subdirectory of the DOSBox-X configuration directory,

or one of the built-in shaders (e.g. "sharp" for the pixel-perfect scaling mode):

advinterp2x, advinterp3x, advmame2x, advmame3x, rgb2x, rgb3x, scan2x, scan3x, tv2x, tv3x, sharp.

pixelshader: Set Direct3D pixel shader program (effect file must be in Shaders subdirectory). If 'forced' is appended,

then the pixel shader will be used even if the result might not be desired.

autofit: Best fits image to window

- Intended for output=direct3d, fullresolution=original, aspect=true

monochrome_pal: Specify the color of monochrome display.

Possible values: green, amber, gray, white

Append 'bright' for a brighter look.

Possible values: green, amber, gray, white.

frameskip = 0 aspect = false euro = -1 doublescan = true scaler = hq3x glshader = none pixelshader = none autofit = true monochrome_pal = green

[CPU]

core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.

For the dynamic core, both dynamic_x86 and dynamic_rec are supported (dynamic_x86 is preferred).

Windows 95 or other preemptive multitasking OSes will not work with the dynamic_rec core.

Possible values: auto, dynamic, dynamic_x86, dynamic_nodhfpu, dynamic, dynamic_rec, normal, full, simple.

fpu: Enable FPU emulation

cputype: CPU Type used in emulation. auto emulates a 486 which tolerates Pentium instructions.

Possible values: auto, 8086, 8086_prefetch, 80186, 80186_prefetch, 286, 286_prefetch, 386, 386_prefetch, 486old, 486old_prefetch, 486, 486_prefetch, pentium, pentium_mmx, ppro_slow.

cycles: Amount of instructions DOSBox-X 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 the mapped keyboard shortcut.

cycledown: Setting it lower than 100 will be a percentage.

apmbios: Emulate Advanced Power Management (APM) BIOS calls.

isapnpbios: Emulate ISA Plug & Play BIOS. Enable if using DOSBox-X to run a PnP aware DOS program or if booting Windows 9x.

Do not disable if Windows 9x is configured around PnP devices, you will likely confuse it.

core = auto fpu = true cputype = auto cycles = max cycleup = max cycledown = max apmbios = true isapnpbios = false

[Keyboard]

aux: Enable emulation of the 8042 auxiliary port. PS/2 mouse emulation requires this to be enabled.

You should enable this if you will be running Windows ME or any other OS that does not use the BIOS to receive mouse events.

controllertype: Type of keyboard controller (and keyboard) attached.

auto Automatically pick according to machine type

at AT (PS/2) type keyboard

xt IBM PC/XT type keyboard

pcjr IBM PCjr type keyboard (only if machine=pcjr)

pc98 PC-98 keyboard emulation (only if machine=pc98)

Possible values: auto, at, xt, pcjr, pc98.

auxdevice: Type of PS/2 mouse attached to the AUX port

Possible values: none, 2button, 3button, intellimouse, intellimouse45.

aux = true controllertype = auto auxdevice = intellimouse

[Mixer]

nosound: Enable silent mode, sound is still emulated though.

swapstereo: Swaps the left and right stereo channels.

rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.

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.

nosound = false swapstereo = false rate = 48000 blocksize = 4096

[MIDI]

mpu401: Type of MPU-401 to emulate.

Possible values: intelligent, uart, none.

mpubase: The IO address of the MPU-401.

Set to 0 to use a default I/O address.

300h to 330h are for use with IBM PC mode.

C0D0h to F8D0h (in steps of 800h) are for use with NEC PC-98 mode (MPU98).

80D2h through 80DEh are for use with NEC PC-98 Sound Blaster 16 MPU-401 emulation.

If not assigned (0), 330h is the default for IBM PC and E0D0h is the default for PC-98.

Possible values: 0, 300, 310, 320, 330, 332, 334, 336, 340, 360, c0d0, c8d0, d0d0, d8d0, e0d0, e8d0, f0d0, f8d0, 80d2, 80d4, 80d6, 80d8, 80da, 80dc, 80de.

mididevice: Device that will receive the MIDI data from MPU-401.

Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, synth, fluidsynth, timidity, 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 or synth, 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.

samplerate: Sample rate for MIDI synthesizer, if applicable.

Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.

mpuirq: MPU-401 IRQ. -1 to automatically choose.

mt32.romdir: Name of the directory where MT-32 Control and PCM ROM files can be found. Emulation requires these files to work.

Accepted file names are as follows:

MT32_CONTROL.ROM or CM32L_CONTROL.ROM - control ROM file.

MT32_PCM.ROM or CM32L_PCM.ROM - PCM ROM file.

fluid.driver: Driver to use with Fluidsynth, not needed under Windows. Available drivers depend on what Fluidsynth was compiled with.

Possible values: pulseaudio, alsa, oss, coreaudio, dsound, portaudio, sndman, jack, file, default.

fluid.soundfont: Soundfont (.sf2 or .sf3) to use with Fluidsynth. One must be specified (e.g. GeneralUser_GS.sf2).

mpu401 = intelligent mpubase = 0 mididevice = fluidsynth midiconfig = samplerate = 48000 mpuirq = -1 mt32.romdir = fluid.driver = default fluid.soundfont = SC-55.sf2

[SBlaster]

sbtype: Type of Sound Blaster to emulate. 'gb' is Game Blaster.

Possible values: sb1, sb2, SBPro1, sbpro2, sb16, sb16Vibra, gb, ess688, reveal_sc400, none.

sbbase: The IO address of the Sound Blaster.

220h to 2E0h are for use with IBM PC Sound Blaster emulation.

D2h to DEh are for use with NEC PC-98 Sound Blaster 16 emulation.

Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, d2, d4, d6, d8, da, dc, de.

irq: The IRQ number of the Sound Blaster. Set to -1 to start DOSBox-X with the IRQ unassigned

Possible values: 7, 5, 3, 9, 10, 11, 12.

dma: The DMA number of the Sound Blaster. Set to -1 to start DOSBox-X with the DMA unassigned

Possible values: 1, 5, 0, 3, 6, 7.

hdma: The High DMA number of the Sound Blaster. Set to -1 to start DOSBox-X with the High DMA unassigned

Possible values: 1, 5, 0, 3, 6, 7.

enable speaker: Start the DOS virtual machine with the Sound Blaster speaker enabled.

Sound Blaster Pro and older cards have a speaker disable/enable command.

Normally the card boots up with the speaker disabled. If a DOS game or demo

attempts to play without enabling the speaker, set this option to true to

compensate. This setting has no meaning if emulating a Sound Blaster 16 card.

sbmixer: Allow the Sound Blaster mixer to modify the DOSBox-X mixer.

oplmode: Type of OPL emulation. On 'auto' the mode is determined by the 'sbtype' setting.

All OPL modes are AdLib-compatible, except for 'cms' (set 'sbtype=none' with 'cms' for a Game Blaster).

Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none, hardware, hardwaregb.

oplemu: Provider for the OPL emulation. 'compat' might provide better quality.

'nuked' is the most accurate (but the most CPU-intensive). See oplrate as well.

Possible values: default, compat, fast, nuked, mame, opl2board, opl3duoboard.

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.

oplport: Serial port of the OPL2 Audio Board when oplemu=opl2board, opl2mode will become 'opl2' automatically.

hardwarebase: base address of the real hardware Sound Blaster:

210,220,230,240,250,260,280

goldplay: Enable goldplay emulation.

blaster environment variable: Whether or not to set the BLASTER environment variable automatically at startup

sbtype = sb16 sbbase = 220 irq = 7 dma = 1 hdma = 5 enable speaker = false sbmixer = true oplmode = auto oplemu = default oplrate = 48000 oplport = hardwarebase = 220 goldplay = true blaster environment variable = true

[GUS]

gus: Enable the Gravis Ultrasound emulation.

gusrate: Sample rate of Ultrasound emulation.

Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.

gusmemsize: Amount of RAM on the Gravis Ultrasound in KB. Set to -1 for default.

gus master volume: Master Gravis Ultrasound GF1 volume, in decibels. Reducing the master volume can help with games or demoscene productions where the music is too loud and clipping

gusbase: The IO base address of the Gravis Ultrasound.

Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300, 210, 230, 250.

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.

gustype: Type of Gravis Ultrasound to emulate.

classic Original Gravis Ultrasound chipset

classic37 Original Gravis Ultrasound with ICS Mixer (rev 3.7)

max Gravis Ultrasound MAX emulation (with CS4231 codec)

interwave Gravis Ultrasound Plug & Play (interwave)

Possible values: classic, classic37, max, interwave.

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 = 48000 gusmemsize = -1 gus master volume = 0.00 gusbase = 240 gusirq = 5 gusdma = 3 gustype = classic 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).

ps1audio: Enable PS1 audio emulation.

Possible values: on, off.

ps1audiorate: Sample rate of the PS1 audio emulation.

Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.

pcspeaker = true pcrate = 48000 tandy = auto tandyrate = 48000 disney = false ps1audio = off ps1audiorate = 48000

[DOS]

xms: Enable XMS support.

xms handles: Number of XMS handles available for the DOS environment, or 0 to use a reasonable default

shell configuration as commands: Allow entering DOSBox-X.conf configuration parameters as shell commands to get and set settings.

This is disabled by default to avoid conflicts between commands and executables.

It is recommended to get and set DOSBox-X.conf settings using the CONFIG command instead.

Compatibility with DOSBox SVN can be improved by enabling this option.

hma: Report through XMS that HMA exists (not necessarily available)

ansi.sys: If set (by default), ANSI.SYS emulation is on. If clear, ANSI.SYS is not emulated and will not appear to be installed.

NOTE: This option has no effect in PC-98 mode where MS-DOS systems integrate ANSI.SYS into the DOS kernel.

share: Report SHARE.EXE as resident. This will allow file locking to be performed, although not all SHARE functions are emulated.

file access tries: If a positive integer is set, DOSBox-X will try to read/write/lock files directly on mounted local drives for the specified number of times before failing on Windows systems.

network redirector: Report DOS network redirector as resident. This will allow the host name to be returned unless the secure mode is enabled.

Set either "ipx=true" in [ipx] section or "ne2000=true" in [ne2000] section for a full network redirector environment.

minimum mcb free: Minimum free segment value to leave free. At startup, the DOS kernel will allocate memory

up to this point. This can be used to deal with EXEPACK issues or DOS programs that cannot

be loaded too low in memory. If you want more free conventional memory to be reported,

you can for example set its value to 1.

dosv: Enable DOS/V emulation and specify which version to emulate. This option is intended for

use with games or software originating from Asia that use the double byte character set

encodings and the DOS/V extensions to display Japanese, Chinese, or Korean text.

Note that enabling DOS/V replaces 80x25 text mode (INT 10h mode 3) with a EGA/VGA graphics

mode that emulates text mode to display the characters and may be incompatible with non-Asian

software that assumes direct access to the text mode via segment 0xB800.

WARNING: This option is very experimental at this time.

Possible values: off, japanese, chinese, korean.

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, 1, 0.

umb: Enable UMB support.

quick reboot: If set, the DOS restart call will reboot the emulated DOS (integrated DOS or guest DOS) instead of the virtual machine.

ver: Set DOS version. Specify as major.minor format. A single number is treated as the major version (compatible with LFN support). Common settings are:

auto (or unset) Pick a DOS kernel version automatically

3.3 MS-DOS 3.3 emulation (not tested!)

5.0 MS-DOS 5.0 emulation (recommended for DOS gaming)

6.22 MS-DOS 6.22 emulation

7.0 MS-DOS 7.0 (or Windows 95 pure DOS mode) emulation

7.1 MS-DOS 7.1 (or Windows 98 pure DOS mode) emulation

Long filename (LFN) support will be enabled with a reported DOS version of 7.0 or higher with "lfn=auto" (default).

Similarly, FAT32 disk images will be supported with a reported DOS version of 7.1 or higher.

lfn: Enable long filename support. If set to auto (default), it is enabled if the reported DOS version is at least 7.0.

If set to autostart, the builtin VER command won't activate/disactivate LFN support according to the reported DOS version.

Possible values: true, false, 1, 0, auto, autostart.

automount: Enable automatic drive mounting in Windows.

automountall: Automatically mount all available Windows drives at start.

mountwarning: If set, a warning will be displayed if you try to mount C:\ in Windows or / in other platforms.

autofixwarning: If set to true or both, DOSBox-X will show messages when trying to automatically fix the "Packed file is corrupt" error.

If set to false or none, DOSBox-X will not show such messages on the screen when the error occurred.

If set to "a20fix" or "loadfix", DOSBox-X will show the message for the a20fix or the loadfix only.

Possible values: true, false, 1, 0, both, a20fix, loadfix, none.

startcmd: Allow starting Windows programs or commands to run on the Windows host including the use of START command.

startwait: Specify whether DOSBox-X should wait for the Windows applications after they are started.

startquiet: If set, before launching Windows applications to run on the host DOSBox-X will not show messages like "Now run it as a Windows application".

int33: Enable INT 33H for mouse support.

keyboardlayout: Language code of the keyboard layout (or none).

dos clipboard device enable: If enabled, a DOS device will be added for bidirectional communications with the shared clipboard.

Setting to "read" will only allow read access, and setting to "write" will only allow write access.

Setting to "full" or "true" enables both; setting to "false" or "disabled" disables the access or device.

The default device name is CLIP$, but can be changed with the "dos clipboard device name" setting below.

dos clipboard device name: Set DOS device name (up to 8 characters) for bidirectional communications with the shared clipboard.

If unset or invalid, the default name CLIP$ will be used (e.g. "TYPE CLIP$" shows the clipboard contents).

It has no effect if "dos clipboard device enable" is disabled, and it is deactivated if the secure mode is enabled.

dos clipboard api: If set, DOS APIs for communications with the Windows clipboard will be enabled for shared clipboard communications.

xms = true xms handles = 0 shell configuration as commands = false hma = true ansi.sys = true share = true file access tries = 0 network redirector = false minimum mcb free = 0 dosv = off ems = false umb = true quick reboot = false ver = 7.1 lfn = true automount = false automountall = false mountwarning = true autofixwarning = true startcmd = false startwait = true startquiet = true int33 = true keyboardlayout = auto dos clipboard device enable = false dos clipboard device name = CLIP$ dos clipboard api = true

[Config] set temp =

[AutoExec]

`

Focus78 commented 3 years ago

This is still not resolved. Have any attempts to reproduce with the instructions I provided even been made?

Wengier commented 3 years ago

@Focus78 I had downloaded GlovePIE but never used this software before, and you did not provide any details on how you used it to run DOSBox-X. In any case, you can try start DOSBox-X with the command-line parameter -set maximize=true so that DOSBox-X is supposed to start in maximized-window mode. Hope this helps.

Focus78 commented 3 years ago

As I already explained in post 7, I tried this when you suggested it 5 days ago and it changed nothing. This "maximize" flag has no effect when launching from a batch file.

I also never said anything about glovepie running dosbox-x. All I mentioned is that it's launched for keybinds alongside dosbox-x from the same batch file.

It's not at all difficult to launch 2 programs from the same batch file so I'm not sure why you haven't replicated this in over a week. I doubt glovepie even has any bearing on this at all. I just mentioned it because that's exactly what I'm doing in my experience that's causing dosbox-x to always launch minimized.

Wengier commented 3 years ago

@Focus78 If we put glovepie aside, the reason that I haven't replicated this so far is simply that I was unable to reproduce the said issue at all on my computer. I tried to launch DOSBox-X session from a batch file with either the maximize or fullscreen option and they both work as expected. Note that not all results are reproduceable on all computers - some results can only be reproduced on certain computers because of their specific configurations etc, and you cannot expect everyone else to also reproduce the exactly same result on different computers. You may want to check other factor(s) that may cause the said issue on your system. Once again, I tried several times but was not able to reproduce the said issue on my computer so far.

Focus78 commented 3 years ago

But you still haven't launched both programs together from a batch file so I'm not sure how you can determine that you aren't able to reproduce the problem if you haven't put forth the effort to replicate the siatuation that it occurs in???

Wengier commented 3 years ago

@Focus78 You never posted the contents of your batch file that can be used to reproduce the said problem, did you? It will be much easier for us to try to reproduce the problem with the actual content of your batch file posted. Otherwise we can only make our own batch files in trying to do so, and in such cases I was never able to reproduce the problem at all. There are many questions in the issue tracker needs to be supported, and no one can spend all time to try to replicate the particular problem reported on this single issue of course.

Focus78 commented 3 years ago

@Echo off CD "C:\Program Files\DOSBox-X\GlovePie" Start GlovePie.exe -"Rebel Moon.pie"

CD "C:\Program Files\DOSBox-X" Start DOSBox-X.exe -conf "C:\Program Files\DOSBox-X\AmpShell\Rebel Moon.conf"

CD "C:\Windows\System32"

:TEST Tasklist /FI "IMAGENAME eq DOSBox-X.exe" 2>NUL | Find /I /N "DOSBox-X.exe">NUL If "%ERRORLEVEL%"=="0" goto ACTIVE

:DEAD Taskkill /F /IM GlovePie.exe Exit

:ACTIVE Timeout /T 1 Goto TEST

Wengier commented 3 years ago

Looks like the batch file is not so simple - it calls GlovePie first with its configuration, and then DOSBox-X with its configuration, and also calls the Windows TASKLIST/TASKKILL programs etc. In order to find out what causes the issue, can you try commenting out all lines except the lines to start DOSBox-X and see if it works as desired?

Also note that DOSBox-X had been installed in a non-default path - C:\Program Files\DOSBox-X. Installing DOSBox-X in C:\Program Files can possibly cause issue too, which is why this is never recommended.

Focus78 commented 3 years ago

I have already tried eliminating any other variables that I could think of to try and work around the problem myself. It appears to be an issue with only the SDL1 version of dosbox-x and how it functions with batch files.

Both the SDL2 version and regular dosbox don't have this issue.

If I were to strip anything from the batch file that would defeat the entire purpose of using it. I don't want to have to manually launch a bunch of programs and close them out individually and there's no reason that I should have to with the batch file I created.

Wengier commented 3 years ago

The purpose to temporarily strip everything else from the batch file is just trying to find out which line(s) are possibly causing the issue. Once you find the line that causes the issue, it will be a major step towards the solution of the problem.

Focus78 commented 3 years ago

The problem is dosbox-x, not my batch file or the same problem would be occuring with the other versions as I have already explained. I have provided you with literally every single piece of information you need to fix your project.

Wengier commented 3 years ago

@Focus78 You never provided the contents of your config files mentioned in your batch file -- Rebel Moon.pie and Rebel Moon.conf, did you? So I cannot make the exact same setups as yours. That is why I was trying to guide you find the exact line that causes issue and then find a solution for it.

Focus78 commented 3 years ago

I can already tell you that it's not going to make a difference but here you go:

glovepie: Key.W = Mouse.RightButton

dosbox: [SDL] fullscreen = true fulldouble = true fullresolution = 1920x1080 windowresolution = 800x600 windowposition = 560,236 display = 0 output = openglhq autolock = false clip_mouse_button = right clip_key_modifier = shift clip_paste_bios = default clip_paste_speed = 30 sensitivity = 130 mouse_emulation = locked mouse_wheel_key = -1 waitonerror = true priority = higher,normal mapperfile = DOSBox-X.map usescancodes = auto titlebar = showbasic = false showdetails = false showmenu = false

[DOSBox] title = fastbioslogo = true startbanner = false bannercolortheme = default dpi aware = auto quit warning = false show advanced options = false hostkey = mapper mapper send key = ctrlaltdel synchronize time = false machine = svga_s3 captures = autosave = saveslot = 1 savefile = saveremark = true forceloadstate = false memsize = 32 nocachedir = false freesizecap = cap

[Render] frameskip = 0 aspect = false euro = -1 doublescan = true scaler = hq3x glshader = none pixelshader = none autofit = true monochrome_pal = green

[CPU] core = auto fpu = true cputype = auto cycles = max cycleup = max cycledown = max apmbios = true isapnpbios = false

[Keyboard] aux = true controllertype = auto auxdevice = intellimouse

[Mixer] nosound = false swapstereo = false rate = 48000 blocksize = 4096

[MIDI] mpu401 = intelligent mpubase = 0 mididevice = fluidsynth midiconfig = samplerate = 48000 mpuirq = -1 mt32.romdir = fluid.driver = default fluid.soundfont =

[SBlaster] sbtype = sb16 sbbase = 220 irq = 7 dma = 1 hdma = 5 enable speaker = false sbmixer = true oplmode = auto oplemu = default oplrate = 48000 oplport = hardwarebase = 220 goldplay = true blaster environment variable = true

[Speaker] pcspeaker = true pcrate = 48000 tandy = auto tandyrate = 48000 disney = false ps1audio = off ps1audiorate = 48000

[DOS] xms = true xms handles = 0 shell configuration as commands = false hma = true ansi.sys = true share = true file access tries = 0 network redirector = false minimum mcb free = 0 dosv = off ems = false umb = true quick reboot = false ver = 7.1 lfn = true automount = false automountall = false mountwarning = true autofixwarning = true startcmd = false startwait = true startquiet = true int33 = true keyboardlayout = auto dos clipboard device enable = false dos clipboard device name = CLIP$ dos clipboard api = true

[AutoExec]

Wengier commented 3 years ago

Tested with your config file, and the said issue is apparently caused by the following setting:

fullresolution = 1920x1080

Please try to comment out this line, or make the value match your actual full-screen resolution and see how it works.

Focus78 commented 3 years ago

It's a 1080p monitor, so how is that not my full screen resolution?

Nor does this occur with the other versions as I described. So how is that explained?

Wengier commented 3 years ago

It is possible that your screen is scaled. But in any case, you don't need to set the fullresolution option in such case and can just leave it empty. Hope this helps.

Focus78 commented 3 years ago

Nope. That changed absolutely nothing just like I said it would since this has nothing to do with the config files.

I changed the field to be completely empty and the problem still persists. You're going to have to actually dig into this rather than suggesting workaround attempts.

You also still haven't explained why this behavior is specific to just the SDL1 variant and not the SDL2 or normal dosbox like I have asked several times now.

rderooy commented 3 years ago

@Focus78 Can I point out that this is an opensource project, and Wengier is volunteering his spare time. He is not being paid for this, and your not paying anyone for this software. As such can you please stop acting so privileged?

Focus78 commented 3 years ago

@rderooy What?

Since when is pointing out that he still has yet to attempt to replicate the issue after nearly 3 weeks despite providing every single minute detail that he’s asked for considered “privileged”?

I reported this bug in good faith that it would actually be looked into rather than passed off and blamed on other irrelevant factors. And do I need to remind you that I also never signed up to become an unpaid beta tester? Free software is a two way street bud.

Wengier commented 3 years ago

I was only able to “replicate” the issue after you posted the content of the config file 3 days ago (not 3 weeks ago). And I solved it on my own computer by making the change I said above. If it does not work for you, then I have no idea why since the suggestion did solve the problem for me and this was what I could help with. Perhaps someone else can help with your particular problem better.

Focus78 commented 3 years ago

I don’t need help from anyone else. I need you as the developer to fix the bugs in your software that’s specific to the SDL1 variant. I have explicitly indicated half a dozen times that’s it’s specific to this version and therefore that’s where the problem is. If this was an issue with any of the irrelevant things you’ve been trying to scapegoat it would occur across multiple different versions. You’ve finally indicated that you’ve replicated the issue, so I don’t know what more I can provide you with to aid in this being fixed at this point.

Wengier commented 3 years ago

@Focus78 I am not the only developer. Other developers or contributors can help with such problems too. For your case, I believe the problem is specific to GlovePie, and you only posted the contents of the batch file very recently. If you change the line:

Start GlovePie.exe -"Rebel Moon.pie"

To something like:

Start Notepad.exe

Then the issue probably won't occur. This needs to studied more in order to find out the exact cause of the problem.

Focus78 commented 3 years ago

So if this is apparently an issue with glovepie to continue pushing the blame elsewhere, why doesn't it occur with the SDL2 version?

Wengier commented 3 years ago

I guess it is an incompatibility between GlovePie and SDL1 builds. Still try the maximized window mode instead of fullscreen mode:

Start DOSBox-X.exe -set maximize=true -set fullscreen=false -conf "C:\Program Files\DOSBox-X\AmpShell\Rebel Moon.conf"

Focus78 commented 3 years ago

So fix the incompatibility then?

I'm not interested in running maximized. Even if I can get that to work, I've tried it before and it screws up the scaling and continues to show desktop elements while the game is running as well as breaking freesync.

This is not a solution.

Wengier commented 3 years ago

I will add it to todo list. No emulator is perfect, especially for compatibility with every other software.

Focus78 commented 3 years ago

Or you could also fix soundfonts not working properly with the SDL2 build since this problem doesn't occur there if that would speed up the process and aid in a larger portion of the userbase seeing a benefit.

Wengier commented 3 years ago

@Focus78 You did not mention what soundfonts you are using for SDL2 builds. Do you mean e.g. .SF2 fonts using FluidSynth playback?

Focus78 commented 3 years ago

Yes.

Music is consistently distorted in the games I tried.

Wengier commented 3 years ago

There are quite a few config options related to FludSynth, some of them are advanced options that can be shown if you show all options in the Configuration Tool. Perhaps you can try change some of these settings and see if it helps?

P.S. More information about FluidSynth configurations (and other MIDI settings) in DOSBox-X can be found in the following Wiki page:

http://dosbox-x.com/wiki/Guide%3ASetting-up-MIDI-in-DOSBox%E2%80%90X

Focus78 commented 3 years ago

This has nothing to do with settings as the soundfont playback works perfectly fine with the exact same default settings with the SDL1 build.............

Wengier commented 3 years ago

@Focus78 Did you use 32-bit SDL2 builds or 64-bit SDL2 builds? They may work differently regarding the sound fonts, so if you used one of them please try the other.

Focus78 commented 3 years ago

I don't have the option to try both builds on that machine as it's exclusively for retro games and therefore not 64-bit since that causes problems with many old games being incompatible to install from disc.

Wengier commented 3 years ago

@Focus78 I think 64-bit builds should be fine with old games, as long as your machine is also 64-bit. Both 32-bit and 64-bit builds should work similarly, and they differ only in specific cases (e.g. the bits of Glide wrappers need to match the bits of DOSBox-X builds). For dynamic core, 64-bit builds will use 64-bit dynamic x86 core by default, but the normal core is exactly the same for both 32-bit and 64-bit builds.

Focus78 commented 3 years ago

Clearly you misunderstood what I said. I said the machine has a 32-bit OS so therefore it can't install a 64-bit version of the software. The machine doesn't just run DOS games and many 16-bit game install discs and even many 32-bit ones have problems installing natively on a 64-bit OS.

So again, rather than running in circles suggesting I invest countless hours of time trying to find work arounds for bugs in your software, why not just fix them?

Either the always opening minimized bug when launching from a batch file in the SDL1 build or the screwed up soundfonts in the SDL2 build since both of these problems only exist on the specific variant and not the other. It makes no difference to me.

Wengier commented 3 years ago

Of course we all want to make software free of bugs, but this is apparently impossible due to the complexity of software. SDL1 and SDLL2 builds work somewhat differently so it is certainly possible to have SDL-version specific issue(s). The issue with SDL1 is connected to GlovePie, so it may be possible to fix it from the GlovePie side as well. As the software is free and open-source, you cannot expect perfection (but anyone feel feel to fix any issues).

Focus78 commented 3 years ago

Well, if you feel so strongly about the SDL1 build problem being explicitly tied to glovepie then fix the soundfont issue with SDL2 then. As I already indicated, I'm sure that would benefit a far larger portion of the userbase especially because it's touted as such an important feature that's clearly broken.

Wengier commented 3 years ago

Can you try to use MT32 or another MIDI device for 32-bit SDL2 builds for now? The soundfont issue is likely specific to 32-bit SDL2 builds only.

Focus78 commented 3 years ago

Not all gemes that support sound canvas support MT-32 neither do you get the same effect as the numerous soundfonts available.

Focus78 commented 3 years ago

I just downloaded the most recent version and the problem is still not resolved.

Focus78 commented 3 years ago

???????????????