also, calculate ROM CRC.
This commit is contained in:
StapleButter 2018-12-11 19:16:19 +01:00
parent 0579a1cd2e
commit e2f3c29360
2 changed files with 8 additions and 1 deletions

View File

@ -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;

View File

@ -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