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

Reply via email to