Jump to content

Hacking Resources


Recommended Posts

this is just gonna be a link dump right now. i'll organize later...

 

General File Formats/Tutorials

Spoiler

General file format/header information - http://www.romhacking.net/docs/%5B469%5Dnds_formats.htm

http://llref.emutalk.net/docs/

General file format/header information - http://d.hatena.ne.jp/loveemu/20091002/nds_formats

General/Comprehensive ROM Hacking Tutorial - http://gbatemp.net/index.php?showtopic=291274&st=0&start=0

General extension info (left panel) - http://dotwhat.net/narc/10730/

NARC file format - http://www.pipian.com/ierukana/hacking/ds_narc.html

General introduction to ROM hacking - http://www.romhacking.net/start/#text

Graphics/Text Editing

Sound Editing

Important Tools 

Edit: Head over to the ROM Editing Directory to find your files even faster.

Spoiler

Edit: Head over to the ROM Editing Directory to find your files even faster.

The Console Tool - http://www.romhacking.net/forum/index.php?topic=8407.0

Various sound-hacking utilities - http://code.google.com/p/loveemu/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount

NDS Editor/Tahaxan Tihaxa/Narctool - http://gbatemp.net/t132677-narc-file?view=findpost&p=1742779

CrystalTile2 - http://gbatemp.net/index.php?showtopic=206673

Assorted ROM-hacking Tools (from gbatemp tutorial ^) - http://filetrip.net/ajax.php?action=download&id=25181

PPTXT - http://projectpokemon.org/forums/showthread.php?11582-PPTXT-Text-editing-tool

PPRE - http://projectpokemon.org/forums/showthread.php?303-PPRE-Project-Pokemon-s-ROM-Editor

Tarhaxan - http://www.romhacking.net/utils/455/

Tile Molester - http://www.romhacking.net/utils/109/

narctool - http://members.cox.net/dexter0/DSTools/narctool.shtml

DSBuff - http://wb3000.nintendo-scene.com/dsbuff.html

DSLazy - http://dev-scene.com/NDS/Dslazy

Kiwi.ds - https://sites.google.com/site/kiwids/

NDSheader - http://filetrip.net/f572-NDSHeader-2-0.html

NDSTop - http://filetrip.net/f224-NDS-Top-System-0-2.html

thenewpoketext - http://projectpokemon.org/wiki/Thenewpoketext

PokeText (translated) - http://filetrip.net/f4560-PokeTex-Translated.html

Nitro Explorer - http://gbatemp.net/index.php?showtopic=65870

PokeDSPic (Plat) - http://megaupload.com/?d=YRTSK6HS

ndssndext - http://dshack.wikia.com/wiki/NDS_Sound_Extractor

 

EDIT:
Located in ROM Editing Downloads section

Contains heaps of valuable resources

Link to comment
Share on other sites

  • 2 years later...

Action Replay DS code types, in case non-coders need to figure out how a code works step by step.

?'s Means that part does not matter/ can be anything.

0XXXXXXX YYYYYYYY 32bit write of YYYYYYYY to location: (XXXXXXX + ‘offset’)

1XXXXXXX ????YYYY 16bit write of YYYY to location: (XXXXXXX + ‘offset’)

2XXXXXXX ??????YY 8bit write of YY to location: (XXXXXXX + ‘offset’)

3XXXXXXX YYYYYYYY 32bit ‘If less-than’ instruction If the value at (XXXXXXX or ‘offset’ when address is 0) < YYYYYYYY then execute the following block of instructions. Conditional instructions can be nested.

4XXXXXXX YYYYYYYY 32bit ‘If greater-than’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) > YYYYYYYY then execute the following block of instructions. Conditional instructions can be nested.

5XXXXXXX YYYYYYYY 32bit ‘If equal’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) == YYYYYYYY then execute the following block of instructions. Conditional instructions can be nested.

6XXXXXXX YYYYYYYY 32bit ‘If not equal’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) != YYYYYYYY then execute the following block of instructions. Conditional instructions can be nested.

7XXXXXXX ZZZZYYYY 16bit ‘If less-than’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ < YYYY then execute the following block of instructions. Conditional instructions can be nested.

8XXXXXXX ZZZZYYYY 16bit ‘If greater-than’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ > YYYY then execute the following block of instructions. Conditional instructions can be nested.

9XXXXXXX ZZZZYYYY 16bit ‘If equal’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ == YYYY then execute the following block of instructions. Conditional instructions can be nested.

AXXXXXXX ZZZZYYYY 16bit ‘If not equal’ instruction. If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ != YYYY then execute the following block of instructions. Conditional instructions can be nested.

BXXXXXXX ???????? Load offset register. Loads the offset register with the data at address (XXXXXXX + ‘offset’) Used to perform pointer relative operations.

C??????? NNNNNNNN Repeat operation. Repeats a block of codes for NNNNNNNN times. The block can include conditional instructions. Repeats blocks cannot contain further repeats.

D0?????? ???????? End-if instruction. Ends the most recent conditional block.

D1?????? ???????? End-repeat instruction. Ends the current repeat block. Also implicitly ends any conditional instructions inside the repeat block.

D2?????? ???????? End-code instruction. Ends the current repeat block (if any), then End-if's any further outstanding conditional statements. Also sets ‘offset’ and ‘stored’ to zero.

D3?????? YYYYYYYY Set offset register. Loads the offset register with the value YYYYYYYY.

D4?????? YYYYYYYY Add to ‘stored’. Adds the value YYYYYYYY to the ‘stored’ register.

D5?????? YYYYYYYY Set ‘stored’. Loads the value YYYYYYYY into the ‘stored’ register.

D6?????? XXXXXXXX 32bit store and increment. Writes all 32 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Postincrements ‘offset’ by 4.

D7?????? XXXXXXXX 16bit store and increment. Writes bottom 16 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 2.

D8?????? XXXXXXXX 8bit store and increment. Writes bottom 8 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 1.

D9?????? XXXXXXXX 32bit load "stored" from address. Loads ‘stored’ with the 32bit value at address (XXXXXXXX + ‘offset’)

DA?????? XXXXXXXX 16bit load ‘stored’ from address. Loads ‘stored’ with the 16bit value at address (XXXXXXXX + ‘offset’)

DB?????? XXXXXXXX 8bit load "stored" from address. Loads ‘stored’ with the 8bit value at address (XXXXXXXX + ‘offset’)

DC?????? XXXXXXXX Increase value in offset register by amount XXXXXXXX

EXXXXXXX NNNNNNNN

VVVVVVVV VVVVVVVV Direct memory write. Writes NNNNNNNN bytes from the list of values VVVVVVVV to the addresses starting at (XXXXXXX + ‘offset’)

FXXXXXXX NNNNNNNN Memory copy. Copies NNNNNNNN bytes from addresses starting at the ‘offset’ register to addresses starting at XXXXXXXX.

Edited by evandixon
added space between ":(" to avoid unintentional smilies
Link to comment
Share on other sites

  • 7 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...