---------------------------------------------------
firmware Printer Serie II					*.hex				
	(*.HEX)				for printer 53x and 107x				
---------------------------------------------------
11/04/2006
	version 3.0.8 (Old boards)
	version 3.0.7 (New boards)
 . problem on translations
---------------------------------------------------
13/03/2006
	version 3.0.0
 . Version forms:
    -the .HEX file name
     Thierry form: F x yy zzz X .HEX
             F= D(Datamatrix), 
                  "I"=TcpIp only
                  "A"=All: TcpIp AND Datamatrix
                  "N"=Nothing, refers to Therm2
             x, yy, zzz: versions numbers
             X: for future 
    -the information form: (choice 5 on the keypad)
        .Thierry T. form: x yy - zzz T F
        .Chris W. form:  x yy zzzz T F
          where: 
                 x= Major version
                 y= Build version
                 z= Build increment
                 T= Type of printer
                    "C"=Continuous
                    "I" = Intermittent
                 F= Firmware with
                    "D"= Datamatrix only
                    "I"= TcpIp only
                    "A"= All (TcpIp and datamatrix)
                    "N"= Nothing (No Datamatrix, No TcpIp)
 .new command: ESC Y
    this commands allows the printer to send information back 
    to the connection line;
    All kind of information can be sent: status, variables names, 
    variables values, counters, ...

    EscYPSFixed_text\0Variable\0Fixed_text.

    The list of fixed and variable text is EXACTLY the same as a normal 
    text line. This allows us to use the same decoder, and reduces the 
    software.
    The S is for status. When set to 1 the status is added to the 
    output in the form:

	1234:Status text\n

    The P is a port number. This is normally 0 which means that 
    data is returned to the port where the last communication took 
    place. If you are using serial port, it returns through the serial 
    port, if TCP/IP then through the TCP/IP port.

    However, in some situations where you might be communicating with 
    both serial AND TCP/IP then you might need to direct to a particular 
    port. Then you set P to:

    1 = Serial port
    2 = USB port
    3 = Main TCP/IP port
    4 = Secondary TCP/IP port (Function we might add later!!!)

    Note that if the selected port is not connected and communicating 
    when you send it data, there may be unpredictable results!

    This function works with SYSUPMOD.

    SYSUPMOD = 0, no output.
    SYSUPMOD = 1,  DONE
    SYSUPMOD = 2 and 3,  READY
    SYSUPMOD = 4 Outputs new text line at the DONE position
    SYSUPMOD = 5 Outputs new test line at the READY position

    The line output becomes:

    ESCYPSGenerated_text_line\n6108:Print On Line\nOK\n

    If there is more than one Y line in the format, all the lines 
    are output in sequence. This might be difficult, so for now can we 
    limit to just 1 line?

    The list of status numbers and text is:

    MSG_READY	SYSTEM_MESSAGE	Print On Line	6108
    MSG_LOAD_FORMAT	SYSTEM_MESSAGE	Loading Format	6109
    MSG_IMAGE_GEN	SYSTEM_MESSAGE	Creating Image	6110
    MSG_PRINTING	SYSTEM_MESSAGE	Printing	6111
    MSG_CASSETTE_OFF	SYSTEM_MESSAGE	Cassette Off	6112
    MSG_RIBBON_BREAK	SYSTEM_MESSAGE	Ribbon break	6113
    MSG_INITIAL	SYSTEM_MESSAGE	Initialising	6114
    MSG_MEASURE_PP	SYSTEM_MESSAGE	Find pre-print	6115
    MSG_RTNR	SYSTEM_MESSAGE	Parking	6116
    MSG_ERROR	SYSTEM_MESSAGE	Error	6117
    MSG_CANCEL_PRINT	SYSTEM_MESSAGE	Print Paused 	6118
    MSG_COUNT_DONE	SYSTEM_MESSAGE	Count Completed	6119
    MSG_RIBBON_WARN	SYSTEM_MESSAGE	Ribbon Low	6120
    MSG_ROLLER_OPEN	SYSTEM_MESSAGE	Nip Roller Open	6134
    MSG_PARKED	SYSTEM_MESSAGE	Print Off Line	6121
    MSG_SPY_FAIL	SYSTEM_MESSAGE	SPY chip fail	6138
    MSG_LOCKED	SYSTEM_MESSAGE	Print Locked	6144


    An example format:

    0Fcounter
    0PSPEED     0250
    0PBURN1     0270
    0PBURN2     0270
    0PPRESSURE  20
    0PHOMOFF    05.0
    0POFFSET    6
    0ECounter0  40001,1,1,1,9999
    0ESeconds   36
    0TArial     0010010016001\0Counter0\0End text
    0Y01COUNTER0,\0Counter0\0;TIMES,\0Seconds\0:
    0Q000000
    0K
    0XSYSUPMOD 4

    produces the output:

    <ESC>Y01COUNTER0,0001;TIMES,33:
    6108:print On Line
    OK

 .firmware name form:   F x yy zzz X .HEX
             F= D(Datamatrix), 
                I (TcpIp), 
                A (All),
                T (Nothing, refers to Therm2)
             x, yy, zzz: versions numbers
             X: future ??
 .new command: Get the printer memory
 ESC Z 7 p
 p: plane number=0 or 1
    if p is nothing, sends the active printer image back

