diff options
Diffstat (limited to 'src/libultra_code_O2/__osContAddressCrc.c')
| -rw-r--r-- | src/libultra_code_O2/__osContAddressCrc.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/libultra_code_O2/__osContAddressCrc.c b/src/libultra_code_O2/__osContAddressCrc.c deleted file mode 100644 index c1af0b12c..000000000 --- a/src/libultra_code_O2/__osContAddressCrc.c +++ /dev/null @@ -1,62 +0,0 @@ -#include "global.h" - -// Valid addr up to 0x7FF -// It's the address of a block of 0x20 bytes in the mempak -// So that means the whole mempak has a 16-bit address space -u8 __osContAddressCrc(u16 addr) { - u32 addr32 = addr; - u32 ret = 0; - u32 bit; - s32 i; - - for (bit = 0x400; bit; bit >>= 1) { - ret <<= 1; - if (addr32 & bit) { - if (ret & 0x20) { - ret ^= 0x14; - } else { - ++ret; - } - } else if (ret & 0x20) { - ret ^= 0x15; - } - } - for (i = 0; i < 5; ++i) { - ret <<= 1; - if (ret & 0x20) { - ret ^= 0x15; - } - } - - return ret & 0x1F; -} - -u8 __osContDataCrc(u8* data) { - s32 ret = 0; - u32 bit; - u32 byte; - - for (byte = 0x20; byte; --byte, ++data) { - for (bit = 0x80; bit; bit >>= 1) { - ret <<= 1; - if ((*data & bit) != 0) { - if ((ret & 0x100) != 0) { - ret ^= 0x84; - } else { - ++ret; - } - } else if (ret & 0x100) { - ret ^= 0x85; - } - } - } - do { - ret <<= 1; - if (ret & 0x100) { - ret ^= 0x85; - } - ++byte; - } while (byte < 8U); - - return ret; -} |
