tuts_gbc
Thread Id: 24839
Thread Name: [GBC] Diccionario de terminologia HEXADECIMAL
#0
G0LD_ZTHVARD0X! 27515
Bien gente vengo a repostear este tutorial que se quedo perdido y gracias a wayback machine lo recupere. Es una guia basica sobre los conceptos basicos del lenguaje hexadecimal, asi que empezemos.

-Hexadecimal: El sistema Hexadecimal (no confundir con sistema sexagesimal), a veces abreviado como Hex, es el sistema de numeración de base 16 —empleando por tanto 16 símbolos—(Wikipedia)

-Byte: Byte es, digamos, la unidad basica del sistema hexadecimal. Cada byte comprende 2 digitos del 0 a la F (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (16 valores)) por lo que un byte podria ser cualquier combinacion de estos, siendo el maximo digito FF (255 en decimal)

Ejemplos de un byte: 0A, 3F, 51, 8C, etc.

-Offset (desplazamiento): Es donde se encuentran los datos que queremos buscar. Normalmente estan enumerados en Hexadecimal en editores hex, pero algunos tambien los enumeran en decimal. Se usan para señalar a donde tienes que ir para encontrar cierta data. Por ejemplo, yo podria decirte que vayas al Offset 237AB para modificar el sprite de un Pokemon (es solo un ejemplo, no estoy seguro que hace Offset 237AB, solo fue un numero al azar, ademas que su funcion depende del juego. En POkemon GS es diferente que en Pokemon Crystal y otros juegos)

-Pointer: Pointer es aquello que le señala al juego donde se encuentra cierta data. Es como un offset pero para lenguaje computadora.

-Header: Header o cabecera es un conjunto de bytes que forman una estructura que controlar cierta parte del juego. Cada Header tiene diferente estructura dependiendo de lo que controla, por ejemplo este es el Secondary Map header:

[Y size (in blocks)][X size (in blocks)][Map data pointer (3-bytes)][Script pointer (2-bytes)][Event data pointer (2-bytes)][Map Connections]

Si cuentas bien, veras que son 12 bytes.

Y este es el Tileset Header:

[Graphics Ptr, 3 byte] [Collision/Effect data ptr, 3 byte] [Animation Ptr, 2 byte] [Unused (00 00), 2 byte] [Palette Data Ptr, 2 byte]

Si cuentas bien, veras que son 15 bytes.

Asi que si llegas hasta el secondary map de, por ejemplo, pallet town y lo modificas, modificaras algo de ese mapa (tamaño, cuantas personas hay, etc).

Si por ejemplo llegas hasta el tileset header 15 (el de pallet town) y lo modificas, modificaras los Tiles que componen el mapa (asi podrias modificar los graficos de las casas, los colores, etc)
#1
Chamber4315♪ 26330
Gracias por la terminologia, muy buena para los que inician en esto.

Si me lo permites quisiera agregar unos terminos que rescato de mi escuela de RH-GBC.