---------------------------------------------------
20/07/2005
	version 2.7.297
  .new type of Variables: "Variable File"
	if a variable can be more than 40 bytes, we use this variable
     commands:
       Esc 0 H FileNameOn15 9 SizeOn6 <LF> <ESC> ...file data..

       Format:
       Esc 0 F ...
       ...
       Esc 0 E variableNameOn10 A FileNameOn15
       ...
       Esc 0 T Arial ...  \0variableNameOn10\0
       ...
       Esk 0 K
  .datamatrix changes: integrate the Format Identity
	Esc B {ss} {xxxx} {yyyy} {hhhh} {o} {b} {r} {h} {c} {s} {a..a} (\0) {variable name} (\0) {b..b}
	Esc B {20} {xxxx} {yyyy} {qq} {i} {o} {m} {a} {cc} {rr} {bb} {dd} {a..a} (\0) {variable name} (\0) {b..b}
	   ss=20=Datamatrix
	   xxxx=column position
	   yyyy=row position
	   qq=Quality ECC
	      00 = 0
	      01 = 10
	      02 = 40
	      03 = 50
	      04 = 60
	      05 = 70
	      06 = 80
	      07 = 90
	      08 = 100
	      09 = 110
	      10 = 120
	      11 = 130
	      12 = 140
	      13 = 200
	   i=Format ID
	      1=1..9 ' '
	      2=A..Z ' '
	      3=1..9 A..Z ' ',.-/ 
	      4=1..9 A..Z 
	      5=ASCII 128 keyboard
	      6=ISO 8 bit international
	   o=orientation; 0=0, 1=90, 2=270, 3=360
	   m=Mirror
	      0 = normal, 1 = mirror
	   a=Automatic Size
	      1 = automatic size; SizeCol and SizeRow are disabled
	      0 = forced size, see SizeCol, SizeRow
	   cc=SizeCol in dots [8-99]
	   rr=SizeRow in dots [8-99]
	   bb=Border size [1-15]
	   dd=dots multiplier (1-99)
---------------------------------------------------
28/02/2005
	version 2.7.201
		change Start screen
		if XSYSHS=1 then
			53S -> change to 53SH
				(integrate the H for High Speed)
		else
			53S
		endif
---------------------------------------------------
07/12/2004
	version 2.7.191
		.Continuous: 
  			-CORLEN: 000,0 -> 999,9
---------------------------------------------------
29/10/2004
	version 2.7.178
		.Continuous: 
		  ->new relay: choice 6.2
				-on relay 2, new choice = <3> 100ms pulse
				.new screen: 2.6
			CROSSWEB   SETTINGS
			Qty (Range 1-20)  01         --> CORNUM
			Distance (mm)  000.0         --> CORLEN
			Auto             OFF         --> CORFAST
			.translation french, spanish
			.Password screen
		.barcod narrow bar 1 -> 9
		.memory problem: 135 STOP!! -NOT ENOUGH MEMORY-
			increase the compiler memory to allow more formats
