mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-01-24 14:14:42 +00:00
Add asmdiff.sh; start matching soulsilver
This commit is contained in:
parent
3a1d467030
commit
571cd93c76
@ -1 +1,2 @@
|
||||
#include "config.h"
|
||||
.include "asm/macros/function.inc"
|
||||
|
@ -179,7 +179,11 @@ _02000E48: .word 0x02111860
|
||||
_02000E4C: .word 0x02111860
|
||||
_02000E50: .word 0x027FFC20
|
||||
_02000E54: .word SDK_OVERLAY_OVY_60_ID
|
||||
#ifdef HEARTGOLD
|
||||
_02000E58: .word 0x021EB030
|
||||
#else
|
||||
_02000E58: .word 0x021EB028
|
||||
#endif
|
||||
_02000E5C: .word SDK_OVERLAY_OVY_36_ID
|
||||
_02000E60: .word 0x021E5C04
|
||||
_02000E64: .word 0x021D110C
|
||||
|
@ -8092,7 +8092,7 @@ sub_02028EF0: ; 0x02028EF0
|
||||
mov r0, #2
|
||||
strb r0, [r4, #0x19]
|
||||
add r0, r4, #0
|
||||
mov r1, #7
|
||||
mov r1, #GAME_VERSION
|
||||
bl sub_02029080
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
@ -28204,7 +28204,7 @@ _02031566:
|
||||
mov r2, #0
|
||||
bl sub_0205B46C
|
||||
strb r0, [r5, #0x16]
|
||||
mov r0, #7
|
||||
mov r0, #GAME_VERSION
|
||||
strb r0, [r5, #0x19]
|
||||
mov r0, #2
|
||||
strb r0, [r5, #0x1a]
|
||||
@ -28601,7 +28601,7 @@ sub_020317F4: ; 0x020317F4
|
||||
mov r1, #0
|
||||
mov r2, #0x64
|
||||
bl sub_020D4994
|
||||
mov r0, #7
|
||||
mov r0, #GAME_VERSION
|
||||
strb r0, [r4]
|
||||
mov r0, #2
|
||||
strb r0, [r4, #1]
|
||||
@ -50711,7 +50711,11 @@ sub_0203B88C: ; 0x0203B88C
|
||||
bl sub_0203B344
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
#ifdef HEARTGOLD
|
||||
mov r1, #0x25
|
||||
#else
|
||||
mov r1, #0x88
|
||||
#endif
|
||||
bl sub_02007508
|
||||
_0203B8B4:
|
||||
pop {r3, r4, r5, pc}
|
||||
@ -55675,7 +55679,11 @@ sub_0203DED4: ; 0x0203DED4
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0203DEE8: .word SDK_OVERLAY_OVY_60_ID
|
||||
#ifdef HEARTGOLD
|
||||
_0203DEEC: .word 0x021EAFE0
|
||||
#else
|
||||
_0203DEEC: .word 0x021EAFD8
|
||||
#endif
|
||||
thumb_func_end sub_0203DED4
|
||||
|
||||
thumb_func_start sub_0203DEF0
|
||||
@ -71371,7 +71379,7 @@ sub_020455F0: ; 0x020455F0
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4]
|
||||
bl sub_02040374
|
||||
mov r1, #7
|
||||
mov r1, #GAME_VERSION
|
||||
strh r1, [r0]
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
@ -148018,7 +148026,7 @@ sub_02068FC8: ; 0x02068FC8
|
||||
ldr r0, [sp, #0x10]
|
||||
ldr r2, [sp, #0x24]
|
||||
ldr r3, [sp, #0x18]
|
||||
mov r1, #7
|
||||
mov r1, #GAME_VERSION
|
||||
bl sub_020692A0
|
||||
add r0, r7, #0
|
||||
bl sub_02028F88
|
||||
@ -201962,6 +201970,9 @@ sub_02082E28: ; 0x02082E28
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
#ifndef HEARTGOLD
|
||||
add r1, #0x2A
|
||||
#endif
|
||||
bl sub_0200BBA0
|
||||
add r6, r0, #0
|
||||
b _02082E6E
|
||||
@ -201974,7 +201985,11 @@ _02082E52:
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
#ifdef HEARTGOLD
|
||||
add r1, #0x12
|
||||
#else
|
||||
add r1, #0x3C
|
||||
#endif
|
||||
bl sub_0200BBA0
|
||||
add r6, r0, #0
|
||||
_02082E6E:
|
||||
@ -201995,7 +202010,11 @@ _02082E8A:
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
#ifdef HEARTGOLD
|
||||
mov r1, #0x54
|
||||
#else
|
||||
mov r1, #0x55
|
||||
#endif
|
||||
bl sub_0200BBA0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x18]
|
||||
@ -233187,7 +233206,11 @@ sub_02092288: ; 0x02092288
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
_020922B0: .word SDK_OVERLAY_OVY_74_ID
|
||||
#ifdef HEARTGOLD
|
||||
_020922B4: .word 0x0223B310
|
||||
#else
|
||||
_020922B4: .word 0x0223B314
|
||||
#endif
|
||||
thumb_func_end sub_02092288
|
||||
|
||||
thumb_func_start sub_020922B8
|
||||
@ -245327,9 +245350,9 @@ _02097FF0: .word 0x02108F4C
|
||||
.rodata
|
||||
|
||||
_020F566C:
|
||||
.byte 0x07, 0x00, 0x00, 0x00
|
||||
.word GAME_VERSION
|
||||
_020F5670:
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.word GAME_LANGUAGE
|
||||
_020F5674:
|
||||
.byte 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00
|
||||
.byte 0xA8, 0x00, 0xA9, 0x00, 0xAA, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAD, 0x00, 0xAE, 0x00, 0xAF, 0x00
|
||||
@ -246915,8 +246938,7 @@ _020FA274:
|
||||
.byte 0x01, 0x59, 0x1E, 0x02, 0x39, 0x5A, 0x1E, 0x02, 0x75, 0x5F, 0x1E, 0x02
|
||||
.byte 0x3D, 0x00, 0x00, 0x00
|
||||
_020FA284:
|
||||
.byte 0xA1, 0x5A, 0x1E, 0x02, 0x65, 0x5B, 0x1E, 0x02, 0x81, 0x5B, 0x1E, 0x02
|
||||
.byte 0x12, 0x00, 0x00, 0x00
|
||||
.word ov18_021E5AA0, ov18_021E5B64, ov18_021E5B80, SDK_OVERLAY_OVY_18_ID
|
||||
_020FA294:
|
||||
.byte 0x25, 0x59, 0x1E, 0x02, 0x5D, 0x59, 0x1E, 0x02, 0xA9, 0x59, 0x1E, 0x02
|
||||
.byte 0x32, 0x00, 0x00, 0x00
|
||||
|
128
asmdiff.sh
Normal file
128
asmdiff.sh
Normal file
@ -0,0 +1,128 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
gcc -O3 -g -o ntruncompbw ntruncompbw.c
|
||||
|
||||
getword() {
|
||||
od -j "$2" -N 4 -A n -t u "$1" | awk '{$1=$1};1'
|
||||
}
|
||||
|
||||
[[ -n "$DEVKITARM" ]] && export PATH=${DEVKITARM}/bin:${PATH}
|
||||
|
||||
POSITIONAL=()
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
case $key in
|
||||
-h)
|
||||
echo "Diff segments of a Nintendo DS ROM"
|
||||
echo "Usage: $0 [-h] [-7] [-a AUTOLOAD] [-m OVERLAY] [-r BASEROM] [-d BUILDDIR] START END"
|
||||
echo ""
|
||||
echo "Arguments:"
|
||||
echo " START, END Start and end virtual addresses to diff"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -7 Diff the ARM7 module (default: ARM9)"
|
||||
echo " -a AUTOLOAD Diff the indicated autoload module (default: static module)"
|
||||
echo " -m OVERLAY Diff the indicated overlay module (default: static module)"
|
||||
echo " -r BASEROM Use the indicated baserom (default: baserom.nds)"
|
||||
echo " -d BUILDDIR Look for compiled binaries in this directory (default: build/heartgold.us)"
|
||||
echo " -t Force THUMB instructions (default: ARM)"
|
||||
echo " -h Show this message and exit"
|
||||
exit 0
|
||||
;;
|
||||
-7)
|
||||
proc=armv4t
|
||||
builddir=sub/build
|
||||
shift
|
||||
;;
|
||||
-a)
|
||||
mode=autoload
|
||||
autoload="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-m)
|
||||
mode=overlay
|
||||
overlay="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-r)
|
||||
baserom="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-t)
|
||||
thumb=-Mforce-thumb
|
||||
shift
|
||||
;;
|
||||
-d)
|
||||
builddir="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
POSITIONAL+=("$1")
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
set -- "${POSITIONAL[@]}"
|
||||
|
||||
mode=${mode:-static}
|
||||
proc=${proc:-armv5te}
|
||||
builddir=${builddir:-build/heartgold.us}
|
||||
baserom=${baserom:-baserom.nds}
|
||||
|
||||
[[ -n "${autoload}" && -n "${overlay}" ]] && echo warning: -m and -a conflict. will run in $mode mode
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
[[ "$mode" == overlay ]] && {
|
||||
case $proc in
|
||||
armv4t)
|
||||
ovt=88
|
||||
;;
|
||||
armv5te)
|
||||
ovt=80
|
||||
;;
|
||||
esac
|
||||
ovtoff=$(getword "$baserom" "$ovt")
|
||||
fatoff=$((getword "$baserom" 72))
|
||||
vma=$(getword "$baserom" "$((ovtoff+32*overlay+4))")
|
||||
size=$(getword "$baserom" "$((ovtoff+32*overlay+8))")
|
||||
fileid=$(getword "$baserom" "$((ovtoff+32*overlay+24))")
|
||||
param=$(getword "$baserom" "$((ovtoff+32*overlay+28))")
|
||||
fileoff=$(getword "$baserom" "$((fatoff+8*fileid))")
|
||||
dd if="$baserom" of="$tmpfile" bs=1 skip="$fileoff" count="$size" 2>/dev/null
|
||||
buildfile=$builddir/OVY_${overlay}.sbin
|
||||
} || {
|
||||
case $proc in
|
||||
armv4t)
|
||||
romtab=48
|
||||
compname=sub
|
||||
;;
|
||||
armv5te)
|
||||
romtab=32
|
||||
compname=main
|
||||
;;
|
||||
esac
|
||||
|
||||
fileoff=$(getword "$baserom" "$romtab")
|
||||
vma=$(getword "$baserom" "$((romtab+8))")
|
||||
size=$(getword "$baserom" "$((romtab+12))")
|
||||
|
||||
dd if="$baserom" of="$tmpfile" bs=1 skip="$fileoff" count="$size" 2>/dev/null
|
||||
ntrcodebe=$(grep -bao "$(printf "\x21\x06\xc0\xde")" ${tmpfile} | head -n1 | cut -d: -f1)
|
||||
compstatend=$(getword "$tmpfile" $((ntrcodebe-8)))
|
||||
[[ $compstatend != "0" ]] && { ./ntruncompbw $tmpfile $vma $compstatend || exit 1; }
|
||||
buildfile=${builddir}/${compname}.sbin
|
||||
}
|
||||
|
||||
[[ -n "$1" ]] && start=$(($1)) || start=$vma
|
||||
[[ -n "$2" ]] && size=$(($2))
|
||||
do-objdump () {
|
||||
arm-none-eabi-objdump -Drz -bbinary -m$proc $thumb --adjust-vma=$vma --start-address=$start --stop-address=$((start+size)) $1
|
||||
}
|
||||
diff -u <(do-objdump $tmpfile) <(do-objdump $buildfile)
|
||||
rm -f $tmpfile
|
@ -77,7 +77,7 @@ SBIN := $(NEF:%.nef=%.sbin)
|
||||
XMAP := $(NEF).xMAP
|
||||
|
||||
MWCFLAGS := -O4,p -enum int -lang c99 -Cpp_exceptions off -gccext,on -proc $(PROC) -gccinc -i ./include -I./lib/include
|
||||
MWASFLAGS := -proc $(PROC_S)
|
||||
MWASFLAGS := -proc $(PROC_S) -i ./include
|
||||
MWLDFLAGS := -nodead -w off -proc $(PROC) -interworking -map closure,unused -symtab sort -m _start -msgstyle gcc
|
||||
ARFLAGS := rcS
|
||||
|
||||
|
@ -30,7 +30,7 @@ endif
|
||||
BUILD_DIR := build/$(buildname)
|
||||
NEFNAME := main
|
||||
|
||||
DEFINES := -DGAME_VERSION=$(GAME_VERSION) -DGAME_REMASTER=$(GAME_REMASTER) -DGAME_LANGUAGE=$(GAME_LANGUAGE)
|
||||
DEFINES := -D$(GAME_VERSION) -DGAME_VERSION=$(GAME_VERSION) -DGAME_REMASTER=$(GAME_REMASTER) -D$(GAME_LANGUAGE) -DGAME_LANGUAGE=$(GAME_LANGUAGE)
|
||||
|
||||
# Secure CRC
|
||||
ifeq ($(buildname),heartgold.us)
|
||||
|
11
dump_fs.py
11
dump_fs.py
@ -80,10 +80,10 @@ def dump_files(dirs, files, allocs, rom, print_only=True):
|
||||
ofp.write(rom.read(end - start))
|
||||
|
||||
|
||||
def dump_overlays(proc, table, allocs, rom, make_files=False):
|
||||
def dump_overlays(proc, table, allocs, rom, ovysubdir='overlays', make_files=False):
|
||||
for ovy_id, ram_start, size, bsssize, sinit_start, sinit_end, file_id, flag in table:
|
||||
if make_files:
|
||||
outdir = f'{proc}/overlays_ss/{ovy_id:02d}'
|
||||
outdir = f'{proc}/{ovysubdir}/{ovy_id:02d}'
|
||||
os.makedirs(outdir, exist_ok=True)
|
||||
with open(f'{outdir}/module_{ovy_id:02d}.cfg', 'w') as cfg:
|
||||
print('thumb_func', f'0x{ram_start:08X}', f'MOD{ovy_id:02d}_{ram_start:08X}', file=cfg)
|
||||
@ -98,7 +98,7 @@ def dump_overlays(proc, table, allocs, rom, make_files=False):
|
||||
'-m', str(ovy_id),
|
||||
'-c', f'{outdir}/module_{ovy_id:02d}.cfg',
|
||||
'-d',
|
||||
'baserom.nds'
|
||||
rom.name
|
||||
]
|
||||
if proc == 'arm7':
|
||||
sbp_args.append('-7')
|
||||
@ -128,6 +128,7 @@ def main():
|
||||
parser.add_argument('--no-dump-overlays', dest='dump_overlays', action='store_false')
|
||||
parser.add_argument('--no-dump-files', dest='dump_files', action='store_false')
|
||||
parser.add_argument('--fsroot', default='files')
|
||||
parser.add_argument('--ovysubdir', default='overlays')
|
||||
parser.add_argument('--arm9-root', default='.')
|
||||
parser.add_argument('--arm7-root', default='sub')
|
||||
args = parser.parse_args()
|
||||
@ -143,8 +144,8 @@ def main():
|
||||
|
||||
dump_files(dirs, files, allocs, args.rom, print_only=not args.dump_files)
|
||||
|
||||
dump_overlays(args.arm9_root, ovy9, allocs, args.rom, make_files=args.dump_overlays)
|
||||
dump_overlays(args.arm7_root, ovy7, allocs, args.rom, make_files=args.dump_overlays)
|
||||
dump_overlays(args.arm9_root, ovy9, allocs, args.rom, ovysubdir=args.ovysubdir, make_files=args.dump_overlays)
|
||||
dump_overlays(args.arm7_root, ovy7, allocs, args.rom, ovysubdir=args.ovysubdir, make_files=args.dump_overlays)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
21
include/config.h
Normal file
21
include/config.h
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef POKEHEARTGOLD_CONFIG_H
|
||||
#define POKEHEARTGOLD_CONFIG_H
|
||||
|
||||
#define VERSION_HEARTGOLD 7
|
||||
#define VERSION_SOULSILVER 8
|
||||
|
||||
#define LANGUAGE_ENGLISH 2
|
||||
|
||||
#undef GAME_VERSION
|
||||
#ifdef HEARTGOLD
|
||||
#define GAME_VERSION VERSION_HEARTGOLD
|
||||
#else // SOULSILVER
|
||||
#define GAME_VERSION VERSION_SOULSILVER
|
||||
#endif
|
||||
|
||||
#undef GAME_LANGUAGE
|
||||
#ifdef ENGLISH
|
||||
#define GAME_LANGUAGE LANGUAGE_ENGLISH
|
||||
#endif
|
||||
|
||||
#endif //POKEHEARTGOLD_CONFIG_H
|
@ -147,7 +147,7 @@ _02000422:
|
||||
.byte 0x5F, 0x54, 0x33, 0x98, 0xBE, 0x41, 0xED, 0x74, 0x22, 0x3B, 0xBE, 0x1E, 0x6E, 0x73, 0xA1, 0x22
|
||||
.byte 0xB2, 0xE2, 0x45, 0x99, 0x56, 0x9E, 0xDB, 0x45, 0xB4, 0x6A, 0xBC, 0x53
|
||||
|
||||
thumb_func_start SVC_Halt
|
||||
non_word_aligned_thumb_func_start SVC_Halt
|
||||
SVC_Halt: ; 0x0200047C
|
||||
swi 6
|
||||
bx lr
|
||||
@ -186,7 +186,7 @@ _02000536:
|
||||
.byte 0x51, 0x3F, 0x4D, 0x8E, 0xF7, 0x71, 0x3F, 0x31, 0xDC, 0xD8, 0x24, 0xBF, 0x9D, 0xFD, 0xC6, 0xEE
|
||||
.byte 0x7C, 0x6E, 0xAD, 0xC7, 0x22, 0x61, 0xA5, 0x2F, 0xE6, 0x2B, 0x1E, 0x16, 0xC9, 0x98, 0x70, 0x5C
|
||||
|
||||
thumb_func_start SVC_GetCRC16
|
||||
non_word_aligned_thumb_func_start SVC_GetCRC16
|
||||
SVC_GetCRC16: ; 0x02000580
|
||||
swi 0xe
|
||||
bx lr
|
||||
@ -198,7 +198,7 @@ _02000584:
|
||||
.byte 0x74, 0x06, 0xF1, 0xA8, 0xF7, 0xCF, 0xD0, 0x39, 0x5E, 0xE0, 0x25, 0xE2, 0xAD, 0x07, 0x91, 0xAC
|
||||
.byte 0x70, 0x80, 0x92, 0x31, 0x61, 0x29, 0x17, 0x6B, 0xD2, 0x67, 0x9C, 0x3A
|
||||
|
||||
thumb_func_start SVC_UncompressLZ8
|
||||
non_word_aligned_thumb_func_start SVC_UncompressLZ8
|
||||
SVC_UncompressLZ8: ; 0x020005CC
|
||||
swi 0x11
|
||||
bx lr
|
||||
@ -242,7 +242,7 @@ SVC_UncompressRL8: ; 0x020006AE
|
||||
.byte 0xE3, 0x20, 0xBA, 0x1F, 0x97, 0x5D, 0xE3, 0x0A, 0x50, 0x08, 0xC3, 0xE4, 0x26, 0x21, 0xDD, 0xD3
|
||||
.byte 0x69, 0x3E, 0x64, 0x18, 0x3B, 0x8F, 0x29, 0x4D, 0x2B, 0xFC
|
||||
|
||||
thumb_func_start SVC_CpuSetFast
|
||||
non_word_aligned_thumb_func_start SVC_CpuSetFast
|
||||
SVC_CpuSetFast: ; 0x0200072A
|
||||
swi 0xc
|
||||
bx lr
|
||||
|
122
ntruncompbw.c
Normal file
122
ntruncompbw.c
Normal file
@ -0,0 +1,122 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
static inline uint32_t READ32(const unsigned char * ptr)
|
||||
{
|
||||
return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
|
||||
}
|
||||
|
||||
static uint32_t MIi_UncompressBackwards(unsigned char ** out_p, size_t compsize)
|
||||
{
|
||||
unsigned char * out = *out_p;
|
||||
// stmfd sp!, {r4-r7}
|
||||
// Read the pointer to the end of the compressed image
|
||||
uint8_t * endptr = out + compsize - 8; // ldmdb r0, {r1, r2}
|
||||
uint32_t size = READ32(endptr);
|
||||
uint32_t offset = READ32(endptr + 4);
|
||||
|
||||
out = realloc(out, compsize + offset);
|
||||
if (out == NULL) {
|
||||
return -1u;
|
||||
}
|
||||
endptr = out + compsize;
|
||||
uint8_t * dest_p = endptr + offset; // add r2, r0, r2
|
||||
uint8_t * end = endptr - ((uint8_t)(size >> 24)); // sub r3, r0, r1, lsr #24
|
||||
// bic r1, r1, #0xff000000
|
||||
uint8_t * start = endptr - (size & ~0xFF000000); // sub r1, r0, r1
|
||||
// uint8_t * dest_end = dest_p;
|
||||
// mov r4, r2 ; not crucial
|
||||
// @.loop:
|
||||
while (end > start) // cmp r3, r1
|
||||
{ // ble @.dc_flush
|
||||
uint8_t r5 = *--end; // ldrb r5, [r3, #-1]!
|
||||
// mov r6, #8
|
||||
// @.byte_loop:
|
||||
for (int i = 0; i < 8; i++) // subs r6, r6, #1
|
||||
{ // blt @.loop
|
||||
if ((r5 & 0x80) == 0) // tst r5, #0x80
|
||||
{ // bne @.readback
|
||||
// ldrb r0, [r3, #-1]!
|
||||
*--dest_p = *--end; // strb r0, [r2, #-1]!
|
||||
} // b @.byte_after
|
||||
else // @.readback:
|
||||
{
|
||||
int ip = *--end; // ldrb r12, [r3, #-1]!
|
||||
int r7 = *--end; // ldrb r7, [r3, #-1]!
|
||||
// orr r7, r7, r12, lsl #8
|
||||
// bic r7, r7, #0xf000
|
||||
r7 = ((r7 | (ip << 8)) & ~0xF000) + 2; // add r7, r7, #0x0002
|
||||
ip += 0x20; // add r12, r12, #0x0020
|
||||
while (ip >= 0) // @.readback_loop:
|
||||
{
|
||||
dest_p[-1] = dest_p[r7]; // ldrb r0, [r2, r7]
|
||||
dest_p--; // strb r0, [r2, -1]!
|
||||
ip -= 0x10; // subs r12, r12, #0x0010
|
||||
} // bge @.readback_loop
|
||||
} // @.byte_after:
|
||||
if (end <= start) // cmp r3, r1
|
||||
break; // mov r5, r5, lsl #1
|
||||
r5 <<= 1; // bgt @.byte_loop
|
||||
} // @.dc_flush:
|
||||
}
|
||||
*out_p = out;
|
||||
return compsize + offset;
|
||||
}
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
if (argc < 4) {
|
||||
fprintf(stderr, "usage: %s FILE VMA END\n\ninsufficient arguments\n", argv[0]);
|
||||
return 1;
|
||||
}
|
||||
char * infname = argv[1];
|
||||
uint32_t vma = strtoul(argv[2], NULL, 0);
|
||||
uint32_t end = strtoul(argv[3], NULL, 0);
|
||||
if (end == 0) {
|
||||
fprintf(stderr, "compressed size is 0, no action taken\n");
|
||||
return 0;
|
||||
}
|
||||
FILE * infile = fopen(infname, "r+b");
|
||||
if (infile == NULL) {
|
||||
fclose(infile);
|
||||
fprintf(stderr, "unable to open file %s for reading\n", infname);
|
||||
return 1;
|
||||
}
|
||||
fseek(infile, 0, SEEK_END);
|
||||
long infsize = ftell(infile);
|
||||
fseek(infile, 0, SEEK_SET);
|
||||
if (infsize != end - vma) {
|
||||
fclose(infile);
|
||||
fprintf(stderr, "compressed size does not match file size, I am cowardly doing nothing\n");
|
||||
return 0;
|
||||
}
|
||||
unsigned char * inbuf = malloc(infsize);
|
||||
if (inbuf == NULL) {
|
||||
fclose(infile);
|
||||
fprintf(stderr, "error: malloc(%d)\n", (int)infsize);
|
||||
return 1;
|
||||
}
|
||||
if (fread(inbuf, 1, infsize, infile) != infsize) {
|
||||
fclose(infile);
|
||||
free(inbuf);
|
||||
fprintf(stderr, "error reading from %s\n", infname);
|
||||
return 1;
|
||||
}
|
||||
uint32_t outsize = MIi_UncompressBackwards(&inbuf, end - vma);
|
||||
if (outsize == -1u) {
|
||||
fclose(infile);
|
||||
fprintf(stderr, "fatal error reallocating for decompression\n");
|
||||
return 1;
|
||||
}
|
||||
fseek(infile, 0, SEEK_SET);
|
||||
if (fwrite(inbuf, 1, outsize, infile) != outsize) {
|
||||
fclose(infile);
|
||||
free(inbuf);
|
||||
fprintf(stderr, "error writing back to %s\n", infname);
|
||||
return 1;
|
||||
}
|
||||
fclose(infile);
|
||||
free(inbuf);
|
||||
return 0;
|
||||
}
|
@ -1,130 +1,130 @@
|
||||
00ab8cf7472d4a224e7c19f325993dbf72ea5762 *build/soulsilver.us/main.sbin
|
||||
89b86d065a2b5b3523ba1cb9e05284ffb792b228 *build/heartgold.us/OVY_0.sbin
|
||||
c6e9e0b570385e4e0bb794cc3389d1cdb7d49413 *build/heartgold.us/OVY_1.sbin
|
||||
572830dabaaeed54d8259caf6175762eb657f32d *build/heartgold.us/OVY_2.sbin
|
||||
e97f98cbb5f33ee8217d1f67a19e5010940ab2c2 *build/heartgold.us/OVY_3.sbin
|
||||
b8df5a75938349a9a9e2b4f8fcaf2c83bf6058ab *build/heartgold.us/OVY_4.sbin
|
||||
113cc9acc15c8f6b92b086c004f507a47dca5e84 *build/heartgold.us/OVY_5.sbin
|
||||
07297b11d135ece753d625a4d73af929081eb7b0 *build/heartgold.us/OVY_6.sbin
|
||||
0d207f5d39d398a2a0c99adc492bdca2b1bc7497 *build/heartgold.us/OVY_7.sbin
|
||||
6b642b775796a8d58411f9c147fdead26b6bf144 *build/heartgold.us/OVY_8.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_9.sbin
|
||||
c01a051f637c3b2ba6919455279cf7aa5c918508 *build/heartgold.us/OVY_10.sbin
|
||||
268e56dde1d8e2b57b1a1b9ef4d2fd0beec1c4bd *build/heartgold.us/OVY_100.sbin
|
||||
06670c70fb884878bfb435711afde0b7eba0336f *build/heartgold.us/OVY_101.sbin
|
||||
1d413da9b4baaf07c57d59d57f6cfe439c34c422 *build/heartgold.us/OVY_102.sbin
|
||||
304b728ad380ff085693171b9d0de506ac0cf47f *build/heartgold.us/OVY_103.sbin
|
||||
d18c5bce20913c3024da654e160a36132370c626 *build/heartgold.us/OVY_104.sbin
|
||||
a67e1ab6e8276fea61c4cee4b914ea216e781cc1 *build/heartgold.us/OVY_105.sbin
|
||||
6f43d0de85fd38d2c0cde847701b7af7aba607ef *build/heartgold.us/OVY_106.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_107.sbin
|
||||
ca403ee586aeea8326812470073fe8d2c8f31cdf *build/heartgold.us/OVY_108.sbin
|
||||
7e9844c684b04c93cbfbfb97d73eccbbd9de0485 *build/heartgold.us/OVY_109.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_11.sbin
|
||||
67f754afe03eee104a79fca24eb34b6367ec6e9d *build/heartgold.us/OVY_110.sbin
|
||||
066bfd55f1b56200529bb23defd02a15f34305dd *build/heartgold.us/OVY_111.sbin
|
||||
b41527285c55b5be0800e6bd53f76ff1be2c52d0 *build/heartgold.us/OVY_112.sbin
|
||||
7d30f7ea477c62b44580d9b496e5e5c656ea01b4 *build/heartgold.us/OVY_113.sbin
|
||||
6f652abe562ace420e927df10baf36850417333e *build/heartgold.us/OVY_114.sbin
|
||||
b75bc0b74397a4c7c2bdb34001df6eb4fa61f203 *build/heartgold.us/OVY_115.sbin
|
||||
6ffc17a83b89c031d4987afdb51c029db5183536 *build/heartgold.us/OVY_116.sbin
|
||||
a2bc539070f78eb7326ff5066b75c93d2fa44d9f *build/heartgold.us/OVY_117.sbin
|
||||
e24c855c6f2d1c73de9d8997a7b42340b14a9e87 *build/heartgold.us/OVY_118.sbin
|
||||
e0567b66ca3334dd170b4a5272ba96d298eacf60 *build/heartgold.us/OVY_119.sbin
|
||||
6a46e6dbc14ca92e1b31dfb626e5127806638583 *build/heartgold.us/OVY_12.sbin
|
||||
a4d6bfcffdc8a74b69c6a219964cab4a74a990e2 *build/heartgold.us/OVY_120.sbin
|
||||
e20f8895733123694eb8855c3ca54f389aaae742 *build/heartgold.us/OVY_121.sbin
|
||||
cb360f447c1e78a0d7c0840f2f443ad8d59ba3d7 *build/heartgold.us/OVY_122.sbin
|
||||
46f3a1dbd549ce4402eafbe07a5e59a7572cc161 *build/heartgold.us/OVY_123.sbin
|
||||
8d16841222871c68c1c8e1d8fd4012bc83f6fe81 *build/heartgold.us/OVY_124.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_125.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_126.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_127.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_128.sbin
|
||||
a06cdb2042b7519f16bcf6bc802f19fe270d2924 *build/heartgold.us/OVY_13.sbin
|
||||
219ec61f728c7d350416c628f7eb20d08347ab7b *build/heartgold.us/OVY_14.sbin
|
||||
506f277223b5f362eff3c2eb019b132621f750a2 *build/heartgold.us/OVY_15.sbin
|
||||
1265a099d9a1c24547a1f10077a80db4221bc57a *build/heartgold.us/OVY_16.sbin
|
||||
e45caac134e96653459435216bb51ce8403f9d9d *build/heartgold.us/OVY_17.sbin
|
||||
cb7e40993ae7aec8701cdc4f3a7eafb381556f24 *build/heartgold.us/OVY_18.sbin
|
||||
f720c7bb09961bafdf953956c19f0266ba7b68bf *build/heartgold.us/OVY_19.sbin
|
||||
4ea3b1698cf500e5cc5c145765b59f29adb557d4 *build/heartgold.us/OVY_20.sbin
|
||||
27c2a903545f0cf2bb645bda897fa52fadc7adbf *build/heartgold.us/OVY_21.sbin
|
||||
158ce100b69a8de3fcd1f2f0fe9000fca7367dab *build/heartgold.us/OVY_22.sbin
|
||||
2f0bd9000c63d29d0d1d6450d9bb8a716803df60 *build/heartgold.us/OVY_23.sbin
|
||||
644cfb67fc9410919b5e3c21db4d47dc69436e20 *build/heartgold.us/OVY_24.sbin
|
||||
58960dd33c05fee0d652e935dd94842b4c31e940 *build/heartgold.us/OVY_25.sbin
|
||||
b618bef9a876fd5139134ba270370819c0869070 *build/heartgold.us/OVY_26.sbin
|
||||
da2964cd26678a1763f1d9dd10e115bd128a8947 *build/heartgold.us/OVY_27.sbin
|
||||
1a6fa0b7a4ec0b21ad93717d8f9483d64bf9c119 *build/heartgold.us/OVY_28.sbin
|
||||
18e50707ac59da1c942e188a252f53649e7730a2 *build/heartgold.us/OVY_29.sbin
|
||||
995387c3be7e04c6ead1ccc755f97f08da3f5d97 *build/heartgold.us/OVY_30.sbin
|
||||
47277eebb9327ebaa336ce61c3c612456e220792 *build/heartgold.us/OVY_31.sbin
|
||||
11063ae70fb5ef7ea516194b1491fe56d211554c *build/heartgold.us/OVY_32.sbin
|
||||
d0e987632c2d14ab783a8a6db7b1636dca13240a *build/heartgold.us/OVY_33.sbin
|
||||
76b6ce9581213a67faaabdc0a38cfc405fbe774b *build/heartgold.us/OVY_34.sbin
|
||||
e45591febda801324c6d28b34a79949a7b506870 *build/heartgold.us/OVY_35.sbin
|
||||
b1f2e095bfcde7917be729b80bed0f6db663516c *build/heartgold.us/OVY_36.sbin
|
||||
fc4bd0fcf0064b8a84c1aa0ce1da59c33c1c767d *build/heartgold.us/OVY_37.sbin
|
||||
21a1fc156d60f483990ff7651169f32330b1c593 *build/heartgold.us/OVY_38.sbin
|
||||
8d947424b8fa916f391c98362fa47308a3217e08 *build/heartgold.us/OVY_39.sbin
|
||||
87d352db215d1a856415cd0349b0309447c971b1 *build/heartgold.us/OVY_40.sbin
|
||||
488e8b34b2b4dedc3e4f90d02ea776e08ab4f777 *build/heartgold.us/OVY_41.sbin
|
||||
96e40c7181cbf449f35121cea8b3a804baf951fe *build/heartgold.us/OVY_42.sbin
|
||||
c23ea534de764126f1e14b2f02009b18fc2dd13f *build/heartgold.us/OVY_43.sbin
|
||||
394491b799aab641b34b357c3442a2b0ebba2a50 *build/heartgold.us/OVY_44.sbin
|
||||
109e7a80731e4da6adb12b9699c098202623345f *build/heartgold.us/OVY_45.sbin
|
||||
c706ac75eba3dec5f59954cebcfdc38190bc2bd7 *build/heartgold.us/OVY_46.sbin
|
||||
17a01d53063a9e51265ca804794673be21c74384 *build/heartgold.us/OVY_47.sbin
|
||||
a808dce341dbd1dfb00e1bb5559abb8acee49966 *build/heartgold.us/OVY_48.sbin
|
||||
f9744c1f8791d3d11f83ee8e71096f224e910ff5 *build/heartgold.us/OVY_49.sbin
|
||||
3541eb8d52712a14134441284917f1c60ec26fca *build/heartgold.us/OVY_50.sbin
|
||||
1745104f347e987d72f6eee807bc594d70d0b79a *build/heartgold.us/OVY_51.sbin
|
||||
ec5322fc86adb5e49b1718fa213c1e4955720aed *build/heartgold.us/OVY_52.sbin
|
||||
4ae0c56965636eb6e5ef168602ddf5f695dc2c83 *build/heartgold.us/OVY_53.sbin
|
||||
582e5070cb3ea5c7ba004576ee988ffd9d5d273e *build/heartgold.us/OVY_54.sbin
|
||||
93428cd143fa3d5cfe728076b4c2b5ea142f3284 *build/heartgold.us/OVY_55.sbin
|
||||
15550ce45939eee4043bb7e41894385ae935c089 *build/heartgold.us/OVY_56.sbin
|
||||
e7db2d70f8beecd403f10a090f7223751cecbaa5 *build/heartgold.us/OVY_57.sbin
|
||||
a82faccbc115614b9a505638f71a3f4029ae6ba4 *build/heartgold.us/OVY_58.sbin
|
||||
7e0d2e3b47aa3fc78ca2d617a1ca5da3c73f9039 *build/heartgold.us/OVY_59.sbin
|
||||
90aa4434a85409a220b244597ac8f2ce49240313 *build/heartgold.us/OVY_60.sbin
|
||||
4a383d0bd29cdf5d3640d400e5a0671296593aa2 *build/heartgold.us/OVY_61.sbin
|
||||
8b225d7dfd8ddfaf1d7807d0b0eddd4b58bf24c9 *build/heartgold.us/OVY_62.sbin
|
||||
3241fbbf49a15e0d8a45e4e00758b1669bf9e1e6 *build/heartgold.us/OVY_63.sbin
|
||||
250b5a658960459aa3c7b67f1f6988c9d3eb1324 *build/heartgold.us/OVY_64.sbin
|
||||
39ddeb77646e2296dc27ac8f3772b8b99ff2aa5c *build/heartgold.us/OVY_65.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_66.sbin
|
||||
f918e987bc65ceac2f4f39725ea84016a6d34fb9 *build/heartgold.us/OVY_67.sbin
|
||||
ca7a410ea52e912cbae8bedc5a211e317e5feaab *build/heartgold.us/OVY_68.sbin
|
||||
76a620ac34b2d7d8e47f39599e85a8b856b512ac *build/heartgold.us/OVY_69.sbin
|
||||
8ea19e4062ebbd97bad1824f2274edef99a9296f *build/heartgold.us/OVY_70.sbin
|
||||
fb9d9ede152af9051a02250169610f4366900bf3 *build/heartgold.us/OVY_71.sbin
|
||||
5ab9af08a00582e818746de7543e34014b379a83 *build/heartgold.us/OVY_72.sbin
|
||||
222c97ae512e76273f607a68806024379f2c3662 *build/heartgold.us/OVY_73.sbin
|
||||
c89c5b9496cb967df817641e6c021f74ec8f37d4 *build/heartgold.us/OVY_74.sbin
|
||||
2defca91fb335bec80051767f686a66e5b7f1f1f *build/heartgold.us/OVY_75.sbin
|
||||
9b2eaa0c6bba33cec913d01e33ddda3f8ed3ef38 *build/heartgold.us/OVY_76.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_77.sbin
|
||||
ff262de0394edb7421fb7b7f5fcbdccfbe652bde *build/heartgold.us/OVY_78.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/heartgold.us/OVY_79.sbin
|
||||
a6a008a9cdc439cc55a878fe6478fb23f347baec *build/heartgold.us/OVY_80.sbin
|
||||
7b6f25a18e5a3496deafd27f0046e68b335f615e *build/heartgold.us/OVY_81.sbin
|
||||
12c611395f8173df28d7f1634cc1f9aa6729bdb1 *build/heartgold.us/OVY_82.sbin
|
||||
b4ddcd397a99b1cb56b5f38afda93bdf399a08be *build/heartgold.us/OVY_83.sbin
|
||||
c6198c6f73d79a802fe534d871de0a0147fb464d *build/heartgold.us/OVY_84.sbin
|
||||
6bd7f78dc5d54dc64a4e47cfe7b5a5e0833d37e5 *build/heartgold.us/OVY_85.sbin
|
||||
e333ed9fbfb5ee8ee0075c468b8bf5a1699f01ca *build/heartgold.us/OVY_86.sbin
|
||||
c1c0587b6cb3861ab1d8ba4d9e8ddc9c65e09bb6 *build/heartgold.us/OVY_87.sbin
|
||||
44ecd10c81a27d75f62281e0292e54ae96d1b274 *build/heartgold.us/OVY_88.sbin
|
||||
990d0900408eae964cee779b204bf34c666de846 *build/heartgold.us/OVY_89.sbin
|
||||
5b83b955bc0a262b4be6b87c1e733bcf2be7d2ec *build/heartgold.us/OVY_90.sbin
|
||||
d6fe528049ed99af97c8f7134cc0340d55eaf17b *build/heartgold.us/OVY_91.sbin
|
||||
5e259fc19b14a04005dc5b58f3338fddd02a770b *build/heartgold.us/OVY_92.sbin
|
||||
03a2950b01228faec992928ad2eb72dc456d0746 *build/heartgold.us/OVY_93.sbin
|
||||
d579214d977724ac5db434e37761e1e626ef1e65 *build/heartgold.us/OVY_94.sbin
|
||||
169fba3c54020f13b1b6faa86dad9f6882c6f05a *build/heartgold.us/OVY_95.sbin
|
||||
cc58326fb4471809f52211a2807dcab2db5638e2 *build/heartgold.us/OVY_96.sbin
|
||||
ebcf201ff1858cb93f37caf1e8a2fda9912532ea *build/heartgold.us/OVY_97.sbin
|
||||
ea9cbdebae65eec03b685de516f46663cc1d753f *build/heartgold.us/OVY_98.sbin
|
||||
e799df56e18a2de6c773b6f30968027951e290e6 *build/heartgold.us/OVY_99.sbin
|
||||
89b86d065a2b5b3523ba1cb9e05284ffb792b228 *build/soulsilver.us/OVY_0.sbin
|
||||
69f08a2e65c706d69e09f853ade56fda3639bde5 *build/soulsilver.us/OVY_1.sbin
|
||||
2296b7d7875588a900bca7f725409bdac062825b *build/soulsilver.us/OVY_2.sbin
|
||||
e97f98cbb5f33ee8217d1f67a19e5010940ab2c2 *build/soulsilver.us/OVY_3.sbin
|
||||
b8df5a75938349a9a9e2b4f8fcaf2c83bf6058ab *build/soulsilver.us/OVY_4.sbin
|
||||
113cc9acc15c8f6b92b086c004f507a47dca5e84 *build/soulsilver.us/OVY_5.sbin
|
||||
07297b11d135ece753d625a4d73af929081eb7b0 *build/soulsilver.us/OVY_6.sbin
|
||||
0d207f5d39d398a2a0c99adc492bdca2b1bc7497 *build/soulsilver.us/OVY_7.sbin
|
||||
6b642b775796a8d58411f9c147fdead26b6bf144 *build/soulsilver.us/OVY_8.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_9.sbin
|
||||
c01a051f637c3b2ba6919455279cf7aa5c918508 *build/soulsilver.us/OVY_10.sbin
|
||||
268e56dde1d8e2b57b1a1b9ef4d2fd0beec1c4bd *build/soulsilver.us/OVY_100.sbin
|
||||
06670c70fb884878bfb435711afde0b7eba0336f *build/soulsilver.us/OVY_101.sbin
|
||||
1d413da9b4baaf07c57d59d57f6cfe439c34c422 *build/soulsilver.us/OVY_102.sbin
|
||||
304b728ad380ff085693171b9d0de506ac0cf47f *build/soulsilver.us/OVY_103.sbin
|
||||
d18c5bce20913c3024da654e160a36132370c626 *build/soulsilver.us/OVY_104.sbin
|
||||
a67e1ab6e8276fea61c4cee4b914ea216e781cc1 *build/soulsilver.us/OVY_105.sbin
|
||||
6f43d0de85fd38d2c0cde847701b7af7aba607ef *build/soulsilver.us/OVY_106.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_107.sbin
|
||||
ca403ee586aeea8326812470073fe8d2c8f31cdf *build/soulsilver.us/OVY_108.sbin
|
||||
7e9844c684b04c93cbfbfb97d73eccbbd9de0485 *build/soulsilver.us/OVY_109.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_11.sbin
|
||||
67f754afe03eee104a79fca24eb34b6367ec6e9d *build/soulsilver.us/OVY_110.sbin
|
||||
066bfd55f1b56200529bb23defd02a15f34305dd *build/soulsilver.us/OVY_111.sbin
|
||||
9951646ac4a1e7560de24d50d53f3b037a214242 *build/soulsilver.us/OVY_112.sbin
|
||||
7d30f7ea477c62b44580d9b496e5e5c656ea01b4 *build/soulsilver.us/OVY_113.sbin
|
||||
6f652abe562ace420e927df10baf36850417333e *build/soulsilver.us/OVY_114.sbin
|
||||
b75bc0b74397a4c7c2bdb34001df6eb4fa61f203 *build/soulsilver.us/OVY_115.sbin
|
||||
6ffc17a83b89c031d4987afdb51c029db5183536 *build/soulsilver.us/OVY_116.sbin
|
||||
a2bc539070f78eb7326ff5066b75c93d2fa44d9f *build/soulsilver.us/OVY_117.sbin
|
||||
e24c855c6f2d1c73de9d8997a7b42340b14a9e87 *build/soulsilver.us/OVY_118.sbin
|
||||
e0567b66ca3334dd170b4a5272ba96d298eacf60 *build/soulsilver.us/OVY_119.sbin
|
||||
759fdf86064a041d2cb741df1aeae6943ac71f69 *build/soulsilver.us/OVY_12.sbin
|
||||
a4d6bfcffdc8a74b69c6a219964cab4a74a990e2 *build/soulsilver.us/OVY_120.sbin
|
||||
e20f8895733123694eb8855c3ca54f389aaae742 *build/soulsilver.us/OVY_121.sbin
|
||||
cb360f447c1e78a0d7c0840f2f443ad8d59ba3d7 *build/soulsilver.us/OVY_122.sbin
|
||||
46f3a1dbd549ce4402eafbe07a5e59a7572cc161 *build/soulsilver.us/OVY_123.sbin
|
||||
8d16841222871c68c1c8e1d8fd4012bc83f6fe81 *build/soulsilver.us/OVY_124.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_125.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_126.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_127.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_128.sbin
|
||||
a06cdb2042b7519f16bcf6bc802f19fe270d2924 *build/soulsilver.us/OVY_13.sbin
|
||||
219ec61f728c7d350416c628f7eb20d08347ab7b *build/soulsilver.us/OVY_14.sbin
|
||||
506f277223b5f362eff3c2eb019b132621f750a2 *build/soulsilver.us/OVY_15.sbin
|
||||
1265a099d9a1c24547a1f10077a80db4221bc57a *build/soulsilver.us/OVY_16.sbin
|
||||
e45caac134e96653459435216bb51ce8403f9d9d *build/soulsilver.us/OVY_17.sbin
|
||||
9a95e5c4334c722c2177fb57e862be049a558575 *build/soulsilver.us/OVY_18.sbin
|
||||
f720c7bb09961bafdf953956c19f0266ba7b68bf *build/soulsilver.us/OVY_19.sbin
|
||||
4ea3b1698cf500e5cc5c145765b59f29adb557d4 *build/soulsilver.us/OVY_20.sbin
|
||||
27c2a903545f0cf2bb645bda897fa52fadc7adbf *build/soulsilver.us/OVY_21.sbin
|
||||
158ce100b69a8de3fcd1f2f0fe9000fca7367dab *build/soulsilver.us/OVY_22.sbin
|
||||
2f0bd9000c63d29d0d1d6450d9bb8a716803df60 *build/soulsilver.us/OVY_23.sbin
|
||||
644cfb67fc9410919b5e3c21db4d47dc69436e20 *build/soulsilver.us/OVY_24.sbin
|
||||
f61cb999a2afc6bde6a106fad6bbc24eba61efb3 *build/soulsilver.us/OVY_25.sbin
|
||||
b618bef9a876fd5139134ba270370819c0869070 *build/soulsilver.us/OVY_26.sbin
|
||||
da2964cd26678a1763f1d9dd10e115bd128a8947 *build/soulsilver.us/OVY_27.sbin
|
||||
1a6fa0b7a4ec0b21ad93717d8f9483d64bf9c119 *build/soulsilver.us/OVY_28.sbin
|
||||
18e50707ac59da1c942e188a252f53649e7730a2 *build/soulsilver.us/OVY_29.sbin
|
||||
995387c3be7e04c6ead1ccc755f97f08da3f5d97 *build/soulsilver.us/OVY_30.sbin
|
||||
47277eebb9327ebaa336ce61c3c612456e220792 *build/soulsilver.us/OVY_31.sbin
|
||||
11063ae70fb5ef7ea516194b1491fe56d211554c *build/soulsilver.us/OVY_32.sbin
|
||||
d0e987632c2d14ab783a8a6db7b1636dca13240a *build/soulsilver.us/OVY_33.sbin
|
||||
76b6ce9581213a67faaabdc0a38cfc405fbe774b *build/soulsilver.us/OVY_34.sbin
|
||||
e45591febda801324c6d28b34a79949a7b506870 *build/soulsilver.us/OVY_35.sbin
|
||||
b1f2e095bfcde7917be729b80bed0f6db663516c *build/soulsilver.us/OVY_36.sbin
|
||||
fc4bd0fcf0064b8a84c1aa0ce1da59c33c1c767d *build/soulsilver.us/OVY_37.sbin
|
||||
21a1fc156d60f483990ff7651169f32330b1c593 *build/soulsilver.us/OVY_38.sbin
|
||||
2a99c14469bb07d3ffa57620e64f45cf851fa42a *build/soulsilver.us/OVY_39.sbin
|
||||
87d352db215d1a856415cd0349b0309447c971b1 *build/soulsilver.us/OVY_40.sbin
|
||||
488e8b34b2b4dedc3e4f90d02ea776e08ab4f777 *build/soulsilver.us/OVY_41.sbin
|
||||
96e40c7181cbf449f35121cea8b3a804baf951fe *build/soulsilver.us/OVY_42.sbin
|
||||
c23ea534de764126f1e14b2f02009b18fc2dd13f *build/soulsilver.us/OVY_43.sbin
|
||||
394491b799aab641b34b357c3442a2b0ebba2a50 *build/soulsilver.us/OVY_44.sbin
|
||||
4880e05b4823bb169938ce020b23902e54226191 *build/soulsilver.us/OVY_45.sbin
|
||||
c706ac75eba3dec5f59954cebcfdc38190bc2bd7 *build/soulsilver.us/OVY_46.sbin
|
||||
17a01d53063a9e51265ca804794673be21c74384 *build/soulsilver.us/OVY_47.sbin
|
||||
a808dce341dbd1dfb00e1bb5559abb8acee49966 *build/soulsilver.us/OVY_48.sbin
|
||||
f9744c1f8791d3d11f83ee8e71096f224e910ff5 *build/soulsilver.us/OVY_49.sbin
|
||||
3541eb8d52712a14134441284917f1c60ec26fca *build/soulsilver.us/OVY_50.sbin
|
||||
1745104f347e987d72f6eee807bc594d70d0b79a *build/soulsilver.us/OVY_51.sbin
|
||||
ec5322fc86adb5e49b1718fa213c1e4955720aed *build/soulsilver.us/OVY_52.sbin
|
||||
4ae0c56965636eb6e5ef168602ddf5f695dc2c83 *build/soulsilver.us/OVY_53.sbin
|
||||
582e5070cb3ea5c7ba004576ee988ffd9d5d273e *build/soulsilver.us/OVY_54.sbin
|
||||
93428cd143fa3d5cfe728076b4c2b5ea142f3284 *build/soulsilver.us/OVY_55.sbin
|
||||
15550ce45939eee4043bb7e41894385ae935c089 *build/soulsilver.us/OVY_56.sbin
|
||||
e7db2d70f8beecd403f10a090f7223751cecbaa5 *build/soulsilver.us/OVY_57.sbin
|
||||
a82faccbc115614b9a505638f71a3f4029ae6ba4 *build/soulsilver.us/OVY_58.sbin
|
||||
7e0d2e3b47aa3fc78ca2d617a1ca5da3c73f9039 *build/soulsilver.us/OVY_59.sbin
|
||||
a59337cb346f755bc2a90e46ce9af82ca113ed81 *build/soulsilver.us/OVY_60.sbin
|
||||
4a383d0bd29cdf5d3640d400e5a0671296593aa2 *build/soulsilver.us/OVY_61.sbin
|
||||
29c7bc0307d14c340951108551bccc3c812e9052 *build/soulsilver.us/OVY_62.sbin
|
||||
3241fbbf49a15e0d8a45e4e00758b1669bf9e1e6 *build/soulsilver.us/OVY_63.sbin
|
||||
250b5a658960459aa3c7b67f1f6988c9d3eb1324 *build/soulsilver.us/OVY_64.sbin
|
||||
39ddeb77646e2296dc27ac8f3772b8b99ff2aa5c *build/soulsilver.us/OVY_65.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_66.sbin
|
||||
f918e987bc65ceac2f4f39725ea84016a6d34fb9 *build/soulsilver.us/OVY_67.sbin
|
||||
ca7a410ea52e912cbae8bedc5a211e317e5feaab *build/soulsilver.us/OVY_68.sbin
|
||||
76a620ac34b2d7d8e47f39599e85a8b856b512ac *build/soulsilver.us/OVY_69.sbin
|
||||
4e862ad8891c0a37307b4fcc1e57bc93340ea436 *build/soulsilver.us/OVY_70.sbin
|
||||
fb9d9ede152af9051a02250169610f4366900bf3 *build/soulsilver.us/OVY_71.sbin
|
||||
5ab9af08a00582e818746de7543e34014b379a83 *build/soulsilver.us/OVY_72.sbin
|
||||
bbb27790c043c8b6985137283c04c8d74f4626ef *build/soulsilver.us/OVY_73.sbin
|
||||
639b32a11b63648e8c41911020aa84856e55a29e *build/soulsilver.us/OVY_74.sbin
|
||||
f63a6664ca45d0b719979623875b97db7148eab7 *build/soulsilver.us/OVY_75.sbin
|
||||
39b04344d2451a8c655cbc4ebac01fef116a5750 *build/soulsilver.us/OVY_76.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_77.sbin
|
||||
ff262de0394edb7421fb7b7f5fcbdccfbe652bde *build/soulsilver.us/OVY_78.sbin
|
||||
de8a847bff8c343d69b853a215e6ee775ef2ef96 *build/soulsilver.us/OVY_79.sbin
|
||||
a6a008a9cdc439cc55a878fe6478fb23f347baec *build/soulsilver.us/OVY_80.sbin
|
||||
7b6f25a18e5a3496deafd27f0046e68b335f615e *build/soulsilver.us/OVY_81.sbin
|
||||
12c611395f8173df28d7f1634cc1f9aa6729bdb1 *build/soulsilver.us/OVY_82.sbin
|
||||
b4ddcd397a99b1cb56b5f38afda93bdf399a08be *build/soulsilver.us/OVY_83.sbin
|
||||
c6198c6f73d79a802fe534d871de0a0147fb464d *build/soulsilver.us/OVY_84.sbin
|
||||
6bd7f78dc5d54dc64a4e47cfe7b5a5e0833d37e5 *build/soulsilver.us/OVY_85.sbin
|
||||
e333ed9fbfb5ee8ee0075c468b8bf5a1699f01ca *build/soulsilver.us/OVY_86.sbin
|
||||
c1c0587b6cb3861ab1d8ba4d9e8ddc9c65e09bb6 *build/soulsilver.us/OVY_87.sbin
|
||||
44ecd10c81a27d75f62281e0292e54ae96d1b274 *build/soulsilver.us/OVY_88.sbin
|
||||
990d0900408eae964cee779b204bf34c666de846 *build/soulsilver.us/OVY_89.sbin
|
||||
5b83b955bc0a262b4be6b87c1e733bcf2be7d2ec *build/soulsilver.us/OVY_90.sbin
|
||||
d6fe528049ed99af97c8f7134cc0340d55eaf17b *build/soulsilver.us/OVY_91.sbin
|
||||
5e259fc19b14a04005dc5b58f3338fddd02a770b *build/soulsilver.us/OVY_92.sbin
|
||||
03a2950b01228faec992928ad2eb72dc456d0746 *build/soulsilver.us/OVY_93.sbin
|
||||
d579214d977724ac5db434e37761e1e626ef1e65 *build/soulsilver.us/OVY_94.sbin
|
||||
169fba3c54020f13b1b6faa86dad9f6882c6f05a *build/soulsilver.us/OVY_95.sbin
|
||||
cc58326fb4471809f52211a2807dcab2db5638e2 *build/soulsilver.us/OVY_96.sbin
|
||||
ebcf201ff1858cb93f37caf1e8a2fda9912532ea *build/soulsilver.us/OVY_97.sbin
|
||||
ea9cbdebae65eec03b685de516f46663cc1d753f *build/soulsilver.us/OVY_98.sbin
|
||||
e799df56e18a2de6c773b6f30968027951e290e6 *build/soulsilver.us/OVY_99.sbin
|
||||
|
Loading…
x
Reference in New Issue
Block a user