27525-\[GBC]_Algunos_Codigos_ASM_para_Scripts
#0
G0LD_ZTHVARD0X! 27515
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)