-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii


So I just realized that the registers I was painstakingly mapping are 
simply the National LM9830 registers.  Silly me.  Anyhow, here's how 
some of them are used in this scanner.

 Registers: (see lm9830 datasheet.  R = read only)
        00 - R bulk xfer
        01 - R Scan buffer level, in kilobytes, plus 1
        02 - R motor status: bit flags
                ?               0x01
                MOTOR_AT_HOME   0x02
                PAUSE           0x10 scan buffer is full
                POWERDROP       0x20 scanner recently plugged in
        03 - gamma table        : R(00) G(02) B(04)
             gain/offset table  : R(01) G(03) B(05)
        04 - table direction    : write(00) read(20)
        05 - dataport addr LSB  : 00
        06 - dataport (table bulk xfer loc)
        07 - command:
                motor forward(01) home(02) start-scan(03)
                reset(08) stop-motor(00)
        09 - horizontal resolution / datamode
                low 3 bits = hz dpi divider, dpi = 600/divider
                111=12 110(e)=8 101=6 100(c)=4 010(a)=2 001=1.5 000(8)=1
                dpi 75(1e) 150(1c) 300(1a) 600,1200(18)
                100dpi is identical to 150, 200=300, 400=600.
        1e-f active pixel start (004b)
        22-23 data pixel start.  Units are always 600dpi
        24-25 data pixel end.  Units are always 600dpi
        26 - color mode: greyscale(14) color(15)
        28 - not used
        29 - lamp mode (02)
        2a-2b - lamp pwm
        2c-2f - red light (2 bytes On pixel, 2 bytes Off pixel)
        30-33 - green light
        34-37 - blue light
        45 - full/microstepping: micro(03) 
        46-47 - scan step size 
                dpi 75(0106) 150(020d) 300(041a) 600(0835) 1200(106b) 
                cal(3fff)
        48-49 - fast feed step size 75(0106) 100-1200(0104)
        4a-4b - start skip steps
        4e - max buffer level (as read from reg 01).  Min 03, max 57.
                The scanner will stop moving if the buffer fills, and
                will restart when some data is read out.
        4f - min buffer level - resume scanning at this point.
        50 - reverse steps when buffer full: 75(00) 100-1200(28)        
        52-53 - reverse phase: dpi 75(398a) 150(3198) 300(2184)
                600(0074) 1200(41ac) cal(3594)
        57 - stepper duty cycle: dpi 75(3f) 100-1200(1f)        

- --
[email protected]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Exmh version 2.3.1 01/18/2001 (debian 2.3.1-1)

iD8DBQE72Le/A46mJx3/7XURAv1NAJ9NSqc9Cl4JtrEskbek+fqXdio0jgCeJXfd
XrL48iobFOALLXWDmQ7tRWY=
=bEUB
-----END PGP SIGNATURE-----

Reply via email to