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