dos console apps question
dank at kegel.com
dank at kegel.com
Thu Jul 25 15:54:25 CDT 2002
Jukka wrote:
> Yes, many DOS console apps don't work under plain Wine
> because DOS emulation does not create console for the
> applications. Some applications actually make Wine crash
> because the application gets illegal coordinates when
> GetConsoleScreenBufferInfo fails.
>
> The correct place for console allocation would likely
> be VGA_SetAlphaMode; call to normal Windows AllocConsole()
> function should be enough, no server calls are needed.
> Additionally, if DOS console application tries to call a
> routine that requires console, VGA_SetAlphaMode should be called
> in order to initialize console (see VGA_SetCursorPos).
>
> I have been thinking doing this myself, but I have always
> ended up being uncertain about how this change is going to affect
> piping input and output of DOS programs that use only
> stream IO and not console IO.
Sounds like we need some regression tests that run
DOS progams like 'find' and 'more', and make sure they
work properly. I myself use the sourcesafe commandline
tools, which are of the sort that just pipe characters to
stdout and from stdin, and was horrified to discover
that sometime after 9/2001, wine stopped running them
correctly -- it started putting stdout in raw mode (!),
which caused all line-oriented reads from stdin to fail.
It also did curses initialization (!!), which made things
look very messy indeed. I'm still running my snapshot
from around 9/2001, but if I ever get up the energy,
maybe I'll write a regression test to make sure e.g.
DOS "more" works correctly.
- Dan
More information about the wine-devel
mailing list