[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] System call bindings
Frank Naumann wrote:
Hello!
Atari doc:
Pdomain gets or sets process execution domain. This is a number wich
controls the behaviour of a process. The default domain is 0, wich is
the TOS compatibility domain and in wich all system calls behave
exactly as they do under TOS. Domain 1 is the MiNT domain; in this
domain, the behaviour of the Fread and Fwrite system calls when
applied to terminals are controled by the current terminal settings
as established by the Fcntl system call. Moreover, file names
returned from Fsfirts and Fsnext may be treated differently; MiNT
domain process are expected to be able to deal with file names that
are not standard 8 character name + 3 character extension, all upper
case, DOS file names.
...
Yes, and this is what MiNT do since ever, for Pdomain(1) it don't
convert filenames to the 8+3 upper case TOS convention on Fsfirst/Fsnext.
But that's all, I don't see any reference to return longer filenames
than there is space in the DTA struct nor that the DTA struct is
redefined. So for Fsfirst/Fsnext you get the original filenames like
they are on the disc if you are Pdomain(1) AND(!) the filename is
smaller than 14 characters (as there is no more space in the DTA struct).
We return to the first problem, by default DTA is assign by the system
(and not by software) when Pexec is done, no?
The DTA address is push in BASEPAGE. Then if software wan't to change of
DTA, it use DTA definition from osbind.h, if it's not agree with system
of course it will crashed.
Olivier