seejpeg  v1.10		$Id: README,v 1.10 1999/11/08 06:35:14 evan Exp $

------------------------------------------------------------------
Copyright (C) 1993-1999 Evan Harris

Permission is granted to freely redistribute and modify this code,
providing the author(s) get credit for having written it.
------------------------------------------------------------------

seejpeg is another JPEG viewer which utilizes svgalib and contains
limited GIF, PPM, BMP and TARGA viewing support.

The most useful feature of seejpeg is that it automatically decides on
the "best" video mode to use based on the image being displayed and
the video card being used.  To aid it, various hints may be given as
program options.  In the worst case, it may be overridden.

Video modes supported are limited to 2048x1536, 2048x1152, 1920x1440,
1800x1012, 1600x1200, 1360x768, 1280x1024, 1280x720, 1152x864,
1072x600, 1024x768, 960x720, 848x480, 800x600, 720x540, 640x480,
640x400, 512x384, 400x300, 320x240 and 320x200 in 256, 32K, 16M or
16M32 colours (assuming the video card, and svgalib, supports these
modes).  Logical screen sizes are only limited by the size of video
memory.

"16M32" colours is 24 bit colour in a 32 bit colour space.  It is the
only 24 bit colour mode available on some cards (e.g., Riva 128).

If the image is larger than the screen size the arrow keys may be used
to scroll around that part of the image which could be loaded into
video memory.  The Backspace key can be used to move to the previous
image.  Pressing any other key moves to the next image, or exits the
program.

------------------------------------------------------------------

Program options
===============

See the manual entry.

------------------------------------------------------------------

Compiling
=========

This program was tested using version 1.4.0 of svgalib.  It should
also work with later versions.

The following symbols can be defined in the Makefile:

NO_32K_CASCADE	If the best mode is available in 16M32, 16M and 32K
		modes and the complete image doesn't fit in memory
		using the 16M32 mode, the 16M32 mode is discarded and
		16M mode used instead.  If the complete image then
		doesn't fit in memory using the 16M mode, the 16M mode
		is discarded and 32K mode used instead.
		If this option is defined this action does not happen.

TESTMODE	This video mode is tested for -
		If the video card supports it, we assume that hicolor or
		truecolor (32K, 16M or 16M32) modes are available.
		If the video card doesn't support it, we assume that only
		256 colour modes are supported.
		If this is not set in the Makefile, it is assumed to
		be G640x480x32K.  If there is a video card which supports
		hicolor or truecolor but not this mode, let me know of
		a better default to test for and I'll change it in the
		next release.

BUG_WORKAROUND	Some versions of svgalib with some video cards can
		scramble the video mode when multiple files or
		slideshows are shown.  This appears to be avoided
		somewhat if the text video mode is set between each
		picture.  This is what the workaround does.  This may
		not be needed for some versions of svgalib or some
		video cards.  This option is defined by default in the
		makefile.

ONLY_1_8_MODES	The new video modes introduced in seejpeg 1.10 require
		svgalib 1.4.0 or later.  If this option is defined,
		only modes used in seejpeg 1.08 are considered.  This
		allows svgalib 1.3 to be used.

Unless you change one of these options, or the default binary
location, changing the Makefile should no longer be necessary.

PIX_ALIGN is no longer set in the Makefile.  If you wish to try
different a value for it, see chiptype_init() in display.c.  If you
lower PIX_ALIGN and it works, send me the changes.

To build seejpeg, you require version 6 of the JPEG library.  This
library is NOT included with seejpeg.  It is available on
sunsite.unc.edu under /pub/Linux/libs, amongst others.  You may need
to adjust the JPEG_HEADERS and JPEG_LIBS definitions in the Makefile
to find the JPEG header and library files.

Note that some prepackaged Linux distributions do not include all of
the required libjpeg-6 files in their standard installations.
Additionally, those that do do not all install it in the same place.
The files may be in /usr/{include,lib}, /usr/local/{include,lib} or
/usr/X11R6/{include,lib}, to name three possible locations.  If in
doubt, obtain, compile and install libjpeg-6 yourself.  If you still
have problems, let me know.

------------------------------------------------------------------

Acknowledgements
================

The following people have contributed to the development of seejpeg.
Thanks everyone.

Harm Hanemaayer <hhanemaa@cs.ruu.nl>
	svgalib development, putting up with lots of silly questions,
	providing lots of useful information, and a makefile bug report
<wolter@wppc9.oz.au>
Jean-Francois Cordeau <cordeauj@jsp.umontreal.ca>
Peter Mutsaers <muts@compi.hobby.nl>
<ahughes@muddcs.cs.hmc.edu>
	makefile bug report in 1.0
Jeff Grills <jefftep@cs.utexas.edu>
	colour lookup (256 colour mode) bug report in 1.2
Michael Weller <eowmob@exp-math.uni-essen.de>
	PIX_ALIGN patches against 1.1, prompting to add multiple
	images and the slideshow
	on-going svgalib development
Nils Rennebarth <nils@exp-math.uni-essen.de>
	described how to compile with libgr-1.3 cleanly
Lord Maximilien <lordmax@ix.netcom.com>
	helped fixed Trident 800x600 problems, suggested the new options 
	which were added in 1.6 
Ed Sawicki <ed@alcpress.com>
	suggested the reload keyboard command

------------------------------------------------------------------

Feedback
========

The current version was compiled and tested with svgalib version 1.4.0
and a 4MB Riva128 based video card.  There are no known bugs with this
configuration (in seejpeg, that is).  If you find a bug with any
configuration please report it, including all the information
displayed using the "-v" option.

As of version 1.2, I have considered seejpeg "finished".  Despite
that, there have been 13 distinct versions since then.  8-)  As has
been the case since version 1.2, future releases will primarily be bug
and compatibility fixes, although new features (sometimes only minor)
have been added in each "major" release.

Please send any feedback, especially bug reports, to:

Evan Harris (evan@cs.mu.oz.au)
