Cap resum de modificació
Cap resum de modificació
Línia 624: Línia 624:
|180 bytes ||+|| (14 bytes/pasada X 5 pasades) ||+|| 512 bytes ||=|| 762 bytes
|180 bytes ||+|| (14 bytes/pasada X 5 pasades) ||+|| 512 bytes ||=|| 762 bytes
|-
|-
|Capçalera||Cos||Cua
|Capçalera||+||Cos||+||Cua||=||Total
|}
|}

Revisió del 14:26, 2 des 2010

Els fitxers MYR consten de tres parts ben diferenciades:

  • La primera part (capçalera), te 180 bytes i és on apareix informació relativa a les caracteristiques de l'estructura del fitxer.
  • La segona part del fitxer (cos), és on hi ha el dibuix. Més endavant es concretará la seva estructura.
  • La tercera part (cua), te 512 bytes repartits en dos grups. El primer és de 192 bytes, i el segon, de 160 words de 2 bytes.

Eks fitxers mantenen un ordre de bytes propi del sistema operatiu UNIX, on el byte mes significatiu apareix abans que el menys significatiu. O sigui, que es llegeixen d'esquerra a dreta.

Fig. 1 - Format Big Endian, utilitzat en sistemes UNIX


Especificació del contingut

Capçalera

Bytes 0 - 28

  • Un conjunt de bytes que inclouen el tipus de maquina (MASCHINENTYP). S'ha de tenir en compte que els dos primers bytes no es poden canviar i contenen els valors 77 i 65 respectivament. El 77 correspon a una 'M' i el 65 correspon a una 'A'. En aquests 29 bytes s'inclou el nom del camp ('MASCHINENTYP :') i a continuació, el valor corresponent, que és el tipus de maquina. El valor del camp s'omple d'espais fins que s'acava d'ocupar tota la longitud, que és de 12 bytes. Seguidament venen els 2 últims bytes que corresponen al 13 i al 10 (retorn de carro i canvi de linea)
Distribució de bytes
00 01 02 03 04 05 06 07 08 09 10 11 12 13
M A S C H I N E N T Y P :
  • 00-01: Bytes inalterables.
  • 02-13: Encara que aquests valors sempre s'han trobat iguals, sembla ser que es pot posar el que es vulgui (tant en majuscules com en minuscules).
Distribució de bytes
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
M R S J 7 8 / 1 S U L 13 10
  • 14-25: El nom de la maquina sempre ocupa aquests 12 bytes.
  • 15: Aquest byte s'utiliza en el calcul del numero secret 1
  • 26: Sempre hem trobat un espai
  • 27-28: Retorn de carro i canvi de linia.


Bytes 29 - 58

  • En aquests bytes es guarda informacio del nom del dibuix (MUSTER). De la mateixa manera que en l'apartat anterior, al principi hi ha el nom del camp propiament dit ('Muster...... : ') i despres apareix el valor del camp. Aquest ultim tambe s'omple d'espais fins arribar a la seva longitud (12 bytes). En aquest cas els 2 ultims bytes que venen a continuacio, tambe corresponen al 13 i al 10.
Distribució de bytes
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
M u s t e r . . . . . . :
  • 29-42: Sembla que es pot posar la cadena de caracters que es vulgui, tant en majuscules com en minuscules
  • 43: Sempre és un espai
Distribució de bytes
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
V E R S 13 10
  • 44-55: El nom del dibuix sempre ocupa aquests 12 bytes
  • 46: Aquest byte s'utiliza en el calcul del numero secret 1
  • 56: Sempre hem trobat un espai
  • 57-58: Retorn de carro i canvi de linia.


Bytes 59 - 88

  • Aqui trobem informacio sobre la data del dibuix (DATUM). Igualment que en els apartats anteriors, primer apareix el nom del camp ('Datum....... : ') i tot seguit el valor que li correspon, per la qual cosa hi ha disponibles 12 bytes. Per últim, ens tornem a trobar amb els dos bytes 13 i 10 respectivament.
