tuts_gbc
Thread Id: 27525
Thread Name: [GBC] Algunos Codigos ASM para Scripts
Como dice el titulo, aqui les dejo una pequeña recopilacion de algunas rutinas ASM que pueden ser llamadas mediante un script.
Estas rutinas pueden ponerse en cualquier sitio del ROM, pero deben ser llamadas mediante el comando 0x3E (3callASM), bueno, sin mas que decir aqui los dejo.
ASM Scripts:
Asignar Paleta
21 xx xx ld hl,c280
ld bc,0088 ???
ld a ff???
call 314c ?????
Imprimir tiles(hasta 9f!!!)
21 xx xx : ld hl, lugar de la map ram (ej $c4b9)
11 xx xx : ld de,texto
cd 74 0f : call 0f74
Ubicar Paleta
21 xx xx : ld hl,(ubicacion del mapa)
01 yy yy : ld bc,(alto - ancho)
3E zz : ld a,(paleta)
CD A6 63 : Call 63A6
TextBox
21 xx xx : ld hl,(puntero de 2bytes al texto)
CD 5E 0F : Call 0F5E
Reproducir melodia
11 xx xx : ld de,(Puntero de 2bytes a la melodia)
CD 98 3D : Call 3D98
Cargar Graficos comprimidos (como sprites)
21 xx xx : ld hl,(Puntero de 2-bytes a los graficos)
01 yy yy : ld bc,(Area del Tilemap)
3E zz : ld a,(Banco de Graficos)
CD A6 63 : Call 0AF0
216699 010a01 3e03cd a6 63
Llenar el fondo con un tile
21 A0 C3 : ld hl,C3A0
3E XX : ld a,Tile 51
21 68 01 : ld bc 0168
call 314C
ld hl,4349
ld a,23
rst 08
ret
Aplicar ordenamiento de tilemap
21 xx xx : ld hl,(Puntero de 2-bytes a la tabla de ordenamiento de tilemap)
01 yy yy : ld bc,(Lugar del tilemap)
3E zz : ld a,(banco de tabla de ordenamiento)
CD A6 63 : Call 3128
Salto y regreso al sitio inicial
3E xx : ld a,(banco)
21 yyyy : ld hl,Puntero de rutina ASM
CF : rst 08
C9 : ret
Banco 3E: (Usar codigo anterior primero)
Cargar Graficos
11 xx xx : ld de,(Puntero de 2-bytes a los graficos)
21 yy yy : ld hl,(Area del Tilemap)
01 xx yy : ld bc,(banco de graficos / numero de tiles a cargar)
C3 72 0E : jp 0E72
Cargar graficos en Blanco y negro (para flashbacks)
11 xx xx : ld de,(Puntero de 2-bytes a los graficos)
21 yy yy : ld hl,(Area del Tilemap)
01 xx yy : ld bc,(xx=banco de los graficos / numero de tiles a cargar)
C3 8D 0E : jp 0E8D
y es todo por ahora (si no sabes de ASM esto parecera que esta en chino XDD)
WTF?? Esto es chino xDDD
Nah, enserio, mola que masters como tú os dediqueis a enseñar a novatos en este mundillo, y le deis aportes como este, que nada mas y nada menos contiene codigos de ASM, algo muy valioso en el ROm hacking
Muchas gracias^^
Iniciado por Brock
WTF?? Esto es chino xDDD
Nah, enserio, mola que masters como tú os dediqueis a enseñar a novatos en este mundillo, y le deis aportes como este, que nada mas y nada menos contiene codigos de ASM, algo muy valioso en el ROm hacking
Muchas gracias^^
Gracias, olvide mencionar para que usos podemos usarlos.
Pues sirve para llamar animaciones cinematicas o estaticas por medio de script, como el Pokemon MN hack, por ejemplo:
Igual no son muy dificiles de entender
Lei tu titulo y desde hace tiempo tenia una idea asi, pero al leer el contenido no es un tanto como pensaba.
No crees que hace falta una explicación de su uso (como dices arriba) y quizas una captura?
Aconsejo que uses la nomenclatura de Pokecrystal, asi es mas facil ir adentrando a mas gente al mundo del ASM. Por ejemplo, para señalar la rutina que toca las melodias podrias poner:
call PlayMusic
call $3D98 ; CD 98 3D
Tengo mucho que aportar en este apartado tan poco documentado, asi que sigamos con este tema.