============================================================================
Loadable Videotext-Device-Driver V1.4 for Linux      (C) 1994-95 Martin Buck
============================================================================


This videotext-driver makes it possible to use videotext-interfaces from
different vendors without modifications to the decoder-program. It should be
rather trivial to adapt it to other SAA 5243/SAA 5246-based cards.
Interfaces using other chipsets can be supported too, since hardware-
specific deatils like register-layout etc. are hidden from user-programs.

Programs using this driver don't need to do any low-level I/O-operations,
which is why they don't need any special privileges anymore. Also, there
should be no trouble with incorrect timing, since this driver uses the
udelay()-macro which offers microsecond-resolution and which is calibrated
during system startup (the famous BogoMips-value).

At the moment, the following interfaces are supported:
o c't-Videotext-card: This one was published in the german computer-magazine
  c't 11/91, p. 228 and c't 7/92, p. 176. Only the version with a SAA5246 is
  supported. The SAA5244 is completely useless.
o serial c't-card: The interface published in c't 7/92 can also be connected
  to a serial port. You need the cable with Amiga-pinout:
    videotext-decoder             serial port
    (9-pin Sub-D)                 (25-pin / 9-pin Sub-D)
    SCL     (Pin 8) <-----------> RTS (Pin 4 / Pin 7)
    SDA-out (Pin 7) <-----------> DCD (Pin 8 / Pin 1)
    SDA-in  (Pin 9) <-----------> DTR (Pin 20 / Pin 4)
    GND     (Pin 3) <-----------> GND (Pin 7 / Pin 5)
o VTX2000/VD3000: These are internal cards made by Wiegand Datentechnik/
  Videodat Medien GmbH, Germany. The VTX2000 is a videotext-only card, the
  VD3000 has an additional videodat-decoder (unsupported).
o ELV PC-VT 7000: An external decoder with an ISA-bus-interface. It was
  published in ELV journal 2/90, p. 54, 3/90, p. 54 and 4/90, p. 16. This is
  untested, please tell me if it works for you.
o SATCOM: This is an external VTX-decoder connected to a serial port made
  by KDK Satcom, Germany.
o An interface developped by myself which makes it possible to connect the
  videotext-chipset of a VCR to the parallel port of a PC.

Since I don't have any information on other videotext-interfaces, I can't
support them at the moment. But if you have an unsupported interface, please
tell me; otherwise I will probably never support it.

If you want to write your own videotext-decoder please refer to the file
'programing.txt' for further information about the routines the driver
offers. Also, please let me know if you have written a decoder; I'm always
interested in other people's programs.


INSTALLATION
------------

Due to the fact that this drivers consists of only one single source-file
installation should be rather straightforward. Nevertheless you (obviously)
need root-privileges to complete the installation.

First, you should uncomment the line defining your videotext-interface in
the Makefile. You also have to enter the default I/O-base-address for you
card. Checking if the default major-number is already in use and changing it
if necessary (use 'cat /proc/devices' to get a list of currently installed
drivers & major-numbers) would also be a good idea. Also, you can change the
directories, permissions and groups of the files to install if you like.

Now you can compile the driver with 'make' and install it (after having
logged in as root) with 'make install'. If you already have the modutils
installed, you can load the driver with 'insmod <name>'; otherwise please
install this package first.

If you use Linux 1.1.67 or above, you should get the new modutils-package so
you can pass commandline arguments when loading the driver. Currently you
can redefine the base_io-address with base_io=<address>, the major-number
with major=<major-number> and set slow_if=1 if you get lots out timeouts.

If you get errors about undefined symbols when trying to install the driver,
your kernel doesn't export all the necessary symbols (starting from Linux
1.1.63, all necessary symbols are exported). To change this, you have to
edit the file 'kernel/ksysms.c' in your Linux source-tree. Just enter the
symbols insmod complained about here (omit the leading '_'; look at the
other symbols defined there); you also might have to insert the line
'#include <linux/delay.h>' somewhere at the beginning of the file. After
booting the new kernel, insmod should succeed.

Beware: If you use the driver for the serial c't-card or the SATCOM-
decoder, you may not access the corresponding serial device while you use
the videotext-driver. Otherwise unpredictable results may occur. If you use
the serial-port only for videotext, it would be best do disable the
serial-driver for this port completely. Unfortunately, I don't know how to
disable the serial-driver temporarily.


BUGS
----

If you encounter any problems when using this driver, please send me an
exact description of the bug and, if possible, how to repeat it. If you get
kernel-panics etc. please send me the complete register-dump:

        general protection: xxxx
        EIP:    0010:xxxxxxxx
        EFLAGS: xxxxxxxx
        eax: xxxxxxxx   ebx: xxxxxxxx   ecx: xxxxxxxx   edx: xxxxxxxx
        esi: xxxxxxxx   edi: xxxxxxxx   ebp: xxxxxxxx
        ds: xxxx  es: xxxx  fs: xxxx  gs: xxxx
        Pid: xx, process nr: xx
        xx xx xx xx xx xx xx xx xx xx

Additionally I need the start-address of the driver which is printed by
insmod when loading the driver (module `vtx.drv' (1 pages @ 0x0100e000)
created).                                                   ^^^^^^^^^^

Also, you should include the symbol-dump of the driver's object-file (create
it with 'nm /etc/drivers/vtx.drv'). If you use the new modutils, the start-
address isn't printed by default. Instead use the '-m'-option with insmod
and send me the symbol-table that will be printed.

If only of these details is missing, your bug-report is worthless to me.


COPYRIGHT
---------

You may distribute this driver freely under the terms of the GNU General
Public License (file 'COPYING').



Now have fun with this driver,
Martin Buck

Internet: <martin.buck@student.uni-ulm.de>
Snail-Mail: Martin Buck, Paukengasse 2, D-89077 Ulm, Germany
