Hi, I have updated my MODE variant again. Added features: - support for VESA modes (the syntax checker will only allow 25,28,43,50,30,34,60 x 40,80,132 or as alternative syntax 8,14,16 "lines" as font height). Let me know if your VESA BIOS / VBE driver supports other text modes so that I can relax the syntax check. - display of the status of the resident part when displaying LPTn port information (MODE can "drop" the resident part into RAM when needed, so you do not need a separate file to load the resident part) - improved help texts now make clear that you can redirect only printers and only to either themselves (stop redirection), NUL, or serial ports and that neither MODE nor DISPLAY do currently support preparation of more than one codepage in one call.
Sometimes you have to use MODE several times to reach weird modes. For example my BIOS has 80x60 mode with 8x8 font, and selecting 8x16 font by running MODE a second time gives me 80x30 mode which is not directly offered by the BIOS. However, the 30 / 34 / 60 line modes use 640x480 which defaults to only 60 Hz. Yuck! Flickers a lot. So I am now using modes like 132x28 (first select cols=132 lines=25, then select cols=14 to use 8x14 mode to reach that one) which is 70 Hz. MODE can forget to change the number of columns and/or the number of rows while trying to approximate the selected mode, so again, you may have to work in steps. The logics which switch 350 <-> 400 line resolutions on EGA are a bit pointless for VGA but there is no BIOS call to switch 200 <-> 350 <-> 400 <-> 480 lines. I assume that 200 lines are not useful and that you can reach 480 line mode by entering a VESA 60 line mode. Leaving that mode can be done by selecting a "classic" mode like co80 (if you try to select 28 lines from 480 line mode you are likely to end up with 34 rows because the 480 -> 400 lines switch is ignored by the BIOS, etc.!)... Take care not to break things - you are using MODE at your own risk. I myself did not yet reach undisplayable modes during my experiments, though. However, XDOSEMU is showing mixed wrong font usage in my "use VGA fonts" 1.1.5.6 patched version. Would be nice if somebody could test with "classic" XDOSEMU (which uses the X11 font engine and a fixed set of fonts). By the way, if you have DJGPP, please compile a DOS binary of SVGATextMode (stm) 1.10 for us. Very versatile mode setting tool which does not rely on VESA but programs the hardware directly (e.g. can enter 80x60 mode on any 640x480 capable VGA, just like my VGA30 tool - but can also enter LOTS of other modes and refresh rates!). You can find the sources at: http://www.ibiblio.org/pub/Linux/utils/console/ http://www.ibiblio.org/pub/Linux/utils/console/!INDEX.html PS: Anybody got a nice VBE 3.0 refresh rate configuration tool? 80x34 mode at 75 Hz would be nice :-). Thanks for testing and have fun with MODE! Eric. PPS: Information wanted about what MODE co40,[L|R][,T] should program exactly on true CGA 6845 chips to shift the image to the left/right! New FreeDOS MODE by Eric Auer 2003-2004, with support for DISPLAY codepages. MODE [device] [/STA[TUS]] (show status of one or all devices) MODE LPTn[:] cols[,[lines][,retry]] (80/132 cols, 6/8 lpi) MODE LPTn[:] [COLS=...] [LINES=...] [RETRY=...] Retry can be b/e/r return busy/error/ready if busy, p/n infinite/no retry. MODE LPTn[:]=[COMn[:]|NUL] (redirect printer data to serial port or NUL) MODE COMn[:] baud,parity,data,stop,retry (empty values allowed) MODE COMn[:] [BAUD=...] [PARITY=...] [DATA=...] [STOP=...] [RETRY=...] Baud can be abbreviated to unique prefix, parity can be o/e/n/s/m, the latter 2 mean space/mark, data can be 5..8, stop 1..2. Retry is IGNORED! MODE CON [CP|CODEPAGE] REFRESH MODE CON [CP|CODEPAGE] SELECT=number MODE CON [CP|CODEPAGE] PREPARE=((codepage) filename) MODE [BW40|BW80|CO40|CO80|MONO][,rows] (rows can be 25, 28, 43 or 50) Use 8, 14 or 16 as 'rows' value if you only want to change the font. MODE CON[:] [COLS=...] [LINES=...] (possible values depend on your hardware) MODE CON[:] [RATE=...] [DELAY=...] (default rate 20, default delay 1) Rate can be 1..32 for 2..30 char/sec, delay can be 1..4 for 1/4..4/4 sec. MODE CON[:] [NUMLOCK|CAPSLOCK|SCROLLLOCK|SWITCHAR]=value Value can be: + or - for the locks or a character for switchar. CGA L/R shift not yet supported! Only limited RETRY support in this version! C:\>mode con *** CONSOLE STATUS *** Keyboard repeat rate and delay could not be read. Screen size: 80 columns, 25 rows, mode 3, font height 16. Switchar is '/'. Numlock is off. Scrolllock is off. Capslock is off. ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Freedos-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-devel
