Drake escribió:Morfeo escribió:Los códigos de Game Sharks no causan problemas a los juegos como muchos tienen como mitos aqui y creen que su uso te genera problemas.
Lo siento pero aqui no puedo estar deacuerdo contigo Morfeo, el juego en si es un conjunto de codigos hexadecimales, binarios como lo kieras llamar relacionados entre si, lo que se hace con el gameshark es forzar a cambios esos codigos y si por un motivo u otro queda alguno colgando zas!! se borra la partida, no se como es el algoritmo de estos codigos, eso lo guarda nintendo en su caja secreta, por poner un ejemplo imagina que todos los codigos del juego han de sumar un numero par y se clona un pokemon que hace la suma impar, entonces se fastidio. Puede que lo que comentas del cartucho no original sea otra causa, ahi no me meto porque desconozco el tema, pero te/os aseguro que al clonar o meter codigos gameshark estais cambiando unos codigos por otros modificando parametros que se desconocen, y esto puede salir bien o mal
Ok, la cosa es asi, por obias razones ya sabes que un juego contiene 3 tipos de memorias basicas (las mas importantes). El ROM (que es el juego), el archivo save y la memoria RAM.
Cuando juegas se ejecuta los datos del ROM con la informacion del save en la RAM. Depende los datos que contenga el save es lo que se ejecuta de la ROM, posicion actual, medallas, pokemons, Items, personajes derrotados, tiempo de juego, etc.
Cuando ingresas códigos, esos códigos modifican los datos que esten en la direccion que el código indica por los datos que el mismo código indica. Si en la direccion de la memoria RAM que se esta ejecutando en ese momento por ejemplo la 02025800 estan los datos 00010001 (digamos que es una masterball con cantidad 1) el código de game shark indica en sus primeros 4 bits esa direccion que modificara en este caso seria la misma 02025800:FFFF0001 indicando que en esa misma direccion de la RAM cambiara el valor que este ahi por FFFF0001 (masterball en cantidad de 65535).
La memoria RAM como tal no contiene esa SUMA que mencionas. De hecho la suma que mencionas se llama CheckSum, y es un valor de 2 bits que hace una suma completa de secciones de códigos y con una ecuación encriptada, ese numero CheckSum es como una sintesis de muchos valores, si un solo valor lo modificas por otro, incluso si simplemente inviertes 2 valores de posicion, la CheckSum no coincidira con los códigos y entonces el juego si te pone corrupto el save.
Pero esa CheckSum solo se guarda en el archivo Save, no en la memoria RAM. Justo cuando se carga el ROM y el archivo SAVE en la RAM y pretendes continuar el juego (antes de la pantalla para elejir continuar partida) el ROM verifica si las CheckSums del archivo SAVE coinciden con los mismos datos del archivo SAVE, si no es asi te pone la leyenda que el save esta corrupto y se debe pasar al Save anterior. Si el save anterior tambien esta corrupto debes iniciar partida nueva.
Por eso si vas a modificar datos desde el save debes ingresar los datos y hacer el calculo de la nueva CheckSum y tambien modificarlo (la CheckSum se encuentra en la parte final de cada bloque de códigos dentro del Save).
En cambio no hay problema alguno de usar códigos de game shark ya que los cambios se hacen en la RAM y ahi no esta la CheckSum, la checkSum se calcula cuando salvas el juego conforme a los datos que hay en la RAM en ese momento. Por eso si modificas cualquier cosa con Shark y salvas el juego, este solo hara el calculo de la nueva CheckSum y lo guarda.
Lo mismo pasa con un Pokemon, ya que tambien consta de una CheckSum:
Caja:1 Posición:1
0202980E:00000001
02029812:41F7971E
02029816:C0CCC9C7
0202981A:FFFFC9BF
0202981E:0202FFFF
02029822:C0CCC9C7
02029826:00FFC9BF
0202982A:0000
19490202982E:41F79764
02029832:41F7971E
02029836:41F7681C
0202983A:41F79758
0202983E:41F7971F
02029842:41F7971A
02029846:9877971F
0202984A:7E0868E0
0202984E:41F7971F
02029852:41F7971F
02029856:41F7971F
0202985A:41F7971F
los 2 bits de color negro es la CheckSum de ese pokemon, esa CheckSum verifica solo los datos que estan abajo de ese número, los demas se puede cambiar sin problemas menos el primero por que es su Pokemon ID (PID). Si la ChechSum de ese pokemon no coincide con los datos que tiene abajo el pokemon esta corrupto y se convierte en BadEgg para evitar SE PASME el juego.
Obiamente no niego que si pones un código de Game Shark que no sea del mismo juego o que no sepas que hace entonces si puedes ingresar un valor en una direccion invalida de la RAM. Como poner el valor antes mencionado (FFFF0001) en una direccion RAM que se use para almacenar los graficos o sonido. Entonces el juego se bloquea igual que cuando abres un Bad Egg. Sin embargo en ningun Momento has salvado el juego, por lo que solo debes reiniciar el juego y continuar tu partida, por que los datos del archivo SAVE no fueron alterados.
Aqui entra en cuestion: ¿Eres realmente Sharkero? o ¿solo eres novato metiendo códigos a lo bruto? (la pregunta no es a ti, lo digo a los novatos sharkers).
Por que muchas veces me toca conocer gente que se le ocurre salvar el juego cuando no vio el resultado del código que ingreso. Si el código esta mal pero no afecto una direccion en plena ejecucion y salvo el juego podrias ocacionarle un error cuando si se valla a ejecutar la direccion despues de que salvo el juego.
Por ese motivo es falso lo que dicen que si usas "MUCHOS" códigos de Shark o abusas de él se te fastidia el juego, por que solo cambias datos por otros datos, la CheckSum de todas formas te la recalcula el juego al salvar y solo se usa en el archivo SAVE. Y si alguien fue muy menso salvando un código erroneo no se borra el juego, solo se bloquea al activarse la direccion.
Y si alguien tiene duda de que hace cada código o como funciona, para eso existe el Visual Boy Advance, si el GameShark te facilita muchas cosas no creo que sea tan pesado primero probarlo en el emulador con un respaldo.
Bueno, eso es todo, si conoces mas de como funcionan los códigos, el ROM, el Save o la RAM hazmelo saver (NO es sarcasmo
)