Hi guys,

> I agree here. A new GUI should not run exclusively on FreeDOS...
> I think asking the FreeDOS (kernel) developers to provide technical  
> information about DOS, while not tying the program to FreeDOS...

I would recommend to program your GUI in a way which makes in run
on any DOS, using exclusively normal int 21 calls for which you
can easily get documentation by reading a MSDOS book or website.

> Speaking of a Windows replacement, it could be handy to use some of the  
> Windows (3.x) support already embedded into MS-DOS...

Windows 3, in 386enh mode, uses some relatively documented things
to hide task swapping or even multitasking from the kernel(?), as
a DOS kernel does not support reentrancy. I assume you could also
write some sort of wrapper which just makes sure that int 21 calls
by different tasks cannot happen at the same time, making life a
lot easier for DOS. Of course that would reduce performance a bit.

WfW 3.11 goes the other direction by using more knowledge about
more badly documented internal details of the kernel to squeeze
out more performance, I guess. Which forces DOS versions who
want to be compatible to behave as if their inner working would
be very similar to MS DOS.

Your GUI could also abstract all DOS access from the graphical
apps. Then your apps only talk to your GUI and the GUI talks to
DOS, taking care that DOS only has to deal with one client, the
GUI itself. Should be elegant :-).

If you want to run Windows programs in a free way, try the HX
extender from Japheth or of course try ReactOS or Wine in Linux.
It really takes much effort to find a PC which is too old for
Wine and a lightweight Linux version, which makes the whole idea
of writing yet another (this time standalone) Windows emulator
somewhat less useful ;-).


Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
Freedos-user mailing list

Reply via email to