Registrarse

[ASM] FR, E | Eliminar partida si pierdes

Ancer

Usuario de oro
En esta ocacion les traigo como tal 2 rutinas una es para reset si pierdes y la otra daña la partida si pierdes y vienen obcionalmente funciona como complemento a "eliminar Pokémon debilitados" del post de "Batalla por movimiento" que traje antes

en este caso el credito va para @FBI,@IDB,@Team Fail y @daniilS no se si me falta alguien pero creo que son todos

la rutina es una burrada y complicada no actos para cartiacos
Código:
.text
.align 2
.thumb
.thumb_func

main:
	SWI 0;

.align 2
Código:
00 DF 00 00
si jaja :p

ahora la insertaremos en 0x7F5B6 y 0x7F5D0 y ya

para la que hace daña la partida no hay rutina sino que ya esta copilada
y es
Código:
5F F1 53 FC 00 DF para 0x7F5B6 y F1 E7 para 0x7F5D0

no hay rutina como tal para Emerald pero yo hice una que "funciona".Son libres de acomodarla o optimisarla ya que de seguro tiene errores
aclaro de que el codigo en emerald es diferente y mas largo gracias a que en emerald se ejecutas cuando inicia la partida y no solo cuando pierdes

van a 0xAF644 y pones este codigo
Código:
.text
.align 2
.thumb
.thumb_func

main:
	ldr r1,=(0x8xxxxxx+1)
	bx  r1
.align 2
Código:
00 49 08 47 XX XX XX 08
las 'x' de '8xxxxxx+1' las cambian por la direcion que va la siquiente rutina
si es el codigo ya copilador tienes que invertirla y sumarle 1
se que la mayoria ya sabe pero nunca falta el que no sepa

es haci ,si tienes 0x123456 al invertirla seria:56 34 12 08,sumandole mas 1 seria:57 34 12 08

el 08 del final puede cambiar a 09 si es una rom expandida
Código:
.text
.align 2
.thumb
.thumb_func

main:
	ldr r1, =(0x202433a)
	ldrb r1,[r1]
	cmp r1, #0x2
	beq reset
	bne setZero
reset:
    @ldr r1,=(0x82E1E9C+1)
	@bl linker
    SWI 0
setZero:
	ldr r1,=(0x80af71c+1)
	bl linker
	ldr r1,=(0x80af65a+1)
	cmp r0,#0x0
	beq linker
    ldr r1,=(0x80af64c+1)
linker:
   bx r1
.align 2
si quieren solo reset game dejenla haci,si quieren dañar la partida si pierden quiten el @ y listo

esto lo pueden poner donde quieran pero debe terminar en 0,4,8,cambian
y como ultimo es te codigo no esta optimisado es decir de seguro se puede hacer mejor pero es lo mejor que pude hacer para que al menos este para esmerald ,si alguien sabe de ASM y ve algo que sobre o falte por favor corrigame
 
Última edición:
Arriba