commit
fd4f8c6aa4
42 changed files with 67 additions and 3378 deletions
|
@ -1,10 +0,0 @@
|
|||
SYSTEM_NAME="solarus"
|
||||
SYSTEM_FULLNAME="Solarus"
|
||||
SYSTEM_MANUFACTURER="Solarus"
|
||||
SYSTEM_RELEASE="2020"
|
||||
SYSTEM_HARDWARE="game engine"
|
||||
SYSTEM_PATH="/storage/roms/solarus"
|
||||
SYSTEM_EXTENSION=".solarus"
|
||||
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
|
||||
SYSTEM_PLATFORM="solarus"
|
||||
SYSTEM_THEME="solarus"
|
|
@ -163,5 +163,7 @@ fi
|
|||
|
||||
#Run Aethersx2 emulator
|
||||
set_audio pulseaudio
|
||||
export SDL_AUDIODRIVER=pulseaudio
|
||||
jslisten set "-9 aethersx2"
|
||||
${EMUPERF} /usr/bin/@APPIMAGE@ -fullscreen "${1}"
|
||||
set_audio alsa
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
# Ensure we're using pulseaudio
|
||||
rr_audio.sh pulseaudio
|
||||
export SDL_AUDIODRIVER=pulseaudio
|
||||
jslisten set "-9 cemu"
|
||||
|
||||
BTTIMEOUT=10
|
||||
BTTESTCOUNT=0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 citra"
|
||||
|
||||
if [ ! -d "/storage/.config/citra-emu" ]; then
|
||||
mkdir -p "/storage/.config/citra-emu"
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 dolphin-emu-nogui"
|
||||
|
||||
#Check if dolphin-emu exists in .config
|
||||
if [ ! -d "/storage/.config/dolphin-emu" ]; then
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 dolphin-emu-nogui"
|
||||
|
||||
#Check if dolphin-emu exists in .config
|
||||
if [ ! -d "/storage/.config/dolphin-emu" ]; then
|
||||
|
|
|
@ -1,344 +0,0 @@
|
|||
# This is the configuration file for DOSBox SDL2. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb, opengl, openglnb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen=true
|
||||
# Note that VSYNC is be very demanding
|
||||
vsync=false
|
||||
fullresolution=0x0
|
||||
windowresolution=original
|
||||
output=texture
|
||||
# Place shaders in /storage/.config/dosbox/shaders
|
||||
gl.shader=crt-easymode
|
||||
texture.renderer=auto
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=highest,highest
|
||||
# Input mapper file is looked for in the same directory as the specified conf
|
||||
mapperfile=example.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=true
|
||||
scaler=none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401=intelligent
|
||||
mididevice=mt32
|
||||
midiconfig=
|
||||
# Place MT-32 roms here
|
||||
mt32.romdir=/storage/roms/bios
|
||||
mt32.reverse.stereo=false
|
||||
mt32.verbose=false
|
||||
mt32.thread=false
|
||||
mt32.chunk=16
|
||||
mt32.prebuffer=32
|
||||
mt32.partials=32
|
||||
mt32.dac=0
|
||||
mt32.analog=2
|
||||
mt32.reverb.mode=auto
|
||||
mt32.reverb.time=5
|
||||
mt32.reverb.level=3
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=true
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
# Place GUS files in /storage/roms/dos/ULTRASND
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=fcs
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
|
||||
mount c /storage/roms/dos
|
||||
c:
|
||||
cd example
|
||||
example.exe
|
||||
#exit
|
|
@ -1,327 +0,0 @@
|
|||
# This is the configuration file for DOSBox SDL2. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb, opengl, openglnb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen=true
|
||||
# Note that VSYNC is be very demanding
|
||||
vsync=false
|
||||
fullresolution=0x0
|
||||
windowresolution=original
|
||||
output=texture
|
||||
# Place shaders in /storage/.config/dosbox/shaders
|
||||
gl.shader=crt-easymode
|
||||
texture.renderer=auto
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=highest,highest
|
||||
# Input mapper file is looked for in the same directory as the specified conf
|
||||
mapperfile=example.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=true
|
||||
scaler=none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401=intelligent
|
||||
# FluidSynth Software Synthesizer
|
||||
mididevice=fluidsynth
|
||||
fluid.driver=pulseaudio
|
||||
fluid.soundfont=/usr/share/soundfonts/GeneralUser.sf2
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=true
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
# Place GUS files in /storage/roms/dos/ULTRASND
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=fcs
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
|
@ -1,357 +0,0 @@
|
|||
# This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.On Windows 10 with display scaling (Scale and layout) set to a value above 100%, it is recommended
|
||||
# to use a lower full/windowresolution, in order to avoid window size problems.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50).
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen = true
|
||||
vsync = false
|
||||
fullresolution = 0x0
|
||||
windowresolution = original
|
||||
output = texturenb
|
||||
gl.shader =
|
||||
texture.renderer = auto
|
||||
autolock = true
|
||||
sensitivity = 100
|
||||
waitonerror = true
|
||||
priority = higher,normal
|
||||
mapperfile = mapper-sdl2-SVN.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language =
|
||||
machine = svga_s3
|
||||
captures = capture
|
||||
memsize = 16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# To fit a scaler in the resolution used at full screen may require a border or side bars,
|
||||
# to fill the screen entirely, depending on your hardware, a different scaler/fullresolution might work.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip = 0
|
||||
aspect = true
|
||||
scaler = none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core = auto
|
||||
cputype = auto
|
||||
cycles = auto
|
||||
cycleup = 10
|
||||
cycledown = 20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound = false
|
||||
rate = 44100
|
||||
blocksize = 1024
|
||||
prebuffer = 25
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, fluidsynth, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id or part of the name of the device you want to use (find the id/name with mixer/listmidi).
|
||||
# Or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# fluid.samplerate: Sample rate to use with Fluidsynth.
|
||||
# fluid.gain: Fluidsynth gain.
|
||||
# fluid.polyphony: Fluidsynth polyphony.
|
||||
# fluid.cores: Fluidsynth CPU cores to use, default.
|
||||
# fluid.periods: Fluidsynth periods.
|
||||
# fluid.periodsize: Fluidsynth period size.
|
||||
# fluid.reverb: Fluidsynth use reverb.
|
||||
# Possible values: no, yes.
|
||||
# fluid.chorus: Fluidsynth use chorus.
|
||||
# Possible values: no, yes.
|
||||
# fluid.reverb,roomsize: Fluidsynth reverb room size.
|
||||
# fluid.reverb.damping: Fluidsynth reverb damping.
|
||||
# fluid.reverb.width: Fluidsynth reverb width.
|
||||
# fluid.reverb.level: Fluidsynth reverb level.
|
||||
# fluid.chorus.number: Fluidsynth chorus voices
|
||||
# fluid.chorus.level: Fluidsynth chorus level.
|
||||
# fluid.chorus.speed: Fluidsynth chorus speed.
|
||||
# fluid.chorus.depth: Fluidsynth chorus depth.
|
||||
# fluid.chorus.type: Fluidsynth chorus type. 0 is sine wave, 1 is triangle wave.
|
||||
# Possible values: 0, 1.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401 = intelligent
|
||||
# FluidSynth Software Synthesizer
|
||||
mididevice = fluidsynth
|
||||
fluid.driver = pulseaudio
|
||||
fluid.soundfont = /usr/share/soundfonts/GeneralUser.sf2
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast, mame.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype = sb16
|
||||
sbbase = 220
|
||||
irq = 7
|
||||
dma = 1
|
||||
hdma = 5
|
||||
sbmixer = true
|
||||
oplmode = auto
|
||||
oplemu = default
|
||||
oplrate = 44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus = false
|
||||
gusrate = 44100
|
||||
gusbase = 240
|
||||
gusirq = 5
|
||||
gusdma = 3
|
||||
ultradir = C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker = true
|
||||
pcrate = 44100
|
||||
tandy = auto
|
||||
tandyrate = 44100
|
||||
disney = true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. Can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
# circularinput: enable translation of circular input to square output.
|
||||
# Try enabling this if your left analog stick can only move in a circle.
|
||||
# deadzone: the percentage of motion to ignore. 100 turns the stick into a digital one.
|
||||
|
||||
joysticktype = auto
|
||||
timed = true
|
||||
autofire = false
|
||||
swap34 = false
|
||||
buttonwrap = false
|
||||
circularinput = false
|
||||
deadzone = 10
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1 = dummy
|
||||
serial2 = dummy
|
||||
serial3 = disabled
|
||||
serial4 = disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms = true
|
||||
ems = true
|
||||
umb = true
|
||||
keyboardlayout = auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx = false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
# You can put your MOUNT lines here.
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2020-present Sylvia van Os (https://github.com/TheLastProject)
|
||||
# Copyright (C) 2020-present Fewtarius
|
||||
|
||||
echo -e $(date -u)" - Script started.\n" >> /tmp/logs/dosbox_scan.log
|
||||
|
||||
EE_DEVICE=$(cat /ee_arch)
|
||||
|
||||
source /etc/profile
|
||||
rp_registerAllModules
|
||||
|
||||
clear
|
||||
|
||||
#rm "/storage/.config/dosbox/games/*.conf"
|
||||
|
||||
function create_launcher() {
|
||||
echo "\nAdding $2..."
|
||||
launcher_name="$1 ($2)"
|
||||
cp /storage/.config/dosbox/dosbox-SDL2.conf "/storage/.config/dosbox/games/$launcher_name.conf"
|
||||
cat <<EOF >> "/storage/.config/dosbox/games/$launcher_name.conf"
|
||||
mount c /storage/roms/pc/$(basename $data_dir)
|
||||
c:
|
||||
$2
|
||||
exit
|
||||
EOF
|
||||
}
|
||||
|
||||
echo "Scanning for games...\n"
|
||||
|
||||
OIFS="$IFS"
|
||||
IFS=$'\n'
|
||||
for data_dir in $(find /storage/roms/pc/ -type d -name "*")
|
||||
do
|
||||
echo "Testing (dir) $data_dir"
|
||||
if [ -d "$data_dir" ]; then
|
||||
for executable in $(find "$data_dir" -iname "*.exe")
|
||||
do
|
||||
echo "Testing (exe) $executable"
|
||||
executable_case="$(basename "$executable" | tr '[:lower:]' '[:upper:]')"
|
||||
echo "Case $executable" >> /tmp/logs/dosbox_scan.log
|
||||
case "$executable_case" in
|
||||
"SETUP.EXE" | "INSTALL.EXE" | "INSTALLER.EXE" | \
|
||||
"APOGEE.BAT" | "CATALOG.EXE" | "DEALERS.EXE" | \
|
||||
"SWCBBS.EXE" | "FILE0001.EXE" | "FILE0001.EXE" | \
|
||||
"HELPME.EXE" | "DOS4GW.EXE" | "NETARENA.EXE" | \
|
||||
"NETIPX.EXE" | "NETMODEM.EXE" | "NETTERM.EXE" | \
|
||||
"ORDER.EXE" | "DOSINST.EXE" | "PM2WINST.EXE" | \
|
||||
"README.EXE" | "MMD.EXE" | "PMDL.EXE" | "RAP-HELP.EXE" | \
|
||||
"XRFILE01.EXE" | "XRFILE02.EXE" | "XRFILE03.EXE" | \
|
||||
"XRFILE04.EXE" | "FADER.EXE" | "SETSOUND.EXE" | \
|
||||
"DRIVER.EXE" | "EMUSET.EXE" | "GRAVUTIL.EXE" | "GUSEMU.EXE" | \
|
||||
"INSTGRPS.EXE" | "LOADER.EXE" | "LOADBOS.EXE" | "MEGAEM.EXE" | \
|
||||
"MIDIFIER.EXE" | "PLAYFILE.EXE" | "PLAYMIDI.EXE" | \
|
||||
"ULTRAJOY.EXE" | "ULTRAMID.EXE" | "ULTRAMIX.EXE" | \
|
||||
"ULTRINIT.EXE" | "OMF21.EXE" | "LOADSBOS.EXE" )
|
||||
;;
|
||||
*)
|
||||
create_launcher "$(basename "$data_dir")" "$(basename "$executable")"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
done
|
||||
echo "Restarting EmulationStation...\n"
|
||||
echo "Restarting EmulationStation..." >> /tmp/logs/dosbox_scan.log
|
||||
clear
|
|
@ -1,47 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Frank Hartung (supervisedthinking (@) gmail.com)
|
||||
|
||||
PKG_NAME="dosbox-sdl2"
|
||||
PKG_VERSION="0dd982477bff268c10558004dd1671e183b1a10f"
|
||||
PKG_SHA256="2737817cd45889b21a4cef1e5fbd0782ffb5972f29bd3eaf7c3b8cc99cd9bac0"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/moralrecordings/dosbox"
|
||||
PKG_URL="https://github.com/moralrecordings/dosbox/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux glibc glib systemd dbus alsa-lib SDL2 SDL2_net SDL_sound libpng zlib libvorbis flac libogg fluidsynth munt"
|
||||
PKG_LONGDESC="This is an enhanced fork of DOSBox. It is currently in sync with revision 4156."
|
||||
PKG_TOOLCHAIN="autotools"
|
||||
PKG_BUILD_FLAGS="+lto"
|
||||
|
||||
pre_configure_target() {
|
||||
|
||||
if [ ${ARCH} == "arm" ]; then
|
||||
EE_ARCH="armv7l"
|
||||
else
|
||||
EE_ARCH=${ARCH}
|
||||
fi
|
||||
|
||||
# Clean up build directory
|
||||
cd ${PKG_BUILD}
|
||||
rm -rf .${TARGET_NAME}
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||
--enable-core-inline \
|
||||
--enable-dynrec \
|
||||
--enable-unaligned_memory \
|
||||
--with-sdl-prefix=${SYSROOT_PREFIX}/usr"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --host=$EE_ARCH"
|
||||
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
# Define DOSBox version
|
||||
sed -e "s/SVN/SDL2/" -i ${PKG_BUILD}/config.h
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
# Create config directory & install config
|
||||
mkdir -p ${INSTALL}/usr/config/dosbox
|
||||
cp -a ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin/
|
||||
cp -a ${PKG_DIR}/config/* ${INSTALL}/usr/config/dosbox/
|
||||
}
|
|
@ -1,530 +0,0 @@
|
|||
diff --git b/configure.ac a/configure.ac
|
||||
index f393457e41..b14d3e9ad3 100644
|
||||
--- b/configure.ac
|
||||
+++ a/configure.ac
|
||||
@@ -421,6 +421,16 @@ if test x$have_wordexp_h = xyes ; then
|
||||
AC_DEFINE(C_WORDEXP,1)
|
||||
fi
|
||||
|
||||
+AH_TEMPLATE(C_MUNT,[define to 1 if you have munt lib])
|
||||
+AC_CHECK_LIB(mt32emu, main, have_mt32emu_lib=yes, have_mt32emu_lib=no, )
|
||||
+if test x$have_mt32emu_lib = xyes ; then
|
||||
+ LIBS="$LIBS -lmt32emu"
|
||||
+ AC_DEFINE(C_MUNT,1)
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+else
|
||||
+ AC_MSG_WARN([Can't find munt, Roland MIDI device emulation disabled.])
|
||||
+fi
|
||||
+
|
||||
AH_TEMPLATE(C_OPENGL,[Define to 1 to use opengl display output support])
|
||||
AC_CHECK_LIB(GL, main, have_gl_lib=yes, have_gl_lib=no , )
|
||||
AC_CHECK_LIB(opengl32, main, have_opengl32_lib=yes,have_opengl32_lib=no , )
|
||||
diff --git b/src/dosbox.cpp a/src/dosbox.cpp
|
||||
index 485f6a7958..18688a8e00 100644
|
||||
--- b/src/dosbox.cpp
|
||||
+++ a/src/dosbox.cpp
|
||||
@@ -500,6 +500,9 @@ void DOSBOX_Init(void) {
|
||||
"coremidi",
|
||||
#ifdef C_FLUIDSYNTH
|
||||
"fluidsynth",
|
||||
+#endif
|
||||
+#ifdef C_MUNT
|
||||
+ "mt32",
|
||||
#endif
|
||||
"none",
|
||||
0
|
||||
@@ -587,6 +590,10 @@ void DOSBOX_Init(void) {
|
||||
Pint->Set_help("Fluidsynth chorus type. 0 is sine wave, 1 is triangle wave.");
|
||||
#endif
|
||||
|
||||
+#ifdef C_MUNT
|
||||
+#include "mt32options.h"
|
||||
+#endif
|
||||
+
|
||||
#if C_DEBUG
|
||||
secprop=control->AddSection_prop("debug",&DEBUG_Init);
|
||||
#endif
|
||||
diff --git b/src/gui/Makefile.am a/src/gui/Makefile.am
|
||||
index 3fed5e68ae..eb994d86b8 100644
|
||||
--- b/src/gui/Makefile.am
|
||||
+++ a/src/gui/Makefile.am
|
||||
@@ -7,5 +7,6 @@ libgui_a_SOURCES = sdlmain.cpp sdl_mapper.cpp dosbox_logo.h \
|
||||
render_templates_sai.h render_templates_hq.h \
|
||||
render_templates_hq2x.h render_templates_hq3x.h \
|
||||
midi.cpp midi_win32.h midi_oss.h midi_coreaudio.h midi_alsa.h \
|
||||
- midi_coremidi.h sdl_gui.cpp dosbox_splash.h
|
||||
+ midi_coremidi.h midi_mt32.h midi_mt32.cpp sdl_gui.cpp \
|
||||
+ dosbox_splash.h
|
||||
|
||||
diff --git b/src/gui/midi.cpp a/src/gui/midi.cpp
|
||||
index 16cdae2cb5..bed8b7f6bd 100644
|
||||
--- b/src/gui/midi.cpp
|
||||
+++ a/src/gui/midi.cpp
|
||||
@@ -95,6 +95,11 @@ MidiHandler Midi_none;
|
||||
|
||||
#endif
|
||||
|
||||
+#ifdef C_MUNT
|
||||
+#include "midi_mt32.h"
|
||||
+static MidiHandler_mt32 &Midi_mt32 = MidiHandler_mt32::GetInstance();
|
||||
+#endif
|
||||
+
|
||||
DB_Midi midi;
|
||||
|
||||
void MIDI_RawOutByte(Bit8u data) {
|
||||
diff --git b/src/gui/midi_mt32.cpp a/src/gui/midi_mt32.cpp
|
||||
new file mode 100644
|
||||
index 0000000000..d7beafba0b
|
||||
--- /dev/null
|
||||
+++ a/src/gui/midi_mt32.cpp
|
||||
@@ -0,0 +1,283 @@
|
||||
+#include "config.h"
|
||||
+#ifdef C_MUNT
|
||||
+
|
||||
+#include "SDL_thread.h"
|
||||
+#include "SDL_endian.h"
|
||||
+#include "control.h"
|
||||
+
|
||||
+#ifndef DOSBOX_MIDI_H
|
||||
+#include "midi.h"
|
||||
+#endif
|
||||
+
|
||||
+#ifdef C_WORDEXP
|
||||
+#include <wordexp.h>
|
||||
+#endif
|
||||
+
|
||||
+#include "midi_mt32.h"
|
||||
+
|
||||
+static const Bitu MILLIS_PER_SECOND = 1000;
|
||||
+
|
||||
+MidiHandler_mt32 &MidiHandler_mt32::GetInstance() {
|
||||
+ static MidiHandler_mt32 midiHandler_mt32;
|
||||
+ return midiHandler_mt32;
|
||||
+}
|
||||
+
|
||||
+const char *MidiHandler_mt32::GetName(void) {
|
||||
+ return "mt32";
|
||||
+}
|
||||
+
|
||||
+bool MidiHandler_mt32::Open(const char *conf) {
|
||||
+ Section_prop *section = static_cast<Section_prop *>(control->GetSection("midi"));
|
||||
+ const char *romDir = section->Get_string("mt32.romdir");
|
||||
+ if (romDir == NULL) romDir = "./"; // Paranoid NULL-check, should never happen
|
||||
+ size_t romDirLen = strlen(romDir);
|
||||
+ bool addPathSeparator = false;
|
||||
+ if (romDirLen < 1) {
|
||||
+ romDir = "./";
|
||||
+ } else if (4080 < romDirLen) {
|
||||
+ LOG_MSG("MT32: mt32.romdir is too long, using the current dir.");
|
||||
+ romDir = "./";
|
||||
+ } else {
|
||||
+ char lastChar = romDir[strlen(romDir) - 1];
|
||||
+ addPathSeparator = lastChar != '/' && lastChar != '\\';
|
||||
+ }
|
||||
+
|
||||
+ char pathName[4096];
|
||||
+ MT32Emu::FileStream controlROMFile;
|
||||
+ MT32Emu::FileStream pcmROMFile;
|
||||
+
|
||||
+ makeROMPathName(pathName, romDir, "CM32L_CONTROL.ROM", addPathSeparator);
|
||||
+ if (!controlROMFile.open(pathName)) {
|
||||
+ makeROMPathName(pathName, romDir, "MT32_CONTROL.ROM", addPathSeparator);
|
||||
+ if (!controlROMFile.open(pathName)) {
|
||||
+ LOG_MSG("MT32: Control ROM file not found");
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+ makeROMPathName(pathName, romDir, "CM32L_PCM.ROM", addPathSeparator);
|
||||
+ if (!pcmROMFile.open(pathName)) {
|
||||
+ makeROMPathName(pathName, romDir, "MT32_PCM.ROM", addPathSeparator);
|
||||
+ if (!pcmROMFile.open(pathName)) {
|
||||
+ LOG_MSG("MT32: PCM ROM file not found");
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+ const MT32Emu::ROMImage *controlROMImage = MT32Emu::ROMImage::makeROMImage(&controlROMFile);
|
||||
+ const MT32Emu::ROMImage *pcmROMImage = MT32Emu::ROMImage::makeROMImage(&pcmROMFile);
|
||||
+
|
||||
+ MT32Emu::AnalogOutputMode analogOutputMode = (MT32Emu::AnalogOutputMode)section->Get_int("mt32.analog");
|
||||
+
|
||||
+ synth = new MT32Emu::Synth(&reportHandler);
|
||||
+ if (!synth->open(*controlROMImage, *pcmROMImage, section->Get_int("mt32.partials"), analogOutputMode)) {
|
||||
+ delete synth;
|
||||
+ synth = NULL;
|
||||
+ LOG_MSG("MT32: Error initialising emulation");
|
||||
+ return false;
|
||||
+ }
|
||||
+ MT32Emu::ROMImage::freeROMImage(controlROMImage);
|
||||
+ MT32Emu::ROMImage::freeROMImage(pcmROMImage);
|
||||
+
|
||||
+ if (strcmp(section->Get_string("mt32.reverb.mode"), "auto") != 0) {
|
||||
+ Bit8u reverbsysex[] = {0x10, 0x00, 0x01, 0x00, 0x05, 0x03};
|
||||
+ reverbsysex[3] = (Bit8u)atoi(section->Get_string("mt32.reverb.mode"));
|
||||
+ reverbsysex[4] = (Bit8u)section->Get_int("mt32.reverb.time");
|
||||
+ reverbsysex[5] = (Bit8u)section->Get_int("mt32.reverb.level");
|
||||
+ synth->writeSysex(16, reverbsysex, 6);
|
||||
+ synth->setReverbOverridden(true);
|
||||
+ }
|
||||
+
|
||||
+ synth->setDACInputMode((MT32Emu::DACInputMode)section->Get_int("mt32.dac"));
|
||||
+
|
||||
+ synth->setReversedStereoEnabled(section->Get_bool("mt32.reverse.stereo"));
|
||||
+ noise = section->Get_bool("mt32.verbose");
|
||||
+ renderInThread = section->Get_bool("mt32.thread");
|
||||
+
|
||||
+ if (noise) LOG_MSG("MT32: Set maximum number of partials %d", synth->getPartialCount());
|
||||
+ if (noise) LOG_MSG("MT32: Adding mixer channel at sample rate %d", synth->getStereoOutputSampleRate());
|
||||
+ chan = MIXER_AddChannel(mixerCallBack, synth->getStereoOutputSampleRate(), "MT32");
|
||||
+ if (renderInThread) {
|
||||
+ stopProcessing = false;
|
||||
+ playPos = 0;
|
||||
+ sampleRateRatio = MT32Emu::SAMPLE_RATE / (double)synth->getStereoOutputSampleRate();
|
||||
+ int chunkSize = section->Get_int("mt32.chunk");
|
||||
+ minimumRenderFrames = (chunkSize * synth->getStereoOutputSampleRate()) / MILLIS_PER_SECOND;
|
||||
+ int latency = section->Get_int("mt32.prebuffer");
|
||||
+ if (latency <= chunkSize) {
|
||||
+ latency = 2 * chunkSize;
|
||||
+ LOG_MSG("MT32: chunk length must be less than prebuffer length, prebuffer length reset to %i ms.", latency);
|
||||
+ }
|
||||
+ framesPerAudioBuffer = (latency * synth->getStereoOutputSampleRate()) / MILLIS_PER_SECOND;
|
||||
+ audioBufferSize = framesPerAudioBuffer << 1;
|
||||
+ audioBuffer = new Bit16s[audioBufferSize];
|
||||
+ synth->render(audioBuffer, framesPerAudioBuffer - 1);
|
||||
+ renderPos = (framesPerAudioBuffer - 1) << 1;
|
||||
+ playedBuffers = 1;
|
||||
+ lock = SDL_CreateMutex();
|
||||
+ framesInBufferChanged = SDL_CreateCond();
|
||||
+ thread = SDL_CreateThread(processingThread, NULL, NULL);
|
||||
+ }
|
||||
+ chan->Enable(true);
|
||||
+
|
||||
+ open = true;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::Close(void) {
|
||||
+ if (!open) return;
|
||||
+ chan->Enable(false);
|
||||
+ if (renderInThread) {
|
||||
+ stopProcessing = true;
|
||||
+ SDL_LockMutex(lock);
|
||||
+ SDL_CondSignal(framesInBufferChanged);
|
||||
+ SDL_UnlockMutex(lock);
|
||||
+ SDL_WaitThread(thread, NULL);
|
||||
+ thread = NULL;
|
||||
+ SDL_DestroyMutex(lock);
|
||||
+ lock = NULL;
|
||||
+ SDL_DestroyCond(framesInBufferChanged);
|
||||
+ framesInBufferChanged = NULL;
|
||||
+ delete[] audioBuffer;
|
||||
+ audioBuffer = NULL;
|
||||
+ }
|
||||
+ MIXER_DelChannel(chan);
|
||||
+ chan = NULL;
|
||||
+ synth->close();
|
||||
+ delete synth;
|
||||
+ synth = NULL;
|
||||
+ open = false;
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::PlayMsg(Bit8u *msg) {
|
||||
+ if (renderInThread) {
|
||||
+ synth->playMsg(SDL_SwapLE32(*(Bit32u *)msg), getMidiEventTimestamp());
|
||||
+ } else {
|
||||
+ synth->playMsg(SDL_SwapLE32(*(Bit32u *)msg));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::PlaySysex(Bit8u *sysex, Bitu len) {
|
||||
+ if (renderInThread) {
|
||||
+ synth->playSysex(sysex, len, getMidiEventTimestamp());
|
||||
+ } else {
|
||||
+ synth->playSysex(sysex, len);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::mixerCallBack(Bitu len) {
|
||||
+ MidiHandler_mt32::GetInstance().handleMixerCallBack(len);
|
||||
+}
|
||||
+
|
||||
+int MidiHandler_mt32::processingThread(void *) {
|
||||
+ MidiHandler_mt32::GetInstance().renderingLoop();
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::makeROMPathName(char pathName[], const char romDir[], const char fileName[], bool addPathSeparator) {
|
||||
+
|
||||
+#ifdef C_WORDEXP
|
||||
+ wordexp_t p;
|
||||
+ wordexp(romDir, &p, 0);
|
||||
+ strcpy(pathName, p.we_wordv[0]);
|
||||
+ wordfree(&p);
|
||||
+#else
|
||||
+ strcpy(pathName, romDir);
|
||||
+#endif
|
||||
+
|
||||
+ if (addPathSeparator) {
|
||||
+ strcat(pathName, "/");
|
||||
+ }
|
||||
+ strcat(pathName, fileName);
|
||||
+}
|
||||
+
|
||||
+MidiHandler_mt32::MidiHandler_mt32() : open(false), chan(NULL), synth(NULL), thread(NULL) {
|
||||
+}
|
||||
+
|
||||
+MidiHandler_mt32::~MidiHandler_mt32() {
|
||||
+ Close();
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::handleMixerCallBack(Bitu len) {
|
||||
+ if (renderInThread) {
|
||||
+ while (renderPos == playPos) {
|
||||
+ SDL_LockMutex(lock);
|
||||
+ SDL_CondWait(framesInBufferChanged, lock);
|
||||
+ SDL_UnlockMutex(lock);
|
||||
+ if (stopProcessing) return;
|
||||
+ }
|
||||
+ Bitu renderPosSnap = renderPos;
|
||||
+ Bitu playPosSnap = playPos;
|
||||
+ Bitu samplesReady = (renderPosSnap < playPosSnap) ? audioBufferSize - playPosSnap : renderPosSnap - playPosSnap;
|
||||
+ if (len > (samplesReady >> 1)) {
|
||||
+ len = samplesReady >> 1;
|
||||
+ }
|
||||
+ chan->AddSamples_s16(len, audioBuffer + playPosSnap);
|
||||
+ playPosSnap += (len << 1);
|
||||
+ while (audioBufferSize <= playPosSnap) {
|
||||
+ playPosSnap -= audioBufferSize;
|
||||
+ playedBuffers++;
|
||||
+ }
|
||||
+ playPos = playPosSnap;
|
||||
+ renderPosSnap = renderPos;
|
||||
+ const Bitu samplesFree = (renderPosSnap < playPosSnap) ? playPosSnap - renderPosSnap : audioBufferSize + playPosSnap - renderPosSnap;
|
||||
+ if (minimumRenderFrames <= (samplesFree >> 1)) {
|
||||
+ SDL_LockMutex(lock);
|
||||
+ SDL_CondSignal(framesInBufferChanged);
|
||||
+ SDL_UnlockMutex(lock);
|
||||
+ }
|
||||
+ } else {
|
||||
+ synth->render((Bit16s *)MixTemp, len);
|
||||
+ chan->AddSamples_s16(len, (Bit16s *)MixTemp);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::renderingLoop() {
|
||||
+ while (!stopProcessing) {
|
||||
+ const Bitu renderPosSnap = renderPos;
|
||||
+ const Bitu playPosSnap = playPos;
|
||||
+ Bitu samplesToRender;
|
||||
+ if (renderPosSnap < playPosSnap) {
|
||||
+ samplesToRender = playPosSnap - renderPosSnap - 2;
|
||||
+ } else {
|
||||
+ samplesToRender = audioBufferSize - renderPosSnap;
|
||||
+ if (playPosSnap == 0) samplesToRender -= 2;
|
||||
+ }
|
||||
+ Bitu framesToRender = samplesToRender >> 1;
|
||||
+ if ((framesToRender == 0) || ((framesToRender < minimumRenderFrames) && (renderPosSnap < playPosSnap))) {
|
||||
+ SDL_LockMutex(lock);
|
||||
+ SDL_CondWait(framesInBufferChanged, lock);
|
||||
+ SDL_UnlockMutex(lock);
|
||||
+ } else {
|
||||
+ synth->render(audioBuffer + renderPosSnap, framesToRender);
|
||||
+ renderPos = (renderPosSnap + samplesToRender) % audioBufferSize;
|
||||
+ if (renderPosSnap == playPos) {
|
||||
+ SDL_LockMutex(lock);
|
||||
+ SDL_CondSignal(framesInBufferChanged);
|
||||
+ SDL_UnlockMutex(lock);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::MT32ReportHandler::onErrorControlROM() {
|
||||
+ LOG_MSG("MT32: Couldn't open Control ROM file");
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::MT32ReportHandler::onErrorPCMROM() {
|
||||
+ LOG_MSG("MT32: Couldn't open PCM ROM file");
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::MT32ReportHandler::showLCDMessage(const char *message) {
|
||||
+ LOG_MSG("MT32: LCD-Message: %s", message);
|
||||
+}
|
||||
+
|
||||
+void MidiHandler_mt32::MT32ReportHandler::printDebug(const char *fmt, va_list list) {
|
||||
+ MidiHandler_mt32 &midiHandler_mt32 = MidiHandler_mt32::GetInstance();
|
||||
+ if (midiHandler_mt32.noise) {
|
||||
+ char s[1024];
|
||||
+ strcpy(s, "MT32: ");
|
||||
+ vsnprintf(s + 6, 1017, fmt, list);
|
||||
+ LOG_MSG(s);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#endif // C_MUNT
|
||||
diff --git b/src/gui/midi_mt32.h a/src/gui/midi_mt32.h
|
||||
new file mode 100644
|
||||
index 0000000000..5ceabe7400
|
||||
--- /dev/null
|
||||
+++ a/src/gui/midi_mt32.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+#ifndef DOSBOX_MIDI_MT32_H
|
||||
+#define DOSBOX_MIDI_MT32_H
|
||||
+
|
||||
+#include "mixer.h"
|
||||
+#include <mt32emu/mt32emu.h>
|
||||
+
|
||||
+struct SDL_Thread;
|
||||
+
|
||||
+class MidiHandler_mt32 : public MidiHandler {
|
||||
+public:
|
||||
+ static MidiHandler_mt32 &GetInstance(void);
|
||||
+
|
||||
+ const char *GetName(void);
|
||||
+ bool Open(const char *conf);
|
||||
+ void Close(void);
|
||||
+ void PlayMsg(Bit8u *msg);
|
||||
+ void PlaySysex(Bit8u *sysex, Bitu len);
|
||||
+
|
||||
+private:
|
||||
+ MixerChannel *chan;
|
||||
+ MT32Emu::Synth *synth;
|
||||
+ SDL_Thread *thread;
|
||||
+ SDL_mutex *lock;
|
||||
+ SDL_cond *framesInBufferChanged;
|
||||
+ Bit16s *audioBuffer;
|
||||
+ Bitu audioBufferSize;
|
||||
+ Bitu framesPerAudioBuffer;
|
||||
+ Bitu minimumRenderFrames;
|
||||
+ double sampleRateRatio;
|
||||
+ volatile Bitu renderPos, playPos, playedBuffers;
|
||||
+ volatile bool stopProcessing;
|
||||
+ bool open, noise, renderInThread;
|
||||
+
|
||||
+ class MT32ReportHandler : public MT32Emu::ReportHandler {
|
||||
+ protected:
|
||||
+ virtual void onErrorControlROM();
|
||||
+ virtual void onErrorPCMROM();
|
||||
+ virtual void showLCDMessage(const char *message);
|
||||
+ virtual void printDebug(const char *fmt, va_list list);
|
||||
+ } reportHandler;
|
||||
+
|
||||
+ static void mixerCallBack(Bitu len);
|
||||
+ static int processingThread(void *);
|
||||
+ static void makeROMPathName(char pathName[], const char romDir[], const char fileName[], bool addPathSeparator);
|
||||
+
|
||||
+ MidiHandler_mt32();
|
||||
+ ~MidiHandler_mt32();
|
||||
+
|
||||
+ Bit32u inline getMidiEventTimestamp() {
|
||||
+ return Bit32u((playedBuffers * framesPerAudioBuffer + (playPos >> 1)) * sampleRateRatio);
|
||||
+ }
|
||||
+
|
||||
+ void handleMixerCallBack(Bitu len);
|
||||
+ void renderingLoop();
|
||||
+};
|
||||
+
|
||||
+#endif /* DOSBOX_MIDI_MT32_H */
|
||||
diff --git b/src/mt32options.h a/src/mt32options.h
|
||||
new file mode 100644
|
||||
index 0000000000..85082157a8
|
||||
--- /dev/null
|
||||
+++ a/src/mt32options.h
|
||||
@@ -0,0 +1,98 @@
|
||||
+Pstring = secprop->Add_string("mt32.romdir",Property::Changeable::WhenIdle,"");
|
||||
+Pstring->Set_help("Name of the directory where MT-32 Control and PCM ROM files can be found. Emulation requires these files to work.\n"
|
||||
+ " Accepted file names are as follows:\n"
|
||||
+ " MT32_CONTROL.ROM or CM32L_CONTROL.ROM - control ROM file.\n"
|
||||
+ " MT32_PCM.ROM or CM32L_PCM.ROM - PCM ROM file.");
|
||||
+
|
||||
+Pbool = secprop->Add_bool("mt32.reverse.stereo",Property::Changeable::WhenIdle,false);
|
||||
+Pbool->Set_help("Reverse stereo channels for MT-32 output");
|
||||
+
|
||||
+Pbool = secprop->Add_bool("mt32.verbose",Property::Changeable::WhenIdle,false);
|
||||
+Pbool->Set_help("MT-32 debug logging");
|
||||
+
|
||||
+Pbool = secprop->Add_bool("mt32.thread",Property::Changeable::WhenIdle,false);
|
||||
+Pbool->Set_help("MT-32 rendering in separate thread");
|
||||
+
|
||||
+const char *mt32chunk[] = {"2", "3", "16", "99", "100",0};
|
||||
+Pint = secprop->Add_int("mt32.chunk",Property::Changeable::WhenIdle,16);
|
||||
+Pint->Set_values(mt32chunk);
|
||||
+Pint->SetMinMax(2,100);
|
||||
+Pint->Set_help("Minimum milliseconds of data to render at once.\n"
|
||||
+ "Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.\n"
|
||||
+ "Valid for rendering in separate thread only.");
|
||||
+
|
||||
+const char *mt32prebuffer[] = {"3", "4", "32", "199", "200",0};
|
||||
+Pint = secprop->Add_int("mt32.prebuffer",Property::Changeable::WhenIdle,32);
|
||||
+Pint->Set_values(mt32prebuffer);
|
||||
+Pint->SetMinMax(3,200);
|
||||
+Pint->Set_help("How many milliseconds of data to render ahead.\n"
|
||||
+ "Increasing this value may help to avoid underruns but also increases audio lag.\n"
|
||||
+ "Cannot be set less than or equal to mt32.chunk value.\n"
|
||||
+ "Valid for rendering in separate thread only.");
|
||||
+
|
||||
+const char *mt32partials[] = {"8", "9", "32", "255", "256",0};
|
||||
+Pint = secprop->Add_int("mt32.partials",Property::Changeable::WhenIdle,32);
|
||||
+Pint->Set_values(mt32partials);
|
||||
+Pint->SetMinMax(8,256);
|
||||
+Pint->Set_help("The maximum number of partials playing simultaneously.");
|
||||
+
|
||||
+const char *mt32DACModes[] = {"0", "1", "2", "3",0};
|
||||
+Pint = secprop->Add_int("mt32.dac",Property::Changeable::WhenIdle,0);
|
||||
+Pint->Set_values(mt32DACModes);
|
||||
+Pint->Set_help("MT-32 DAC input emulation mode\n"
|
||||
+ "Nice = 0 - default\n"
|
||||
+ "Produces samples at double the volume, without tricks.\n"
|
||||
+ "Higher quality than the real devices\n\n"
|
||||
+
|
||||
+ "Pure = 1\n"
|
||||
+ "Produces samples that exactly match the bits output from the emulated LA32.\n"
|
||||
+ "Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)\n"
|
||||
+ "Much less likely to overdrive than any other mode.\n"
|
||||
+ "Half the volume of any of the other modes.\n"
|
||||
+ "Perfect for developers while debugging :)\n\n"
|
||||
+
|
||||
+ "GENERATION1 = 2\n"
|
||||
+ "Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).\n"
|
||||
+ "Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):\n"
|
||||
+ "15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX\n\n"
|
||||
+
|
||||
+ "GENERATION2 = 3\n"
|
||||
+ "Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).\n"
|
||||
+ "Bit order at DAC (where each number represents the original LA32 output bit number):\n"
|
||||
+ "15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14");
|
||||
+
|
||||
+const char *mt32analogModes[] = {"0", "1", "2", "3",0};
|
||||
+Pint = secprop->Add_int("mt32.analog",Property::Changeable::WhenIdle,2);
|
||||
+Pint->Set_values(mt32analogModes);
|
||||
+Pint->Set_help("MT-32 analogue output emulation mode\n"
|
||||
+ "Digital = 0\n"
|
||||
+ "Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.\n"
|
||||
+ "Fastest mode.\n\n"
|
||||
+
|
||||
+ "Coarse = 1\n"
|
||||
+ "Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.\n"
|
||||
+ "A bit better sounding but also a bit slower.\n\n"
|
||||
+
|
||||
+ "Accurate = 2 - default\n"
|
||||
+ "Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,\n"
|
||||
+ "which is passed through the LPF circuit without significant attenuation.\n"
|
||||
+ "Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.\n\n"
|
||||
+
|
||||
+ "Oversampled = 3\n"
|
||||
+ "Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.\n"
|
||||
+ "Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.");
|
||||
+
|
||||
+const char *mt32reverbModes[] = {"0", "1", "2", "3", "auto",0};
|
||||
+Pstring = secprop->Add_string("mt32.reverb.mode",Property::Changeable::WhenIdle,"auto");
|
||||
+Pstring->Set_values(mt32reverbModes);
|
||||
+Pstring->Set_help("MT-32 reverb mode");
|
||||
+
|
||||
+const char *mt32reverbTimes[] = {"0", "1", "2", "3", "4", "5", "6", "7",0};
|
||||
+Pint = secprop->Add_int("mt32.reverb.time",Property::Changeable::WhenIdle,5);
|
||||
+Pint->Set_values(mt32reverbTimes);
|
||||
+Pint->Set_help("MT-32 reverb decaying time");
|
||||
+
|
||||
+const char *mt32reverbLevels[] = {"0", "1", "2", "3", "4", "5", "6", "7",0};
|
||||
+Pint = secprop->Add_int("mt32.reverb.level",Property::Changeable::WhenIdle,3);
|
||||
+Pint->Set_values(mt32reverbLevels);
|
||||
+Pint->Set_help("MT-32 reverb level");
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Frank Hartung (supervisedthinking (@) gmail.com)
|
||||
|
||||
# Source predefined functions and variables
|
||||
. /etc/profile
|
||||
|
||||
set_audio pulseaudio
|
||||
|
||||
# Set common variables
|
||||
RR_DOSBOX_HOME=/storage/.dosbox
|
||||
RR_DOSBOX_HOME_CONFIG=/storage/.config/dosbox
|
||||
|
||||
# Create symlink to config dir
|
||||
if [ ! -L ${RR_DOSBOX_HOME} ]; then
|
||||
if [ -d ${RR_DOSBOX_HOME} ]; then
|
||||
cp -rf ${RR_DOSBOX_HOME} ${RR_DOSBOX_HOME_CONFIG}
|
||||
rm -rf ${RR_DOSBOX_HOME}
|
||||
fi
|
||||
ln -sf ${RR_DOSBOX_HOME_CONFIG} ${RR_DOSBOX_HOME}
|
||||
fi
|
||||
|
||||
# Run the emulator
|
||||
dosbox "$@" > /var/log/dosbox.log 2>&1
|
||||
|
||||
set_audio default
|
|
@ -1,344 +0,0 @@
|
|||
# This is the configuration file for DOSBox SDL2. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb, opengl, openglnb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen=true
|
||||
# Note that VSYNC is be very demanding
|
||||
vsync=false
|
||||
fullresolution=0x0
|
||||
windowresolution=original
|
||||
output=texture
|
||||
# Place shaders in /storage/.config/dosbox/shaders
|
||||
gl.shader=crt-easymode
|
||||
texture.renderer=auto
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=highest,highest
|
||||
# Input mapper file is looked for in the same directory as the specified conf
|
||||
mapperfile=example.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=true
|
||||
scaler=none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401=intelligent
|
||||
mididevice=mt32
|
||||
midiconfig=
|
||||
# Place MT-32 roms here
|
||||
mt32.romdir=/storage/roms/bios
|
||||
mt32.reverse.stereo=false
|
||||
mt32.verbose=false
|
||||
mt32.thread=false
|
||||
mt32.chunk=16
|
||||
mt32.prebuffer=32
|
||||
mt32.partials=32
|
||||
mt32.dac=0
|
||||
mt32.analog=2
|
||||
mt32.reverb.mode=auto
|
||||
mt32.reverb.time=5
|
||||
mt32.reverb.level=3
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=true
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
# Place GUS files in /storage/roms/dos/ULTRASND
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=fcs
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
|
||||
mount c /storage/roms/dos
|
||||
c:
|
||||
cd example
|
||||
example.exe
|
||||
#exit
|
|
@ -1,335 +0,0 @@
|
|||
# This is the configuration file for DOSBox SDL2. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb, opengl, openglnb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen=true
|
||||
# Note that VSYNC is be very demanding
|
||||
vsync=false
|
||||
fullresolution=0x0
|
||||
windowresolution=original
|
||||
output=texture
|
||||
# Place shaders in /storage/.config/dosbox/shaders
|
||||
gl.shader=crt-easymode
|
||||
texture.renderer=auto
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=highest,highest
|
||||
# Input mapper file is looked for in the same directory as the specified conf
|
||||
mapperfile=example.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=true
|
||||
scaler=none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401=intelligent
|
||||
# FluidSynth Software Synthesizer
|
||||
mididevice=fluidsynth
|
||||
fluid.driver=pulseaudio
|
||||
fluid.soundfont=/usr/share/soundfonts/GeneralUser.sf2
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=true
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
# Place GUS files in /storage/roms/dos/ULTRASND
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=fcs
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
|
||||
mount c /storage/roms/pc
|
||||
c:
|
||||
@echo off
|
||||
echo ########################################################
|
||||
echo # DOSBox SDL2 default config #
|
||||
echo ########################################################
|
||||
echo.
|
|
@ -1,357 +0,0 @@
|
|||
# This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.On Windows 10 with display scaling (Scale and layout) set to a value above 100%, it is recommended
|
||||
# to use a lower full/windowresolution, in order to avoid window size problems.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50).
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen = true
|
||||
vsync = false
|
||||
fullresolution = 0x0
|
||||
windowresolution = original
|
||||
output = texturenb
|
||||
gl.shader =
|
||||
texture.renderer = auto
|
||||
autolock = true
|
||||
sensitivity = 100
|
||||
waitonerror = true
|
||||
priority = higher,normal
|
||||
mapperfile = mapper-sdl2-SVN.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language =
|
||||
machine = svga_s3
|
||||
captures = capture
|
||||
memsize = 16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# To fit a scaler in the resolution used at full screen may require a border or side bars,
|
||||
# to fill the screen entirely, depending on your hardware, a different scaler/fullresolution might work.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip = 0
|
||||
aspect = true
|
||||
scaler = none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core = auto
|
||||
cputype = auto
|
||||
cycles = auto
|
||||
cycleup = 10
|
||||
cycledown = 20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound = false
|
||||
rate = 44100
|
||||
blocksize = 1024
|
||||
prebuffer = 25
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, fluidsynth, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id or part of the name of the device you want to use (find the id/name with mixer/listmidi).
|
||||
# Or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# fluid.samplerate: Sample rate to use with Fluidsynth.
|
||||
# fluid.gain: Fluidsynth gain.
|
||||
# fluid.polyphony: Fluidsynth polyphony.
|
||||
# fluid.cores: Fluidsynth CPU cores to use, default.
|
||||
# fluid.periods: Fluidsynth periods.
|
||||
# fluid.periodsize: Fluidsynth period size.
|
||||
# fluid.reverb: Fluidsynth use reverb.
|
||||
# Possible values: no, yes.
|
||||
# fluid.chorus: Fluidsynth use chorus.
|
||||
# Possible values: no, yes.
|
||||
# fluid.reverb,roomsize: Fluidsynth reverb room size.
|
||||
# fluid.reverb.damping: Fluidsynth reverb damping.
|
||||
# fluid.reverb.width: Fluidsynth reverb width.
|
||||
# fluid.reverb.level: Fluidsynth reverb level.
|
||||
# fluid.chorus.number: Fluidsynth chorus voices
|
||||
# fluid.chorus.level: Fluidsynth chorus level.
|
||||
# fluid.chorus.speed: Fluidsynth chorus speed.
|
||||
# fluid.chorus.depth: Fluidsynth chorus depth.
|
||||
# fluid.chorus.type: Fluidsynth chorus type. 0 is sine wave, 1 is triangle wave.
|
||||
# Possible values: 0, 1.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401 = intelligent
|
||||
# FluidSynth Software Synthesizer
|
||||
mididevice = fluidsynth
|
||||
fluid.driver = pulseaudio
|
||||
fluid.soundfont = /usr/share/soundfonts/GeneralUser.sf2
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast, mame.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype = sb16
|
||||
sbbase = 220
|
||||
irq = 7
|
||||
dma = 1
|
||||
hdma = 5
|
||||
sbmixer = true
|
||||
oplmode = auto
|
||||
oplemu = default
|
||||
oplrate = 44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus = false
|
||||
gusrate = 44100
|
||||
gusbase = 240
|
||||
gusirq = 5
|
||||
gusdma = 3
|
||||
ultradir = C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker = true
|
||||
pcrate = 44100
|
||||
tandy = auto
|
||||
tandyrate = 44100
|
||||
disney = true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. Can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
# circularinput: enable translation of circular input to square output.
|
||||
# Try enabling this if your left analog stick can only move in a circle.
|
||||
# deadzone: the percentage of motion to ignore. 100 turns the stick into a digital one.
|
||||
|
||||
joysticktype = auto
|
||||
timed = true
|
||||
autofire = false
|
||||
swap34 = false
|
||||
buttonwrap = false
|
||||
circularinput = false
|
||||
deadzone = 10
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1 = dummy
|
||||
serial2 = dummy
|
||||
serial3 = disabled
|
||||
serial4 = disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms = true
|
||||
ems = true
|
||||
umb = true
|
||||
keyboardlayout = auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx = false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
# You can put your MOUNT lines here.
|
||||
|
||||
|
|
@ -1,335 +0,0 @@
|
|||
# This is the configuration file for DOSBox SDL2. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are comment lines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
|
||||
# It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, texture, texturenb, opengl, openglnb.
|
||||
# gl.shader: What set of GLSL shaders to use with an OpenGL output. Keep empty if this is not desired.
|
||||
# Note that in case it is used, the respective shader files must be found in the "shaders" subdirectory
|
||||
# relatively to where the default DOSBox configuration fiel is stored. For shader file naming convention,
|
||||
# suppose that you have a pair of shader files ready: mysample.vert and mysample.frag.
|
||||
# Then shader=mysample should be set.
|
||||
#
|
||||
# texture.renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
|
||||
# Possible values: auto, opengl, software.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
|
||||
|
||||
fullscreen=true
|
||||
# Note that VSYNC is be very demanding
|
||||
vsync=false
|
||||
fullresolution=0x0
|
||||
windowresolution=original
|
||||
output=texture
|
||||
# Place shaders in /storage/.config/dosbox/shaders
|
||||
gl.shader=crt-easymode
|
||||
texture.renderer=auto
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=highest,highest
|
||||
# Input mapper file is looked for in the same directory as the specified conf
|
||||
mapperfile=example.map
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine DOSBox tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
|
||||
# then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=true
|
||||
scaler=none
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and
|
||||
# appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually
|
||||
# need if 'auto' fails (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to
|
||||
# handle.
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# or in the case of coreaudio, you can specify a soundfont here.
|
||||
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
|
||||
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
|
||||
# See the README/Manual for more details.
|
||||
# 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.
|
||||
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
|
||||
# mt32.verbose: MT-32 debug logging
|
||||
# mt32.thread: MT-32 rendering in separate thread
|
||||
# mt32.chunk: Minimum milliseconds of data to render at once.
|
||||
# Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 2, 3, 16, 99, 100.
|
||||
# mt32.prebuffer: How many milliseconds of data to render ahead.
|
||||
# Increasing this value may help to avoid underruns but also increases audio lag.
|
||||
# Cannot be set less than or equal to mt32.chunk value.
|
||||
# Valid for rendering in separate thread only.
|
||||
# Possible values: 3, 4, 32, 199, 200.
|
||||
# mt32.partials: The maximum number of partials playing simultaneously.
|
||||
# Possible values: 8, 9, 32, 255, 256.
|
||||
# mt32.dac: MT-32 DAC input emulation mode
|
||||
# Nice = 0 - default
|
||||
# Produces samples at double the volume, without tricks.
|
||||
# Higher quality than the real devices
|
||||
#
|
||||
# Pure = 1
|
||||
# Produces samples that exactly match the bits output from the emulated LA32.
|
||||
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
|
||||
# Much less likely to overdrive than any other mode.
|
||||
# Half the volume of any of the other modes.
|
||||
# Perfect for developers while debugging :)
|
||||
#
|
||||
# GENERATION1 = 2
|
||||
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
|
||||
#
|
||||
# GENERATION2 = 3
|
||||
# Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG).
|
||||
# Bit order at DAC (where each number represents the original LA32 output bit number):
|
||||
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.analog: MT-32 analogue output emulation mode
|
||||
# Digital = 0
|
||||
# Only digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance.
|
||||
# Fastest mode.
|
||||
#
|
||||
# Coarse = 1
|
||||
# Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged.
|
||||
# A bit better sounding but also a bit slower.
|
||||
#
|
||||
# Accurate = 2 - default
|
||||
# Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz,
|
||||
# which is passed through the LPF circuit without significant attenuation.
|
||||
# Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
|
||||
#
|
||||
# Oversampled = 3
|
||||
# Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz.
|
||||
# Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox mixer.
|
||||
# Possible values: 0, 1, 2, 3.
|
||||
# mt32.reverb.mode: MT-32 reverb mode
|
||||
# Possible values: 0, 1, 2, 3, auto.
|
||||
# mt32.reverb.time: MT-32 reverb decaying time
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
# mt32.reverb.level: MT-32 reverb level
|
||||
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
|
||||
|
||||
mpu401=intelligent
|
||||
# FluidSynth Software Synthesizer
|
||||
mididevice=fluidsynth
|
||||
fluid.driver=pulseaudio
|
||||
fluid.soundfont=/usr/share/soundfonts/GeneralUser.sf2
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=true
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
# Place GUS files in /storage/roms/dos/ULTRASND
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=fcs
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support. The default (=true) provides the best
|
||||
# compatibility but certain applications may run better with
|
||||
# other choices, or require EMS support to be disabled (=false)
|
||||
# to work at all.
|
||||
# Possible values: true, emsboard, emm386, false.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
|
||||
mount c /storage/roms/pc
|
||||
c:
|
||||
@echo off
|
||||
echo ########################################################
|
||||
echo # DOSBox SDL2 default config #
|
||||
echo ########################################################
|
||||
echo.
|
|
@ -1,39 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
|
||||
PKG_NAME="dosbox-x"
|
||||
PKG_VERSION="684836fab51b9b4fc9d6616de126fc9a5bf21d59"
|
||||
PKG_SHA256="c5caa65b39621907c417dc50633320f8a407206e46a1527b2e37c10a7baafa52"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/joncampbell123/dosbox-x"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux glibc glib systemd dbus alsa-lib SDL2 SDL2_net SDL_sound libpng zlib libvorbis flac libogg fluidsynth munt"
|
||||
PKG_LONGDESC="DOSBox-X fork of the DOSBox project."
|
||||
PKG_TOOLCHAIN="autotools"
|
||||
PKG_BUILD_FLAGS="+lto"
|
||||
|
||||
pre_configure_target() {
|
||||
cd ${PKG_BUILD}
|
||||
rm -rf .${TARGET_NAME}
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||
--enable-core-inline \
|
||||
--enable-dynrec \
|
||||
--enable-unaligned_memory \
|
||||
--disable-sdl \
|
||||
--enable-sdl2 \
|
||||
--enable-mt32 \
|
||||
--with-sdl2-prefix=${SYSROOT_PREFIX}/usr"
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
# Define DOSBox version
|
||||
sed -e "s/SVN/SDL2/" -i ${PKG_BUILD}/config.h
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
# Create config directory & install config
|
||||
mkdir -p ${INSTALL}/usr/config/game/configs/dosbox/
|
||||
cp -a ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin/
|
||||
cp -a ${PKG_DIR}/config/* ${INSTALL}/usr/config/game/configs/dosbox/
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index 407d553..e15473b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -249,6 +249,12 @@ dnl The target cpu checks for dynamic cores
|
||||
AH_TEMPLATE(C_TARGETCPU,[The type of cpu this target has])
|
||||
AC_MSG_CHECKING(for target cpu type)
|
||||
case "$host_cpu" in
|
||||
+ arm)
|
||||
+ AC_DEFINE(C_TARGETCPU,ARMV7LE)
|
||||
+ AC_MSG_RESULT(ARMv7 Little Endian)
|
||||
+ c_targetcpu="arm"
|
||||
+ c_unalignedmemory=yes
|
||||
+ ;;
|
||||
x86_64 | amd64)
|
||||
AC_DEFINE(C_TARGETCPU,X86_64)
|
||||
AC_MSG_RESULT(x86-64 bit compatible)
|
|
@ -1,46 +0,0 @@
|
|||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 9b85f7f..a2c7117 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -14,35 +14,13 @@ AC_ARG_ENABLE(sdl2, [ --enable-sdl2 Enable SDL 2.x],
|
||||
|
||||
SDL2_CONFIG=no
|
||||
if test x$enable_sdl2enable = xyes ; then
|
||||
- if test x$sdl2_exec_prefix != x ; then
|
||||
- sdl2_args="$sdl2_args --exec-prefix=$sdl2_exec_prefix"
|
||||
- if test x${SDL2_CONFIG+set} != xset ; then
|
||||
- SDL2_CONFIG=$sdl2_exec_prefix/bin/sdl2-config
|
||||
- fi
|
||||
- fi
|
||||
- if test x$sdl2_prefix != x ; then
|
||||
- sdl2_args="$sdl2_args --prefix=$sdl2_prefix"
|
||||
- if test x${SDL2_CONFIG+set} != xset ; then
|
||||
- SDL2_CONFIG=$sdl2_prefix/bin/sdl2-config
|
||||
- fi
|
||||
- fi
|
||||
-
|
||||
- if test -x vs2015/sdl2/linux-host/bin/sdl2-config ; then
|
||||
- SDL2_CONFIG=vs2015/sdl2/linux-host/bin/sdl2-config
|
||||
- PATH=vs2015/sdl2/linux-host/bin:$PATH
|
||||
- fi
|
||||
-
|
||||
+
|
||||
+ SDL2_CONFIG=$sdl2_prefix/bin/sdl2-config
|
||||
AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no)
|
||||
- min_sdl2_version=ifelse([$1], ,0.11.0,$1)
|
||||
- AC_MSG_CHECKING(for SDL2 - version >= $min_sdl2_version)
|
||||
- no_sdl2=""
|
||||
- if test "$SDL2_CONFIG" = "no" ; then
|
||||
- no_sdl2=yes
|
||||
- else
|
||||
- SDL2_CFLAGS=`$SDL2_CONFIG $sdl2conf_args --cflags`
|
||||
- SDL2_LIBS=`$SDL2_CONFIG $sdl2conf_args --libs`
|
||||
- AC_DEFINE(C_SDL2,1)
|
||||
- fi
|
||||
+ SDL2_CFLAGS=`$SDL2_CONFIG $sdl2conf_args --cflags`
|
||||
+ SDL2_LIBS=`$SDL2_CONFIG $sdl2conf_args --libs`
|
||||
+ AC_DEFINE(C_SDL2,1)
|
||||
+
|
||||
fi
|
||||
|
||||
AC_SUBST(SDL2_CFLAGS)
|
|
@ -1,49 +0,0 @@
|
|||
diff --git a/src/gui/sdlmain.cpp b/src/gui/sdlmain.cpp
|
||||
index ec6ba7b..f689b3c 100644
|
||||
--- a/src/gui/sdlmain.cpp
|
||||
+++ b/src/gui/sdlmain.cpp
|
||||
@@ -947,7 +947,7 @@
|
||||
#elif defined(HAIKU)
|
||||
#define DEFAULT_CONFIG_FILE "~/config/settings/dosbox-x/dosbox-x.conf"
|
||||
#else /*linux freebsd*/
|
||||
-# define DEFAULT_CONFIG_FILE "/.dosboxrc"
|
||||
+# define DEFAULT_CONFIG_FILE "/dosbox-x.conf"
|
||||
#endif
|
||||
|
||||
#if C_SET_PRIORITY
|
||||
diff --git a/src/misc/cross.cpp b/src/misc/cross.cpp
|
||||
index 05a5893..74daf41 100644
|
||||
--- a/src/misc/cross.cpp
|
||||
+++ b/src/misc/cross.cpp
|
||||
@@ -89,7 +89,7 @@
|
||||
#elif defined(RISCOS)
|
||||
in = "/<Choices$Write>/DosBox-X";
|
||||
#elif !defined(HX_DOS)
|
||||
- in = "~/.config/dosbox-x";
|
||||
+ in = "/storage/.config/game/configs/dosbox-x";
|
||||
ResolveHomedir(in);
|
||||
#endif
|
||||
in += CROSS_FILESPLIT;
|
||||
@@ -97,11 +97,11 @@
|
||||
|
||||
void Cross::GetPlatformConfigName(std::string& in) {
|
||||
#ifdef WIN32
|
||||
-#define DEFAULT_CONFIG_FILE "dosbox-x-" VERSION ".conf"
|
||||
+#define DEFAULT_CONFIG_FILE "dosbox-x.conf"
|
||||
#elif defined(MACOSX)
|
||||
#define DEFAULT_CONFIG_FILE "DOSBox-X " VERSION " Preferences"
|
||||
#else /*linux freebsd*/
|
||||
-#define DEFAULT_CONFIG_FILE "dosbox-x-" VERSION ".conf"
|
||||
+#define DEFAULT_CONFIG_FILE "dosbox-x.conf"
|
||||
#endif
|
||||
in = DEFAULT_CONFIG_FILE;
|
||||
}
|
||||
@@ -123,7 +123,7 @@
|
||||
in = "/<Choices$Write>/DosBox-X";
|
||||
mkdir(in.c_str(),0700);
|
||||
#elif !defined(HX_DOS)
|
||||
- in = "~/.config/dosbox-x";
|
||||
+ in = "/storage/.config/game/configs/dosbox-x";
|
||||
ResolveHomedir(in);
|
||||
mkdir(in.c_str(),0700);
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Frank Hartung (supervisedthinking (@) gmail.com)
|
||||
|
||||
# Source predefined functions and variables
|
||||
. /etc/profile
|
||||
|
||||
set_audio pulseaudio
|
||||
|
||||
# Set common variables
|
||||
RR_DOSBOX_HOME=/storage/.dosbox
|
||||
RR_DOSBOX_HOME_CONFIG=/storage/.config/game/configs/dosbox-x
|
||||
|
||||
# Create symlink to config dir
|
||||
if [ ! -L ${RR_DOSBOX_HOME} ]; then
|
||||
if [ -d ${RR_DOSBOX_HOME} ]; then
|
||||
cp -rf ${RR_DOSBOX_HOME} ${RR_DOSBOX_HOME_CONFIG}
|
||||
rm -rf ${RR_DOSBOX_HOME}
|
||||
fi
|
||||
ln -sf ${RR_DOSBOX_HOME_CONFIG} ${RR_DOSBOX_HOME}
|
||||
fi
|
||||
|
||||
# Run the emulator
|
||||
ARG="$(echo $1 | sed 's=.*/==;s/\.[^.]*$//')"
|
||||
|
||||
dosbox-x -c "${ARG}" > /var/log/dosbox-x.log 2>&1
|
||||
|
||||
set_audio default
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
jslisten set "-9 drastic"
|
||||
|
||||
#Copy drastic files to .config
|
||||
if [ ! -d "/storage/.config/drastic" ]; then
|
||||
mkdir -p /storage/.config/drastic/
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
jslisten set "-9 drastic"
|
||||
|
||||
#Copy drastic files to .config
|
||||
if [ ! -d "/storage/.config/drastic" ]; then
|
||||
mkdir -p /storage/.config/drastic/
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 duckstation-nogui"
|
||||
|
||||
#Copy config folder to .config/duckstation
|
||||
if [ ! -d "/storage/.config/duckstation" ]; then
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 flycast"
|
||||
|
||||
#Check if flycast exists in .config
|
||||
if [ ! -d "/storage/.config/flycast" ]; then
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
jslisten set "-9 melonDS"
|
||||
|
||||
if [ ! -d "/storage/.config/melonDS" ]; then
|
||||
mkdir -p "/storage/.config/melonDS"
|
||||
cp -r "/usr/config/melonDS" "/storage/.config/"
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
jslisten set "-9 mupen64plus"
|
||||
|
||||
#Emulation Station Features
|
||||
CORE="$1"
|
||||
GAME=$(echo "${2}"| sed "s#^/.*/##")
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
|
||||
ARG=${1//[\\]/}
|
||||
set_audio pulseaudio
|
||||
jslisten set "-9 pcsx2-qt"
|
||||
|
||||
if [ ! -d "/storage/.config/PCSX2" ]
|
||||
then
|
||||
cp -rf /usr/config/PCSX2 /storage/.config
|
||||
|
|
|
@ -18,5 +18,6 @@ else
|
|||
fi
|
||||
|
||||
ARG=${1//[\\]/}
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
jslisten set "-9 ppsspp"
|
||||
${EMUPERF} ppsspp --pause-menu-exit "${ARG}"
|
||||
|
|
|
@ -26,10 +26,12 @@ ln -sf /storage/roms/bios/rpcs3/dev_flash /storage/.config/rpcs3/dev_flash
|
|||
if [ "$SUI" = "1" ]
|
||||
then
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
jslisten set "-9 rpcs3"
|
||||
/usr/bin/rpcs3
|
||||
else
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
rr_audio.sh pulseaudio
|
||||
export SDL_AUDIODRIVER=pulseaudio
|
||||
jslisten set "-9 rpcs3"
|
||||
/usr/bin/rpcs3 --no-gui "${1}"
|
||||
fi
|
|
@ -4,6 +4,7 @@
|
|||
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 Ryujinx"`
|
||||
|
||||
if [ ! -d "/storage/.config/Ryujinx" ]; then
|
||||
mkdir -p "/storage/.config/Ryujinx"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
jslisten set "-9 xemu"
|
||||
|
||||
#Check if xemu exists in .config
|
||||
if [ ! -d "/storage/.config/xemu" ]; then
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
# Source predefined functions and variables
|
||||
. /etc/profile
|
||||
jslisten set "-9 yabasanshiro"
|
||||
|
||||
ROM_DIR="/storage/roms/saturn/yabasanshiro"
|
||||
CONFIG_DIR="/storage/.config/yabasanshiro"
|
||||
|
|
|
@ -206,6 +206,8 @@ ln -sf /storage/.config/yuzu /storage/.local/share/yuzu
|
|||
#Set QT Platform to Wayland-EGL
|
||||
export QT_QPA_PLATFORM=wayland-egl
|
||||
|
||||
jslisten set "-9 yuzu"
|
||||
|
||||
#Run Yuzu emulator
|
||||
if [ "$SUI" = "1" ]
|
||||
then
|
||||
|
|
|
@ -252,140 +252,33 @@ then
|
|||
$VERBOSE && log $0 "Configuring for a non-libretro emulator"
|
||||
case ${PLATFORM} in
|
||||
"setup")
|
||||
RUNTHIS='${TBASH} "${ROMNAME}"'
|
||||
;;
|
||||
"nds")
|
||||
if [ "$EMU" = "melonds-sa" ]; then
|
||||
jslisten set "-9 melonDS"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_melonds.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "drastic-sa" ]; then
|
||||
jslisten set "-9 drastic"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_drastic.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"solarus")
|
||||
if [ "$EMU" = "solarus" ]
|
||||
then
|
||||
jslisten set "solarus-run"
|
||||
RUNTHIS='${TBASH} /usr/bin/solarus.sh "${ROMNAME}"'
|
||||
fi
|
||||
RUNTHIS='${TBASH} "${ROMNAME}"'
|
||||
;;
|
||||
"n64")
|
||||
jslisten set "-9 mupen64plus"
|
||||
if [[ "$EMU" =~ "m64p" ]]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_mupen64plus.sh "${CORE}" "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"pc")
|
||||
jslisten set "dosbox dosbox-x"
|
||||
if [ "$EMU" = "DOSBOXSDL2" ]
|
||||
then
|
||||
RUNTHIS='${TBASH} /usr/bin/dosbox.start -conf "${GAMEFOLDER}dosbox-SDL2.conf"'
|
||||
elif [ "$EMU" = "DOSBOX-X" ]
|
||||
then
|
||||
RUNTHIS='${TBASH} /usr/bin/dosbox-x.start -conf "${GAMEFOLDER}dosbox-SDL2.conf"'
|
||||
fi
|
||||
;;
|
||||
"neocd")
|
||||
jslisten set "retroarch"
|
||||
if [ "$EMU" = "fbneo" ]
|
||||
then
|
||||
RUNTHIS='/usr/bin/retroarch -L /tmp/cores/fbneo_libretro.so --subsystem neocd --config ${RATMPCONF} --appendconfig ${RAAPPENDCONF} "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"atomiswave"|"dreamcast"|"naomi")
|
||||
jslisten set "-9 flycast"
|
||||
if [ "$EMU" = "flycast-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_flycastsa.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"psx")
|
||||
jslisten set "-9 duckstation-nogui"
|
||||
if [ "$EMU" = "duckstation-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_duckstation.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"ps2")
|
||||
if [ "$EMU" = "pcsx2-sa" ]; then
|
||||
jslisten set "-9 pcsx2-qt"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_pcsx2.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "aethersx2-sa" ]; then
|
||||
jslisten set "-9 aethersx2"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_aethersx2.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"ps3")
|
||||
jslisten set "-9 rpcs3"
|
||||
if [ "$EMU" = "rpcs3-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_rpcs3sa.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"psp"|"pspminis")
|
||||
jslisten set "-9 ppsspp"
|
||||
if [ "$EMU" = "ppsspp-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_ppsspp.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"gamecube")
|
||||
jslisten set "-9 dolphin-emu-nogui"
|
||||
if [ "$EMU" = "dolphin-sa-gc" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "primehack" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_primehack.sh "${ROMNAME}"'
|
||||
RUNTHIS='${TBASH} /usr/bin/start_${EMU%-*}.sh "${ROMNAME}"'
|
||||
fi
|
||||
|
||||
;;
|
||||
"wii")
|
||||
jslisten set "-9 dolphin-emu-nogui"
|
||||
if [ "$EMU" = "dolphin-sa-wii" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "primehack" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_primehack.sh "${ROMNAME}"'
|
||||
RUNTHIS='${TBASH} /usr/bin/start_${EMU%-*}.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"wiiu")
|
||||
jslisten set "-9 cemu"
|
||||
if [ "$EMU" = "cemu-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_cemu.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"switch")
|
||||
if [ "$EMU" = "yuzu-sa" ]; then
|
||||
jslisten set "-9 yuzu"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_yuzu.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "ryujinx-sa" ]; then
|
||||
jslisten set "-9 Ryujinx"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_ryujinx.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"xbox")
|
||||
jslisten set "-9 xemu"
|
||||
if [ "$EMU" = "xemu-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_xemu.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"3ds")
|
||||
jslisten set "-9 citra"
|
||||
if [ "$EMU" = "citra-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_citra.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"saturn")
|
||||
jslisten set "-9 yabasanshiro"
|
||||
if [ "$EMU" = "yabasanshiro-sa" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_yabasanshiro.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"mplayer")
|
||||
jslisten set "mpv"
|
||||
RUNTHIS='${TBASH} /usr/bin/mpv_video.sh "${ROMNAME}"'
|
||||
;;
|
||||
"shell")
|
||||
RUNTHIS='${TBASH} "${ROMNAME}"'
|
||||
;;
|
||||
*)
|
||||
jslisten set "${CORE}"
|
||||
RUNTHIS='${TBASH} "start_${CORE}.sh" "${ROMNAME}"'
|
||||
RUNTHIS='${TBASH} "start_${EMU%-*}.sh" "${ROMNAME}"'
|
||||
esac
|
||||
else
|
||||
$VERBOSE && log $0 "Configuring for a libretro core"
|
||||
|
|
27
packages/jelos/sources/scripts/say
Executable file
27
packages/jelos/sources/scripts/say
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2023-present Fewtarius (https://github.com/fewtarius)
|
||||
|
||||
. /etc/profile
|
||||
|
||||
battery_percent() {
|
||||
cat /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null | grep -E "^POWER_SUPPLY_CAPACITY=" | sed -e s+'^POWER_SUPPLY_CAPACITY='++ | sort -rn | head -1
|
||||
}
|
||||
|
||||
case ${SDL_AUDIODRIVER} in
|
||||
alsa)
|
||||
PLAYCMD="aplay -q"
|
||||
;;
|
||||
pulseaudio)
|
||||
PLAYCMD="paplay"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
-b)
|
||||
espeak --stdout "$(battery_percent)%" | ${PLAYCMD}
|
||||
;;
|
||||
*)
|
||||
espeak --stdout "$*" | ${PLAYCMD}
|
||||
;;
|
||||
esac
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
jslisten set "mpv"jslisten set "mpv"
|
||||
/usr/bin/mpv --input-ipc-server=/tmp/mpvsocket "${1}"
|
||||
exit 0
|
|
@ -19,4 +19,5 @@ BTN_BACK60S=${DEVICE_BTN_TL2}
|
|||
BTN_KILL_HOTKEY=${DEVICE_BTN_TL}
|
||||
BTN_KILL_SELECTA=${DEVICE_BTN_SELECT}
|
||||
BTN_KILL_SELECTB=${DEVICE_BTN_START}
|
||||
|
||||
BTN_BAT_HOTKEY=${DEVICE_BTN_TR}
|
||||
BTN_BAT_SELECT=${DEVICE_BTN_SELECT}
|
||||
|
|
|
@ -58,6 +58,11 @@ program="/usr/bin/killall ${2}"
|
|||
button1=${BTN_KILL_HOTKEY}
|
||||
button2=${BTN_KILL_SELECTA}
|
||||
button3=${BTN_KILL_SELECTB}
|
||||
|
||||
[BatteryPercent]
|
||||
program="/usr/bin/say -b"
|
||||
button1=${BTN_BAT_HOTKEY}
|
||||
button2=${BTN_BAT_SELECT}
|
||||
EOF
|
||||
systemctl start jslisten
|
||||
elif [ "$1" == "stop" ]
|
||||
|
|
|
@ -764,10 +764,6 @@ makeinstall_target() {
|
|||
add_emu_core sufami retroarch snes9x true
|
||||
add_es_system sufami
|
||||
|
||||
### Solarus
|
||||
add_emu_core solarus solarus solarus true
|
||||
add_es_system solarus
|
||||
|
||||
### Watara Supervision
|
||||
add_emu_core supervision retroarch potator true
|
||||
add_es_system supervision
|
||||
|
|
|
@ -27,7 +27,7 @@ PKG_MULTIMEDIA="ffmpeg vlc mpv"
|
|||
|
||||
PKG_BLUETOOTH="bluez pygobject"
|
||||
|
||||
PKG_SOUND="libao"
|
||||
PKG_SOUND="espeak libao"
|
||||
|
||||
PKG_SYNC="synctools"
|
||||
|
||||
|
|
Loading…
Reference in a new issue