Rispondi 
[Gba] Come inserire una routine ASM
Andrea
...
******
Online

Messaggi: 805
Registrato: 12-06-2014
Reputazione: 30
Mi Piace Ricevuti: 1064
PokéMoney: 2,828.25₱
Messaggio: #1
Come inserire una routine ASM
Per inserire una routine avremo bisogno di un assembler, ma attenzione di assembler buoni ce ne sono pochi.
Molto spesso non possiedono un'interfaccia grafica, è dunque necessario di utilizzare il prompt dei comandi.
Personalmente consiglio quello di Hackmew scaricabile dal seguente link: Click.

Una volta scaricato il pacchetto .rar, estraete i 3 file all'interno di una cartella si consiglia in una cartella posizionata sul desktop e aprite il prompt dei comandi.
Ricordatevi di salvare la routine con estensione ".asm" e salvarla all'interno della stessa cartella dell'assemblatore.
Microsoft Windows XP [Version 5.1.2600]
Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\NomePC>

Ora dirigiamoci nella cartella in cui abbiamo i nostri file con la routine da convertire.

Microsoft Windows XP [Version 5.1.2600]
Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\NomePC>cd desktop

C:\Documents and Settings\NomePC\Desktop>cd thumb

C:\Documents and Settings\NomePC\Desktop\Thumb>

Avrete sicuramente notato il comando "cd" ovvero "change directory", questo ci permette di cambiare cartella fino ad arrivare a quella desiderata. Ora non ci resta che convertire il file asm in binario. Per farlo è semplicissimo:

Microsoft Windows XP [Version 5.1.2600]
Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\NomePC>cd desktop

C:\Documents and Settings\NomePC\Desktop>cd thumb

C:\Documents and Settings\NomePC\Desktop\Thumb>

C:\Documents and Settings\NomePC\Desktop\Thumb>thumb routine.asm routine.bin
Assembled successfully.

Se tutto andrà bene apparirà il messaggio "Assembled successfully", come mostrato sopra.
Nella stessa directory verrà generato il file con estensione ".bin"


Inserire la routine nella rom
Aprite la vostra rom e il file binario con un editor esadecimale.
Copiate il contenuto del file binario e inseritelo in uno spazio libero all'interno della vostra rom, prestando attenzione che l'offset termini con un 0 - 4 - 8 - C.
Ad esempio 0x800000 è un offset corretto in cui inserire la nostra routine, perché termina con "0", mentre 0x800001 no.


Richiamare la routine in game
Per richiamare una routine in alcuni casi si ha bisogno di uno script. Il comando che dovrete usare è callasm.
Esempio:
Codice:
#dynamic 0x800000

#org @inizio
callasm 0xoffsetroutine+1
end
Bene avrete sicuramente notato il +1. Cosa significa?
Semplice si deve aggiungere all'offset della routine +1.
Quindi se la routine all'interno della rom è situata all'offset 700000 il comando sarà:
Codice:
callasm 0x700001

By Andrea e †Kirito
13-06-2014 10:59 AM
Cerca Cita
 Mi piace ricevuti da: Stygian , PokemonHack , bonzi , Explosion100 , Valley
Martin97
Nuovo Arrivato
*
Offline

Messaggi: 12
Registrato: 12-06-2014
Reputazione: 0
Mi Piace Ricevuti: 1
PokéMoney: 67.25₱
Messaggio: #2
RE: Come inserire una routine ASM
Siete grandi voi due *-*

Certo non saprò fare delle routine ma di sicuro sapro come inserire quelle che trovo in giro rilasciate dagli utenti ahahah.

Complimenti bella guida, ho capito tutto e sono riuscito ad inserire una routine di hackmew.
La sua guida era in inglese e non riuscivo a capirci molto.
13-06-2014 11:52 AM
Cerca Cita
Valley
Nuovo Arrivato
*
Offline

Messaggi: 42
Registrato: 14-12-2018
Reputazione: 1
Mi Piace Ricevuti: 21
PokéMoney: 124.25₱
Messaggio: #3
RE: Come inserire una routine ASM
Ottima guida!
18-12-2018 06:11 PM
Cerca Cita
Rispondi 




Utente(i) che stanno guardando questa discussione: 1 Ospite(i)
Powered by MyBB, © 2002-2019 MyBB Group. Copyright © | 2019 Pokémon Hacking