VOGONS


First post, by MusketenManfred

User metadata
Rank Newbie
Rank
Newbie

Hi there,
Ive been tinkering with dosbox for a few days now and today I ran into my first Issue for wich i cant find any solution.
My problem is that i want to run specifically the day of the tentacle cd rom version and the first screamer version for dos. The games run fine with default dosbox configurations but the issue is that the soundfx and dialogue for day of the tentacle are not present. To fix this issue ive found that you have to reduce the cpu cycle count to something like 10000. Then the game runs fine. But then Screamer has performance issues and is unplayable.

Is there a way to change the number of cpu cycles based off of the programs executed?

Kind regards

Reply 1 of 9, by feda

User metadata
Rank Member
Rank
Member

You need to make separate dosbox conf files per game. Just copy the default conf, make your changes and add your commands at the bottom.
Then run Dosbox with the -conf parameter specifying the desired game conf. You can put that line in a shortcut target or batch file.

Reply 2 of 9, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

You can change cycles on the command line or thru batch file if you wanted to: config -set cycles=xxxx

Reply 3 of 9, by curvedline

User metadata
Rank Newbie
Rank
Newbie

>if you wanted to: config -set cycles=xxxx

DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set "cpu cycles=2000" doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set "cycles=2000" doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set cycles=2000 doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x -exit config -set cycles=2000 doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set cycles=2000 -exit doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -conf dosbox2222.conf -scaler normal2x config -set cycles=2000 -exit doesnt work

CONFIG -set "section property=value"
config -set "cpu cycles=10000"
i think someone said that -set command, maybe a decade ago, was broken

Reply 4 of 9, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

That's not how you're meant to pass executable commands as parameters. You're passing one command there, "PLAY.BAT".

Reply 5 of 9, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie
curvedline wrote on 2025-02-22, 15:46:
>if you wanted to: config -set cycles=xxxx […]
Show full quote

>if you wanted to: config -set cycles=xxxx

DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set "cpu cycles=2000" doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set "cycles=2000" doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set cycles=2000 doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x -exit config -set cycles=2000 doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -scaler normal2x config -set cycles=2000 -exit doesnt work
DOSBox.exe PLAY.BAT -conf dosbox.conf -conf dosbox2222.conf -scaler normal2x config -set cycles=2000 -exit doesnt work

CONFIG -set "section property=value"
config -set "cpu cycles=10000"
i think someone said that -set command, maybe a decade ago, was broken

Sorry I should have been more specific - I meant from within DosBox.

Reply 6 of 9, by curvedline

User metadata
Rank Newbie
Rank
Newbie

according to the manual
Both "-set" and "-get" work from ******************* !!!!! batch files !!!!!***************************
and can be used to set up your
own preferences for each game. Although it may be easier to use separate
DOSBox's configuration files for each game instead.

i didnt realize"PLAY.BAT" could cause a problem. because sending in all different batches has been working, calling for a dosbox.exe.. or most dos games would havent been run if it hadnt taken a batch form

play.bat had this
cls
opening
vgal %1 %2 %3 %4 %5 %6 %7 %8 %9
closing
pause
cls

i changed and tired , dune2.exe runs without a batch
DOSBox.exe dune2.exe -conf dosbox.conf -scaler normal2x config -set "cpu cycles=2000" doesnt work
DOSBox.exe dune2.exe-conf dosbox.conf -scaler normal2x config -set "cycles=2000" doesnt work
DOSBox.exedune2.exe -conf dosbox.conf -scaler normal2x config -set cycles=2000 doesnt work
DOSBox.exe dune2.exe-conf dosbox.conf -scaler normal2x -exit config -set cycles=2000 doesnt work
DOSBox.exe dune2.exe -conf dosbox.conf -scaler normal2x config -set cycles=2000 -exit doesnt work
DOSBox.exe dune2.exe -conf dosbox.conf -conf dosbox2222.conf -scaler normal2x config -set cycles=2000 -exit doesnt work
the results were the same, all didnt work.

