diff options
Diffstat (limited to 'doc/teco')
-rw-r--r-- | doc/teco/teco1.txt | 46 | ||||
-rw-r--r-- | doc/teco/teco2.txt | 65 | ||||
-rw-r--r-- | doc/teco/teco3.txt | 15 |
3 files changed, 62 insertions, 64 deletions
diff --git a/doc/teco/teco1.txt b/doc/teco/teco1.txt index d555e9e..47519fa 100644 --- a/doc/teco/teco1.txt +++ b/doc/teco/teco1.txt @@ -6,8 +6,8 @@ Relisys RELI 2412 (no ADF, no transparency adapter) single pass scanner - 300*1200 dpi - 8.5*14 Inquiry: - 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS - 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+ + 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS + 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+ 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 048: 4d 33 35 33 41 M353A Inquiry page 0x82 @@ -16,16 +16,16 @@ Inquiry page 0x82 AVEC Colour 2412 three pass scanner - 300*600 dpi - 8.5*14 - 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... - 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner + 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... + 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 048: 4d 33 35 32 41 M352A Avec Color Office 2400 (no ADF, no transparency adapter) three pass scanner - 300*600 dpi - 8.5*14 Inquiry: - 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... - 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner + 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... + 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 032: 32 2e 30 34 32 2e 30 34 02 00 54 45 43 4f 20 56 2.042.04..TECO V 048: 4d 33 35 32 30 M3520 Inquiry page 0x82 @@ -33,8 +33,8 @@ Inquiry page 0x82 016: 20 56 32 2e 30 34 V2.04 RELI 4830 (no ADF, with transparency adapter) - 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS - 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830 + 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS + 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830 032: 31 2e 30 33 31 2e 30 33 02 00 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 34 35 34 32 M4542 Inquiry page 0x82 @@ -42,9 +42,9 @@ Inquiry page 0x82 016: 20 56 31 2e 30 33 V1.03 Dextra DF-600P - VM3510 - 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M - 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - 032: 31 2E 31 37 31 2E 31 37 02 1.171.17. + 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M + 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + 032: 31 2E 31 37 31 2E 31 37 02 1.171.17. /*--------------------------------------------------------------------------*/ @@ -54,13 +54,13 @@ SCSI commands supported by the RELISYS VM3530+: TEST UNIT READY 00 00 00 00 00 00 -REQ SENSE +REQ SENSE 03 00 00 00 12 00 VENDOR-09 09 00 00 78 00 00 - 3-4 = length of data to receive. Always 30720 bytes. - Probably 12 lines of calibration at 300dpi. + 3-4 = length of data to receive. Always 30720 bytes. + Probably 12 lines of calibration at 300dpi. 8.5*300*12=30600 VENDOR-0E (?) @@ -77,21 +77,21 @@ INQUIRY: page 0x82 (vendor specific) - real scanner name with version 0-3 = page header - 4 = string length + 4 = string length 5-21 = real scanner name with version MODE SELECT 15 10 00 00 18 00 always sends: - 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01 - 03 06 02 00 00 01 00 00 + 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01 + 03 06 02 00 00 01 00 00 SCAN 1B 00 00 00 00 00 SET WINDOW -24 00 00 00 00 00 00 00 63 00 +24 00 00 00 00 00 00 00 63 00 Total length is 99 07 = length (99-8 = 91) 10-11 = X Resolution @@ -116,7 +116,7 @@ Total length is 99 0x06 = 8 X 8 Smooth 0x07 = 8 X 8 Horizontal 0x08 = 8 X 8 Vertical - 37 = + 37 = 0x80 = RIF (VM353A only?) 63 = calibration? 0x00 yes @@ -127,9 +127,9 @@ Total length is 99 93 = 0x80 = ? (seems to activate a contrast value on VM353A) - 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80 + 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80 85, 89, 93, 97 = 0xff - + READ 28 00 00 00 00 00 00 00 3E 00 6-8 = length @@ -147,10 +147,10 @@ GET DATA BUFFER STATUS returned buffer is 0x10 bytes long. 0-2 = additional length (0x10-3 = 0x0D) 3 = reserved(?) - 8 = ? + 8 = ? 9-11 = filled data buffer 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) /*--------------------------------------------------------------------------*/ diff --git a/doc/teco/teco2.txt b/doc/teco/teco2.txt index 5b64a83..b45b795 100644 --- a/doc/teco/teco2.txt +++ b/doc/teco/teco2.txt @@ -4,15 +4,15 @@ INQUIRY TECO VM3564 (1) -000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS -016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 +000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS +016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 032: 31 2e 30 37 31 2e 30 37 00 01 54 45 43 4f 20 56 1.071.07..TECO V 048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM3564 (2) -000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS -016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 +000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS +016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 032: 31 2e 30 39 31 2e 30 39 00 01 54 45 43 4f 20 56 1.091.09..TECO V 048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... @@ -25,21 +25,21 @@ TECO VM356A (1) 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM356A (2) -000: 06 00 02 02 43 00 00 10 50 72 69 6d 61 78 20 20 ....C...Primax -016: 4a 65 77 65 6c 20 20 20 20 20 20 20 20 20 20 20 Jewel +000: 06 00 02 02 43 00 00 10 50 72 69 6d 61 78 20 20 ....C...Primax +016: 4a 65 77 65 6c 20 20 20 20 20 20 20 20 20 20 20 Jewel 032: 31 2e 30 31 31 2e 30 31 00 01 54 45 43 4f 20 56 1.011.01..TECO V 048: 4d 33 35 36 41 20 00 01 01 2c 00 01 02 58 09 f6 M356A ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM3575 -000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... -016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner +000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... +016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner 032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 33 35 37 35 20 00 01 01 2c 00 01 02 58 09 f6 M3575 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM656A -000: 06 00 02 02 43 00 00 00 52 45 4c 49 53 59 53 20 ....C...RELISYS +000: 06 00 02 02 43 00 00 00 52 45 4c 49 53 59 53 20 ....C...RELISYS 016: 41 50 4f 4c 4c 4f 20 45 78 70 72 65 73 73 20 36 APOLLO Express 6 032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 36 35 36 41 00 01 01 2c 00 01 02 58 09 f6 0d M656A...,...X... @@ -53,8 +53,8 @@ TECO VM6575 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM6586 -000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... -016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner +000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... +016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner 032: 33 2e 30 31 33 2e 30 31 00 01 54 45 43 4f 20 56 3.013.01..TECO V 048: 4d 36 35 38 36 20 00 01 01 2c 00 01 02 58 09 f6 M6586 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... @@ -93,7 +93,7 @@ Set calibration. Apparently the line is computed from the calibration lines. It INQUIRY -12 00 00 00 48 00 +12 00 00 00 48 00 standard inquiry 72 bytes 32-39: firmware version @@ -123,8 +123,8 @@ SET WINDOW 24 00 00 00 00 00 00 00 35 00 (VM3575) 24 00 00 00 00 00 00 00 38 00 (VM6586) -Total length is - 07 = length +Total length is + 07 = length VM3575 53-8 = 45 VM6586 56-8 = 48 VM3552 69-8 = 61 @@ -142,11 +142,11 @@ Total length is 34 = bit depth? - invariant, always 8 36 = (vm6586 only ?) halftone pattern ? 1 = type 1 dithering - 37 = + 37 = 0x80 = RIF? 48 = color channel to use if scan mode is 0 or 2: - 0x00 = red + 0x00 = red 0x01 = green 0x02 = blue if scan mode is 05 -> ignored @@ -161,10 +161,10 @@ Total length is READ 28 00 00 00 00 19 00 1f 0e 00 5 = number of lines to read - 7-8 = buffer size. + 7-8 = buffer size. Always number of lines to read * size of a line. 0x2000 appears to be the upper limit - + SEND 2A 00 03 00 00 04 00 0C 00 00 @@ -194,7 +194,7 @@ GET DATA BUFFER STATUS 7 = ? always 0x14 11 = bit 7 - (maybe) scanner is ready to send data 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) 16-17 = garbage (the command only returns 0x10 bytes) @@ -236,32 +236,31 @@ TECO VM656A reads 8 lines of calibration TECO VM6586 ?? Algorithms used (text from Alex Wulms): -The old algorithm was based on the assumption that the calibration value needs -to be an offset, to go from the value obtained during input to the average +The old algorithm was based on the assumption that the calibration value needs +to be an offset, to go from the value obtained during input to the average value (0x800). -E.g., if the input value is 0x800, the calibration value must be 0x800 (0x1000 +E.g., if the input value is 0x800, the calibration value must be 0x800 (0x1000 - 0x800). -Likewise, if the input value is 0x700, the calibration value must be 0x900 +Likewise, if the input value is 0x700, the calibration value must be 0x900 (0x1000 - 0x700) And if the input value is 0x600, the calibration value must be 0xA00 -The new algorithm is based on the assumption that the calibration needs to be -a multiplication factor, to compensate for the too strong or too weak pixel -in the sensor. Again, we want to obtain the average value (approximately +The new algorithm is based on the assumption that the calibration needs to be +a multiplication factor, to compensate for the too strong or too weak pixel +in the sensor. Again, we want to obtain the average value (approximately 0x800) for every pixel read during calibration. -E.g., if the input value is 0x800, the calibration value must be 0x800 +E.g., if the input value is 0x800, the calibration value must be 0x800 (0x800*0x800 / 0x800). -Likewise, if the input value is 0x700, the calibration value must be 0x924 +Likewise, if the input value is 0x700, the calibration value must be 0x924 (0x800*0x800 / 0x700). -And if the input value is 0x600, the calibration value must 0xAAA (0x800*0x800 +And if the input value is 0x600, the calibration value must 0xAAA (0x800*0x800 / 0x600) -Though, carefull comparison with scans done under windows has shown that the -factor is slightly different from 0x800*0x800(=0x400000) but in stead it -seems to be approximately 0x40302f (which would mean that the average value +Though, carefull comparison with scans done under windows has shown that the +factor is slightly different from 0x800*0x800(=0x400000) but in stead it +seems to be approximately 0x40302f (which would mean that the average value is approximately 0x803 in stead of 0x800). Hope this is clarifies the new algorithm. - diff --git a/doc/teco/teco3.txt b/doc/teco/teco3.txt index bc6391f..c263f95 100644 --- a/doc/teco/teco3.txt +++ b/doc/teco/teco3.txt @@ -7,7 +7,7 @@ sharing features of both. Hence a third backend. PIOTECH 3024 (TECO Scorpio/Taurus Infinity VM3552): - 000: 06 00 02 02 43 00 00 10 20 20 20 20 20 20 20 20 ....C... + 000: 06 00 02 02 43 00 00 10 20 20 20 20 20 20 20 20 ....C... 016: 46 6c 61 74 2d 62 65 64 20 73 63 61 6e 6e 65 72 Flat-bed scanner 032: 35 2e 30 38 35 2e 30 38 03 02 54 45 43 4f 20 56 5.085.08..TECO V 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,...... @@ -41,13 +41,13 @@ SCSI commands supported by the RELISYS VM3530+: TEST UNIT READY 00 00 00 00 00 00 -REQ SENSE +REQ SENSE 03 00 00 00 12 00 VENDOR-09 09 00 00 78 00 00 - 3-4 = length of data to receive. Always 30720 bytes. - Probably 12 lines of calibration at 300dpi. + 3-4 = length of data to receive. Always 30720 bytes. + Probably 12 lines of calibration at 300dpi. 8.5*300*12=30600 VENDOR-0E (?) @@ -91,7 +91,7 @@ Total length is 99 0x06 = 8 X 8 Smooth 0x07 = 8 X 8 Horizontal 0x08 = 8 X 8 Vertical - 37 = + 37 = 0x80 = RIF ? 48 = color channel to use if scan mode is 0 or 2: @@ -105,7 +105,7 @@ Total length is 99 02 = no 53, 57, 61, 65: 0xff - + READ 28 00 00 00 00 00 00 00 3E 00 6-8 = length @@ -130,7 +130,7 @@ GET DATA BUFFER STATUS 6-8 = scanner memory (with no RAM, it is 32KB on the VM3552) 9-11 = filled data buffer 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) 16 = ? 17 = in color mode, 0x07 seems to means to the colors are shifted and given by rasters. 0x00 seems to mean that there is no @@ -163,4 +163,3 @@ park the CCD: OBJECT POSITION /*--------------------------------------------------------------------------*/ - |