---------------------------------------------------
12/10/2004
		version 2.7.159
			.refresh problem on variables texts rotated
---------------------------------------------------
06/10/2004
		version 2.7.158
			.french translation: error messages
---------------------------------------------------
06/09/2004
		version 2.7.157
			.translation
			."Printer locked" screen acces from the main menu
---------------------------------------------------
30/06/2004
		version 2.7.130
			.Correction on Italian strings
			."Printer locked" integration (see SYSCFRPT2)
---------------------------------------------------
24/05/2004
		version 2.7.112
			.Menu 4/5: ribbon gap:
			      gap for all printers
---------------------------------------------------
13/05/2004
		version 2.7.109
			.correction: serial buffer overrun when press 'Test print'
			.information german: 
			     was:    Tel: 09...
			              Fax: ...
			               sales@ ...
			     new:    Tel: 09369/9824-0
			              Fax: 09369/9824-24
			               info@opendate.de
			.information usa: 
			     new:    
			              OpenDate Systems,Inc
			              PH:  603 763 3444
			              Fax: 603 763 4222
			               info@opendate.com
			.error on choice 6-4: default values when save on burn only
			  .6-4-2 Burn-change the value-exit-> error
		  	.new Language: USA-information is different
---------------------------------------------------
08/12/2003
		version 2.7.84
			.language: Danish fully integrated
---------------------------------------------------
06/10/2003
		version 2.7.73
			.language: Italian fully integrated
---------------------------------------------------
02/10/2003
		Version 2.7.70
			.a crash after Esc CINEW is solved (Serial port handshake management)
			  action affected: Test print, SysUpmod changes, internal files 
			  visible (_odebar1, ...)
			.share the sources with Windows softwares (preview -> RecoverMode)
---------------------------------------------------
12/06/2003
		Version 2.7.61
			.integrate italian; languages provided now:
				English, Dutch, German, Spanish, French, Italian
			.Datums -> Print height
			.character p (instead of P)
			.crash on very big compressed graphics
---------------------------------------------------
14/05/2003
		Version 2.7.32 = more memory to manage all languages.
---------------------------------------------------
28/03/2003
		Version 2.7.27 = all languages in one firmware 
			(English, Dutch, German, Spanish, French)
---------------------------------------------------
06/03/2003
		Version 2.7.18 = English, Dutch, German
			2.7.17 = English, Spanish, French
		new language: spanish
			hardware connection debug: when ask big files.
---------------------------------------------------
03/12/2002
		version 2.06.668
			integrates the LZ compression for graphics (word bloc compression)
---------------------------------------------------
10/09/2002
		version 2.06.524
			integrates the new Shiftcodes management (24 codes).