Distribució de bytes
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
D a t u m . . . . . . . :
  • 59-72: Sembla que es pot posar la cadena de caracters que es vulgui, tant en majuscules com en minuscules
  • 73: Sempre és un espai
Distribució de bytes
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
2 4 . 0 2 . 9 7 13 10
  • 74-85: El nom del dibuix sempre ocupa aquests 12 bytes
  • 75: Aquest byte s'utiliza en el calcul del numero secret 1
  • 86: Sempre hem trobat un espai
  • 87-88: Retorn de carro i canvi de linia.


Byte 89

  • Conte el valor 0 indicant que la cadena amb les informacions anteriors s'ha acabat.


Byte 90

  • Aquest byte el podem destriar en 2. Dividint per 16 trobariem els 4 bits de mes pes i fent el modul de 16, els quatre bits de menys pes. El primer guarda informacio sobre X-rt i el segon sobre X-blocksize.


Byte 91

  • De la mateixa manera que l'anterior, tambe el podem destriar per obtenir informacio sobre Y-rt i Y-blocksize.


Byte 92

  • Numero total de cintes de que consta el dibuix.


Byte 93

  • Numero de cinta al que correspon el fitxer MYR.


Bytes 94 - 95

  • Desconegut.


Bytes 96 - 97

  • Numero d'agulles que te la maquina (maxim 32000 en aquest word)


Bytes 98 - 99

  • Numero de bits del jacquard. El valor d'aquests dos bytes definira en el cos del fitxer la quantitat de bytes reservats a guardar informacio sobre les agulles del jacquard a cada pasada. Aquest numero de bytes surt del numero de bytes que s'indica aqui:
    • Versio 1 o 2
      • En les maquines mes antigues, aquest valor es el valor del Raport exactament. Per tant ens podem trobar un 9 o un 234 per exemple.
    • Versio 3 o 4
      • En les maquines mes actuals, aquest valor és el resultat de sumar els valors previament arrodonits a byte dels diferents Raports que hi ha des de la posicio 152,253 fins a la 162,163. Per tant sempre sera un valor divisible per 8.


Bytes 100 - 101

  • Numero de pasades totals de que consta el dibuix, tenint en compte totes les cintes, no nomes l'actual, que és a la que pertany el fitxer MYR.


Bytes 102 - 103

  • Numero de pasada en que comença aquesta cinta. Si es tracta de la primera cinta, hi hauria d'haver un 1. En canvi si el fitxer actual correspon a una cinta que no es la primera, aquest valor sera el del numero de pasada en que acabava la cinta anterior mes 1.


Bytes 104 - 105

  • Numero de pasada en que acaba aquesta cinta. Si la cinta actual es la ultima de la serie, aquest valor contindra el numero total de pasades que te el dibuix comptant totes les cintes (valor dels bytes 100 i 101).


Bytes 106 - 107

  • Numero de bytes de que consta la informacio corresponent als getribes a cada pasada del dibuix.


Byte 108

  • Numero de barres de planxa.


Byte 109

  • Desconegut.


Bytes 110 - 111

  • Designa els bytes totals de que constara en el fitxer la informacio corresponent a cada pasada. El valor d'aquest word es el resultat de sumar el numero de bytes que ocupen els bits de jacquard apuntats pels bytes 98 i 99 i el numero de bytes que indiquen els bytes 106 i 107 corresponents als bytes de getribes, mes dos bytes que s'afegeixen i que son els bytes del checksum que es fa a cada pasada.
  • La operacio que es fa amb els bits de jacquard, es ajustar per sobre el nombre de bytes que ocupen perque siguin multiple de dos. Si per exemple s'especifiquen 9 bits, s'utilitzaran dos bytes. Si s'especifiquen 8 bits tambe s'utilitzan dos, pero si hi ha un valor, per exemple, de 17 bits, s'hauran d'utilitzar 4 bytes.


Bytes 112 - 113

  • Numero de pasada en que comença la cinta 1.


