- better 8250 emulation;
- fake vertical retrace bit in Input Status #1 register
(this was lost in the VGA emu rewrite).
Submitted by: Igor Serikov <bt@turtle.pangeatech.com>
- slightly more accurate VGA hardware emulation;
- more int 10 functions, especially wrt to palette handling;
- first shot at graphics support;
- mode switching.
Bugs:
- graphics too slow;
- only 16 color modes work for now;
- works only under X, and only with 16 bit TrueColor visuals;
- far from being genuinely useful (I can play an old EGA game now, though
(mahjongg.exe)).
Also, the code has been cleaned up a bit (more to come in a separate commit).
doscmd heavily depends on struct sigcontext which luckily is mostly passed
between functions as usion regcontext_t. By redefining union regcontext_t in
terms of mcontext_t almost all bases are covered.
It also seems to me that doscmd was in a transitional state. The redundant
definitions made it difficult to get a clear overview and could easily cause
oversight. To make sure my changes were ok, I went as far as to complete the
transition. It was not exactly necessary, but I expect to have to come back
here some more ("whistle" if I'm wrong :-).
o Remove init printf
o Don't set optind from return value for do_args. getopt has already
done this.
o Bump EMS memory from 1M to 10M (this really should be a command line
option).
o Open /dev/null when requested to open emmxxxx0 to allow many programs
checking to see if EMS is installed to find it.
o Route int67 to ems_entry to allow EMS to be used when DOS is emulated
as well as when DOS is booted. This may obviate the need for the
driver doing anything at all in a really booted situation and won't
hurt that case.
I can now run the DOS program I'm interested in running with enough
EMS memory that its "advanced" functions are enabled and working.
o Make the dos emulation treat c: and C: the same way. Sourcer was doing
a chdir("c:\\") rather than a chdir("C:\\");
o use drlton() in all places where we used to use -'A' so that we're always
case independent.
o use drntol() in all places where we used to use + 'A' for similar reasons
interface for callbacks to doscmd from DOS, obsoleting the instbsdi
redirector. (redir.com replaces it)
A temporary hack is in place so the instbsdi program will (hopefully) work
in the short term.
Submitted by: Helmut F. Wirth <hfwirth@ping.at>