Read the File BUGS then
Compile with:

make cool

The generic SCSI Device with the Scanner should be named
/dev/sg? where sg is [a..z]. And cool must have read and write
permission to the scanner device. If you dont know which
of /dev/sg? is your Scanner you can run cool as root, and the coolscan
should be found, and a message will be printed where.

For your first scan type "cool" without an argument. A small
image with default settings will be scanned.
The default outfile is named picture, and the format is
pgm ( monochrom ) or ppm ( color ).
If this works you can play around with the following options:

valid options are:
-cp                    color positive
-cn                    color negative
-mp                    monochrom positive
-mn                    monochrom negative
-pr                     do prescan before scan
-time                  CCD-exposure time ( 25 - 100 )
-redtime               CCD-exposure time correction for ren   (25 - 100)
-greentime             CCD-exposure time correction for green (25 - 100)
-bluetime              CCD-exposure time correction for blue  (25 - 100)
-tv                    digital gamma correction for TV
-linear                no digital gamma correction
-brt                   brightness
-cnt                   contrast
-agon                  analog gamma on
-agof                  analog gamma off
-avon                  averaging between neigboured pixels on
-avof                  averaging between neigboured pixels of
-ej                    eject slide
-x1                    start coordinate for scan (0 - 3887) 
-y1                    start coordinate for scan (0 - 2591) 
-x2                    end coordinate for scan (x1+2*px - 3888) 
-y2                    end coordinate for scan (y1+2*py - 2592) 
-px                    pitch in x-direction ( 1 - 25 )
-py                    pitch in y-direction ( 1 - 25 )
-o                     outfile
-i                     interactive mode
-help                  help


Interaktive mode: 
-----------------
The interaktive Mode is intended for playing arround with
the settings, or for communication with a tk-Userinterface
through a pipe. ( I don't have a graphical user interface, but
may be someone is interested in writing one ) Try cool -i  
You will get a shell  for playing with the settings 
where you can type the following commands, and many
others (See scan.l).

COMMANDS:

d		dumps the memory-page of the coolscan containing the
		registers ( there are some undocumented registers )
rcnd		reads the scannes internal datas and prints it to screen.
		( only the documented will be printed )
scan		starts the scan
prescan		Does a prescan
cn		Sets film type to color negative
cp		sets film type to color positive
mn 		sets film tpye to monochrom negative
mp 		sets film type to monochrom negative
red		gives back the exposure time correction for red
green		gives back the exposure time correction for green
blue		gives back the exposure time correction for blue
red   {INTEGER}	sets the exposure time correction for red
green {INTEGER}	sets the exposure time correction for green
blue  {INTEGER}	sets the exposure time correction for blue
px		sets the x-distance between scanned pixels (pitch)
py		sets the y-distance between scanned pixels (pitch)
x1		gives back the x coordinate for scan start
x2 		gives back the x coordinate for scan end 
y1 		gives back the y coordinate for scan start
y2 		gives back the y coordinate for scan end
x1 {INTEGER}	sets the x coordinate for scan start 
...
ag		gives 1 if analog gamma is on, else 0
agon		Analog gamma on
agof		Analog gamme of
av		gives 1 if averaging between neighboured pixels is on else 0
avon		averaging on
avof		averaging of
lut linear	lineare Look up table for digital gamma correction
lut tv		gamma correction tv
And many other. 

Example for a scan:

prescan
lut tv
time 60
cp
scan

---------------------------------------------------------------------------------
The  tools vary1 and vary2 are for the hacker, who wants to understand
the effect of a register.
There is a function called vary_parameter, and unvary_parameter in these programms.
For example you want to know what happens to the output, if the exposure time
is changed from 25 to 100 then insert the following to vary1:

void unvary_parameter(){
	exp_time(25);
} 
void vary_parameter(){
	exp_time(100);
}

After compiling with make vary1 you should insert any film and start vary1
You will get an ascii output for plotting ( for example with gnuplot) .
If you did the above with film_type positive you will get a Line
with a gradient of 4, because every value is 4 times bigger after increasing the
exposure time. ( Not so if film_type = MONO_NEGATIVE ).


 
