Este es el paso mas importante y delicado con diferencia de todo el proceso. En este paso debemos editar la ROM hexadecimalmente (no os asusteis). Para ello he usado el programa de edicion UltraEdit32, tambien archiconocido, lo podeis bajar de la pagina ofical en una Trial funcinal durante unos dias desde en:http://www.ultraedit.com/downloads/webinstall.html
Primero debemos entrar en la carpeta que se ha creado al descomprimir el archivo SP27071.exe como se describia en el punto anterior y comprobar que contiene lo siguiente:
Debemos elegir el archivo seleccionado en la imagen y pulsar boton derecho. Si habeis instalado el UltraEdit32 os debera aparecer en una de las opciones "UltraEdit-32" pulsamos sobre ella y esperamos a que se abra la ROM. Deberiamos ver lo siguiente algo asi como:
Lo que he rodeado de color rojo es donde se encuentra el meollo de la cuestion.
En esas dos lineas se encuentra la informacion de el idioma de la iPaq en este caso son las letras "SPA" de español y al final de la segunda linea se encuentra una numeracion hexadecimal llamada checksum que sirve como comprobante de que todo esta correcto, en este caso es "7e5a".
Pues bien, esos son los dos valores que debemos modificar para realizar el milagro.
Antes de modificar explicare algo de teoria a cerca de como esta estructurado esto, ya que es es valido para otros modelos de iPaq, creo que es interesante.
El idioma viene indicado por 3 letras que son las que verifica la iPaq antes de aceptar la ROM como valida antes de instalarse. En nuestro caso la ROM que hemos bajado contiene toda la informacion en español y por ello en en esas letras indica SPA pero el modelo H2215 al ser de USA solo aceptara aquellas ROMs cuyo idioma sea ingles.
Debido a esto lo primero que debemos hacer es cambiar esas tres letras "SPA" por "ENG" para que la iPaq crea que toda la ROM es inglesa y nos deje realizar el cambio.
Por mera curiosidad algunos de los idiomas disponibles son:
ENG = ingles
ITA = italiano
FRE = frances
GER = aleman
SPA = español
POR = portugues
Muy bien, ya hemos realizado el primer paso en el de cambio de la ROM, dificil?? no verdad?
Ahora nos queda el "mas complicado" agarrarse que vienen curvas!!.
Como antes he dicho existe un valor llamado checksum que se encarga de verificar que no se ha modificado la ROM y todo esta correcto. Si solo cambiamos las letras del idioma, la iPaq se dara cuenta de que ha habido un cambio y NO aceptara la rom como valida, asi que deberemos cambiar este valor para que parezca que todo esta correcto.
Antes de eso un poquito mas de teoria (animo ya queda poco):
El valor del checksum, en este caso "7e5a" es calculado mediante unos algoritmos bastante complicados (que no viene a cuento explicar) y que engloban la informacion de toda la ROM.
Asi pues, si cambiamos "SPA" por "ENG" el valor debera ser diferente a "7e5a".
¿Y cómo podemos saber el valor? os preguntareis pues haya voy (de forma resumida):
Digamos que el checksum cuenta con una numeracion raiz comun a todos los idiomas y que despues se le suma el valor hexadecimal resultante de las sumas de el valor hexadecimal del codigo ascii de cada letra de las 3 letras que indican el idioma (Tooomaa yaa
, no asustarse).
Deberemos averiguar la raiz comun en primer lugar. Por lo tanto, si el valor "7e5a" es la suma de la raiz mas la suma de los valores hexadecimales del codigo ascii de cada letra de la palabra "SPA" en este caso, tan solo debemos restarle a "7e5a" la suma hexadecimal de los valores del codigo ascii de las letras "SPA" para averiguar la raiz.
¿
Y cual es la suma de las letras de la palabra "SPA"? a saber:0
Los valores 53, 50, 41 corresponden al valor hexadecimal del codigo ascci de las letras S, P, A respectivamente (lo podeis ver en http://pumba.dsic.upv.es/etsii-ico/LECCION1/node40.html por ejemplo mirando la columan Hex para cada letra).
Despues abrimos la calculadora de windows le damos al menu ver y elegimos la opcion cientifica y elegimos Hex entre las opciones que aparecen arriba a la izquierda.
Sumamos las cantidades 53 + 50 + 41 y tachan! la suma es E4.
Resumiendo:
SPA = 53(S) + 50(P) + 41(A) = E4
Entonces ya tenemos que E4 significa "SPA" y debemos restarlo a "7e5a" para obtener la raiz. Borramos los calculos hechos en la calculadora cientifica y realizamos la resta: 7e5a - E4, lo que nos da un resultado de "7d76", esa será la raiz!!!!.
Ahora solo nos queda sumar a la raiz la suma de los valores hexadecimales del codigo ascii de cada letra de la palabra "ENG" para que la iPaq no note cambio alguno y se la coma con patatas
Operamos de igual manera que hemos hecho para averiguar la suma de "SPA", mirando el valor de cada letra en una tabla ascii donde aparezcan los valores hexadecimales y los sumamos con la calculadora cientifica obteniendo asi:
ENG = 45 + 4E + 47 = DA
Este es valor que deberemos sumar a la raiz para calcular el nuevo y aceptado chechsum.
Asi pues de nuevo con la calculadora cientifica sumamos la raiz 7d76 + DA obteniendo "7e50" que sera por fin el nuevo checksum que debemos poner el la ROM para que este lista para sentencia.
Cambiamos el checksum en la ROM con el UltraEdit32 quedando de la siguiente forma:
Despues de esto guardamos los cambios y salimos del UltraEdit32.
* Me he enrrollado tanto con estos pasos porque son comunes a todos los modelos de iPaq y comprendiendolos podreis cambiar cualquier modelo de iPaq a cualquier idioma.