aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common/src/crc.cpp
diff options
context:
space:
mode:
authorGravatar ShizZy <shizzy@6bit.net>2013-09-04 17:52:59 -0400
committerGravatar ShizZy <shizzy@6bit.net>2013-09-04 17:52:59 -0400
commit72325bef1d6d1e70f308e64bf7d764f9fd2abbc4 (patch)
treeaa6ce8e1e769e47f435fe8ef9b1561ced9c81483 /src/common/src/crc.cpp
parent27474060e1287a67c45cd790d29b9095b35b2bdf (diff)
deleted gekko's common files
Diffstat (limited to 'src/common/src/crc.cpp')
-rw-r--r--src/common/src/crc.cpp86
1 files changed, 0 insertions, 86 deletions
diff --git a/src/common/src/crc.cpp b/src/common/src/crc.cpp
deleted file mode 100644
index a36dfdad..00000000
--- a/src/common/src/crc.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "common.h"
-#include "crc.h"
-
-u32 crc32_table[4][256];
-
-u32 Reflect(u32 ref, u8 Count)
-{
- u32 value = 0;
-
- // Swap bit 0 for bit 7
- // bit 1 for bit 6, etc.
- for(int i = 1; i < (Count + 1); i++)
- {
- if(ref & 1)
- value |= 1 << (Count - i);
- ref >>= 1;
- }
- return value;
-}
-
-void Init_CRC32_Table()
-{
- // This is the official polynomial used by CRC-32
- // in PKZip, WinZip and Ethernet.
- u32 ulPolynomial = 0x04c11db7;
-
- // 256 values representing ASCII character codes.
- for(int x = 0; x < 4; x++)
- {
- for(int i = 0; i <= 0xFF; i++)
- {
- crc32_table[x][i]=Reflect(i, 8) << 24;
- for (int j = 0; j < 8; j++)
- crc32_table[x][i] = (crc32_table[x][i] << 1) ^ (crc32_table[x][i] & (1 << 31) ? (ulPolynomial + (x * 8)) : 0);
- crc32_table[x][i] = Reflect(crc32_table[x][i], 32);
- }
- }
-}
-
-u32 GenerateCRC(u8 *StartAddr, u32 len)
-{
- u32 ulCRC = -1;
-
- // Perform the algorithm on each character
- // in the string, using the lookup table values.
- for(; len > 7; len-=8)
- {
- ulCRC ^= *(u32 *)StartAddr;
- ulCRC = crc32_table[3][((ulCRC) & 0xFF)] ^
- crc32_table[2][((ulCRC >> 8) & 0xFF)] ^
- crc32_table[1][((ulCRC >> 16) & 0xFF)] ^
- crc32_table[0][((ulCRC >> 24))];
- ulCRC ^= *(u32 *)(StartAddr + 4);
- ulCRC = crc32_table[3][((ulCRC) & 0xFF)] ^
- crc32_table[2][((ulCRC >> 8) & 0xFF)] ^
- crc32_table[1][((ulCRC >> 16) & 0xFF)] ^
- crc32_table[0][((ulCRC >> 24))];
- StartAddr+=8;
- }
-
- if(len > 3)
- {
- ulCRC ^= *(u32 *)StartAddr;
- ulCRC = crc32_table[3][((ulCRC) & 0xFF)] ^
- crc32_table[2][((ulCRC >> 8) & 0xFF)] ^
- crc32_table[1][((ulCRC >> 16) & 0xFF)] ^
- crc32_table[0][((ulCRC >> 24))];
- StartAddr+=4;
- len -= 4;
- }
-
- switch(len)
- {
- case 3:
- ulCRC = crc32_table[0][(ulCRC & 0xFF) ^ *StartAddr] ^ (ulCRC >> 8);
- StartAddr++;
- case 2:
- ulCRC = crc32_table[0][(ulCRC & 0xFF) ^ *StartAddr] ^ (ulCRC >> 8);
- StartAddr++;
- case 1:
- ulCRC = crc32_table[0][(ulCRC & 0xFF) ^ *StartAddr] ^ (ulCRC >> 8);
- StartAddr++;
- }
-
- return ulCRC;
-}