Notes about Prototype 2 of KEYB 2.0 ("TAURUS")
==============================================

This is the prototype 2 to KEYB 2.0 ("taurus") project.

Prototypes are functional snapshots of my current work that
do not contain all the functionality of the future 2.0 project.

They are made as pieces of code from other projects, mainly
FreeDOS xkeyb, that are being replaced step by step by newly
rewritten code, mainly in assembler.

A reduced selection of layouts has been chosen to be packed with
it. You should always use the layout files that come with the
project, as compatibility with xkeyb KEY files is not guaranteed
at all.

Due to the fact that some pieces of code are to be replaced
completely, I haven't bothered to translate them into assembler,
and in some cases I have simply commented them out. This means
that some features are temporarily off respect to xkeyb. Just
remember that these prototypes are just released for testing
purposes, therefore do use other drivers (xkeyb or mkeyb) if you
need fully functional reliable drivers.

Finally, note that:
- I am not packing the utilities that came with xkeyb. I may create
similar utilities in the future. However, this isn't guaranteed. Feel
free to send me your versions, and I may consider them to be packed
with it


SPECIFIC NOTES TO PROTOTYPE 1
-----------------------------

Prototype 1 externally resembles xkeyb, and is even compatible with
xkeyb's KEY files. However, the internal structure of the file has
changed a lot, and many pieces of Pascal code have been rewritten
into assembler. The changes resulted in 2Kb less of resident size.

The changes mainly affect the interrupts that are hooked by the driver,
KEYB 2.0 hooks int 15h to provide AH=4Fh function (NOTE: in the
future, int9 handling will be made to be optional, so KEYB 2.0 will
really resemble mkeyb). This also allows the program to work with
third party keyboard drivers that hook int9h and poll int15h/4Fh.

The source of the program is now in a single file, with no other files
required, OOP is no longer used to hook/unhook interrupts.

Int 9h handler is now almost entirely in assembler, and the APL dirty
trick can now be overcome (but it is not compatible with it).

DISABLED FEATURES (temporarily):
- Ctrl+Alt+F1/F2 to enable/disable the driver
- No longer AltGr=Ctrl+Alt. Corollary: reboot your PC with AltGr+DEL
- Int2Fh handler (multiplexer) is now reduced, and the only served
function is AD80h (installation check). It is not guaranteed to be
100% RBIL compatible in this version


SPECIFIC NOTES TO PROTOTYPE 2
-----------------------------

Support for the reduced version (KBDRES var) is removed.

Support for XFunctions is removed (the API wasn't available anyway).

XStrings code is automatically disposed if you don't use XStrings. NOTE:
DON'T try to load a layout that needs XStrings after loading one that
doesn't.