Bytes 114 - 115

  • Numero de pasada en que acava la cinta 1.


Bytes 116 - 117

  • Numero de pasada en que comença la cinta 2.


Bytes 118 - 119

  • Numero de pasada en que acava la cinta 2.


Bytes 120 - 121

  • Numero de pasada en que comença la cinta 3.


Bytes 122 - 123

  • Numero de pasada en que acava la cinta 3.


Bytes 124 - 125

  • Numero de pasada en que comença la cinta 4.


Bytes 126 - 127

  • Numero de pasada en que acava la cinta 4.


Bytes 128 - 129

  • Numero de pasada en que comença la cinta 5.


Bytes 130 - 131

  • Numero de pasada en que acava la cinta 5.


Bytes 132 - 133

  • Numero de pasades de que consta el primer raport de pasades.


Bytes 134 - 135

  • Numero de pasades de que consta el segon raport de pasades.


Bytes 136 - 137

  • Numero de pasades de que consta el tercer raport de pasades.


Bytes 138 - 139

  • Numero de pasades de que consta el quart raport de pasades.


Bytes 140 - 141

  • Numero de pasades de que consta el cinque raport de pasades.


Byte 142

  • Indica quantes vegades es repetira el numero de raport de pasades que assenyala el seguent byte.


Byte 143

  • Numero de raport de pasades que es repetira les vegades que indiqui el byte anterior.


Byte 144

  • Indica quantes vegades es repetira el numero de raport de pasades que assenyala el seguent byte.


Byte 145

  • Numero de raport de pasades que es repetira les vegades que indiqui el byte anterior.


Byte 146

  • Indica quantes vegades es repetira el numero de raport de pasades que assenyala el seguent byte.


Byte 147

  • Numero de raport de pasades que es repetira les vegades que indiqui el byte anterior.


Byte 148

  • Indica quantes vegades es repetira el numero de raport de pasades que assenyala el seguent byte.


Byte 149

  • Numero de raport de pasades que es repetira les vegades que indiqui el byte anterior.


Byte 150

  • Indica quantes vegades es repetira el numero de raport de pasades que assenyala el seguent byte.


Byte 151

  • Numero de raport de pasades que es repetira les vegades que indiqui el byte anterior.


Bytes 152 - 153

  • Numero d'agulles de que consta el primer raport d'agulles.


Bytes 154 - 155

  • Numero d'agulles de que consta el segon raport d'agulles.


Bytes 156 - 157

  • Numero d'agulles de que consta el tercer raport d'agulles.


Bytes 158 - 159

  • Numero d'agulles de que consta el quart raport d'agulles.


Bytes 160 - 161

  • Numero d'agulles de que consta el cinque raport d'agulles.


Bytes 162 - 163

  • Numero d'agulles de que consta el sise raport d'agulles.


Byte 164

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 165

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Byte 166

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 167

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Byte 168

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 169

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Byte 170

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 171

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Byte 172

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 173

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Byte 174

  • Indica quantes vegades es repetira el numero de raport d'agulles que assenyala el seguent byte.


Byte 175

  • Numero de raport d'agulles que es repetira les vegades que indiqui el byte anterior.


Bytes 176 - 177

  • Primer numero secret.
    • El primer numero secret s'obte d'unes operacions realitzades sobre el byte numero 15, el byte numero 46 i el byte numero 75 del fitxer MYR, seguint la formula:
      • N1 = (((3*(Byte[15]))%210) + ((3*(Byte[46]))%210) + ((3*(Byte[75]))%210))%210
    • Tambe el segon numero secret s'obte de realitzar determinades operacions amb la majoria de bytes d'aquesta primera part i alguns bytes de la tercera part. Al capitol corresponent a la tercera part, es parlara amb mes deteniment d'aquest segon numero secret.


Bytes 178 - 179

  • Checksum.


Cos

