From 6c0e119963d99f89508fc939be703c7943fdf079 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Mon, 25 Mar 2024 22:21:48 -0700 Subject: [PATCH] move some data to src in math.c --- asm/{file_system.s => math.s} | 0 data/data.s | 172 +--------------------------------- ld_script.txt | 2 +- src/data/file_system.h | 5 - src/data/math.h | 171 +++++++++++++++++++++++++++++++++ src/math.c | 4 +- 6 files changed, 177 insertions(+), 177 deletions(-) rename asm/{file_system.s => math.s} (100%) create mode 100644 src/data/math.h diff --git a/asm/file_system.s b/asm/math.s similarity index 100% rename from asm/file_system.s rename to asm/math.s diff --git a/data/data.s b/data/data.s index 59af57694..5af1e759a 100644 --- a/data/data.s +++ b/data/data.s @@ -1941,7 +1941,7 @@ gUnknown_80B88CC: @ 80B88CC @ code_8009804.s .string "pksdir0\0" -@ file_system +@ math .string "pksdir0\0" .global gFastMod3Lookup @@ -1960,172 +1960,4 @@ x = 0 x = x + 1 .endr -@ gFastSinLookup[i] = floor(256 * sin(iπ / 2048)) - .global gFastSinLookup -gFastSinLookup: @ 80B8AE4 - .2byte 0, 0, 0, 1, 1, 1, 2, 2 - .2byte 3, 3, 3, 4, 4, 5, 5, 5 - .2byte 6, 6, 7, 7, 7, 8, 8, 9 - .2byte 9, 9, 10, 10, 10, 11, 11, 12 - .2byte 12, 12, 13, 13, 14, 14, 14, 15 - .2byte 15, 16, 16, 16, 17, 17, 18, 18 - .2byte 18, 19, 19, 20, 20, 20, 21, 21 - .2byte 21, 22, 22, 23, 23, 23, 24, 24 - .2byte 25, 25, 25, 26, 26, 27, 27, 27 - .2byte 28, 28, 28, 29, 29, 30, 30, 30 - .2byte 31, 31, 32, 32, 32, 33, 33, 34 - .2byte 34, 34, 35, 35, 36, 36, 36, 37 - .2byte 37, 37, 38, 38, 39, 39, 39, 40 - .2byte 40, 41, 41, 41, 42, 42, 42, 43 - .2byte 43, 44, 44, 44, 45, 45, 46, 46 - .2byte 46, 47, 47, 48, 48, 48, 49, 49 - .2byte 49, 50, 50, 51, 51, 51, 52, 52 - .2byte 53, 53, 53, 54, 54, 54, 55, 55 - .2byte 56, 56, 56, 57, 57, 58, 58, 58 - .2byte 59, 59, 59, 60, 60, 61, 61, 61 - .2byte 62, 62, 62, 63, 63, 64, 64, 64 - .2byte 65, 65, 66, 66, 66, 67, 67, 67 - .2byte 68, 68, 69, 69, 69, 70, 70, 70 - .2byte 71, 71, 72, 72, 72, 73, 73, 73 - .2byte 74, 74, 75, 75, 75, 76, 76, 76 - .2byte 77, 77, 78, 78, 78, 79, 79, 79 - .2byte 80, 80, 81, 81, 81, 82, 82, 82 - .2byte 83, 83, 84, 84, 84, 85, 85, 85 - .2byte 86, 86, 86, 87, 87, 88, 88, 88 - .2byte 89, 89, 89, 90, 90, 91, 91, 91 - .2byte 92, 92, 92, 93, 93, 93, 94, 94 - .2byte 95, 95, 95, 96, 96, 96, 97, 97 - .2byte 97, 98, 98, 99, 99, 99, 100, 100 - .2byte 100, 101, 101, 101, 102, 102, 103, 103 - .2byte 103, 104, 104, 104, 105, 105, 105, 106 - .2byte 106, 106, 107, 107, 108, 108, 108, 109 - .2byte 109, 109, 110, 110, 110, 111, 111, 111 - .2byte 112, 112, 112, 113, 113, 114, 114, 114 - .2byte 115, 115, 115, 116, 116, 116, 117, 117 - .2byte 117, 118, 118, 118, 119, 119, 119, 120 - .2byte 120, 121, 121, 121, 122, 122, 122, 123 - .2byte 123, 123, 124, 124, 124, 125, 125, 125 - .2byte 126, 126, 126, 127, 127, 127, 128, 128 - .2byte 128, 129, 129, 129, 130, 130, 130, 131 - .2byte 131, 131, 132, 132, 132, 133, 133, 133 - .2byte 134, 134, 134, 135, 135, 135, 136, 136 - .2byte 136, 137, 137, 137, 138, 138, 138, 139 - .2byte 139, 139, 140, 140, 140, 141, 141, 141 - .2byte 142, 142, 142, 143, 143, 143, 144, 144 - .2byte 144, 145, 145, 145, 146, 146, 146, 147 - .2byte 147, 147, 148, 148, 148, 149, 149, 149 - .2byte 149, 150, 150, 150, 151, 151, 151, 152 - .2byte 152, 152, 153, 153, 153, 154, 154, 154 - .2byte 155, 155, 155, 155, 156, 156, 156, 157 - .2byte 157, 157, 158, 158, 158, 159, 159, 159 - .2byte 159, 160, 160, 160, 161, 161, 161, 162 - .2byte 162, 162, 163, 163, 163, 163, 164, 164 - .2byte 164, 165, 165, 165, 166, 166, 166, 166 - .2byte 167, 167, 167, 168, 168, 168, 168, 169 - .2byte 169, 169, 170, 170, 170, 171, 171, 171 - .2byte 171, 172, 172, 172, 173, 173, 173, 173 - .2byte 174, 174, 174, 175, 175, 175, 175, 176 - .2byte 176, 176, 177, 177, 177, 177, 178, 178 - .2byte 178, 179, 179, 179, 179, 180, 180, 180 - .2byte 181, 181, 181, 181, 182, 182, 182, 182 - .2byte 183, 183, 183, 184, 184, 184, 184, 185 - .2byte 185, 185, 185, 186, 186, 186, 187, 187 - .2byte 187, 187, 188, 188, 188, 188, 189, 189 - .2byte 189, 189, 190, 190, 190, 190, 191, 191 - .2byte 191, 192, 192, 192, 192, 193, 193, 193 - .2byte 193, 194, 194, 194, 194, 195, 195, 195 - .2byte 195, 196, 196, 196, 196, 197, 197, 197 - .2byte 197, 198, 198, 198, 198, 199, 199, 199 - .2byte 199, 200, 200, 200, 200, 201, 201, 201 - .2byte 201, 202, 202, 202, 202, 203, 203, 203 - .2byte 203, 203, 204, 204, 204, 204, 205, 205 - .2byte 205, 205, 206, 206, 206, 206, 207, 207 - .2byte 207, 207, 207, 208, 208, 208, 208, 209 - .2byte 209, 209, 209, 209, 210, 210, 210, 210 - .2byte 211, 211, 211, 211, 211, 212, 212, 212 - .2byte 212, 213, 213, 213, 213, 213, 214, 214 - .2byte 214, 214, 215, 215, 215, 215, 215, 216 - .2byte 216, 216, 216, 216, 217, 217, 217, 217 - .2byte 217, 218, 218, 218, 218, 218, 219, 219 - .2byte 219, 219, 219, 220, 220, 220, 220, 220 - .2byte 221, 221, 221, 221, 221, 222, 222, 222 - .2byte 222, 222, 223, 223, 223, 223, 223, 224 - .2byte 224, 224, 224, 224, 225, 225, 225, 225 - .2byte 225, 225, 226, 226, 226, 226, 226, 227 - .2byte 227, 227, 227, 227, 227, 228, 228, 228 - .2byte 228, 228, 229, 229, 229, 229, 229, 229 - .2byte 230, 230, 230, 230, 230, 230, 231, 231 - .2byte 231, 231, 231, 231, 232, 232, 232, 232 - .2byte 232, 232, 233, 233, 233, 233, 233, 233 - .2byte 234, 234, 234, 234, 234, 234, 234, 235 - .2byte 235, 235, 235, 235, 235, 236, 236, 236 - .2byte 236, 236, 236, 236, 237, 237, 237, 237 - .2byte 237, 237, 237, 238, 238, 238, 238, 238 - .2byte 238, 238, 239, 239, 239, 239, 239, 239 - .2byte 239, 240, 240, 240, 240, 240, 240, 240 - .2byte 241, 241, 241, 241, 241, 241, 241, 241 - .2byte 242, 242, 242, 242, 242, 242, 242, 242 - .2byte 243, 243, 243, 243, 243, 243, 243, 243 - .2byte 244, 244, 244, 244, 244, 244, 244, 244 - .2byte 244, 245, 245, 245, 245, 245, 245, 245 - .2byte 245, 245, 246, 246, 246, 246, 246, 246 - .2byte 246, 246, 246, 247, 247, 247, 247, 247 - .2byte 247, 247, 247, 247, 247, 248, 248, 248 - .2byte 248, 248, 248, 248, 248, 248, 248, 248 - .2byte 249, 249, 249, 249, 249, 249, 249, 249 - .2byte 249, 249, 249, 250, 250, 250, 250, 250 - .2byte 250, 250, 250, 250, 250, 250, 250, 251 - .2byte 251, 251, 251, 251, 251, 251, 251, 251 - .2byte 251, 251, 251, 251, 251, 252, 252, 252 - .2byte 252, 252, 252, 252, 252, 252, 252, 252 - .2byte 252, 252, 252, 252, 252, 253, 253, 253 - .2byte 253, 253, 253, 253, 253, 253, 253, 253 - .2byte 253, 253, 253, 253, 253, 253, 253, 254 - .2byte 254, 254, 254, 254, 254, 254, 254, 254 - .2byte 254, 254, 254, 254, 254, 254, 254, 254 - .2byte 254, 254, 254, 254, 254, 254, 254, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - .2byte 255, 255, 255, 255, 255, 255, 255, 255 - -@ Need to figure out what function this actually is. - .global gFastUnknownFn1Lookup -gFastUnknownFn1Lookup: @ 80B92E4 - .4byte 0, 0, 0, 0, 0, 0, 0, 1 - .4byte 1, 1, 1, 1, 1, 2, 2, 2 - .4byte 2, 2, 2, 3, 3, 3, 3, 3 - .4byte 3, 3, 4, 4, 4, 4, 4, 4 - .4byte 5, 5, 5, 5, 5, 5, 6, 6 - .4byte 6, 6, 6, 6, 6, 7, 7, 7 - .4byte 7, 7, 7, 8, 8, 8, 8, 8 - .4byte 8, 8, 9, 9, 9, 9, 9, 9 - .4byte 9, 10, 10, 10, 10, 10, 10, 11 - .4byte 11, 11, 11, 11, 11, 11, 12, 12 - .4byte 12, 12, 12, 12, 12, 13, 13, 13 - .4byte 13, 13, 13, 13, 14, 14, 14, 14 - .4byte 14, 14, 14, 15, 15, 15, 15, 15 - .4byte 15, 15, 15, 16, 16, 16, 16, 16 - .4byte 16, 16, 17, 17, 17, 17, 17, 17 - .4byte 17, 17, 18, 18, 18, 18, 18, 18 - .4byte 18, 19, 19, 19, 19, 19, 19, 19 - .4byte 19, 20, 20, 20, 20, 20, 20, 20 - .4byte 20, 20, 21, 21, 21, 21, 21, 21 - .4byte 21, 21, 22, 22, 22, 22, 22, 22 - .4byte 22, 22, 22, 23, 23, 23, 23, 23 - .4byte 23, 23, 23, 23, 24, 24, 24, 24 - .4byte 24, 24, 24, 24, 24, 25, 25, 25 - .4byte 25, 25, 25, 25, 25, 25, 26, 26 - .4byte 26, 26, 26, 26, 26, 26, 26, 26 - .4byte 27, 27, 27, 27, 27, 27, 27, 27 - .4byte 27, 27, 27, 28, 28, 28, 28, 28 - .4byte 28, 28, 28, 28, 28, 29, 29, 29 - .4byte 29, 29, 29, 29, 29, 29, 29, 29 - .4byte 29, 30, 30, 30, 30, 30, 30, 30 - .4byte 30, 30, 30, 30, 31, 31, 31, 31 - .4byte 31, 31, 31, 31, 31, 31, 31, 31 - -@ END file_system +@ END math diff --git a/ld_script.txt b/ld_script.txt index 2ed9e9121..fb23cf5ad 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -69,7 +69,7 @@ SECTIONS { src/code_8009804.o(.text); asm/code_8009804.o(.text); src/math.o(.text); - asm/file_system.o(.text); + asm/math.o(.text); src/file_system.o(.text); src/decompress.o(.text); src/main.o(.text); diff --git a/src/data/file_system.h b/src/data/file_system.h index c83e09ef6..12dbcd5a5 100644 --- a/src/data/file_system.h +++ b/src/data/file_system.h @@ -1,10 +1,5 @@ // ALIGNED(4) static const u8 sFill[] = _("pksdir0"); -// gFastMod3Lookup -// gFastDiv3Lookup -// gFastSinLookup -// gFastUnknownFn1Lookup - static const u32 gUnknown_80B96E4[300] = { 0, 0, 45426, 71998, 90852, 105476, 117424, 127527, diff --git a/src/data/math.h b/src/data/math.h new file mode 100644 index 000000000..86dba2030 --- /dev/null +++ b/src/data/math.h @@ -0,0 +1,171 @@ +// gFastMod3Lookup +// gFastDiv3Lookup + + +// gFastSinLookup[i] = floor(256 * sin(iπ / 2048)) +static const s16 gFastSinLookup[] = { + 0, 0, 0, 1, 1, 1, 2, 2, + 3, 3, 3, 4, 4, 5, 5, 5, + 6, 6, 7, 7, 7, 8, 8, 9, + 9, 9, 10, 10, 10, 11, 11, 12, + 12, 12, 13, 13, 14, 14, 14, 15, + 15, 16, 16, 16, 17, 17, 18, 18, + 18, 19, 19, 20, 20, 20, 21, 21, + 21, 22, 22, 23, 23, 23, 24, 24, + 25, 25, 25, 26, 26, 27, 27, 27, + 28, 28, 28, 29, 29, 30, 30, 30, + 31, 31, 32, 32, 32, 33, 33, 34, + 34, 34, 35, 35, 36, 36, 36, 37, + 37, 37, 38, 38, 39, 39, 39, 40, + 40, 41, 41, 41, 42, 42, 42, 43, + 43, 44, 44, 44, 45, 45, 46, 46, + 46, 47, 47, 48, 48, 48, 49, 49, + 49, 50, 50, 51, 51, 51, 52, 52, + 53, 53, 53, 54, 54, 54, 55, 55, + 56, 56, 56, 57, 57, 58, 58, 58, + 59, 59, 59, 60, 60, 61, 61, 61, + 62, 62, 62, 63, 63, 64, 64, 64, + 65, 65, 66, 66, 66, 67, 67, 67, + 68, 68, 69, 69, 69, 70, 70, 70, + 71, 71, 72, 72, 72, 73, 73, 73, + 74, 74, 75, 75, 75, 76, 76, 76, + 77, 77, 78, 78, 78, 79, 79, 79, + 80, 80, 81, 81, 81, 82, 82, 82, + 83, 83, 84, 84, 84, 85, 85, 85, + 86, 86, 86, 87, 87, 88, 88, 88, + 89, 89, 89, 90, 90, 91, 91, 91, + 92, 92, 92, 93, 93, 93, 94, 94, + 95, 95, 95, 96, 96, 96, 97, 97, + 97, 98, 98, 99, 99, 99, 100, 100, + 100, 101, 101, 101, 102, 102, 103, 103, + 103, 104, 104, 104, 105, 105, 105, 106, + 106, 106, 107, 107, 108, 108, 108, 109, + 109, 109, 110, 110, 110, 111, 111, 111, + 112, 112, 112, 113, 113, 114, 114, 114, + 115, 115, 115, 116, 116, 116, 117, 117, + 117, 118, 118, 118, 119, 119, 119, 120, + 120, 121, 121, 121, 122, 122, 122, 123, + 123, 123, 124, 124, 124, 125, 125, 125, + 126, 126, 126, 127, 127, 127, 128, 128, + 128, 129, 129, 129, 130, 130, 130, 131, + 131, 131, 132, 132, 132, 133, 133, 133, + 134, 134, 134, 135, 135, 135, 136, 136, + 136, 137, 137, 137, 138, 138, 138, 139, + 139, 139, 140, 140, 140, 141, 141, 141, + 142, 142, 142, 143, 143, 143, 144, 144, + 144, 145, 145, 145, 146, 146, 146, 147, + 147, 147, 148, 148, 148, 149, 149, 149, + 149, 150, 150, 150, 151, 151, 151, 152, + 152, 152, 153, 153, 153, 154, 154, 154, + 155, 155, 155, 155, 156, 156, 156, 157, + 157, 157, 158, 158, 158, 159, 159, 159, + 159, 160, 160, 160, 161, 161, 161, 162, + 162, 162, 163, 163, 163, 163, 164, 164, + 164, 165, 165, 165, 166, 166, 166, 166, + 167, 167, 167, 168, 168, 168, 168, 169, + 169, 169, 170, 170, 170, 171, 171, 171, + 171, 172, 172, 172, 173, 173, 173, 173, + 174, 174, 174, 175, 175, 175, 175, 176, + 176, 176, 177, 177, 177, 177, 178, 178, + 178, 179, 179, 179, 179, 180, 180, 180, + 181, 181, 181, 181, 182, 182, 182, 182, + 183, 183, 183, 184, 184, 184, 184, 185, + 185, 185, 185, 186, 186, 186, 187, 187, + 187, 187, 188, 188, 188, 188, 189, 189, + 189, 189, 190, 190, 190, 190, 191, 191, + 191, 192, 192, 192, 192, 193, 193, 193, + 193, 194, 194, 194, 194, 195, 195, 195, + 195, 196, 196, 196, 196, 197, 197, 197, + 197, 198, 198, 198, 198, 199, 199, 199, + 199, 200, 200, 200, 200, 201, 201, 201, + 201, 202, 202, 202, 202, 203, 203, 203, + 203, 203, 204, 204, 204, 204, 205, 205, + 205, 205, 206, 206, 206, 206, 207, 207, + 207, 207, 207, 208, 208, 208, 208, 209, + 209, 209, 209, 209, 210, 210, 210, 210, + 211, 211, 211, 211, 211, 212, 212, 212, + 212, 213, 213, 213, 213, 213, 214, 214, + 214, 214, 215, 215, 215, 215, 215, 216, + 216, 216, 216, 216, 217, 217, 217, 217, + 217, 218, 218, 218, 218, 218, 219, 219, + 219, 219, 219, 220, 220, 220, 220, 220, + 221, 221, 221, 221, 221, 222, 222, 222, + 222, 222, 223, 223, 223, 223, 223, 224, + 224, 224, 224, 224, 225, 225, 225, 225, + 225, 225, 226, 226, 226, 226, 226, 227, + 227, 227, 227, 227, 227, 228, 228, 228, + 228, 228, 229, 229, 229, 229, 229, 229, + 230, 230, 230, 230, 230, 230, 231, 231, + 231, 231, 231, 231, 232, 232, 232, 232, + 232, 232, 233, 233, 233, 233, 233, 233, + 234, 234, 234, 234, 234, 234, 234, 235, + 235, 235, 235, 235, 235, 236, 236, 236, + 236, 236, 236, 236, 237, 237, 237, 237, + 237, 237, 237, 238, 238, 238, 238, 238, + 238, 238, 239, 239, 239, 239, 239, 239, + 239, 240, 240, 240, 240, 240, 240, 240, + 241, 241, 241, 241, 241, 241, 241, 241, + 242, 242, 242, 242, 242, 242, 242, 242, + 243, 243, 243, 243, 243, 243, 243, 243, + 244, 244, 244, 244, 244, 244, 244, 244, + 244, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 251, + 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 254, + 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, +}; + + +const u32 gFastUnknownFn1Lookup[] = { + 0, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 6, 6, + 6, 6, 6, 6, 6, 7, 7, 7, + 7, 7, 7, 8, 8, 8, 8, 8, + 8, 8, 9, 9, 9, 9, 9, 9, + 9, 10, 10, 10, 10, 10, 10, 11, + 11, 11, 11, 11, 11, 11, 12, 12, + 12, 12, 12, 12, 12, 13, 13, 13, + 13, 13, 13, 13, 14, 14, 14, 14, + 14, 14, 14, 15, 15, 15, 15, 15, + 15, 15, 15, 16, 16, 16, 16, 16, + 16, 16, 17, 17, 17, 17, 17, 17, + 17, 17, 18, 18, 18, 18, 18, 18, + 18, 19, 19, 19, 19, 19, 19, 19, + 19, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 21, 21, 21, 21, 21, 21, + 21, 21, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, +}; diff --git a/src/math.c b/src/math.c index 4d015107e..351593fac 100644 --- a/src/math.c +++ b/src/math.c @@ -2,9 +2,11 @@ #include "math.h" extern u8 gFastMod3Lookup[]; -extern s16 gFastSinLookup[]; extern u24_8 u24_8_div(u24_8 x, u24_8 y); // decomp in progress: https://decomp.me/scratch/pMyGD + +#include "data/math.h" + u32 fast_mod_3(s32 x) { if (x < 0x100) { return gFastMod3Lookup[x];