VOGONS

Common searches


First post, by headbngr

User metadata
Rank Newbie
Rank
Newbie

I have an older CAD Program that has an LPT dongle I can get it to work with the special version compiled for LPT pass through. But I have problems with DOSBOX's File system.

If I mount a folder for the c drive it will load the program but when accessing some files for the program it will exit the program and give "FILE NOT FOUND" message.

So i made a 100mb image file and mounted it, installed FREEDOS on it, and booted it. Everything works in the program but I have no access to other drives in dosbox when booting into FREEDOS. I would like to get it working natively in DOSBOX so I can use other mapped drives from the original system.

If I mounted the same FREEDOS image directly in DOSBOX the same thing happens as if I would mount a folder. I get "FILE NOT FOUND" and the program exits. I have a feeling it has something to do with FAT16 emulation that is done in DOSBOX.

Is there any switch or option I can use to get the mounts to work properly? Also is there a way to mount drives so when FREEDOS loads it still see the mounts that were done in DOSBOX?

Last edited by headbngr on 2008-02-13, 01:07. Edited 1 time in total.

Reply 2 of 15, by headbngr

User metadata
Rank Newbie
Rank
Newbie

Okay I decompiled the program I was trying to get working. It was trying to call a batch file with following syntax "/c call.bat". Since DosBox's command line interrupter did not know how to use the /c option it exited. The way I fixed the problem was run the command.com from FREEDOS and change the SET COMSPEC=C:\DOS\COMMAND.COM. Maybe this switch could be implemented into DosBox interpreter so others will not have this problem.

Reply 4 of 15, by headbngr

User metadata
Rank Newbie
Rank
Newbie

I looked at the decompile program a little closer and discovered more. I missed previous that the program was really trying to execute "c:\command.com /c c:\cad.bat". Since the original dos had command.com in the root this is why it worked. I did a "copy z:\command.com to c:\" and now it works for with the original DOSBOX interpreter.

Thanks Qbix and Hal9000 for your great work.

Reply 5 of 15, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

z: is the boot drive, either that app has the c:\ hardcoded for whatever reason,
or they grab the boot drive letter from some odd place (or a place that dosbox
has hardcoded to c: .....)

Reply 6 of 15, by headbngr

User metadata
Rank Newbie
Rank
Newbie

They had "c:\command.com" fixed. DOSBOX does not try to replace the fixed c:\command.com. I know it is wrong in the original program. Nothing can be done unless I modify the code of the program. Maybe dosbox can be modified if command.com is not found in the location it automatically uses the one located on Z:\.

Reply 7 of 15, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well that's what the path var is for under dos, you don't specify the
full path to the executable but use "command.com /c whatever" and
dos resolves it to wherever the command interpreter resides.
Their problem if they think that they are smart by using fixed locations.

Reply 8 of 15, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Just curious, in which scenario (except when booting from a floppy) would you not find a C:\COMMAND.COM ?

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 10 of 15, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

you not find a C:\COMMAND.COM ?

Second partition marked active i'd say.

but who is going to tell the programmer that is probably retired by now.

Yeh, but it sounds like hacking the executable is working for you,
so you changed it as it should always have been. Don't think there'll
be hacks added to dosbox to work around buggy apps.

Reply 11 of 15, by headbngr

User metadata
Rank Newbie
Rank
Newbie
wd wrote:

Yeh, but it sounds like hacking the executable is working for you,
so you changed it as it should always have been. Don't think there'll
be hacks added to dosbox to work around buggy apps.

I did not hack the executable. I just decompiled to see what was going on. To fix the problem I just did at DOSBOX startup

"copy z:\command.com c:"

Reply 12 of 15, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
wd wrote:

you not find a C:\COMMAND.COM ?

Second partition marked active i'd say.

If partition #2 is marked active, that is the one that will be used for booting, right? And the boot-partition always becomes C:, or? And that is where IO.SYS and the other boot-stuff will look for COMMAND.COM?

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 13 of 15, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

And the boot-partition always becomes C:, or?

No, as far as i remember you can switch between booting from
c and from d that way, just booting from a second drive didn't work.
If i'm wrong you could at least have a boot manager to start off a
different drive/partition.

Reply 14 of 15, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Real DOS (i.e., MS-DOS < 7 and clones) only shows one primary partition (the first non-hidden one). And that one is always C:

If there are multiple hard disks in the machine, one primary per disk is accessible, but still the boot drive would be "C:" to a real DOS, due to the way the BIOS did drive swapping if booting from the second drive.

This was relaxed from Win95 onwards (and OS/2, which I was using at that time ^^), so that drive letters were assigned like "primaries from all disks first, in order of appearance, then logical drives (= extended partition)".

While COMMAND.COM was allowed to be moved (after all, there's a reason for %COMSPEC%), quite a few programs didn't like that.