La segona part del fitxer MYR comença a partir de la posicio 181 o sigui, el byte 180 i correspon al cos del fitxer que es on realment hi figura tota la informacio referent al dibuix. Totes les dades hi figuren ordenades segons les pasades. Cada pasada consta d'un numero de bytes que s'indica a la primera part del fitxer, de la que s'ha parlat anteriorment, concretament als bytes numero 110 i 111. S'ha de tenir en compte que de tots els bytes que conformen la pasada, els dos ultims corresponen a un checksum parcial que s'aplica a cada pasada del fitxer i que es la suma dels valors que contenen tots i cada un dels bytes de que consta la pasada.

En cadascuna de les pasades hi figura primer la informacio corresponent als getribes, amb un tamany en bytes igual a l'indicat per els bytes numero 106 i 107, i despres ve la informacio corresponent a les agulles del jacquard amb un tamany que sortira de fer el tractament anteriorment assenyalat als bytes 98 i 99.

Aquesta segona part del fitxer, te una longitud total igual al numero de bytes de cada pasada, multiplicat pel numero de pasades de que consta el fitxer. Aquestes dades ens les indiquen els bytes 110, 111 fent referencia als bytes de cada pasada, i el valor que surt de restar el numero de pasada en que acaba el fitxer, menys el numero de pasada en que comença menys 1. Per tant, el numero de pasades de que consta el fitxer MYR surt de fer la seguent operacio:

  • Np=((byte[104]*256 + byte[105]) - ((byte[102]*256 + byte[103]) - 1))

D'aquesta manera podem calcular facilment el byte on comença la tercera part del fitxer sumant 180 a la longitud total de la segona part.


Cua

Nomes els fitxers que son de la revisio 2 presenten els 512 bytes que conformen la tercera part dels fitxers MYR.

Aquesta darrera part esta dividida fonamentalment en 2 arees. La primera d'elles te una longitud de 192 bytes i representa informacio sobre el copyright, i el nom de la empresa.

Seguidament ve un grup de dades de 160 shorts. En aquest grup, apareixen el segon numero secret i el checksum de la tercera part. Aquesta informacio correspon als quatre ultims bytes del fitxer per aquest ordre:

  • Els primers 192 bytes es podrien dividir en 3 subgrups:
    • Bytes 0 - 79: Missatge de copyright. D'aquests 80 bytes no es poden modificar els que van del 0 al 45. Aquests bytes corresponen a la cadena: "Copyright (C) KARL MAYER Textilmaschinenfabrik". Tots els altres bytes es poden veure modificats lliurement.
    • Bytes 80 - 111: Missatge de drets reservats. Tots aquests 32 bytes es poden modificar a voluntat.
    • Bytes 112 - 191: Aquests 80 bytes informen del nom de la companyia. Els 46 primers bytes pertanyen a la formula que permet trobat el segon numero secret.

El segon numero secret surt de calcular la seguent formula:

N2 =

(Byte[0] % company[1]) + (Byte[1] % company[0]) +

(Byte[2] % company[3]) + (Byte[3] % company[2]) +

(Byte[4] % company[5]) + (Byte[5] % company[4]) +

(Byte[6] % company[7]) + (Byte[7] % company[6]) +

(Byte[8] % company[9]) + (Byte[9] % company[8]) +

(Byte[10]% company[11]) + (Byte[11]% company[10]) +

(Byte[12]% company[13]) + (Byte[13]% company[12]) +

(Byte[14]% company[15]) + (Byte[15]% company[14]) +

(Byte[16]% company[17]) + (Byte[17]% company[16]) +

(Byte[18]% company[19]) + (Byte[19]% company[18]) +

(Byte[20]% company[21]) + (Byte[21]% company[20]) +

(Byte[42]% company[1]) + (Byte[43]% company[0]) +

(Byte[44]% company[3]) + (Byte[45]% company[2]) +

(Byte[46]% company[5]) + (Byte[47]% company[4]) +

(Byte[48]% company[7]) + (Byte[49]% company[6]) +

(Byte[50]% company[9]) + (Byte[51]% company[8]) +

(Byte[52]% company[11]) + (Byte[53]% company[10]) +

