diff options
author | StapleButter <thetotalworm@gmail.com> | 2018-12-11 19:16:19 +0100 |
---|---|---|
committer | StapleButter <thetotalworm@gmail.com> | 2018-12-11 19:16:19 +0100 |
commit | e2f3c293609c7e0c8d7c5b29afe343e1187842fa (patch) | |
tree | 0eb404166d4547129637581d2be86c079b0bb7c4 | |
parent | 0579a1cd2e63fe882aed1ac9562a82308cbd1c56 (diff) |
blarg.
also, calculate ROM CRC.
-rw-r--r-- | src/CRC32.cpp | 4 | ||||
-rw-r--r-- | src/NDSCart.cpp | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/CRC32.cpp b/src/CRC32.cpp index aa31fb6..62e334f 100644 --- a/src/CRC32.cpp +++ b/src/CRC32.cpp @@ -18,6 +18,8 @@ #include "CRC32.h" +// http://www.codeproject.com/KB/recipes/crc32_large.aspx + u32 crctable[256]; bool tableinited = false; @@ -35,7 +37,7 @@ u32 _reflect(u32 refl, char ch) return value; } -void inittable() +void _inittable() { u32 polynomial = 0x04C11DB7; diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 03dfe4c..5be1fff 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -21,6 +21,7 @@ #include "NDS.h" #include "NDSCart.h" #include "ARM.h" +#include "CRC32.h" #include "melon_fopen.h" @@ -733,6 +734,7 @@ u32 DataOutLen; bool CartInserted; u8* CartROM; u32 CartROMSize; +u32 CartCRC; u32 CartID; bool CartIsHomebrew; @@ -1094,6 +1096,9 @@ bool LoadROM(const char* path, const char* sram, bool direct) fclose(f); //CartROM = f; + CartCRC = CRC32(CartROM, CartROMSize); + printf("ROM CRC32: %08X\n", CartCRC); + // generate a ROM ID // note: most games don't check the actual value // it just has to stay the same throughout gameplay |