diff options
author | Cleverking2003 <30466983+Cleverking2003@users.noreply.github.com> | 2020-09-23 18:59:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-23 18:59:36 +0300 |
commit | 311f383ea4ef3d7f3d0682b5d889b62cd0fe2f77 (patch) | |
tree | 487523748fcae6999cebe81f2fab14be48506caf | |
parent | f8bd464bad0f8eb0c15077da4e0be1ba0dbd9976 (diff) | |
parent | 7f41d4a021c2653b6c7681b12ecde6885c7d0290 (diff) |
Merge pull request #287 from red031000/master
some itemtool images, arm7 OS_context, arm9 PXI_init
39 files changed, 168 insertions, 87 deletions
diff --git a/arm7/asm/OS_context.s b/arm7/asm/OS_context.s deleted file mode 100644 index 21479b1f..00000000 --- a/arm7/asm/OS_context.s +++ /dev/null @@ -1,65 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - arm_func_start OS_InitContext -OS_InitContext: ; 0x037F9740 - add r1, r1, #4 - str r1, [r0, #64] ; 0x40 - str r2, [r0, #68] ; 0x44 - sub r2, r2, #64 ; 0x40 - tst r2, #4 - subne r2, r2, #4 - str r2, [r0, #56] ; 0x38 - ands r1, r1, #1 - movne r1, #63 ; 0x3f - moveq r1, #31 - str r1, [r0] - mov r1, #0 - str r1, [r0, #4] - str r1, [r0, #8] - str r1, [r0, #12] - str r1, [r0, #16] - str r1, [r0, #20] - str r1, [r0, #24] - str r1, [r0, #28] - str r1, [r0, #32] - str r1, [r0, #36] ; 0x24 - str r1, [r0, #40] ; 0x28 - str r1, [r0, #44] ; 0x2c - str r1, [r0, #48] ; 0x30 - str r1, [r0, #52] ; 0x34 - str r1, [r0, #60] ; 0x3c - bx lr - - arm_func_start OS_SaveContext -OS_SaveContext: ; 0x037F97AC - add r1, r0, #0 - mrs r2, CPSR - str r2, [r1], #4 - mov r0, #211 ; 0xd3 - msr CPSR_c, r0 - str sp, [r1, #64] ; 0x40 - msr CPSR_c, r2 - mov r0, #1 - stmia r1, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr} - adr r0, _037F97E0 - str r0, [r1, #60] ; 0x3c - mov r0, #0 - bx lr - - arm_func_start OS_LoadContext -OS_LoadContext: ; 0x037F97E0 -_037F97E0: ; needed because otherwise it breaks - mrs r1, CPSR - bic r1, r1, #31 - orr r1, r1, #211 ; 0xd3 - msr CPSR_c, r1 - ldr r1, [r0], #4 - msr SPSR_fsxc, r1 - ldr sp, [r0, #64] ; 0x40 - ldr lr, [r0, #60] ; 0x3c - ldmia r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^ - nop ; (mov r0, r0) - subs pc, lr, #4 diff --git a/arm7/lib/include/OS_context.h b/arm7/lib/include/OS_context.h index b01ccb8b..6b18ebd5 100644 --- a/arm7/lib/include/OS_context.h +++ b/arm7/lib/include/OS_context.h @@ -13,8 +13,8 @@ typedef struct OSContext u32 sp_svc; } OSContext; -extern u32 OS_SaveContext(OSContext *context); -extern void OS_LoadContext(OSContext *context); -extern void OS_InitContext(OSContext *context, u32 func, u32 stack); +void OS_InitContext(register OSContext *context, register u32 newpc, register u32 newsp); +BOOL OS_SaveContext(register OSContext *context); +void OS_LoadContext(register OSContext *context); #endif //POKEDIAMOND_ARM7_OS_CONTEXT_H diff --git a/arm7/lib/src/OS_context.c b/arm7/lib/src/OS_context.c new file mode 100644 index 00000000..99a25bb1 --- /dev/null +++ b/arm7/lib/src/OS_context.c @@ -0,0 +1,79 @@ +#include "OS_context.h" +#include "consts.h" +#include "function_target.h" + +ARM_FUNC asm void OS_InitContext(register OSContext *context, register u32 newpc, register u32 newsp) +{ + add newpc, newpc, #4 + str newpc, [context, #0x40] + + str newsp, [context, #0x44] + sub newsp, newsp, #HW_SVC_STACK_SIZE + + tst newsp, #4 + subne newsp, newsp, #4 + str newsp, [context, #0x38] + + ands r1, newpc, #1 + movne r1, #0x3f + moveq r1, #0x1f + str r1, [context] + + mov r1, #0 + str r1, [context, #0x4] + str r1, [context, #0x8] + str r1, [context, #0xc] + str r1, [context, #0x10] + str r1, [context, #0x14] + str r1, [context, #0x18] + str r1, [context, #0x1c] + str r1, [context, #0x20] + str r1, [context, #0x24] + str r1, [context, #0x28] + str r1, [context, #0x2c] + str r1, [context, #0x30] + str r1, [context, #0x34] + str r1, [context, #0x3c] + + bx lr +} + +ARM_FUNC asm BOOL OS_SaveContext(register OSContext *context) +{ + add r1, r0, #0 + + mrs r2, cpsr + str r2, [r1], #0x4 + + mov r0, #0xd3 + msr cpsr_c, r0 + str sp, [r1, #0x40] + msr cpsr_c, r2 + + mov r0, #1 + stmia r1, {r0-r14} + add r0, pc, #8 + str r0, [r1, #0x3c] + + mov r0, #0 + bx lr +} + +ARM_FUNC asm void OS_LoadContext(register OSContext* context) +{ + mrs r1, cpsr + bic r1, r1, #HW_PSR_CPU_MODE_MASK + orr r1, r1, #0xd3 + msr cpsr_c, r1 + + ldr r1, [r0], #0x4 + msr spsr_fsxc, r1 + + ldr sp, [r0, #0x40] + + ldr lr, [r0, #0x3c] + ldmia r0, {r0-r14}^ + nop + + subs pc, lr, #4 +} diff --git a/arm9/asm/PXI_init.s b/arm9/asm/PXI_init.s deleted file mode 100644 index bc6123a3..00000000 --- a/arm9/asm/PXI_init.s +++ /dev/null @@ -1,11 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - arm_func_start PXI_Init -PXI_Init: ; 0x020CFBB0 - ldr ip, _020CFBB8 ; =PXI_InitFifo - bx r12 - .balign 4 -_020CFBB8: .word PXI_InitFifo diff --git a/arm9/lib/include/OS_context.h b/arm9/lib/include/OS_context.h index 7c25ce2e..d3e24673 100644 --- a/arm9/lib/include/OS_context.h +++ b/arm9/lib/include/OS_context.h @@ -1,5 +1,5 @@ -#ifndef POKEDIAMOND_OS_CONTEXT_H -#define POKEDIAMOND_OS_CONTEXT_H +#ifndef POKEDIAMOND_ARM9_OS_CONTEXT_H +#define POKEDIAMOND_ARM9_OS_CONTEXT_H #include "nitro/types.h" #include "CP_context.h" @@ -16,7 +16,7 @@ typedef struct OSContext } OSContext; void OS_InitContext(register OSContext *context, register u32 newpc, register u32 newsp); -BOOL OS_SaveContext(OSContext *context); -void OS_LoadContext(OSContext *context); +BOOL OS_SaveContext(register OSContext *context); +void OS_LoadContext(register OSContext *context); -#endif //POKEDIAMOND_OS_CONTEXT_H +#endif //POKEDIAMOND_ARM9_OS_CONTEXT_H diff --git a/arm9/lib/include/PXI_init.h b/arm9/lib/include/PXI_init.h new file mode 100644 index 00000000..5c330c9c --- /dev/null +++ b/arm9/lib/include/PXI_init.h @@ -0,0 +1,6 @@ +#ifndef POKEDIAMOND_PXI_INIT_H +#define POKEDIAMOND_PXI_INIT_H + +void PXI_Init(void); + +#endif //POKEDIAMOND_PXI_INIT_H diff --git a/arm9/lib/src/OS_init.c b/arm9/lib/src/OS_init.c index 00355853..83e8a7d9 100644 --- a/arm9/lib/src/OS_init.c +++ b/arm9/lib/src/OS_init.c @@ -1,8 +1,8 @@ #include "function_target.h" #include "OS_init.h" #include "MI_init.h" +#include "PXI_init.h" -extern void PXI_Init(void); extern void CTRDG_Init(void); extern void CARD_Init(void); extern void PM_Init(void); diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/src/OS_reset.c index 2e333bb8..7331a7b0 100644 --- a/arm9/lib/src/OS_reset.c +++ b/arm9/lib/src/OS_reset.c @@ -9,11 +9,11 @@ #include "sections.h" #include "MI_dma.h" #include "CARD_common.h" +#include "PXI_init.h" static u16 OSi_IsInitReset = 0; vu16 OSi_IsResetOccurred = 0; -extern void PXI_Init(void); extern u32 PXI_IsCallbackReady(u32 param1, u32 param2); extern void PXI_SetFifoRecvCallback(u32 param1, void* callback); extern u32 PXI_SendWordByFifo(u32 param1, u32 data, u32 param2); diff --git a/arm9/lib/src/PXI_init.c b/arm9/lib/src/PXI_init.c new file mode 100644 index 00000000..f079ca3d --- /dev/null +++ b/arm9/lib/src/PXI_init.c @@ -0,0 +1,9 @@ +#include "PXI_init.h" +#include "function_target.h" + +extern void PXI_InitFifo(void); + +ARM_FUNC void PXI_Init(void) +{ + PXI_InitFifo(); +} diff --git a/files/itemtool/itemdata/item_icon/.gitignore b/files/itemtool/itemdata/item_icon/.gitignore index 5f446a70..190832e8 100644 --- a/files/itemtool/itemdata/item_icon/.gitignore +++ b/files/itemtool/itemdata/item_icon/.gitignore @@ -144,3 +144,21 @@ narc_0144.NCGR narc_0144.NCLR narc_0146.NCGR narc_0146.NCLR +narc_0148.NCGR +narc_0148.NCLR +narc_0150.NCGR +narc_0150.NCLR +narc_0152.NCGR +narc_0152.NCLR +narc_0154.NCGR +narc_0154.NCLR +narc_0156.NCGR +narc_0156.NCLR +narc_0158.NCGR +narc_0158.NCLR +narc_0160.NCGR +narc_0160.NCLR +narc_0162.NCGR +narc_0162.NCLR +narc_0164.NCGR +narc_0164.NCLR diff --git a/files/itemtool/itemdata/item_icon/narc_0148.NCGR b/files/itemtool/itemdata/item_icon/narc_0148.NCGR Binary files differdeleted file mode 100644 index fb3df5f1..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0148.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0148.png b/files/itemtool/itemdata/item_icon/narc_0148.png Binary files differnew file mode 100644 index 00000000..c7e82654 --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0148.png diff --git a/files/itemtool/itemdata/item_icon/narc_0149.NCLR b/files/itemtool/itemdata/item_icon/narc_0149.NCLR Binary files differdeleted file mode 100644 index 29d2c57f..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0149.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0150.NCGR b/files/itemtool/itemdata/item_icon/narc_0150.NCGR Binary files differdeleted file mode 100644 index 6f16aad9..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0150.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0150.png b/files/itemtool/itemdata/item_icon/narc_0150.png Binary files differnew file mode 100644 index 00000000..07232e02 --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0150.png diff --git a/files/itemtool/itemdata/item_icon/narc_0151.NCLR b/files/itemtool/itemdata/item_icon/narc_0151.NCLR Binary files differdeleted file mode 100644 index 2f63520e..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0151.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0152.NCGR b/files/itemtool/itemdata/item_icon/narc_0152.NCGR Binary files differdeleted file mode 100644 index bd6f7920..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0152.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0152.png b/files/itemtool/itemdata/item_icon/narc_0152.png Binary files differnew file mode 100644 index 00000000..6eedd513 --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0152.png diff --git a/files/itemtool/itemdata/item_icon/narc_0153.NCLR b/files/itemtool/itemdata/item_icon/narc_0153.NCLR Binary files differdeleted file mode 100644 index afde875c..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0153.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0154.NCGR b/files/itemtool/itemdata/item_icon/narc_0154.NCGR Binary files differdeleted file mode 100644 index 91dcfde9..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0154.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0154.png b/files/itemtool/itemdata/item_icon/narc_0154.png Binary files differnew file mode 100644 index 00000000..53c93d6f --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0154.png diff --git a/files/itemtool/itemdata/item_icon/narc_0155.NCLR b/files/itemtool/itemdata/item_icon/narc_0155.NCLR Binary files differdeleted file mode 100644 index eeb4079f..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0155.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0156.NCGR b/files/itemtool/itemdata/item_icon/narc_0156.NCGR Binary files differdeleted file mode 100644 index 97aff7ce..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0156.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0156.png b/files/itemtool/itemdata/item_icon/narc_0156.png Binary files differnew file mode 100644 index 00000000..f1ddf5c6 --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0156.png diff --git a/files/itemtool/itemdata/item_icon/narc_0157.NCLR b/files/itemtool/itemdata/item_icon/narc_0157.NCLR Binary files differdeleted file mode 100644 index 1d75bf34..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0157.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0158.NCGR b/files/itemtool/itemdata/item_icon/narc_0158.NCGR Binary files differdeleted file mode 100644 index 6bc815f9..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0158.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0158.png b/files/itemtool/itemdata/item_icon/narc_0158.png Binary files differnew file mode 100644 index 00000000..fd6891e8 --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0158.png diff --git a/files/itemtool/itemdata/item_icon/narc_0159.NCLR b/files/itemtool/itemdata/item_icon/narc_0159.NCLR Binary files differdeleted file mode 100644 index 863d1893..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0159.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0160.NCGR b/files/itemtool/itemdata/item_icon/narc_0160.NCGR Binary files differdeleted file mode 100644 index 13b9c0b7..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0160.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0160.png b/files/itemtool/itemdata/item_icon/narc_0160.png Binary files differnew file mode 100644 index 00000000..e26c993c --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0160.png diff --git a/files/itemtool/itemdata/item_icon/narc_0161.NCLR b/files/itemtool/itemdata/item_icon/narc_0161.NCLR Binary files differdeleted file mode 100644 index ae173567..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0161.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0162.NCGR b/files/itemtool/itemdata/item_icon/narc_0162.NCGR Binary files differdeleted file mode 100644 index a49fbbca..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0162.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0162.png b/files/itemtool/itemdata/item_icon/narc_0162.png Binary files differnew file mode 100644 index 00000000..2a9f506d --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0162.png diff --git a/files/itemtool/itemdata/item_icon/narc_0163.NCLR b/files/itemtool/itemdata/item_icon/narc_0163.NCLR Binary files differdeleted file mode 100644 index 48348a5c..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0163.NCLR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0164.NCGR b/files/itemtool/itemdata/item_icon/narc_0164.NCGR Binary files differdeleted file mode 100644 index 8450af19..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0164.NCGR +++ /dev/null diff --git a/files/itemtool/itemdata/item_icon/narc_0164.png b/files/itemtool/itemdata/item_icon/narc_0164.png Binary files differnew file mode 100644 index 00000000..a948310a --- /dev/null +++ b/files/itemtool/itemdata/item_icon/narc_0164.png diff --git a/files/itemtool/itemdata/item_icon/narc_0165.NCLR b/files/itemtool/itemdata/item_icon/narc_0165.NCLR Binary files differdeleted file mode 100644 index 58db9595..00000000 --- a/files/itemtool/itemdata/item_icon/narc_0165.NCLR +++ /dev/null diff --git a/filesystem.mk b/filesystem.mk index ec0c9c10..77650c5b 100644 --- a/filesystem.mk +++ b/filesystem.mk @@ -1720,7 +1720,25 @@ files/itemtool/itemdata/item_icon.narc: \ files/itemtool/itemdata/item_icon/narc_0144.NCGR \ files/itemtool/itemdata/item_icon/narc_0144.NCLR \ files/itemtool/itemdata/item_icon/narc_0146.NCGR \ - files/itemtool/itemdata/item_icon/narc_0146.NCLR + files/itemtool/itemdata/item_icon/narc_0146.NCLR \ + files/itemtool/itemdata/item_icon/narc_0148.NCGR \ + files/itemtool/itemdata/item_icon/narc_0148.NCLR \ + files/itemtool/itemdata/item_icon/narc_0150.NCGR \ + files/itemtool/itemdata/item_icon/narc_0150.NCLR \ + files/itemtool/itemdata/item_icon/narc_0152.NCGR \ + files/itemtool/itemdata/item_icon/narc_0152.NCLR \ + files/itemtool/itemdata/item_icon/narc_0154.NCGR \ + files/itemtool/itemdata/item_icon/narc_0154.NCLR \ + files/itemtool/itemdata/item_icon/narc_0156.NCGR \ + files/itemtool/itemdata/item_icon/narc_0156.NCLR \ + files/itemtool/itemdata/item_icon/narc_0158.NCGR \ + files/itemtool/itemdata/item_icon/narc_0158.NCLR \ + files/itemtool/itemdata/item_icon/narc_0160.NCGR \ + files/itemtool/itemdata/item_icon/narc_0160.NCLR \ + files/itemtool/itemdata/item_icon/narc_0162.NCGR \ + files/itemtool/itemdata/item_icon/narc_0162.NCLR \ + files/itemtool/itemdata/item_icon/narc_0164.NCGR \ + files/itemtool/itemdata/item_icon/narc_0164.NCLR files/application/custom_ball/data/cb_data.narc: \ diff --git a/graphics_rules.mk b/graphics_rules.mk index 89c0397c..22b9152c 100644 --- a/graphics_rules.mk +++ b/graphics_rules.mk @@ -67,6 +67,15 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \ files/itemtool/itemdata/item_icon/narc_0142.NCGR \ files/itemtool/itemdata/item_icon/narc_0144.NCGR \ files/itemtool/itemdata/item_icon/narc_0146.NCGR \ + files/itemtool/itemdata/item_icon/narc_0148.NCGR \ + files/itemtool/itemdata/item_icon/narc_0150.NCGR \ + files/itemtool/itemdata/item_icon/narc_0152.NCGR \ + files/itemtool/itemdata/item_icon/narc_0154.NCGR \ + files/itemtool/itemdata/item_icon/narc_0156.NCGR \ + files/itemtool/itemdata/item_icon/narc_0158.NCGR \ + files/itemtool/itemdata/item_icon/narc_0160.NCGR \ + files/itemtool/itemdata/item_icon/narc_0162.NCGR \ + files/itemtool/itemdata/item_icon/narc_0164.NCGR \ files/poketool/icongra/poke_icon/narc_0007.NCGR \ files/poketool/icongra/poke_icon/narc_0008.NCGR \ files/poketool/icongra/poke_icon/narc_0009.NCGR \ @@ -437,6 +446,15 @@ NCGR_CLEAN_LIST := files/data/cell0.NCGR \ files/itemtool/itemdata/item_icon/narc_0142.NCGR \ files/itemtool/itemdata/item_icon/narc_0144.NCGR \ files/itemtool/itemdata/item_icon/narc_0146.NCGR \ + files/itemtool/itemdata/item_icon/narc_0148.NCGR \ + files/itemtool/itemdata/item_icon/narc_0150.NCGR \ + files/itemtool/itemdata/item_icon/narc_0152.NCGR \ + files/itemtool/itemdata/item_icon/narc_0154.NCGR \ + files/itemtool/itemdata/item_icon/narc_0156.NCGR \ + files/itemtool/itemdata/item_icon/narc_0158.NCGR \ + files/itemtool/itemdata/item_icon/narc_0160.NCGR \ + files/itemtool/itemdata/item_icon/narc_0162.NCGR \ + files/itemtool/itemdata/item_icon/narc_0164.NCGR \ files/poketool/icongra/poke_icon/narc_0007.NCGR \ files/poketool/icongra/poke_icon/narc_0008.NCGR \ files/poketool/icongra/poke_icon/narc_0009.NCGR \ @@ -671,6 +689,15 @@ NCLR_CLEAN_LIST := files/data/cell0.NCLR \ files/itemtool/itemdata/item_icon/narc_0142.NCLR \ files/itemtool/itemdata/item_icon/narc_0144.NCLR \ files/itemtool/itemdata/item_icon/narc_0146.NCLR \ + files/itemtool/itemdata/item_icon/narc_0148.NCLR \ + files/itemtool/itemdata/item_icon/narc_0150.NCLR \ + files/itemtool/itemdata/item_icon/narc_0152.NCLR \ + files/itemtool/itemdata/item_icon/narc_0154.NCLR \ + files/itemtool/itemdata/item_icon/narc_0156.NCLR \ + files/itemtool/itemdata/item_icon/narc_0158.NCLR \ + files/itemtool/itemdata/item_icon/narc_0160.NCLR \ + files/itemtool/itemdata/item_icon/narc_0162.NCLR \ + files/itemtool/itemdata/item_icon/narc_0164.NCLR \ files/poketool/icongra/poke_icon/narc_0000.NCLR \ files/poketool/pokegra/pokegra/narc_0010.NCLR \ files/poketool/pokegra/pokegra/narc_0011.NCLR \ |