(Byte[54]% company[13]) + (Byte[55]% company[12]) +

(Byte[56]% company[15]) + (Byte[57]% company[14]) +

(Byte[58]% company[17]) + (Byte[59]% company[16]) +

(Byte[60]% company[19]) + (Byte[61]% company[18]) +

(Byte[62]% company[21]) + (Byte[63]% company[20]) +

(Byte[64]% company[23]) + (Byte[65]% company[22]) +

(Byte[66]% company[25]) + (Byte[67]% company[24]) +

(Byte[68]% company[27]) + (Byte[69]% company[26]) +

(Byte[70]% company[29]) + (Byte[71]% company[28]) +

(Byte[72]% company[31]) + (Byte[73]% company[30]) +

(Byte[74]% company[33]) + (Byte[75]% company[32]) +

(Byte[76]% company[35]) + (Byte[77]% company[34]) +

(Byte[78]% company[37]) + (Byte[79]% company[36]) +

(Byte[80]% company[39]) + (Byte[81]% company[38]) +

(Byte[82]% company[41]) + (Byte[83]% company[40]) +

(Byte[84]% company[43]) + (Byte[85]% company[42]) +

(Byte[86]% company[45]) + (Byte[87]% company[44])


Referent als bytes que indiquen el segon numero secret (bytes 508 i 509 de la tercera part del fitxer), s'ha de dir que no mantenen la logica de significacio de bytes propia del Unix, sino l'ordre propi del sistema operatiu DOS. Es a dir, el primer byte (508) es el menys significatiu, i el segon (509) es el que correspon al byte mes significatiu. D'aquesta manera cal multiplicar el segon byte (509) per 256, i sumar-li el primer (508) per obtenir el numero que ens facilita la formula.

Cal entendre que la numeracio de bytes que s'indica en aquesta formula, correspon als numeros de bytes del fitxer MYR sencer, i no pas de la tercera part. En canvi, els bytes que assenyalen la variable 'company' i corresponen als bytes de la tercera part que van del byte 112 al byte 157, seguint l'ordre que indica l'index de la variable, a partir del byte 112 del fitxer.


Analisi de fitxer

A continuacio es procedira a fer l'analisis d'un fitxer tipus MYR. El fitxer que s'analitzara es diu vers5pas.myr i es una reduccio feta amb el programa twingo del fitxer vers9.myr fins a deixar-lo nomes amb 5 pasades i 10 bytes de getribes, com es veura mes endavant. A mes, s'ha modificat el cos del fitxer per tal de facilitar mes informacio. S'ha escollit aquest fitxer sobretot perque es un fitxer de la revisio 2 i aixo permet que es pugui analitzar tambe la tercera part del fitxer MYR.

Es convenient que a l'hora de fer el seguiment dels bytes es disposi d'una finestra amb el programa 'sector' mostrant l'aspecte real del fitxer MYR. Aixo potser ajudara a comprendre del tot la seva estructura.


Analisi de la primera part

Els bytes que van del 0 al 13 indiquen el nom del camp corresponent al nom de la maquina. Ens trobem en els dos primers bytes un 77 i un 65 que son invariables en tot fitxer MYR. En aquests 14 bytes apareixen els valors corresponents als caracters 'MASCHINENTYPE :' o sigui la sequencia seguent:

Distribució de bytes
00 01 02 03 04 05 06 07 08 09 10 11 12 13
77 65 83 67 72 73 78 69 78 84 89 80 32 58
M A S C H I N E N T Y P :

A continuacio venen una sequencia de 12 bytes on s'indica el nom propiament dit de la maquina. Concretament:

Distribució de bytes
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
77 82 83 74 70 53 51 47 49 47 50 52 32 13 10
M R S J 7 8 / 1 S U L CR LF
  • 15: El valor que conte (82), el farem servir per calcular la formula corresponent al primer numero secret
  • 19-20: Els caracters que contenen, representen els numeros 7 i 8 (78) i indiquen el numero de getribes que te, encara que no es fa cas d'aquest numero, sino d'una dada que apareix en els primers 180 bytes del fitxer
  • 26: Sempre val el mateix (32), sembla ser una indicacio de fi de cadena.
  • 27-28: Canvi de linia, si els modifiquem no s'efectua el canvi de linia i la informacio apareix seguida

