Hi there,

in this software package you find a decoder for Nextview - an Electronic
TV Programme Guide for the analog domain (as opposed to the various digital
EPGs that come with most digital broadcasts). It allows you to decode and
browse TV programme listings for most of the major networks in Germany,
Austria, France and Switzerland.

Currently Nextview EPG is transmitted by:
- in Germany and Austria: Kabel1, Pro7, 3Sat, RTL-II.
- in Switzerland: SF1, TSR1, TSI1, EuroNews.
- in France: Canal+, M6.
- in Turkey: TRT.

If you don't receive any of those, then this software unfortunately is
almost useless to you, except for a demo mode. For more details please
refer to the documentation in the "Help" menus or the UNIX manual page.

The Nextview standard was developed by the major European consumer electronics
manufacturers under the hood of the European Telecommunications Standards
Institute (http://www.etsi.org/) in 1995-1997. The author of this software
has no connections whatsoever to the ETSI - but he still hopes this software
distribution will be kindly tolerated.


System requirements:

Hardware requirements are a Pentium class PC and a Bt848, Bt849, Bt878
or Bt879 based TV tuner card. Almost all TV cards nowadays except the
ATI "TV Wonder" are build around one of the Booktree chips.

Linux software requirements:
- kernel >= 2.0.35 (upgrade to 2.2.x highly recommended for bttv users!)
- bttv driver (video4linux), version >= 0.7.35 recommended
- GNU C Compiler, unless you got nxtvepg in a precompiled RPM archive
- Tcl/Tk version 8.0 or later (8.3 recommended)
  available from http://www.scriptics.com/

NetBSD software requirements:
- kernel >= 1.5 including the bktr driver 2.17 or later,
  available from http://vulture.dmem.strath.ac.uk/bt848/
- GNU C Compiler, unless you got nxtvepg in a precompiled NetBSD package
- Tcl/Tk version 8.0 or later (8.3 recommended)
  available from http://www.scriptics.com/

Windows software requirements:
- Windows NT, Windows 95 and ME. (Windows 2000 is not supported.)
- On Windows NT: you need to be in the Admininstrator group.
- WinDriver version 4.00 or later, available from http://www.krftech.com/
  This is *not* freeware, however there's a free 30 days evaluation version.
  Since this is a software development tool and not intended for the end
  user, the registration fee is quite steep (AFAIK around $1500).

  However the same driver comes with many other TV applications, and often
  works with nxtvepg. In the following I'll describe a couple of examples.
  Please note that I'm just informing you of technical possibilities here;
  you are responsible yourself to make sure you're not violating any
  software's license or any other laws in your country.

  1. One driver that's known to work comes with the older versions of MultiDec
     (at least versions 3.5 through 5.5) available at http://freetv.notrix.de/
     (in foreign language packages - but the driver is language independent)
     or at http://www.neuz.de/
  2. Another one that may work under certain conditions is from the "R@dio.mp3"
     package at http://www.musicplay.de/  You have to start and stop the radio
     player once to register the driver before you start nxtvepg.  For more
     details see the section on installation below.
  3. I've been told that the drivers from newer MultiDec versions work too
     if you rename MDHalDr.sys/.vxd to WinDrvr.sys/.vxd (probably with similar
     limitations as with the MusicPlay driver.)

If you want to compile for Windows you also need:
- Cygwin GNU make and gcc compiler, see http://www.cygwin.com/
  including the mingw32 header files ("Minimalistic GNU for Windows")
- Tcl/Tk 8.3.2, available from http://www.scriptics.com/
  (I've patched the tk83.dll twice: (1) to catch shutdown messages and (2) to
  disable use of the Windows MessageBox() in tk_messageBox because it crashed
  the program. Hence I recommend to keep using the DLL that comes with nxtvepg)
- Perl 5 to generate the help menus from the documentation in POD format
  (not essential unless you want to modify the help menus)
- windrvr.h and windrvr_usb.h from the WinDriver package,
  available from http://www.krftech.com/


UNIX installation procedure:

- Recommended: first install a TV application like xtvscreen or xawtv, or
  preferrably a teletext decoder to be sure the video/vbi drivers work fine.
- Check the path definitions at the top of the Makefile, esp. for Tcl/Tk
- make
  if compilation fails, check the type definitions in epgctl/mytypes.h first.
  Required types are: schar, uchar, sint, uint, slong, ulong.
- If you compile on a non-supported operating system or if you don't have
  bttv, then compile epgvbi/btdrv4dummy instead of btdrv4linux; acquisition
  will of course not be possible.
- make install
- Invoke the application and start a provider scan from the Configure menu.
  Further details can be found in the man page.

If the GUI shows up but does not react to any input, you probably
need to tell Tcl/Tk where to find it's libraries. To do so, correct
the paths in TCL_LIBRARY_PATH and TK_LIBRARY_PATH in the Makefile.
If you need to change anything besides the Makefile, please let me
know about it (i.e. send me the diffs)


Windows installation procedure:

- Unpack the zip file into an empty directory.

- Obtain the WinDriver as described above in chapter 'Windows software
  requirements' and copy the file WinDrvr.sys (for Windows NT) and/or
  WinDrvr.vxd (for all WinDOS variants) into the same directory as
  nxtvepg.exe. If you installed the original WinDriver package they
  can be found in WINNT/system32/drivers on NT or Windows/system/vmm32
  (if you don't find them there, search for files named WinDrvr.*)

  For the "R@dio.mp3" driver to work, you need two copies: one in the
  Windows system directory named above, plus one in the nxtvepg working
  directory. Remember, you'll have to use the radio player at least
  once before Nextview acquisition will work.

  If you want to use the MultiDec 3.5 - 5.5 driver, make sure there's no
  other windrvr installed in the systems directory. Also check the registry
  (type "regedit" in the Execute popup in the Start menu) for the key
     HLM\System\CurrentControlSet\Servies\VxD\WinDriver
  Delete this key and reboot if the driver does not work. This key is
  automatically generated e.g. by the mp3 radio player.

- Invoke the executable nxtvepg.exe
  If there are any warning or error message popups from the Bt8x8
  driver, please refer to the list below.

- You need to set up the driver in the "TV card input" menu and then
  start an EPG scan. If the scan just runs through without finding
  any network IDs, check your TV card settings, particularily "PLL init"
  (or check your antenna cable) and try again. If the scan still fails,
  there are two other possibilities for Nextview reception:
  1: Set acquisition mode "external". Then stop acquisition and tune in a
  provider channel with a separate application, e.g. a TV viewer. Then quit
  the other application again and start acquisition. See 'Getting Started'
  and the help for the acquisition mode dialog for more information.
  2: Alternatively you can try an external input, i.e. supply a provider's
  TV channel via the Composite inputs, e.g. from your VCR.  In rare cases
  the descriptions of input sources in the TV card popup may be wrong, so
  try all inputs, e.g.  "Composite 2" even if you connected the cable to #1.

Explanation of Windows Bt8x8 driver error messages:

- "WARNING: WinDriver version mismatch"
  You're using a version of WinDriver of which I suspect that it
  does not work with nxtvepg. Download a newer version of WinDriver,
  as described above, preferrably the version which I compiled with.
  If you get this message although everything works fine, please
  let me know so that I can update the version check.

- "Warning: no tuner found on Bt8x8 I2C bus"
  No tuner was found during the I2C bus scan. This failure does not
  depend on any configuration option, so you're simply out of luck.
  If you know an open-source software that supports your hardware, let
  me know and I'll try to support it in nxtvepg, too. In the meanwhile
  you only can use the "Passive" acquisition mode, i.e. you have to
  set up input source and channel with a different application before
  starting nxtvepg.

- "Failed to load NT device driver WinDrvr.sys", or
  "Failed to load Win95/98 device driver WinDrvr.vxd"
  You probably have not copied the driver files WinDrvr.sys and/or
  .vxd into the working directory of nxtvepg. This may happen if
  you specify a working directory, e.g. in a shortcut definition,
  that differs from the one that contains the nxtvepg.exe. Don't
  do that, use the -dbdir and -rcfile options instead to specify
  where configuration files are searched for.

- "Failed to start the device driver for Bt8x8."
  Same as the previous message. If may also mean that you do not
  have permissions to start the driver. On Windows NT you need to
  be in the Administrator Group (if anyone finds a way around this,
  please let me know)

- "PCI scan failed - no devices found"
  The driver was loaded, but no devices at all were found on the PCI bus.
  The most probable cause is a license problem in the driver. You may be
  using a registered version of WinDriver that has to be initialized by
  the application it belongs to. In many cases the driver can be used by
  nxtvepg only after that application was runnnig (and was then terminated
  again).
  You also might be using an evaluation version of the driver, which is
  limited to a 30 days evaluation period. After it has expired, you have
  to pay apx. $1500 to Jungo to get a license. You could also just delete
  the keys Software\Microsoft\Windows\CurrentVersion\Network\Driver*
  in the registry. However using the driver for more than 30 days still
  would be illegal.

- "Bt8x8 card cannot be locked - already in use?"
  There may be a different application already using the driver. On
  Windows you cannot run, e.g. a TV application in parallel to
  nxtvepg or teletext decoders. I recommend to upgrade to Linux  :)

- "Bt8x8 card #%d not found (found %d cards)"
  If there's at least one card found, lower the card index below the
  number of available cards, i.e. if you have two cards, specify index
  0 or 1. The card index can be given either on the command line with
  the -card option or in the "TV card input" configuration menu.

- "Failed to enable Interrupt for Bt8x8 card."
  Currently the driver does not support IRQ sharing. A different
  application may already use the interrupt or the card.

Before you mail me, please try to get MultiDec to work. My Windows Bt8x8
driver handling is heavily based upon that software. Since I'm not a
M$ Windows software developer my understanding of Windows specific
problems is rather limited.



Problem and bug reports:

Before you email me any bug reports, please check the manual page as well
as the TODO and CHANGES files. And be *comprehensive* in describing your
problem. At least include names and version numbers of your operating system,
nxtvepg, possibly the bttv driver and any other software that may be
involved. If it looks like a hardware related problem (e.g. acquisition
does not work at all) also include the exact name of you TV card hardware.
If MultiDec works with the same hardware, mail me the version number and
describe your hardware configuration settings. If there is an error message,
quote the message in full length and exactly as printed, even if you do not
understand its relevance.

In case nxtvepg crashes, or if you suspect internal errors, you need to
recompile with debug support to allow me to analyze the problem.  Please
add the -g option to CFLAGS in the Makefile and enable all debug options in
mytypes.h by assigning ON instead of OFF. If you know which modules are
responsible, you can also comment out DPRINTF_OFF at the top of those
modules. Then try to reproduce your problem and send me the resulting
debug.out log file.


The latest version of this software is available at:
http://nxtvepg.tripod.com/

You can reach me at: tomzo@nefkom.net

have fun.

-tom