----------------------------------------
since -set isnt wokring but manual said it can, at the end i adapted like below ... series of -confs ..... after much struggles
DOSBox.exe PLAY.BAT -conf dosbox.conf -conf dosbox1-1.conf -conf dosbox2.conf -conf dosbox3-1.conf (or -conf dosbox3-2.conf , or -conf dosbox3-3.conf )
an elaborate batch can choose which conf to use

-conf dosbox1-1.conf - for desktop
-conf dosbox1-2.conf - for laptop

-conf dosbox2-1,2,3,4,5,6.conf - resolution for desktop
-conf dosbox2-1,2,3,4,5,6.conf - resolution for laptop. depends on choosing

-conf dosbox3-1.conf - cycles=max which is located in dosbox installed dir
-conf dosbox3-2.conf - cycles=auto which is located in dosbox installed dir
-conf dosbox3-3.conf - cycles=customized cycles which is located in each game dir that requires low cycles.

-----------------------------------------------------
so the part of my batch looks like this
IF /I %V4%==1 SET CC2=dosbox-con2-1.conf
IF /I %V4%==2 SET CC2=dosbox-con2-2.conf
IF /I %V4%==3 SET CC2=dosbox-con2-3.conf
IF /I %V4%==4 SET CC2=dosbox-con2-4.conf
IF /I %V4%==5 SET CC2=dosbox-con2-5.conf
IF /I %V3%==6 SET CC2=dosbox-con2-6.conf
SET C2=%CC2%

IF /I "%V5%"=="c31" SET "CC3=%S0%\dosbox-con3-1.conf"
IF /I "%V5%"=="c32" SET "CC3=%S0%\dosbox-con3-2.conf"
IF /I "%V5%"=="c33" SET "CC3=%~dp1!dosbox-con3-3.conf"
SET "C3=%CC3%"
REM c31 c32 are at dosbox dir but c33 is at game dir
REM ---------------
SET EE1=-scaler %E1%
IF /I %E1%==1 SET EE1=-scaler normal2x
IF /I %E1%==2 SET EE1=-scaler normal3x
IF /I %E1%==3 SET EE1=-scaler advinterp2x
IF /I %E1%==4 SET EE1=-scaler advmame2x
IF /I %E1%==5 SET EE1=-scaler hq2x
SET E1=%EE1%
REM ---------------------------------
IF /I %E2%==0 SET E2=""
IF /I %E2%==1 SET E2=-fullscreen

IF /I %E3%==0 SET E3=""
IF /I %E3%==1 SET E3=-EXIT
REM ----------------------------------------------
dosbox.exe %V1% -conf "%S0%\%C0%" -conf "%S0%\%C1%" -conf "%C3%" %E1% %E2% %E3% - desktop
dosbox.exe %V2% -conf "%S0%\%C0%" -conf "%S0%\%C2%" -conf "%C3%" %E1% %E2% %E3% - laptop

Reply 7 of 9, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

You are not running the config commands from a batch file. You are passing them to DOSBox.exe as individual arguments. That is not going to work.

Reply 8 of 9, by curvedline

User metadata
Rank Newbie
Rank
Newbie

>You are not running the config commands from a batch file. You are passing them to DOSBox.exe as individual arguments. That is not going to work.
but according to the manual
Both "-set" and "-get" work from ******************* !!!!! batch files !!!!!***************************
then this is a misleading
i have no intention to start a dosbox.exe alone before starting a game then
type in something like this config -set "cpu cycles=2000" for every different game for the best cycles i found, and i could never remember those numbers for all games
C:\>config -set "cpu cycles=2000"

the series of -conf worked, it was good enough for me, although i hoped it worked like dosboxx's -set for a simplicity

Reply 9 of 9, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
curvedline wrote on 2025-02-23, 05:52:

but according to the manual
Both "-set" and "-get" work from ******************* !!!!! batch files !!!!!***************************
then this is a misleading

No it's not. When did you ever try putting those commands in a batch file and running it inside DOSBox?
Never mind that this isn't even your thread, and you've completely hijacked it...