Hi there,

nice to see that you're trying to tweak old software to fit on modern 
screens... still I have a cold shower for you :-) Sorry about it.

Not sure where DOS borrowed its "terminal" / console code, whether 
CP/M or UNIX... the fact is, that in the way of "support", the DOS 
console lacks quite a bit of flexibility, compared to modern terminal 
emulators running in the windowing GUI. Namely, DOS doesn't seem to 
support or understand an arbitrary number of rows or columns. As 
others have pointed out, the choice is quite limited:

https://gitlab.com/FreeDOS/base/mode/-/blob/master/SOURCE/MODE/MODECON
.C?ref_type=heads#L266

https://gitlab.com/FreeDOS/base/mode/-/blob/master/SOURCE/MODE/MODECON
.C?ref_type=heads#L151

http://wiki.freedos.org/wiki/index.php/Mode

So much for support on part of DOS, which practically means the 
command line itself, plus maybe some apps that rely on DOS for the 
console display (which ones are those?)

A part of the problem is, that most software for DOS handles the 
video resolution and video output itself, directly with the hardware, 
typically using the VGA+VESA BIOS services to configure a resolution 
(if more than the classic 80x25 text mode is supported by the app).

Some software understands 43 or 50 rows too - various Borland 
TurboVision TUI's and some file managers, if memory serves.
But, that's about it.

The source code to FreeDOS "mode" command speaks even about 60 rows 
text mode support, which is interesting. Some 2 decades ago, I 
sometimes used that in Linux at the text-mode console.
Type vga=ask at the kernel command line, etc.

The other key aspect is, that without detailed knowledge of your 
proprietary video hardware, you likely need to select one of the 
graphics modes offered by the VESA BIOS services. On graphical cards 
of the general "SuperVGA category", i.e. more modern derivatives of 
the legacy original VGA, the VESA BIOS typically offers a plethora of 
high-res graphical modes (addressed per pixel) and also some text 
modes, addressed by the character. There was also a resident 
extension called UNIVBE, which could add support for some modes on 
some popular hardware that shipped with a shoddy VESA option ROM.

And this selection of VESA BIOS modes, is exactly what you get 
offered by the Linux "vga=ask", and what you can use in DOS, if your 
software supports the higher VESA VBE modes.

To get a listing of available VESA modes in DOS, I recall a tool 
called VESATEST. Or was it VTEST ? Possibly this one:
https://archive.org/details/msdos_VESA24_2_shareware
Apparently that was written in 1993.

Also my friend Rayer has written something:
http://rayer.g6.cz/programm/programe.htm#VESATEST
The current version is from 2018...

If the VTEST shows you a text mode with 60 rows and about 132 
characters, you can try supplying that one to "MODE CON COLS= 
LINES=".
But it will only work in the pure DOS prompt.
As already mentioned, various apps will mostly not respect this 
setting, and will set the video mode based on their own respective 
historical preference.

I've just stumbled over a page that points to various 
VESA/VBE-related proggies for DOS:
https://dosdriver.de/graph.php

You may also find or write some tool to ask the BIOS for just any 
supported VESA mode, including graphical, and exit to DOS without 
switching the mode back to 80x25. Sometimes you'd end up in this 
state after a game has crashed gracefully enough to return.
You can see the command.com working, characters do get displayed, the 
graphical modes often do support the BIOS text-mode output routines 
too - but the cursor probably won't blink, you may still be limited 
to 80x25 text-mode characters, and there are possibly other 
downsides, including the risk of a sudden freeze.
Also, the DOS console code is not aware of the actual resolution of 
the screen, and keeps running in 80x25 characters (or whatever it was 
before).

Times they are a changin'. While a character terminal with an 8x8 or 
8x14 font size on a full HD display may look like punk to us 
greybeards, the same font size on a 4k display is clearly a case of 
"why bother".
Technically no problem in Linux, and yes I have tried.

Frank



_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to