About DISPLAY

Aitor Santamaria Merino <[email protected]> Tue, 12 Nov 2002 21:57:49 +0100
Newsgroups gmane.os.freedos.devel
Message-ID <[email protected]>
Hi,

You might have seen the announcement on the news, but I think it worths 
commenting a bit more on this.
Ilya V. Vasilyev had created an interesting package, named CHCP05b, that 
was under the "CHCP" folder of FreeDOS ibiblio.
The package does not contain any CHCP (perhaps maybe because it is 
internal? ;-)), but contained a DISPLAY.COM program, and a GRAFTABL.COM 
program.
I haven't tried GRAFTABL there, but DISPLAY was interesting enough. The 
version there has codepage 866 hardcoded, but also has the int10h 
handler which supervises screenmode changes and provides some extra 
information on the location of the character table, etc.
As Ilya seems not to be having time lately to continue with it, I asked 
him and he agreed. So I started doing some modifications, so that it can 
serve to load other codepages. I have written a new extended int2Fh 
handler, that cathes MUX=ADh calls to functions 0, 1 and 2, and also a 
couple of new (new to RBIL) functions, that may serve as a "backdoor" to 
load codepages temporarily (while it is a .COM).
DISPLAY is still DISPLAY.COM (in NASM) (no DISPLAY.SYS), and my idea is 
that these functions at int2Fh may serve to operate DISPLAY.COM until I 
turn it into a device driver and I implement the appropriate IOCTL 
calls. But at least, with the new version (0.06) that I am preparing, 
you will be able to change plain codepages in FreeDOS.
In order to operate with this DISPLAY, I have temporarily created a 
utility called MODECON.EXE, that should have a similar syntax to that of 
MODE CON in MS-DOS. Reasons for this:
(a) FreeDOS MODE does *not* admit any MODE CON * calls at all. :-((((
So please I encourage idle developers out there to try and complete the 
MODE command, that is otherwise incomplete (and I think another 
important todo for FreeDOS 1.0)
(b) MS-DOS MODE uses IOCTL calls to communicate with DISPLAY.SYS, so 
this won't work with this DISPLAY.COM.

There's a lot of work to do. Just to mention some:
- Be able to parse CPI files (instead of the naive RAW files that I'll 
temporarily provide)
- Be able to communicate with KEYB on the change codepage call (anyway, 
xkeyb doesn't pick such calls ;-)))
- Commandline compatibility with MS DISPLAY
- Turn it into a CONSOLE device driver, so that it can admit the IOCTL 
calls for changing the codepage
But many others too (other screens than EGA/VGA, subfonts, etc).

So no great deal, but better than nothing, and useful to change codepages.

I hope in a few days you can try it. What I have on my HD seems to work, 
but I am just trying to find a suitable set of codepages to launch the 
program with.

Aitor