VOGONS

Common searches


New DOSBox Frontend - DOSBoxGui

Topic actions

Reply 41 of 45, by Anhaedra

User metadata
Rank Newbie
Rank
Newbie

Right, I suppose that would help a bit.

Naughtius-Maximus:~/desktop/dosboxgui.0.5.3-1 folder justinfletcher$ ./dosboxgui.tcl
no initialSettingsDir, will create one: ~/.dosbox/
Error in startup script: mkdir: ~: No such file or directory
while executing
"exec mkdir ~/.dosbox/"
("eval" body line 1)
invoked from within
"eval exec mkdir $initialSettingsDir"
("default" arm line 2)
invoked from within
"switch $OStype {
"Windows NT" {
exec cmd.exe /c mkdir $initialSettingsDir
}
"Linux" {
eval exec mkdir $initialSettingsDir
}
default ..."
invoked from within
"if { [catch { cd $initialSettingsDir } ] } {
puts "no initialSettingsDir, will create one: $initialSettingsDir"
switch $OStype {
"Windows NT" {
..."
(file "./dosboxgui.tcl" line 48)

That's what I get when I try to execute it. As you should see, I have the dosboxgui folder on my desktop, if that matters.

"Please flee in terror in an orderly manner."

Reply 43 of 45, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

The ~ character is not something the operating system (kernel) knows about. It is something that your application needs to take care of.

Presumably, your Tcl-script simpy passes the "mkdir ~/.dosbox" through the users shell (as specificed in /etc/passwd, or by examining the $SHELL variable).

Many modern shells understands the ~ convention of meaning the current users home directory (and ~username to mean another users home directory), but that is just it: A convention known to the shell.

If Anhaedra or anyone else is using a shell that do NOT understand ~, then you will likely get this kind of error.

You can try using the $HOME variable instead, e.g. "mkdir $HOME/.dosbox", but watch out for users where the home-dir path includes spaces (and Mac OSX users will likely have spaces in their login-names and thus also in the name of their home-dir). So mayby something like

mkdir "${HOME}/.dosbox"

is required.

Edit: Ahh... Just realized, the

eval exec mkdir $initialSettingsDir

probably completely bypasses the whole shell-thing, and executes the mkdir program program directly. So unless mkdir has been changed to know about ~ (or unless the kernel has been changed to know it), then you will get this kind of error.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 44 of 45, by chazbroam

User metadata
Rank Newbie
Rank
Newbie

Hello

Let me start by thanking you for a great job on DosboxGui. Good Job. I have used this app before. It doesnt seem to support Tcl/Tk 8.5, so I had to back track to Tcl/Tk 8.4 (Linux platform)

One feature i would like for you to implement if you already haven't:
*** the ability to utilize Dosbox's ability to make virtual drives and mount them. ****

For example:
I have 2 different games, both on cdroms. The way i play them with Dosbox I have to use the command line. I have to issue to several commands to do this. After I mount the game cd, I run Dosbox and type (for the game Discworld) :

Z:\mount d /mnt/hdc -t cdrom
Z:\mount c /home/<myhomedir>/dos_games/Discworld -t dir
Z:\d:
D:\disc.bat

To explain what I just did:

  • 1) The 1st command shows Dosbox where my cdrom is and makes a virtual drive "d" (aka D:\ drive) for its use.
    2) The 2nd command shows where on my hard drive to make a virtual drive "c" (aka C:\ drive) for its use.
    3) The 3rd command switches to the cdrom "D:\".
    4) The final command runs the "disc.bat" file which starts Discworld.

The reason why it needs a C:\ drive is because it installs a configuration directory which saves all the sound card configurations and a place to save games to.

Is there a way to do this with DosboxGui already? Or can DosboxGui be fashioned to do this?

Thanks,

chazbroam

Reply 45 of 45, by chazbroam

User metadata
Rank Newbie
Rank
Newbie

Hey there,

Another thing I would like to implement is the ability to make DosBox use the "-exit" after the the game finishes. Any way to make the "run DosBox" button run "dosbox -exit", instead of just "dosbox" ?

chazbroam