From cdad1f27f9a074b3d53efc84466c1dbd0b34b876 Mon Sep 17 00:00:00 2001 From: Wengier Date: Sun, 25 Oct 2020 01:06:51 -0400 Subject: [PATCH] more config fix --- CHANGELOG | 8 +- dosbox-x.commonref.conf | 764 +++++++++++++++++++++++++++++++++ include/build_timestamp.h | 4 +- src/gui/sdlmain.cpp | 3 +- src/misc/setup.cpp | 12 +- update-dosbox-x-reference-conf | 3 +- 6 files changed, 783 insertions(+), 11 deletions(-) create mode 100644 dosbox-x.commonref.conf diff --git a/CHANGELOG b/CHANGELOG index b10f8a6ad..485c230df 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -30,12 +30,14 @@ - Changed some DOS error messages (such as "Illegal command" which now reads "Bad command or filename") similar to real DOS systems. (Wengier) - - The config command and Configuration Tool will now - save basic and modified config optons by default. + - There is now a dosbox-x.commonref.conf file to act + as the common config reference file. (Wengier) + - The CONFIG command and Configuration Tool will now + save common and modified config optons by default. The -all command-line option (or "Save all options to the configuration file" checkbox) will force to save all config options. A new -mod command-line - option of config command is added to save modified + optionis added to CONFIG command to save modified config options only. (Wengier) - Improved the -z (move virtual drive Z:) function of MOUNT command. You can move the virtual drive as diff --git a/dosbox-x.commonref.conf b/dosbox-x.commonref.conf new file mode 100644 index 000000000..24413fc1d --- /dev/null +++ b/dosbox-x.commonref.conf @@ -0,0 +1,764 @@ +# This is the configuration file for DOSBox-X 0.83.7. (Please use the latest version of DOSBox-X) +# Lines starting with a # are comment lines and are ignored by DOSBox-X. +# They are used to (briefly) document the effect of each option. +# To write out ALL options, use command 'config -all' with -wc or -writeconf options. + +[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) +# output: What video system to use for output. +# Possible values: default, surface, overlay, opengl, openglnb, openglhq, ddraw. +# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock) +# clip_mouse_button: Select the mouse button for the shared clipboard copy/paste function. +# The default mouse button is "right". Set to "middle" if the middle mouse button is desired, or "none" to disable this feature. +# Possible values: none, middle, right. +# clip_key_modifier: Change the keyboard modifier for the shared clipboard copy/paste function using the right mouse button. +# The default modifier is "shift" (both left and right shift keys). Set to "none" if no modifier is desired. +# Possible values: none, alt, lalt, ralt, ctrl, lctrl, rctrl, shift, lshift, rshift. +# clip_paste_speed: Set keyboard speed for pasting 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. +# mapperfile_sdl2: File used to load/save the key/event mappings from (SDL2 builds). 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, auto. +# titlebar: Change the string displayed in the DOSBox-X title bar. +# showmenu: Whether to show the menu bar (if supported). Default true. +fullscreen = false +fulldouble = false +fullresolution = desktop +windowresolution = original +windowposition = +output = default +autolock = false +clip_mouse_button = right +clip_key_modifier = shift +clip_paste_speed = 30 +sensitivity = 100 +mouse_emulation = locked +mouse_wheel_key = -1 +waitonerror = true +priority = higher,normal +mapperfile = mapper-0.83.7.map +mapperfile_sdl2 = mapper-0.83.7.sdl2.map +usescancodes = auto +titlebar = +showmenu = true + +[log] +# logfile: file where the log messages will be saved to +logfile = + +[dosbox] +# language: Select another language file. +# title: Additional text to place in the title bar of the window. +# fastbioslogo: If set, DOSBox-X will enable fast BIOS logo mode (skip 1-second pause). +# startbanner: If set (default), DOSBox-X will display the welcome banner when it starts. +# 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. +# mapper send key: Select the key the mapper SendKey function will send. +# Possible values: winlogo, winmenu, alttab, ctrlesc, ctrlbreak, ctrlaltdel. +# 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. +# 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. +# 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. +language = +title = +fastbioslogo = false +startbanner = true +quit warning = auto +mapper send key = ctrlaltdel +machine = svga_s3 +captures = capture +saveslot = 1 +savefile = +memsize = 16 +nocachedir = false + +[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. +vmemsize = -1 +vmemsizekb = 0 + +[pc98] +# pc-98 BIOS copyright string: If set, the PC-98 BIOS copyright string is placed at E800:0000. Enable this for software that detects PC-98 vs Epson. +# pc-98 fm board: In PC-98 mode, selects the FM music board to emulate. +# Possible values: auto, off, false, board14, board26k, board86, board86c. +# pc-98 enable 256-color: Allow 256-color graphics mode if set, disable if not set +# pc-98 enable 16-color: Allow 16-color graphics mode if set, disable if not set +# pc-98 enable grcg: Allow GRCG graphics functions if set, disable if not set +# pc-98 enable egc: Allow EGC graphics functions if set, disable if not set +# pc-98 bus mouse: Enable PC-98 bus mouse emulation. Disabling this option does not disable INT 33h emulation. +# pc-98 video mode: Specify the preferred PC-98 video mode. +# Valid values are 15, 24, or 31 for each specific horizontal refresh rate on the platform. +# 24khz is default and best supported at this time. +# 15khz is not implemented at this time. +# 31khz is experimental at this time. +# Possible values: , 24khz, 31khz, 15khz. +# pc-98 force ibm keyboard layout: Force to use a default keyboard layout like IBM US-English for PC-98 emulation. +# Will only work with apps and games using BIOS for keyboard. +pc-98 BIOS copyright string = false +pc-98 fm board = auto +pc-98 enable 256-color = true +pc-98 enable 16-color = true +pc-98 enable grcg = true +pc-98 enable egc = true +pc-98 bus mouse = true +pc-98 video mode = +pc-98 force ibm keyboard layout = false + +[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 +# '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. +# 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, 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. +# 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 +scaler = normal2x +glshader = none +autofit = true +monochrome_pal = green + +[vsync] +# vsyncmode: Synchronize vsync timing to the host display. Requires calibration within DOSBox-X. +# Possible values: off, on, force, host. +# vsyncrate: Vsync rate used if vsync is enabled. Ignored if vsyncmode is set to host (win32). +# Possible values:. +vsyncmode = off +vsyncrate = 75 + +[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 keycombos.(CTRL-F11/CTRL-F12) +# cycledown: Setting it lower than 100 will be a percentage. +# cycle emulation percentage adjust: The percentage adjustment for use with the "Emulate CPU speed" feature. Default is 0 (no adjustment), but you can adjust it (between -25% and 25%) if necessary. +# apmbios: Emulate Advanced Power Management BIOS calls +core = auto +fpu = true +cputype = auto +cycles = auto +cycleup = 10 +cycledown = 20 +cycle emulation percentage adjust = 0 +apmbios = true + +[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 + +[voodoo] +# voodoo_card: Enable support for the 3dfx Voodoo card. +# Possible values: false, software, opengl, auto. +# glide: Enable Glide emulation (Glide API passthrough to the host). +# Requires a Glide wrapper - glide2x.dll (Windows), libglide2x.so (Linux), or libglide2x.dylib (macOS). +# splash: Show 3dfx splash screen for Glide emulation (Windows; requires 3dfxSpl2.dll). +voodoo_card = auto +glide = false +splash = true + +[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. +nosound = false +swapstereo = false +rate = 44100 + +[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 to use with Fluidsynth. One must be specified. +mpu401 = intelligent +mpubase = 0 +mididevice = default +midiconfig = +samplerate = 44100 +mpuirq = -1 +mt32.romdir = +fluid.driver = default +fluid.soundfont = + +[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. +# mindma: Minimum DMA transfer left to increase attention across DSP blocks, in milliseconds. Set to -1 for default. +# There are some DOS games/demos that use single-cycle DSP playback in their music tracker and they micromanage +# the DMA transfer per block poorly in a way that causes popping and artifacts. Setting this option to 0 for +# such DOS applications may reduce audible popping and artifacts. +# 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. +# 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 +mindma = -1 +dma = 1 +hdma = 5 +enable speaker = false +sbmixer = true +oplmode = auto +oplemu = default +oplrate = 44100 +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 = 44100 +gusmemsize = -1 +gus master volume = 0.00 +gusbase = 240 +gusirq = 5 +gusdma = 3 +gustype = classic +ultradir = C:\ULTRASND + +[innova] +# innova: Enable the Innovation SSI-2001 emulation. +# samplerate: Sample rate of Innovation SSI-2001 emulation +# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. +# sidbase: SID base port (typically 280h). +# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300. +# quality: Set SID emulation quality level (0 to 3). +# Possible values: 0, 1, 2, 3. +innova = false +samplerate = 22050 +sidbase = 280 +quality = 0 + +[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 = 44100 +tandy = auto +tandyrate = 44100 +disney = false +ps1audio = off +ps1audiorate = 22050 + +[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. +joysticktype = auto +timed = true +autofire = false +swap34 = false +buttonwrap = false + +[mapper] +# joy1deadzone0-: deadzone for joystick 1 axis 0- +# joy1deadzone0+: deadzone for joystick 1 axis 0+ +# joy1deadzone1-: deadzone for joystick 1 axis 1- +# joy1deadzone1+: deadzone for joystick 1 axis 1+ +# joy1deadzone2-: deadzone for joystick 1 axis 2- +# joy1deadzone2+: deadzone for joystick 1 axis 2+ +# joy1deadzone3-: deadzone for joystick 1 axis 3- +# joy1deadzone3+: deadzone for joystick 1 axis 3+ +# joy1deadzone4-: deadzone for joystick 1 axis 4- +# joy1deadzone4+: deadzone for joystick 1 axis 4+ +# joy1deadzone5-: deadzone for joystick 1 axis 5- +# joy1deadzone5+: deadzone for joystick 1 axis 5+ +# joy1deadzone6-: deadzone for joystick 1 axis 6- +# joy1deadzone6+: deadzone for joystick 1 axis 6+ +# joy1deadzone7-: deadzone for joystick 1 axis 7- +# joy1deadzone7+: deadzone for joystick 1 axis 7+ +# joy2deadzone0-: deadzone for joystick 2 axis 0- +# joy2deadzone0+: deadzone for joystick 2 axis 0+ +# joy2deadzone1-: deadzone for joystick 2 axis 1- +# joy2deadzone1+: deadzone for joystick 2 axis 1+ +# joy2deadzone2-: deadzone for joystick 2 axis 2- +# joy2deadzone2+: deadzone for joystick 2 axis 2+ +# joy2deadzone3-: deadzone for joystick 2 axis 3- +# joy2deadzone3+: deadzone for joystick 2 axis 3+ +# joy2deadzone4-: deadzone for joystick 2 axis 4- +# joy2deadzone4+: deadzone for joystick 2 axis 4+ +# joy2deadzone5-: deadzone for joystick 2 axis 5- +# joy2deadzone5+: deadzone for joystick 2 axis 5+ +# joy2deadzone6-: deadzone for joystick 2 axis 6- +# joy2deadzone6+: deadzone for joystick 2 axis 6+ +# joy2deadzone7-: deadzone for joystick 2 axis 7- +# joy2deadzone7+: deadzone for joystick 2 axis 7+ +joy1deadzone0- = 0.60 +joy1deadzone0+ = 0.60 +joy1deadzone1- = 0.60 +joy1deadzone1+ = 0.60 +joy1deadzone2- = 0.60 +joy1deadzone2+ = 0.60 +joy1deadzone3- = 0.60 +joy1deadzone3+ = 0.60 +joy1deadzone4- = 0.60 +joy1deadzone4+ = 0.60 +joy1deadzone5- = 0.60 +joy1deadzone5+ = 0.60 +joy1deadzone6- = 0.60 +joy1deadzone6+ = 0.60 +joy1deadzone7- = 0.60 +joy1deadzone7+ = 0.60 +joy2deadzone0- = 0.60 +joy2deadzone0+ = 0.60 +joy2deadzone1- = 0.60 +joy2deadzone1+ = 0.60 +joy2deadzone2- = 0.60 +joy2deadzone2+ = 0.60 +joy2deadzone3- = 0.60 +joy2deadzone3+ = 0.60 +joy2deadzone4- = 0.60 +joy2deadzone4+ = 0.60 +joy2deadzone5- = 0.60 +joy2deadzone5+ = 0.60 +joy2deadzone6- = 0.60 +joy2deadzone6+ = 0.60 +joy2deadzone7- = 0.60 +joy2deadzone7+ = 0.60 + +[serial] +# serial1: set type of device connected to the serial (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, nonlocal (all optional). +# connections are limited to localhost unless you specify nonlocal:1 +# Example: serial1=modem listenport:5000 +# Possible values: dummy, disabled, modem, nullmodem, serialmouse, directserial, log, file. +# serial2: see serial1 +# Possible values: dummy, disabled, modem, nullmodem, serialmouse, directserial, log, file. +# serial3: see serial1 +# Possible values: dummy, disabled, modem, nullmodem, serialmouse, directserial, log, file. +# serial4: see serial1 +# Possible values: dummy, disabled, modem, nullmodem, serialmouse, directserial, log, file. +serial1 = dummy +serial2 = dummy +serial3 = disabled +serial4 = disabled + +[parallel] +# parallel1: parallel1-3 -- set type of device connected to the parallel (LPT) port. +# Can be: +# reallpt (direct parallel port passthrough), +# file (records data to a file or passes it to a device), +# printer (virtual dot-matrix printer, see [printer] section) +# disney (attach Disney Sound Source emulation to this port) +# Additional parameters must be in the same line in the form of +# parameter:value. +# for reallpt: +# Windows: +# realbase (the base address of your real parallel port). +# Default: 378 +# ecpbase (base address of the ECP registers, optional). +# Linux: realport (the parallel port device i.e. /dev/parport0). +# for file: +# dev: (i.e. dev:lpt1) to forward data to a device, +# or append: appends data to the specified file. +# Without the above parameters data is written to files in the capture dir. +# Additional parameters: timeout: = how long to wait before +# closing the file on inactivity (default:500), addFF to add a formfeed when +# closing, addLF to add a linefeed if the app doesn't, cp: +# to perform codepage translation, i.e. cp:437 +# for printer: +# printer still has it's own configuration section above. +# parallel2: see parallel1 +# parallel3: see parallel1 +# dongle: Enable dongle +parallel1 = disabled +parallel2 = disabled +parallel3 = disabled +dongle = false + +[printer] +# printer: Enable printer emulation. +# dpi: Resolution of printer (default 360). +# width: Width of paper in 1/10 inch (default 85 = 8.5''). +# height: Height of paper in 1/10 inch (default 110 = 11.0''). +# printoutput: Output method for finished pages: +# png : Creates PNG images (default) +# ps : Creates PostScript +# bmp : Creates BMP images (very huge files, not recommended) +# printer : Send to an actual printer in Windows (Print dialog will appear) +# multipage: Adds all pages to one PostScript file or printer job until CTRL-F2 is pressed. +# docpath: The path where the output files are stored. +# timeout: (in milliseconds) if nonzero: the time the page will be ejected automatically after when no more data arrives at the printer. +printer = true +dpi = 360 +width = 85 +height = 110 +printoutput = png +multipage = false +docpath = . +timeout = 0 + +[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) +# 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. +# autoloadfix: If set (default), DOSBox-X will automatically re-run the executable with LOADFIX if it failed with the "Packed file is corrupt" error. +# 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. +# startcmd: Allow starting commands to run on the Windows host including the use of START command. +# startwait: Specify whether DOSBox-X should wait for the Windows programs after they are started. +# startquiet: If set, DOSBox-X will not show information messages before launching Windows programs to run on the host. +# int33: Enable INT 33H (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 Windows 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 Windows 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. +xms = true +xms handles = 0 +shell configuration as commands = false +hma = true +dosv = off +ems = true +umb = true +quick reboot = false +ver = +lfn = auto +autoloadfix = true +automount = true +automountall = false +mountwarning = true +startcmd = false +startwait = true +startquiet = false +int33 = true +keyboardlayout = auto +dos clipboard device enable = false +dos clipboard device name = CLIP$ +dos clipboard api = true + +[ipx] +# ipx: Enable ipx over UDP/IP emulation. +ipx = false + +[ne2000] +# ne2000: Enable Ethernet passthrough. Requires [Win]Pcap. +# nicbase: The base address of the NE2000 board. +# nicirq: The interrupt it uses. Note serial2 uses IRQ3 as default. +# realnic: Specifies which of your network interfaces is used. +# Write 'list' here to see the list of devices in the +# Status Window. Then make your choice and put either the +# interface number (2 or something) or a part of your adapters +# name, e.g. VIA here. +ne2000 = false +nicbase = 300 +nicirq = 3 +realnic = list + +[ide, primary] +# enable: Enable IDE interface +# pnp: List IDE device in ISA PnP BIOS enumeration +enable = true +pnp = true + +[ide, secondary] +enable = true +pnp = true + +[ide, tertiary] +enable = false +pnp = true + +[ide, quaternary] +enable = false +pnp = true + +[ide, quinternary] +enable = false +pnp = true + +[ide, sexternary] +enable = false +pnp = true + +[ide, septernary] +enable = false +pnp = true + +[ide, octernary] +enable = false +pnp = true + +[fdc, primary] +# enable: Enable floppy controller interface +# pnp: List floppy controller in ISA PnP BIOS enumeration +# mode: Floppy controller mode. What the controller acts like. +# ps2 PS/2 mode (most common) +# ps2_model30 PS/2 model 30 +# at AT mode +# xt PC/XT mode +enable = false +pnp = true +mode = ps2 + +[4dos] +rem = This section is the 4DOS.INI file, if you use 4DOS as the command shell + +[config] +# rem: Records comments (remarks). +# break: Sets or clears extended CTRL+C checking. +# Possible values: on, off. +# numlock: Sets the initial state of the NumLock key. +# Possible values: on, off, . +# shell: Specifies the command shell (COMMAND.COM or 4DOS.COM). +# dos: Reports whether DOS occupies HMA and allocates UMB memory (if available). +# fcbs: Number of FCB handles available to DOS programs (1-255). +# files: Number of file handles available to DOS programs (8-255). +# country: Sets the country code for country-specific date/time formats. +# lastdrive: The maximum drive letter that can be accessed by programs. +# Possible values: a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z. +rem = This section is DOS's CONFIG.SYS file, not all CONFIG.SYS options supported +break = off +numlock = +shell = +dos = high, umb +fcbs = 100 +files = 127 +country = 1 +lastdrive = a +set path = Z:\ +set prompt = $P$G +set temp = +install = +installhigh = +device = +devicehigh = + +[autoexec] +# Lines in this section will be run at startup. +# You can put your MOUNT lines here. + diff --git a/include/build_timestamp.h b/include/build_timestamp.h index cad738e5e..2a5f7362a 100644 --- a/include/build_timestamp.h +++ b/include/build_timestamp.h @@ -1,4 +1,4 @@ /*auto-generated*/ -#define UPDATED_STR "Oct 24, 2020 3:51:01pm" -#define GIT_COMMIT_HASH "31b0d7f" +#define UPDATED_STR "Oct 24, 2020 11:56:42pm" +#define GIT_COMMIT_HASH "5571e26" #define COPYRIGHT_END_YEAR "2020" diff --git a/src/gui/sdlmain.cpp b/src/gui/sdlmain.cpp index b14c860ab..897c6750f 100644 --- a/src/gui/sdlmain.cpp +++ b/src/gui/sdlmain.cpp @@ -6200,6 +6200,7 @@ void SDL_SetupConfigSection() { Pmulti->SetValue("none",/*init*/true); Pmulti->Set_help("Pixelshader program (effect file must be in Shaders subdirectory). If 'forced' is appended,\n" "then the shader will be used even if the result might not be desired."); + Pmulti->SetBasic(true); Pstring = Pmulti->GetSection()->Add_string("type",Property::Changeable::Always,"none"); Pstring = Pmulti->GetSection()->Add_string("force",Property::Changeable::Always,""); @@ -6222,7 +6223,7 @@ void SDL_SetupConfigSection() { Pbool = sdl_sec->Add_bool("showmenu", Property::Changeable::Always, true); Pbool->Set_help("Whether to show the menu bar (if supported). Default true."); - Pstring->SetBasic(true); + Pbool->SetBasic(true); // Pint = sdl_sec->Add_int("overscancolor",Property::Changeable::Always, 0); // Pint->SetMinMax(0,1000); diff --git a/src/misc/setup.cpp b/src/misc/setup.cpp index 8c1e67f73..e61b9c77a 100644 --- a/src/misc/setup.cpp +++ b/src/misc/setup.cpp @@ -738,13 +738,15 @@ void Section_prop::PrintData(FILE* outfile,int everything) { size_t len = 0; // Determine maximum length of the props in this section for(const_it tel = properties.begin();tel != properties.end();++tel) { + if (!(everything==1 || everything==-1 && ((*tel)->basic() || (*tel)->modified()) || !everything && ((*tel)->propname == "rem" && (!strcasecmp(GetName(), "4dos") || !strcasecmp(GetName(), "config")) || (*tel)->modified()))) continue; + if ((*tel)->propname.length() > len) len = (*tel)->propname.length(); } if (!strcasecmp(GetName(), "config")&&len<11) len=11; for(const_it tel = properties.begin();tel != properties.end();++tel) { - if (everything!=1 && !(everything==-1 && (*tel)->basic() || !everything && (*tel)->propname == "rem") && !(*tel)->modified()) continue; + if (!(everything==1 || everything==-1 && ((*tel)->basic() || (*tel)->modified()) || !everything && ((*tel)->propname == "rem" && (!strcasecmp(GetName(), "4dos") || !strcasecmp(GetName(), "config")) || (*tel)->modified()))) continue; fprintf(outfile,"%-*s = %s\n", (unsigned int)len, (*tel)->propname.c_str(), (*tel)->GetValue().ToString().c_str()); } @@ -798,7 +800,8 @@ bool Config::PrintConfig(char const * const configfilename,int everything) const Property *p; size_t i = 0, maxwidth = 0; while ((p = sec->Get_prop(int(i++)))) { - if (everything!=1 && !(everything==-1 && !p->basic() || !everything && p->propname == "rem") && !p->modified()) continue; + if (!(everything==1 || everything==-1 && (p->basic() || p->modified()) || !everything && (p->propname == "rem" && (!strcmp(temp, "4dos") || !strcmp(temp, "config")) || p->modified()))) + continue; size_t w = strlen(p->propname.c_str()); if (w > maxwidth) maxwidth = w; @@ -816,7 +819,8 @@ bool Config::PrintConfig(char const * const configfilename,int everything) const char prefix[80]; snprintf(prefix,80, "\n# %*s ", (int)maxwidth, ""); while ((p = sec->Get_prop(int(i++)))) { - if (everything!=1 && !(everything==-1 && !p->basic() || !everything && p->propname == "rem") && !p->modified()) continue; + if (!(everything==1 || everything==-1 && (p->basic() || p->modified()) || !everything && (p->propname == "rem" && (!strcmp(temp, "4dos") || !strcmp(temp, "config")) || p->modified()))) + continue; std::string help = p->Get_help(); std::string::size_type pos = std::string::npos; @@ -826,7 +830,7 @@ bool Config::PrintConfig(char const * const configfilename,int everything) const std::vector values = p->GetValues(); - if ((help != "" || !values.empty()) && !(!everything && p->propname == "rem" && (!strcmp(temp, "4dos") || !strcmp(temp, "config")))) { + if (help != "" || !values.empty()) { fprintf(outfile, "# %*s: %s", (int)maxwidth, p->propname.c_str(), help.c_str()); if (!values.empty()) { diff --git a/update-dosbox-x-reference-conf b/update-dosbox-x-reference-conf index f96979ea0..5b75f4d19 100755 --- a/update-dosbox-x-reference-conf +++ b/update-dosbox-x-reference-conf @@ -1,6 +1,7 @@ #!/bin/bash -src/dosbox-x -defaultconf -defaultdir . -exit -fastlaunch -c 'config -all -wcp dosbox-x.reference.conf' || exit 1 +src/dosbox-x -defaultconf -defaultdir . -exit -fastlaunch -c 'config -wcp dosbox-x.commonref.conf' -c 'config -all -wcp dosbox-x.reference.conf' || exit 1 # Convert to Unix format if needed +dos2unix dosbox-x.commonref.conf dos2unix dosbox-x.reference.conf