GameBoy Advance Multiboot & Dumper

Dependencies:   SDFileSystem mbed

Committer:
akkera102
Date:
Mon Nov 24 13:28:15 2014 +0000
Revision:
0:66a93ef88e4e
1st;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akkera102 0:66a93ef88e4e 1 #include "crc.h"
akkera102 0:66a93ef88e4e 2
akkera102 0:66a93ef88e4e 3 static uint32_t r;
akkera102 0:66a93ef88e4e 4
akkera102 0:66a93ef88e4e 5 uint32_t crcU32n(uint32_t d)
akkera102 0:66a93ef88e4e 6 {
akkera102 0:66a93ef88e4e 7 uint32_t bit;
akkera102 0:66a93ef88e4e 8
akkera102 0:66a93ef88e4e 9 for(bit=0; bit<32; bit++)
akkera102 0:66a93ef88e4e 10 {
akkera102 0:66a93ef88e4e 11 if((r ^ d) & 0x01)
akkera102 0:66a93ef88e4e 12 {
akkera102 0:66a93ef88e4e 13 r = (r >> 1) ^ 0x0000c37b;
akkera102 0:66a93ef88e4e 14 }
akkera102 0:66a93ef88e4e 15 else
akkera102 0:66a93ef88e4e 16 {
akkera102 0:66a93ef88e4e 17 r = (r >> 1);
akkera102 0:66a93ef88e4e 18 }
akkera102 0:66a93ef88e4e 19
akkera102 0:66a93ef88e4e 20 d = d >> 1;
akkera102 0:66a93ef88e4e 21 }
akkera102 0:66a93ef88e4e 22
akkera102 0:66a93ef88e4e 23 return r;
akkera102 0:66a93ef88e4e 24 }
akkera102 0:66a93ef88e4e 25
akkera102 0:66a93ef88e4e 26 uint32_t crcU32(uint32_t d)
akkera102 0:66a93ef88e4e 27 {
akkera102 0:66a93ef88e4e 28 crcReset();
akkera102 0:66a93ef88e4e 29 return crcU32n(d);
akkera102 0:66a93ef88e4e 30 }
akkera102 0:66a93ef88e4e 31
akkera102 0:66a93ef88e4e 32 void crcReset(void)
akkera102 0:66a93ef88e4e 33 {
akkera102 0:66a93ef88e4e 34 r = 0x0000c387;
akkera102 0:66a93ef88e4e 35 }