VOGONS


First post, by apollo16

User metadata
Rank Newbie
Rank
Newbie

The last version of DosBox don't respect "Hidden and System" attributes of files infact they are visible also if their attributes are ON, infact under Win2000 these files are not visible but in DOS Box are visible and it is wrong!!
For this reason some program as my IBM Filing Assistsant 2.0 that verify
if exist its file "File.sys" in root and verify if its attributes Hidden & System are set to on, don't run and show only a blue screen.
I suggest you to improve the program adding the internal command "ATTRIB" in order to modify the file attributes as user wants.

Best Regards

Andrea

Reply 1 of 9, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

This is normal. DOSBOX is theoretically runnable on anything with the file system, SDL port and enough power. This means that it cannot rely on attributes which are specific to one OS (e.g it is reasonable to expect that on any file system there will be available time and name for every file, but this cannot be expected as far as DOS attributes are concerned - these are not universal!).
You may have more luck in future version with support for disk images (everything can be emulated there - at least theoretically, I do not know whether CANADACOW implemented it or not)

Mirek

Reply 2 of 9, by jal

User metadata
Rank Oldbie
Rank
Oldbie
mirekluza wrote:

This is normal.

Well, I wouldn't call it quite normal. It is true that DOSBox should be runnable on multiple systems, but many users will run it on a Windows platform, on which the 'original' attributes like 'hidden' and 'system' are available. It shouldn't be to much of a problem to add this in the Windows build. For Linux users it will be more of a problem, but I can think of many solutions, amongst which are a seperate FAT16 partition for programs that use attributes, or explicit setting of attributes for certain files in the config file.

JAL

Reply 3 of 9, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

jal, you are right about the need for some kind of a pseudo filesystem (or attribute database) when the attributes can not be easily mapped to the underlying, real filesystem. Putting the attributes-DB in the config file will work for program that only reads/checks the attributes, but it will fail if the program tries to changes the attributes. The changes could be kept in run-time memory so the program will get the expected answer in the DOSBox session, but if run at a later time, the attributes will be right back to what is in the config file.

This kind of problems have been discussed earlier, e.g. how ZIP-archives should be used as DOSBox file systems.

The only *hack* I can think of is to use a file with a non-DOS name (e.g. a file called .ATTRIBS:DB) inside each DOSBox directory. The .ATTRIBS:DB file could then be used by DOSBox to read/write/emulate the DOS attributes.

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 4 of 9, by jal

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:

The only *hack* I can think of is to use a file with a non-DOS name (e.g. a file called .ATTRIBS:DB) inside each DOSBox directory. The .ATTRIBS:DB file could then be used by DOSBox to read/write/emulate the DOS attributes.

I just thought of another hack: attach the attributes to the filenames, but make sure those aren't passed back to DOS. E.g. a file called "MSDOS.SYS" with attributes A, H and S will have the physical name (on the host file system) "MSDOS.SYS.ahs". A file without extension should have a double dot, e.g. "HISCORE" with attribute A would become "HISCORE..A" on the host file system. Alternatively, instead of letters the hex-code for the attributes could be used.

JAL

Reply 5 of 9, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

While my suggestion is a *hack*, your idea is an *uggly hack*. The beauty of .ATTRIBS:DB is

  1. No filename in DOS can include a ':'
  2. A dot-directory does usually not show up in file listsing, etc.

Adding filename postfixes looks messy....

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 6 of 9, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Well, something from this would be feasible, but the question is how much needed it is. Apart from Andrea's problem I met an attribute problem just once myself (in the installer for one Windows program unusable in DOSBOX for a different reason) during the whole tiime I work with DOSBOX (since before version 0.56).
I guess that unless somebody submits patch, developers will not bother with this.
Anyway I think there is cleaner solution: CANADACOW implemented image support. I do not know whether attributes are supported or not, but it should not be a big problem to add them (without using any hacks as mentioned above).

Mirek

Reply 8 of 9, by jal

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:
While my suggestion is a *hack*, your idea is an *uggly hack*. The beauty of .ATTRIBS:DB is […]
Show full quote

While my suggestion is a *hack*, your idea is an *uggly hack*. The beauty of .ATTRIBS:DB is

  1. No filename in DOS can include a ':'
  2. A dot-directory does usually not show up in file listsing, etc.

Adding filename postfixes looks messy....

Well, that's a matter of taste, I think. There's no 'beauty' in storing attributes seperate from the file they refer to, and much more difficult to manage when copying files within the host OS. My 'solution', albeit a hack, allows for easy copying/moving of files and even transfering them to different systems without them losing their attributes. Storing the attributes in a seperate file has none of these advantages.

Using diskimages could be a solution, but only if there's ample host OS support for these images, otherwise manipulation outside the emulator would not be possible at all, which is a Bad Thing, imho.

JAL

Reply 9 of 9, by robertmo

User metadata
Rank l33t++
Rank
l33t++
jal wrote:

Using diskimages could be a solution, but only if there's ample host OS support for these images, otherwise manipulation outside the emulator would not be possible at all, which is a Bad Thing, imho.
JAL

There is DiskExplorer
http://bochs.sourceforge.net/doc/docbook/user/x2291.html