Pasem ara a la seguent sequencia. Apareix el nom del camp corresponent al nom del dibuix:

Distribució de bytes
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
77 117 115 116 101 114 46 46 46 46 46 46 32 58 32
M u s t e r . . . . . . :

Com es pot observar, aquesta vegada apareix el nom del camp en minuscules, la qual cosa certifica el fet que es pot canviar tant com es vulgui. El byte numero 43 tambe pertany a aquesta part i no al nom del dibuix que ve a continuacio. Seguidament venen una altra vegada 12 bytes on s'indica el nom del dibuix.

Distribució de bytes
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
86 69 82 83 32 32 32 32 32 32 32 32 32 13 10
V E R S CR LF
  • 46: El valor que conte (82), el farem servir per calcular la formula corresponent al primer numero secret
  • 56: Sempre val el mateix (32), sembla ser una indicacio de fi de cadena.
  • 57-58: Canvi de linia, si els modifiquem no s'efectua el canvi de linia i la informacio apareix seguida

S'estudiara a continuacio el tercer camp que es la data del creacio del dibuix. Con en els dos apartats anterir primerament apareix el nom del camp.

Distribució de bytes
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
50 52 46 48 50 46 57 55 32 32 32 32 32 13 10
2 4 . 0 2 . 9 7 13 10
  • 75: El valor que conte (4), el farem servir per calcular la formula corresponent al primer numero secret

La data apareix segons el format DD.MM.YY i sempre ha estat d'aquesta manera. No obstant, es un camp que tambe es deixa modificar a voluntat sense cap mena de problema.

Per acabar aquest primer gran bloc de la primera part del fitxer MYR, apareix el byte numero 89 amb el seguent valor:

  • Byte[89] = 0

Aixo indica la finalitzacio de la informacio anterior. A partir d'aqui, els seguents bytes, que es procedira a analitzar a continuacio, assenyalaran caracteristiques importants del fitxer.

  • Byte[90] = 17
  • Byte[91] = 2

Aquests dos bytes s'agafaran per separat i s'extreuran els quatre bits de mes pes i els quatre bits de menys pes realizant les seguents operacions:

  • Byte[90]/16 = 1 (quatre bits de mes pes)
  • Byte[90]%16 = 1 (quatre bits de menys pes)
  • Byte[91]/16 = 0 (quatre bits de mes pes)
  • Byte[91]%16 = 2 (quatre bits de menys pes)

Amb aquests quatre valors, podem extreure informacio sobre:

  • Byte[90]
    • 1 -> X-rt
    • 1 -> X-blocksize
  • Byte[91]
    • 0 -> Y-rt
    • 2 -> Y-Blocksize
  • Byte[92] = 1

El byte numero 92 ens indica que aquest fitxer pertany a la cinta numero 1.

  • Byte[93] = 1

El seguent byte ens indica que el dibuix consta en total de 1 cinta, la qual cosa vol dir que l'actual es la primera i darrera cinta del dibuix, i que per tant, totes les pasades del dibuix estan representades de l'actual fitxer.

  • Byte[94] = 0
  • Byte[95] = 0

La informacio corresponent a aquests dos bytes es desconeguda.

  • Byte[96] = 12
  • Byte[97] = 0

Si es calcula el valor que surt d'aquests dos bytes (12*256 + 0) tenim el valor 3072, que es el numero d'agulles que te la maquina.

  • Byte[98] = 0
  • Byte[99] = 8

