Hi Arkady,

> >>      Ok. Let make another question: how to make _conditional_ inclusion of
> >> B000 or B800 (depending of color/mono adapter(s) presence)? ...
> EA> QEMM (?) had some option or driver called MONOUMB,

>      There is neither such option nor driver. MS-DOS itself includes
> monoumb.386 driver (autoloading Win3 driver?)

Yes, Aitor already corrected me. MS has a Win3 driver to make UMBs of b000...

> EA> ... how about the following options:
> EA> - MONOUMB means "I=b000-b7ff if no mono CRTC is present"
> EA> - COLORUMB could do the same for b800-bfff, but only very few
> EA> - VGAUMB means "I=a000-afff, and block int 10.0 modes 0d and above, as 
> well

I know that no EXISTING drivers have options called VGAUMB, but still
think that my SUGGESTION should match your taste:

- add a MONOUMB option to EMM386 which has the meaning of "I=b000-b7ff if
  no MONO graphics card is detected"
- add a VGAUMB option, too, which means "I=a000-afff and block EGA/VGA/VESA
  detection and access"

Implementation suggestions:
- MONOUMB should insist that 40:10 and 30 must not be 30. It should also
  insist that bh!=1 and bl!=1 after int 10.1a00 (if VGA present, otherwise
  int 10.1a00 is not used). It should also insist that 40:63 is not 3b4.
  Finally, 40:49 must not be 7 or 8.
- VGAUMB should insist that int 10.12.bx=ff10 returns bl<10 and bh<10, and
  if so, that int 10.1a00 returns al==1a. Finally, 40:49 must be in 00..0c
  range.

Blocking suggestions:
- MONOUMB should make int 10.0007, 10.0008 and 10.00?? with ?? and 7f above
  18 a no-op (value after the dot is the AH byte or AX word in this mail).
- VGAUMB should make int 10.12.bl=10 a no-op (not changing BX or CX, which
  will give the impression that no EGA is present), same for int 10.1a00,
  and for all int 10.4f VESA functions. It should also make int 10.00?? a
  no-op for all values of ?? and 7f outside 00..0c range.
  In addition, it might want to block int 10.11?? except maybe int 10.1130,
  because they affect fonts, and int 10.12.bl=10, which is one possible
  check for EGA (which should be spoiled by VGAUMB).

I think the implementation of that can be fairly compact, and it would
help people to create safe one-size-fits-all configurations for boot
disks which need a lot of free UMB space but do not need MONO and/or
do not need EGA/VGA graphics. I hope some people like the suggested two
new EMM386 options. In particular the EMM386 maintainers, of course :-)).

Eric

PS: VGAUMB should set 40:10 and 30 to 20, which will mean "CGA".


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to