ISFS Delete
#1
ISFS Delete

This code will allow you to delete any nand file (such as a channel, title, datasave, etc) or directory you want. Obviously, this can be used to delete a file critical to the Wii's NAND to cause a brick if desired. Press your activator whenever you want to delete the file/directory. You may notice a small lag spike when the activator has been pressed, this is normal.

R Values = The path to the file or directory you want want to delete; any unused values are 0.

Example (fake file used): /newfolder/sub/aaa.txt = 2F6E6577 666F6C64 65722F73 75622F61 61612E74 7874 (then fill in the rest of the R values with 0's)

NTSC-U
040095F4 88030051
2834XXXX YYYYZZZZ
C20095F4 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA6EC 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

PAL
04009634 88030051
2834XXXX YYYYZZZZ
C2009634 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA78C 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

NTSC-J
04009590 88030051
2834XXXX YYYYZZZZ
C2009590 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA6AC 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

NTSC-K
0400973C 88030051
2833XXXX YYYYZZZZ
C200973C 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA828 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

Source:
.set alloc, 12 #Default alloc for stack
.set ngprs, 29 #Amount of GPRs to use
.set gprspace, ngprs*4 #Calculate stack space due to amount of GPRs
.set szdsa, gprspace+alloc #Calculate final stack space to allocate
.set _register, 32-ngprs #Calculate lead register for stmw/lmw instructions

.macro push_stack #No need to backup r0 or LR
stwu r1, -szdsa (r1)
stmw _register, 8 (r1)
.endm

.macro pop_stack
lmw _register, 8 (r1)
addi r1, r1, szdsa
.endm

.macro default_instruction
lbz r0, 0x0051 (r3)
.endm

.macro call_link, address
lis r12, \address@h
ori r12, r12, \address@l
mtlr r12
blrl
.endm

.set region, '' #Fill in E, P, J, or K within the quotes for your region when Compiling! Lowercase letters can also be used.

.if (region == 'E' || region == 'e') # RMCE
.set ISFS_Delete, 0x8016A6EC
.elseif (region == 'P' || region == 'p') # RMCP
.set ISFS_Delete, 0x8016A78C
.elseif (region == 'J' || region == 'j') # RMCJ
.set ISFS_Delete, 0x8016A6AC
.elseif (region == 'K' || region == 'k') # RMCK
.set ISFS_Delete, 0x8016A828
.else # Invalid Region
.abort
.endif

push_stack

bl file_path #/newfolder/sub/aaa.txt used as compilation example path

.llong 0x2F6E6577666F6C64
.llong 0x65722F7375622F61
.llong 0x61612E7478740000
.space 12

file_path:
mflr r3

call_link ISFS_Delete

pop_stack

default_instruction
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)