De forma analoga, podem calcular el valor que surt d'aquests dos bytes que es 8, i que indica que cada una de les pasades constara d'un determinat numero de bytes dedicats als getribes, que veurem mes endavant, i d'un altre numero de bytes dedicats a bits de jacquard que calcularem a continuacio: El valor ens diu que hi haura 8 bits de jacquard per pasada, pero sabem que qualsevol fitxer no pot guardar 'bits' sino que la unitat minima amb la que treballa es el byte. Els fitxers myr, a mes, tenen una particularitat en aquest punt, i es que guarda unitats de words. Per tant, 8 bits de jacquard ocuparan realment 2 bytes per cada pasada al fitxer myr, i seran 2 bytes que aniran a continuacio dels bytes de getribes.

  • Byte[100] = 0
  • Byte[101] = 5

A continuacio venen dos bytes que assenyalen el numero total de pasades comptant totes les cintes de que consta el dibuix. Com que segons els byte numero 93 hem deduit que el dibuix nomes consta d'una cinta, sabem que totes les pasades que el formen estan en el present fitxer i que aquest consta de 5 pasades.

  • Byte[102] = 0
  • Byte[103] = 1

Ens indica el numero de pasada en que comença aquesta cinta. Ja que es tracta de la primera (i darrera) cinta del dibuix es normal trobar un 1 en aquests dos bytes. Si fos una cinta diferent de la primera, aqui vindria representat el numero de pasada pel que ha de continuar llegint el fitxer, que seria el numero de pasada en que s'acabava la cinta anterior mes 1.

  • Byte[104] = 0
  • Byte[105] = 5

Tot seguit trobem el numero de pasada en que acabara aquesta cinta i ja que es tracta de la ultima del dibuix trobarem aqui el numero total de pasades de que consta tot el dibuix. (5 en aquest cas). El numero de pasades que formen el fitxer actual el podrem deduir si mirem cuantes pasades van des de la que indiquen els bytes 102 i 103 fins la que indiquen aquests dos bytes 104 i 105.

  • Byte[106] = 0
  • Byte[107] = 10

El valor 10 que tenen aquests dos bytes indica el numero de bytes dedicat en cada pasada a la informacio referent als getribes. Aquesta dada es la que complementa la informacio obtinguda a patir dels bytes 98 i 99 que indicaven quants bits de jacquard tenia el dibuix. Per tant, ja podriem fer un primer esquema del que sera, una vegada entrats en el cos del fitxer, l'estructura de cada una de les pasades:

Estructura d'una pasada
00 01 02 03 04 05 06 07 08 09 10 11 12 13
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  • 00-09: Getribes (10 bytes)
  • 10-11: Bits de Jacquard (2 bytes)
  • 12-13: Checksum de cada pasada (2 bytes)
  • Byte[108] = 0

Aquest byte dona informacio sobre el numero de barres de planxa que hi ha al dibuix. En aquest cas, 0 barres de planxa.

  • Byte[109] = 10

Informacio desconoguda fins al moment d'escriure el present informe.

  • Byte[110] = 0
  • Byte[111] = 14

Amb aquests dos bytes es podria dir que acaba una part important de les dades que facilita la capçalera que estem analitzant. El valor de 14 bytes que indiquen es el total de bytes que ocupara en el cos del fitxer, cada pasada, si sumem els bytes que ocupa la informacio relativa a getribes (10 bytes), el numero de bytes que ocupen els bits de jacquard (2 bytes) i els 2 bytes de checksum obligatoris al final de cada pasada, tal com indica l'esquema anterior. Per tant tindrem 14 bytes totals per pasada. Si multipliquem aquesta dada per el total de pasades de que consta el fitxer obtinfrem un numero que sera els bytes totals que ocupara el cos del fitxer MYR. Si a aixo li sumem els 180 bytes que ocupa la capçalera, i els 512 ultims bytes (en cas de que el fitxer sigui de la revisio 2) podrem fer un calcul exacte de la quantitat de bytes en total que ocupa el fitxer que estem analitzant. Per al nostre cas els calculs son els seguents:

Calcul del tamany del fitxer
180 bytes + (14 bytes/pasada X 5 pasades) + 512 bytes = 762 bytes
Capçalera + Cos + Cua = Total