summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com>2018-11-21 18:48:01 +0800
committernullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com>2018-11-21 18:48:44 +0800
commita611b9673e73eeb74af802250d9fee5157f76a20 (patch)
tree681fc11f70eebf10cc2c8b9966904ec6b9766aee
parent48d3cbf8b7026e5ad3f6ff2792dbfd3db6e53e2e (diff)
"Finish" decompiling bg_palette_buffer.s and m4a_2.s, and rename text variables
We all have our breaking points :matchlikethis:
-rw-r--r--asm/bg_palette_buffer.s148
-rw-r--r--asm/m4a_2.s70
-rw-r--r--asm/text.s2
-rw-r--r--include/global.h2
-rwxr-xr-xld_script.txt3
-rw-r--r--src/bg_palette_buffer.c165
-rw-r--r--src/m4a_2.c113
-rw-r--r--src/text.c18
-rw-r--r--sym_ewram.txt4
9 files changed, 281 insertions, 244 deletions
diff --git a/asm/bg_palette_buffer.s b/asm/bg_palette_buffer.s
deleted file mode 100644
index 9cafb43..0000000
--- a/asm/bg_palette_buffer.s
+++ /dev/null
@@ -1,148 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start InitBGPaletteBuffer
-InitBGPaletteBuffer:
- push {lr}
- movs r2, 0
- ldr r1, =gBGPaletteBuffer
- movs r0, 0x80
- lsls r0, 2
-_0800463E:
- strh r2, [r1]
- adds r1, 0x2
- subs r0, 0x1
- cmp r0, 0
- bne _0800463E
- ldr r1, =gBGPaletteUsed
- movs r2, 0x1
- adds r0, r1, 0
- adds r0, 0x1F
-_08004650:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08004650
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end InitBGPaletteBuffer
-
- thumb_func_start SetBGPaletteBufferColorRGB
-SetBGPaletteBufferColorRGB:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r2, 0
- bge _08004670
- movs r2, 0
-_08004670:
- cmp r2, 0x1F
- ble _08004676
- movs r2, 0x1F
-_08004676:
- ldr r1, =gBGPaletteUsed
- adds r0, r4, 0
- cmp r4, 0
- bge _08004680
- adds r0, 0xF
-_08004680:
- asrs r0, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- cmp r3, 0
- bne _080046D4
- ldr r0, =gBGPaletteBuffer
- lsls r1, r4, 1
- adds r6, r1, r0
- ldrb r0, [r5, 0x2]
- muls r0, r2
- cmp r0, 0
- bge _0800469C
- adds r0, 0xFF
-_0800469C:
- asrs r0, 8
- movs r3, 0x1F
- ands r0, r3
- lsls r4, r0, 10
- ldrb r0, [r5, 0x1]
- muls r0, r2
- cmp r0, 0
- bge _080046AE
- adds r0, 0xFF
-_080046AE:
- asrs r0, 8
- ands r0, r3
- lsls r1, r0, 5
- orrs r1, r4
- ldrb r0, [r5]
- muls r0, r2
- cmp r0, 0
- bge _080046C0
- adds r0, 0xFF
-_080046C0:
- asrs r0, 8
- ands r0, r3
- orrs r1, r0
- strh r1, [r6]
- b _08004722
- .align 2, 0
- .pool
-_080046D4:
- ldr r1, =gBGPaletteBuffer
- lsls r0, r4, 1
- adds r7, r0, r1
- ldrb r0, [r5, 0x2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x2]
- muls r0, r2
- cmp r0, 0
- bge _080046EA
- adds r0, 0xFF
-_080046EA:
- asrs r0, 8
- movs r4, 0x1F
- ands r0, r4
- lsls r6, r0, 10
- ldrb r0, [r5, 0x1]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- muls r0, r2
- cmp r0, 0
- bge _08004702
- adds r0, 0xFF
-_08004702:
- asrs r0, 8
- ands r0, r4
- lsls r1, r0, 5
- orrs r1, r6
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0]
- muls r0, r2
- cmp r0, 0
- bge _0800471A
- adds r0, 0xFF
-_0800471A:
- asrs r0, 8
- ands r0, r4
- orrs r1, r0
- strh r1, [r7]
-_08004722:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end SetBGPaletteBufferColorRGB
-
-.align 2, 0 @ Don't pad with nop. \ No newline at end of file
diff --git a/asm/m4a_2.s b/asm/m4a_2.s
deleted file mode 100644
index eb525ce..0000000
--- a/asm/m4a_2.s
+++ /dev/null
@@ -1,70 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/gba_constants.inc"
- .include "constants/m4a_constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CgbModVol
-CgbModVol:
- push {r4,lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- lsls r2, r0, 24
- lsrs r4, r2, 24
- ldrb r3, [r1, 0x3]
- lsls r0, r3, 24
- lsrs r3, r0, 24
- cmp r4, r3
- bcc _080AFA94
- lsrs r0, r2, 25
- cmp r0, r3
- bcc _080AFAA0
- movs r0, 0xF
- strb r0, [r1, 0x1B]
- b _080AFAAE
-_080AFA94:
- lsrs r0, 25
- cmp r0, r4
- bcc _080AFAA0
- movs r0, 0xF0
- strb r0, [r1, 0x1B]
- b _080AFAAE
-_080AFAA0:
- movs r0, 0xFF
- strb r0, [r1, 0x1B]
- ldrb r2, [r1, 0x3]
- ldrb r3, [r1, 0x2]
- adds r0, r2, r3
- lsrs r0, 4
- b _080AFABE
-_080AFAAE:
- ldrb r2, [r1, 0x3]
- ldrb r3, [r1, 0x2]
- adds r0, r2, r3
- lsrs r0, 4
- strb r0, [r1, 0xA]
- cmp r0, 0xF
- bls _080AFAC0
- movs r0, 0xF
-_080AFABE:
- strb r0, [r1, 0xA]
-_080AFAC0:
- ldrb r2, [r1, 0x6]
- ldrb r3, [r1, 0xA]
- adds r0, r2, 0
- muls r0, r3
- adds r0, 0xF
- asrs r0, 4
- strb r0, [r1, 0x19]
- ldrb r0, [r1, 0x1C]
- ldrb r2, [r1, 0x1B]
- ands r0, r2
- strb r0, [r1, 0x1B]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CgbModVol
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/text.s b/asm/text.s
index 98b8797..bbf990b 100644
--- a/asm/text.s
+++ b/asm/text.s
@@ -4468,7 +4468,7 @@ sub_8008584:
adds r1, r5, r1
b _08008624
.align 2, 0
-_080085C4: .4byte gUnknown_2027490
+_080085C4: .4byte gKanji
_080085C8: .4byte gUnknown_20274AC
_080085CC: .4byte 0xffff0800
_080085D0: .4byte 0x000007fe
diff --git a/include/global.h b/include/global.h
index 66c1b6d..b5a4593 100644
--- a/include/global.h
+++ b/include/global.h
@@ -24,6 +24,8 @@
#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided\n")
+#define NAKED __attribute__((naked))
+
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
#endif // GUARD_GLOBAL_H
diff --git a/ld_script.txt b/ld_script.txt
index 4fbe903..de750b1 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -48,7 +48,6 @@ SECTIONS {
asm/code_80035F0.o(.text);
src/other_random.o(.text);
src/util.o(.text);
- asm/bg_palette_buffer.o(.text);
src/bg_palette_buffer.o(.text);
asm/input.o(.text);
asm/code_8004AA0.o(.text);
@@ -57,6 +56,7 @@ SECTIONS {
asm/code_800558C.o(.text);
src/random.o(.text);
src/text.o(.text);
+ . = ALIGN(4);
asm/text.o(.text);
asm/code_8009804.o(.text);
src/file_system.o(.text);
@@ -71,7 +71,6 @@ SECTIONS {
asm/code_8012A18.o(.text);
asm/m4a_1.o(.text);
src/m4a_2.o(.text);
- asm/m4a_2.o(.text);
asm/m4a_3.o(.text);
src/m4a_4.o(.text);
asm/syscall.o(.text);
diff --git a/src/bg_palette_buffer.c b/src/bg_palette_buffer.c
index e36176d..9917adf 100644
--- a/src/bg_palette_buffer.c
+++ b/src/bg_palette_buffer.c
@@ -8,9 +8,12 @@ extern bool8 gBGPaletteUsed[BG_PALETTE_BUFFER_SIZE / BG_PALETTE_BUFFER_CHUNK_SIZ
extern void CpuCopy(void* src, void* dest, u32 size);
-/*
+#ifndef NONMATCHING
+NAKED
+#endif
void InitBGPaletteBuffer(void)
{
+#ifdef NONMATCHING
u16 color = 0;
u16* ptr;
u32 i;
@@ -36,25 +39,165 @@ void InitBGPaletteBuffer(void)
do
*p-- = paletteUsed;
while ((s32) p >= (s32) &gBGPaletteUsed);
+#else
+ asm_unified("\tpush {lr}\n"
+ "\tmovs r2, 0\n"
+ "\tldr r1, =gBGPaletteBuffer\n"
+ "\tmovs r0, 0x80\n"
+ "\tlsls r0, 2\n"
+ "_0800463E:\n"
+ "\tstrh r2, [r1]\n"
+ "\tadds r1, 0x2\n"
+ "\tsubs r0, 0x1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0800463E\n"
+ "\tldr r1, =gBGPaletteUsed\n"
+ "\tmovs r2, 0x1\n"
+ "\tadds r0, r1, 0\n"
+ "\tadds r0, 0x1F\n"
+ "_08004650:\n"
+ "\tstrb r2, [r0]\n"
+ "\tsubs r0, 0x1\n"
+ "\tcmp r0, r1\n"
+ "\tbge _08004650\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "\t.pool");
+#endif
}
-void SetBGPaletteBufferColorRGB(s32 index, u8 *RGBArray, s32 a3, u8 *a4)
+
+#ifndef NONMATCHING
+NAKED
+#endif
+void SetBGPaletteBufferColorRGB(s32 index, u8 *RGBArray, s32 a1, u8 *a2)
{
- if (a3 < 0) {
- a3 = 0;
+#ifdef NONMATCHING
+ if (a1 < 0) {
+ a1 = 0;
}
- if (a3 > 31) {
- a3 = 31;
+ if (a1 > 31) {
+ a1 = 31;
}
gBGPaletteUsed[index / 16] = 1;
- if (!a4) {
- gBGPaletteBuffer[index] = ((RGBArray[2] * a3 / 256 & 0x1F) << 10) | ((RGBArray[1] * a3 / 256 & 0x1F) << 5) | (RGBArray[0] * a3 / 256 & 0x1F);
+ if (!a2) {
+ gBGPaletteBuffer[index] = ((RGBArray[2] * a1 / 256 & 0x1F) << 10) | ((RGBArray[1] * a1 / 256 & 0x1F) << 5) | (RGBArray[0] * a1 / 256 & 0x1F);
}
else
{
- gBGPaletteBuffer[index] = ((a4[4 * RGBArray[2] + 2] * a3 / 256 & 0x1F) << 10) | ((a4[4 * RGBArray[1] + 1] * a3 / 256 & 0x1F) << 5) | (a4[4 * RGBArray[0]] * a3 / 256 & 0x1F);
+ gBGPaletteBuffer[index] = ((a2[4 * RGBArray[2] + 2] * a1 / 256 & 0x1F) << 10) | ((a2[4 * RGBArray[1] + 1] * a1 / 256 & 0x1F) << 5) | (a2[4 * RGBArray[0]] * a1 / 256 & 0x1F);
}
+#else
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tadds r4, r0, 0\n"
+ "\tadds r5, r1, 0\n"
+ "\tcmp r2, 0\n"
+ "\tbge _08004670\n"
+ "\tmovs r2, 0\n"
+ "_08004670:\n"
+ "\tcmp r2, 0x1F\n"
+ "\tble _08004676\n"
+ "\tmovs r2, 0x1F\n"
+ "_08004676:\n"
+ "\tldr r1, =gBGPaletteUsed\n"
+ "\tadds r0, r4, 0\n"
+ "\tcmp r4, 0\n"
+ "\tbge _08004680\n"
+ "\tadds r0, 0xF\n"
+ "_08004680:\n"
+ "\tasrs r0, 4\n"
+ "\tadds r0, r1\n"
+ "\tmovs r1, 0x1\n"
+ "\tstrb r1, [r0]\n"
+ "\tcmp r3, 0\n"
+ "\tbne _080046D4\n"
+ "\tldr r0, =gBGPaletteBuffer\n"
+ "\tlsls r1, r4, 1\n"
+ "\tadds r6, r1, r0\n"
+ "\tldrb r0, [r5, 0x2]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _0800469C\n"
+ "\tadds r0, 0xFF\n"
+ "_0800469C:\n"
+ "\tasrs r0, 8\n"
+ "\tmovs r3, 0x1F\n"
+ "\tands r0, r3\n"
+ "\tlsls r4, r0, 10\n"
+ "\tldrb r0, [r5, 0x1]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _080046AE\n"
+ "\tadds r0, 0xFF\n"
+ "_080046AE:\n"
+ "\tasrs r0, 8\n"
+ "\tands r0, r3\n"
+ "\tlsls r1, r0, 5\n"
+ "\torrs r1, r4\n"
+ "\tldrb r0, [r5]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _080046C0\n"
+ "\tadds r0, 0xFF\n"
+ "_080046C0:\n"
+ "\tasrs r0, 8\n"
+ "\tands r0, r3\n"
+ "\torrs r1, r0\n"
+ "\tstrh r1, [r6]\n"
+ "\tb _08004722\n"
+ "\t.align 2, 0\n"
+ "\t.pool\n"
+ "_080046D4:\n"
+ "\tldr r1, =gBGPaletteBuffer\n"
+ "\tlsls r0, r4, 1\n"
+ "\tadds r7, r0, r1\n"
+ "\tldrb r0, [r5, 0x2]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r3\n"
+ "\tldrb r0, [r0, 0x2]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _080046EA\n"
+ "\tadds r0, 0xFF\n"
+ "_080046EA:\n"
+ "\tasrs r0, 8\n"
+ "\tmovs r4, 0x1F\n"
+ "\tands r0, r4\n"
+ "\tlsls r6, r0, 10\n"
+ "\tldrb r0, [r5, 0x1]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r3\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _08004702\n"
+ "\tadds r0, 0xFF\n"
+ "_08004702:\n"
+ "\tasrs r0, 8\n"
+ "\tands r0, r4\n"
+ "\tlsls r1, r0, 5\n"
+ "\torrs r1, r6\n"
+ "\tldrb r0, [r5]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r3\n"
+ "\tldrb r0, [r0]\n"
+ "\tmuls r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbge _0800471A\n"
+ "\tadds r0, 0xFF\n"
+ "_0800471A:\n"
+ "\tasrs r0, 8\n"
+ "\tands r0, r4\n"
+ "\torrs r1, r0\n"
+ "\tstrh r1, [r7]\n"
+ "_08004722:\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "\t.pool");
+#endif
}
-*/
void SetBGPaletteBufferColorArray(s32 index, u8 *colorArray)
{
@@ -68,7 +211,7 @@ void SetBGPaletteBufferColor(s32 index, u16 *color)
gBGPaletteBuffer[index] = *color;
}
-void nullsub_4()
+void nullsub_4(void)
{
}
diff --git a/src/m4a_2.c b/src/m4a_2.c
index 176910e..ce9ac19 100644
--- a/src/m4a_2.c
+++ b/src/m4a_2.c
@@ -1,4 +1,5 @@
#include "gba/m4a_internal.h"
+#include "global.h"
extern char SoundMainRAM_Buffer[0x400];
@@ -832,3 +833,115 @@ void CgbOscOff(u8 chanNum)
REG_NR44 = 0x80;
}
}
+
+static inline int CgbPan(struct CgbChannel *chan)
+{
+ u32 rightVolume = chan->rightVolume;
+ u32 leftVolume = chan->leftVolume;
+
+ if ((rightVolume = (u8)rightVolume) >= (leftVolume = (u8)leftVolume))
+ {
+ if (rightVolume / 2 >= leftVolume)
+ {
+ chan->pan = 0x0F;
+ return 1;
+ }
+ }
+ else
+ {
+ if (leftVolume / 2 >= rightVolume)
+ {
+ chan->pan = 0xF0;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+#ifndef NONMATCHING
+NAKED
+#endif
+void CgbModVol(struct CgbChannel *chan)
+{
+#ifdef NONMATCHING
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if ((soundInfo->mode & 1) || !CgbPan(chan))
+ {
+ chan->pan = 0xFF;
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ }
+ else
+ {
+ // Force chan->rightVolume and chan->leftVolume to be read from memory again,
+ // even though there is no reason to do so.
+ // The command line option "-fno-gcse" achieves the same result as this.
+ asm("" : : : "memory");
+
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ if (chan->eg > 15)
+ chan->eg = 15;
+ }
+
+ chan->sg = (chan->eg * chan->su + 15) >> 4;
+ chan->pan &= chan->panMask;
+#else
+ asm_unified("\tpush {r4,lr}\n"
+ "\tadds r1, r0, 0\n"
+ "\tldrb r0, [r1, 0x2]\n"
+ "\tlsls r2, r0, 24\n"
+ "\tlsrs r4, r2, 24\n"
+ "\tldrb r3, [r1, 0x3]\n"
+ "\tlsls r0, r3, 24\n"
+ "\tlsrs r3, r0, 24\n"
+ "\tcmp r4, r3\n"
+ "\tbcc _080AFA94\n"
+ "\tlsrs r0, r2, 25\n"
+ "\tcmp r0, r3\n"
+ "\tbcc _080AFAA0\n"
+ "\tmovs r0, 0xF\n"
+ "\tstrb r0, [r1, 0x1B]\n"
+ "\tb _080AFAAE\n"
+ "_080AFA94:\n"
+ "\tlsrs r0, 25\n"
+ "\tcmp r0, r4\n"
+ "\tbcc _080AFAA0\n"
+ "\tmovs r0, 0xF0\n"
+ "\tstrb r0, [r1, 0x1B]\n"
+ "\tb _080AFAAE\n"
+ "_080AFAA0:\n"
+ "\tmovs r0, 0xFF\n"
+ "\tstrb r0, [r1, 0x1B]\n"
+ "\tldrb r2, [r1, 0x3]\n"
+ "\tldrb r3, [r1, 0x2]\n"
+ "\tadds r0, r2, r3\n"
+ "\tlsrs r0, 4\n"
+ "\tb _080AFABE\n"
+ "_080AFAAE:\n"
+ "\tldrb r2, [r1, 0x3]\n"
+ "\tldrb r3, [r1, 0x2]\n"
+ "\tadds r0, r2, r3\n"
+ "\tlsrs r0, 4\n"
+ "\tstrb r0, [r1, 0xA]\n"
+ "\tcmp r0, 0xF\n"
+ "\tbls _080AFAC0\n"
+ "\tmovs r0, 0xF\n"
+ "_080AFABE:\n"
+ "\tstrb r0, [r1, 0xA]\n"
+ "_080AFAC0:\n"
+ "\tldrb r2, [r1, 0x6]\n"
+ "\tldrb r3, [r1, 0xA]\n"
+ "\tadds r0, r2, 0\n"
+ "\tmuls r0, r3\n"
+ "\tadds r0, 0xF\n"
+ "\tasrs r0, 4\n"
+ "\tstrb r0, [r1, 0x19]\n"
+ "\tldrb r0, [r1, 0x1C]\n"
+ "\tldrb r2, [r1, 0x1B]\n"
+ "\tands r0, r2\n"
+ "\tstrb r0, [r1, 0x1B]\n"
+ "\tpop {r4}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n");
+#endif
+} \ No newline at end of file
diff --git a/src/text.c b/src/text.c
index 5d93844..9de996a 100644
--- a/src/text.c
+++ b/src/text.c
@@ -23,13 +23,13 @@ struct UnkTextStruct2 {
extern char gUnknown_3000E94[];
EWRAM_DATA struct UnkTextStruct1 gUnknown_2027370[4];
-EWRAM_DATA u8 *gUnknown_2027490[2];
+EWRAM_DATA u8 *gKanji[2];
EWRAM_DATA u16 gUnknown_2027498;
EWRAM_DATA u8 gUnknown_20274A5;
EWRAM_DATA u32 gUnknown_20274AC;
EWRAM_DATA vu32 gUnknown_20274B0;
EWRAM_DATA u8 gUnknown_20274B4[0x3b00];
-EWRAM_DATA struct OpenedFile *gKanji[2];
+EWRAM_DATA struct OpenedFile *gKanjiFiles[2];
EWRAM_DATA struct UnkTextStruct2 gUnknown_202AFC0[4];
EWRAM_DATA u32 gUnknown_202B020;
EWRAM_DATA u32 gUnknown_202B024;
@@ -60,10 +60,10 @@ void sub_8006218(void)
int k;
gUnknown_20274AC = 0;
- gKanji[0] = OpenFileAndGetFileDataPtr(gUnknown_80B87B4, &gUnknown_8300500);
- gKanji[1] = OpenFileAndGetFileDataPtr(gUnknown_80B87BC, &gUnknown_8300500);
- gUnknown_2027490[0] = gKanji[0]->data;
- gUnknown_2027490[1] = gKanji[1]->data;
+ gKanjiFiles[0] = OpenFileAndGetFileDataPtr(gUnknown_80B87B4, &gUnknown_8300500);
+ gKanjiFiles[1] = OpenFileAndGetFileDataPtr(gUnknown_80B87BC, &gUnknown_8300500);
+ gKanji[0] = gKanjiFiles[0]->data;
+ gKanji[1] = gKanjiFiles[1]->data;
gUnknown_202B028[0] = 11;
gUnknown_202B028[1] = 12;
for (k = 0; k < 4; k++)
@@ -188,13 +188,11 @@ void sub_8006438(const struct UnkTextStruct2 *a0, u8 a1, u8 a2, u32 *a3)
gUnknown_203B078 = gUnknown_3000E94;
gUnknown_20274A5 = 1;
#else
- asm(".syntax unified\n"
- "\tldr r2, =gUnknown_203B078\n"
+ asm_unified("\tldr r2, =gUnknown_203B078\n"
"\tldr r0, =gUnknown_3000E94\n"
"\tldr r1, =gUnknown_20274A5\n"
"\tstr r0, [r2]\n"
"\tmovs r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- ".syntax divided");
+ "\tstrb r0, [r1]");
#endif
}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index a627dcf..1d287ee 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -133,7 +133,7 @@ gUnknown_2027370 = .; /* 2027370 */
gUnknown_20273B8 = .; /* 20273B8 */
. += 0xD8;
-gUnknown_2027490 = .; /* 2027490 */
+gKanji = .; /* 2027490 */
. += 0x8;
gUnknown_2027498 = .; /* 2027498 */
@@ -157,7 +157,7 @@ gUnknown_20274B0 = .; /* 20274B0 */
gUnknown_20274B4 = .; /* 20274B4 */
. += 0x3B00;
-gKanji = .; /* 202AFB4 */
+gKanjiFiles = .; /* 202AFB4 */
. += 0x8;
gUnknown_202AFBC = .; /* 202AFBC */