---------------------------------------------------
12/08/2002
		version 2.06.515
					New commands (for ServiceMode)
					Euro character in font position 128 (displayed
					as a Sigma character on the keypad (256 character)
---------------------------------------------------
14/11/2001
		version 2.06.486
					Escape Ready: works fine with a full connected database
					change some translations
					up to 100 characters in one text line
---------------------------------------------------
18/10/2001
		version 2.06.463
					problem (and crash sometimes) with local graphics and
					local variables (error 243(193)) put number of digits from 5 to 6 (> 99 999
bytes)
					big graphic > 100 000 bytes (6 digits)
---------------------------------------------------
01/10/2001
		version 2.06.460
					big graphic: 65 mm * 115 mm = crash
					graphic too wide message with polygons:
					some graphic cannot be compressed (all bytes different)
					Escape Ready, Escape Done management					
					big graphics (> 100 000 bytes)now can be printed
					compression (PCX), update text, update graphics, Rotation 180					
					compression management size: up to 255 bytes per line					
					SysUpMod default at 1 (Escape DONE)					
					Network: some characters are missing in the Network command
---------------------------------------------------
20/07/2001	
		version	2.06.103		
			RUN WITH		
					CS6 on 20/07/2001			
					TERMODE 1.1.8			
					NETMODE 2.0.3			
---------------------------------------------------
12/07/2001	
		version	2.06.100		
			local variables now work					
---------------------------------------------------
04/07/2001	
		version	2.06.098		
			width is variable (%), file names length (15 char.)					
			Burn and speed together, max. burn is dynamic					
			changing Rotation changes the pressure settings
			too much displayed character in the Counter boxes
			pressure not saved
			local graphics dont print
---------------------------------------------------
07/06/2001	
		version	2.06.079		
			ESC Z9 with network number					
			when we choose quicly a format, the message
			      "Print Off Line" stays on the keypad.
---------------------------------------------------
01/06/2001	
		version	2.06.071		
			ESC Z9 finalized					
---------------------------------------------------
31/05/2001	
		version	2.06.069		
			ESC Z9 with detailled variables					
---------------------------------------------------
20/05/2001	
		version	2.06.063		
			several bad translations, and incorrect screens
			new command to have a group of information (ESC Z 9)
		command Z9:
		.Esc Z nn	; 	nn:network number
		./01 string /02	; 	string: printer ID
		./01 string /02	; 	string: version number
		./01 string /02	; 	string: ribbon left
		./01 string /02	; 	string: total ribbon (reel)
		./01 string /02	; 	string: ribbon warning
		./01 string /02	; 	string: prints per minute
		./01 string /02	; 	string: total memory
		./01 string /02	; 	string: memory available
		./01 string /02	; 	string: total prints current label
		./01 S n,s /02	; 	n: status number 
					s: status string
		./01		;	start All errors
		. /03 string /04; 	error 1: string=error message
		. ...
		. /03 string /04;	error x
		. ...
		./02		;	end All errors
		./01 string /02	;	string: current format name
		./01		;	start All current used variables
		. /03 nnn /04 /03 vvv /04; 	variable 1; name, value
		. ...
		. /03 nnn /04 /03 vvv /04; 	variable x; name, value
		. ...
		./02		;	end All variables
---------------------------------------------------
19/04/2001	
		version	2.06.019		
			Rotation + correction Edit fields					
		version	2.06.035		
			some bad translations (peel height,)					
			pb with a lot of text lines					
			(1), (A), (a) are not displayed
			Peel height <-> Rotation
			in CW part: German, french are not good
			hardware signal
			some text part are lost on rotation
			first printer network is 01
			33 text lines overflow (too much text lines)
			after the 1st print, the print order is changing
			pb on position when use single object rotation
			name > 10 characters not recognised
			let 00 for 00=NO NETWORK in Edit
---------------------------------------------------
04/04/2001	
		version	2.06.016		
			Rotation default and local parameters					
---------------------------------------------------
30/03/2001	
		version	2.06.015		
			passwords starting with "0"					
			Version number return by a function					
---------------------------------------------------
05/03/2001	
		version	2.06.00		network; installed at Lyons (Warminster)					
---------------------------------------------------
13/02/2001	
		version	2.05.81		new property: pause printing in Service					
			graph. Not complete in memory when we ask the printer
			<ESC> 0 sdsDZasasdas made the printer no error !
			passwords cannot start with 0
			if we change the network number and ask again this number, the printer
asnswers a wrong number
---------------------------------------------------
09/01/2001	
		version	2.05.54		02050054.HEX					
---------------------------------------------------
10/11/2000	
		version	2.05		T02_05.HEX					
			a lot of variables cause problems
			names with 10 characters
---------------------------------------------------
30/06/2000	
		version	2.04							
---------------------------------------------------
20/04/2000	
		version	2.03							
---------------------------------------------------
17/04/2000	
		version	2.02.070							
---------------------------------------------------
12/04/2000	
	version	2.02		
		T02_02.HEX					
---------------------------------------------------
29/03/2000	
	version	2.01			
		Error and Ribbon management				
---------------------------------------------------
24/03/2000	
	version	2.00	
		installed in KEMPER company				
---------------------------------------------------
