VOGONS


File access log

Topic actions

First post, by christianboutin

User metadata
Rank Newbie
Rank
Newbie

Hello!

Love Dosbox, been using it to revive some of my older games from the '90s (OSP/Oracle Sofware enr.). I was just notified that two of my games, Champions of Zulula and Champions of Zulula Elite, are not functioning completely under DosBox. It seems the file FILES.DAT which contains the player/save data is never being updated. Unfortunately I don't have a physical old dos machine to run tests... I wonder if there's a way to get a complete verbose-type print out of every attempt by a program to open a file and what the OS's answer is. That way I could track what my game is doing and maybe figure out what's going on and if I can fix it.

Thanks!

Christian

Reply 1 of 23, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

That basically already exists when you use a debug-enabled build. The debug window log then shows all attempts to open files (and quite a bit more beside that).

Reply 2 of 23, by christianboutin

User metadata
Rank Newbie
Rank
Newbie

Thanks for the quick reply. There are no binary debug builds available for windows right? 😕

Reply 3 of 23, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

I don't think there is an "official" 0.73 debug-enabled build, but the 0.72 one is available right here and will do what you want.

My site: Ramblings on mostly tech stuff.

Reply 4 of 23, by christianboutin

User metadata
Rank Newbie
Rank
Newbie

I got it and it does tell me the file in question is being opened! Thank you!

Reply 5 of 23, by Og

User metadata
Rank Member
Rank
Member

This happend to me in several games, so far, booting MS-DOS in DOSBox was a good workaround that always worked.

Reply 6 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

This happend to me in several games

*This* being what exactly?

Reply 7 of 23, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Probably this one

> It seems the file FILES.DAT which contains the player/save data is never being updated.

1+1=10

Reply 8 of 23, by Og

User metadata
Rank Member
Rank
Member

As h-a-l-9000 said, "This" refers to DOSBox' shell not being able to write to certain files.

Reply 9 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I don't know of any such problem, if a file is read-only you'll get an error
message in the console log and for everything else please post on the forum
(game details etc.)

Reply 10 of 23, by Og

User metadata
Rank Member
Rank
Member

Well, I don't really have a problem with anything... I was just trying to help the OP.

But if you are referring to his problem then you can find a shareware version of the game if you google "Champions of Zulula - Elite Edition". You can see that the file he's talking about, FILES.DAT, is not set as read-only/hidden/system (or any other attributes besides Archive) and still DOSBox doesn't write to it and gives no error, not ingame or by the console (or at least I think so... I don't know this game).

Reply 11 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Indeed he should be using msdos then.

Reply 12 of 23, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

The OP is actually the author of these games. He's being told by users that they don't function properly under DOSBox. Cause to investigate, I suppose. (/me fires up his debugger).

My site: Ramblings on mostly tech stuff.

Reply 13 of 23, by robertmo

User metadata
Rank l33t++
Rank
l33t++
Og wrote:

This happend to me in several games, so far, booting MS-DOS in DOSBox was a good workaround that always worked.

Og i think you should tell us names of all these games if you still remember them just for us to know. If someone will encounter problems with these games he/we will already know the problem by searching the forum.

Reply 14 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Cause to investigate, I suppose.

reading from a file opened in write-only mode.

Reply 15 of 23, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

do we or did ms dos forgive that ?

Water flows down the stream
How to ask questions the smart way!

Reply 16 of 23, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

In localDrive::FileOpen, there is a line:

case OPEN_WRITE:type="rb+"; break;

so read operations succeed.

case OPEN_WRITE:type="wb"; break;

makes the game work. No idea if that is proper DOS behaviour, but it would match the behaviour of the flags, of course.

My site: Ramblings on mostly tech stuff.

Reply 17 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

do we or did ms dos forgive that ?

dos doesn't allow it (we can check against flags in localFiles).

Reply 18 of 23, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

makes the game work. No idea if that is proper DOS behaviour, but it would match the behaviour of the flags, of course.

Doesn't really work because our read() doesn't check for error codes.
It just "fixes" overwriting the memory. Still that may be useful in addition.

Reply 19 of 23, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

think we should do both. so we can return an errorcode as well if the flags don't include reading

Water flows down the stream
How to ask questions the smart way!