sonyupdneo: Document the spool format and everything known so far.
This commit is contained in:
parent
ce0fa508f0
commit
ffd39f19b4
|
@ -353,3 +353,154 @@ struct dyesub_backend sonyupdneo_backend = {
|
|||
{ 0, 0, 0, NULL, NULL}
|
||||
}
|
||||
};
|
||||
|
||||
/* Sony UP-D (new) printer spool format
|
||||
|
||||
Covers UP-CR20L, UP-DR80/DR80MD, UP-D898/UP-X898
|
||||
|
||||
HP-PJL wrapper around custom Sony PDL.
|
||||
|
||||
<ESC>%-12345X
|
||||
@PJL COMMENT free form text here <CR><LF>
|
||||
@PJL JOB NAME="name me" ID="someid"<CR><LF>
|
||||
@PJL .... <CR><LF>
|
||||
@PJL ENTER LANGUAGE=SONY-PDL-DS2<CR><LF>
|
||||
...
|
||||
...
|
||||
...
|
||||
@PJL EOJ<CR><LF>
|
||||
<ESC>%-12345X
|
||||
|
||||
JOBSIZE=PJL-H,size,arg1,arg2,etc [null terminated, padded to 256 bytes]
|
||||
[ size bytes of data. PJL header! ]
|
||||
JOBSIZE=PDL,size,args [null terminated, padded to 256 bytes]
|
||||
[ size bytes of data, PDL data! ]
|
||||
JOBSIZE=PJL-T,size,args [null terminated, padded to 256 bytes]
|
||||
[ size bytes of data, PJL trailer! ]
|
||||
|
||||
|
||||
UP-D898MD: 17*16+2 == 274 byte header
|
||||
|
||||
00000250 00 00 YY YY = rows
|
||||
00000260 01 00 00 10 0f 00 1c 00 00 00 00 00 00 00 00 00 XX XX = columns (fixed at 05 00)
|
||||
00000270 00 00 00 00 00 01 02 00 09 00 NN 01 00 11 01 08 NN = Copies (01..?) <-- GUESS
|
||||
00000280 00 1a 00 00 00 00 XX XX YY YY 09 00 28 01 00 d4
|
||||
00000290 00 00 03 58 YY YY 00 00 13 01 00 04 00 80 00 23
|
||||
000002a0 00 0c 01 09 XX XX YY YY 00 00 00 00 08 ff 08 00
|
||||
000002b0 19 00 00 00 00 XX XX YY YY 00 00 81 80 00 8f 00
|
||||
000002c0 b8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000370 00 00 00 00 00 00 00 00 00 c0 00 82 LL LL LL LL LL == payload bytes, BE (== XX * YY * 1)
|
||||
|
||||
[payload of LL bytes follows]
|
||||
|
||||
UP-CR20L: 274 byte header, 330 dpi, 1210x1728/1382x2048/1728*2380/2724*2048 (L/PC/2L/2PC)
|
||||
|
||||
00000250 00 00
|
||||
00000260 01 00 00 10 0f 00 1c 00 00 00 00 00 00 00 00 00
|
||||
00000270 00 00 01 00 00 00 02 00 16 00 00 02 00 09 00 NN NN = Copies (01..??)
|
||||
00000280 02 00 06 01 01 03 00 1d 00 00 00 01 00 20 01 01
|
||||
00000290 00 27 40 01 00 11 01 08 00 1a 00 00 00 00 RR RR
|
||||
000002a0 CC CC 00 00 13 01 00 04 00 80 00 23 00 10 03 00 CC CC == Columns (BE)
|
||||
000002b0 RR RR CC CC 00 00 00 00 08 08 08 ff ff ff 01 00 RR RR == Rows (BE)
|
||||
000002c0 17 00 08 00 19 00 00 00 00 RR RR CC CC 00 00 81
|
||||
000002d0 80 00 8f 00 a4 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000370 00 00 00 00 00 00 00 00 00 c0 00 82 LL LL LL LL LL == payload bytes, BE (== RR * CC * 3)
|
||||
|
||||
[payload of LL bytes follows]
|
||||
|
||||
UP-DR80MD: (18*16+8) = 296 byte header (A4 = 3400x2392, Letter = 3192*2464)
|
||||
|
||||
00000240 00 00 01 00 00 10 0f 00
|
||||
00000250 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ZZ ZZ = 0x00 (Letter) 0x56 (A4)
|
||||
00000260 02 00 16 00 01 80 00 15 00 12 55 50 44 52 38 30 SS = 0x00 (LUT0) 0xff (No LUT)
|
||||
00000270 00 00 4c 55 54 QQ 00 00 00 00 00 SS 02 00 09 00 QQ = 0x30 (LUT0) 0x2f (No LUT)
|
||||
00000280 NN 02 00 06 01 03 04 00 1d 01 00 00 05 01 00 20 NN = Copies (01...??)
|
||||
00000290 00 01 00 11 01 08 00 1a 00 00 00 00 CC CC RR RR RR RR = Rows (BE)
|
||||
000002a0 00 00 13 01 00 04 00 80 00 23 00 10 03 00 CC CC CC CC = Cols (BE)
|
||||
000002b0 RR RR 00 00 00 00 08 08 08 ff ff ff 01 00 17 00
|
||||
000002c0 08 00 19 00 00 00 00 CC CC RR RR 00 00 81 80 00
|
||||
000002d0 8f 00 a6 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
000002f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00000370 00 00 00 00 00 00 00 00 00 c0 00 82 LL LL LL LL LL == payload, BE (== RR * CC * 3)
|
||||
|
||||
[payload of LL bytes follows]
|
||||
|
||||
Common sequences:
|
||||
|
||||
[ D898 ]
|
||||
|
||||
[00 00 01 00 00 10 0f 00 1c 00 00 00 00 00 00 00
|
||||
00 00 00 00]00 00 00 01 [02 00 09 00 NN]01 00 11
|
||||
01 08 00 1a 00 00 00 00 XX XX YY YY 09 00 28 01
|
||||
00 d4 00 00 03 58 YY YY 00 00[13 01 00 04 00 80
|
||||
00 23]00 0c 01 09 XX XX YY YY 00 00 00 00 08 ff
|
||||
[08 00 19 00 00 00 00 XX XX YY YY 00 00 81 80 00
|
||||
8f 00 b8]
|
||||
|
||||
[ 0xb8 of 0x00 ] ... c0 00 82 LL LL LL LL
|
||||
|
||||
[ CR20L ]
|
||||
|
||||
[00 00 01 00 00 10 0f 00 1c 00 00 00 00 00 00 00
|
||||
00 00 00 00]01 00 00 00 02 00 16 00 00[02 00 09
|
||||
00 NN]02 00 06 01 01 03 00 1d 00 00 00*01 00 20
|
||||
01 01 00 27 40 01 00 11 01 08 00 1a 00 00 00 00
|
||||
RR RR CC CC 00 00[13 01 00 04 00 80 00 23]00 10
|
||||
03 00 RR RR CC CC 00 00 00 00 08 08 08 ff ff ff
|
||||
01 00 17 00[08 00 19 00 00 00 00 RR RR CC CC 00
|
||||
00 81 80 00 8f 00 a4]
|
||||
|
||||
* 03 00 13 00 01 02 [inserted when using multicut ]
|
||||
|
||||
[ 0xa4 of 0x00 ] ... c0 00 82 LL LL LL LL
|
||||
|
||||
[ UP-DR80MD ]
|
||||
|
||||
[00 00 01 00 00 10 0f 00 1c 00 00 00 00 00 00 00
|
||||
00 00 00 00]00 00 00 ZZ 02 00 16 00 01 80 00 15
|
||||
00 12 55 50 44 52 38 30 00 00 4c 55 54 QQ 00 00
|
||||
00 00 00 SS[02 00 09 00 NN]02 00 06 01 03 04 00
|
||||
1d 01 00 00 05 01 00 20 00 01 00 11 01 08 00 1a
|
||||
00 00 00 00 CC CC RR RR 00 00[13 01 00 04 00 80
|
||||
00 23]00 10 03 00 CC CC RR RR 00 00 00 00 08 08
|
||||
08 ff ff ff 01 00 17 00 [08 00 19 00 00 00 00 CC
|
||||
CC RR RR 00 00 81 80 00 8f 00 a6]
|
||||
|
||||
[ 0xa6 of 0x00 ] ... c0 00 82 LL LL LL LL
|
||||
|
||||
*****************
|
||||
|
||||
No idea about actual printer communications, but it's likely that
|
||||
printers use PJL "alerts" to get updates about active jobs, and
|
||||
that other stuff can be queried via standard means.
|
||||
|
||||
Further progress will have to wait until I get access to
|
||||
one of these models.
|
||||
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue