FreeDOS DISPLAY v0.06  (14-Nov-2002)
=====================
    Ilya V. Vasilyev  (hscool@netclub.ru)
    Aitor SANTAMARIA_MERINO  (aitor.sm@wanadoo.es)


DISPLAY device driver for FreeDOS


     This  program  is  free  software;  you can redis-
     tribute it and/or modify it under the terms of the
     GNU  General  Public  License  as published by the
     Free Software Foundation; either version 2 of  the
     License, or (at your option) any later version.

     This  program  is  distributed in the hope that it
     will be useful, but WITHOUT ANY WARRANTY;  without
     even  the  implied  warranty of MERCHANTABILITY or
     FITNESS FOR A PARTICULAR  PURPOSE.   See  the  GNU
     General Public License for more details.

     You should have received a copy of the GNU General
     Public License along with this  program;  if  not,
     write  to  the  Free Software Foundation, Inc., 59
     Temple Place - Suite 330, Boston, MA   02111-1307,
     USA.

------

   1.- About DISPLAY
   2.- How to use the program
   3.- Using MODECON.EXE
   4.- Known Issues and Limitations
   5.- Future wishes


1.- About DISPLAY
=================

DISPLAY is a component that appeared in Ilya V. Vasilyev's CHCP05b
package.

Development was restarted on October2002, with the aim to turn it
into a proper device driver capable of handling display codepages
with a similar functionality to DISPLAY.SYS from MS-DOS.

In this version, DISPLAY can handle other codepages than 866, but
to be operated (thought int2Fh) it requires a nonstandard program
called MODECON.EXE. In the future, it will be turned into a proper
device driver, so that the usual MODE commands can be issued on
it.

This first version implements a single pool for codepage information.

2.- How to use the program
==========================

Simply run it, being sure that no other DISPLAY program (identified
though int2Fh, MUX=ADh, fn=00) has been previously loaded.

From the very moment you install it, you can communicate with it by
using the accompaining MODECON.EXE program.

DISPLAY does not offer the possibility to unload once loaded.


3.- Using MODECON.EXE
=====================

Use the accompaining MODECON.EXE utility to communicate with the
program. It is self-explanatory (issue MODECON /? to see the options).
There are three main commands that allow you to interface with DISPLAY.

The first one is to know the currently active codepage:

MODECON CODEPAGE

Will tell you which is currently active codepage. Hardware BIOS codepage
is allways supposed to be 437 (for the moment), which corresponds to the
state of inactivity of the driver. DISPLAY always starts inactive.

A second command allows you to PREPARE a codepage, i.e., to load the
codepage information that DISPLAY needs to operate. The information is
loaded from a one of the .RAW files provided. For example, if you want to
prepare DISPLAY to use codepage 860, you have to issue

MODECON CODEPAGE PREPARE 860 CP860.RAW

Always make sure that currently active codepage is 437 before preparing
a new one. And bear in mind that this version of DISPLAY offers a single
codepage data pool, so only one codepage (appart from 437) can be prepared
at a time.

The last command is to make active certain codepage. Codepage 437 can always
be selected. Any other codepage needs to be prepared beforehand. If we
have prepared codepage 860 with the previous command, then make it active
by

MODECON CODEPAGE SELECT 860

The only exception to the rules stated above is that codepage 858 (Latin+EURO)
is hardcoded in DISPLAY's codepage data pool, and doesn't need to be prepared
when using for the first time. Of course, it can be replaced by any other
codepage that you may prepare.


To sum up, if you want to load other codepage than 437 or 858, you can issue
the following commands (for example, for 860):

DISPLAY
MODECON CODEPAGE PREPARE 860 CP860.RAW
MODECON CODEPAGE SELECT  860

You can automatise the process by adding these lines to your AUTOEXEC.BAT file.


4.- Known issues and limitations
================================


Issues: NONE

Limitations:
- works only for EGA and VGA monitor (LCD and MONO not yet)
- it doesn't work with other MODE commands (including Microsoft's)
- only one pool for codepage data
- hardware BIOS codepage is always assumed to be 437
- parses RAW files (and no CPI files)
- it will NOT query KEYB before selecting a new codepage
- does not admit parameters


5.- Future wishes
=================

In a nearby future, these can be expected:
- Ability to load CPI files
- Ability to communicate with KEYB
- MS-DISPLAY.SYS commandline compatibility
- more than one data pool for codepages
- it should become a CON device driver (and admit IOCTL calls)


<<<EOF>>>
