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