diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2023-07-31 17:42:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-31 20:42:21 -0400 |
| commit | 33ec543467f17900516d93dd4b7964b8f49d1951 (patch) | |
| tree | 426bd326b52d2a609d6f45cdf17a50162cbdc01b /lib/ultralib/src/io/crc.c | |
| parent | 6d0c9276e8fc93e679d295b4e5f968da4b966a9b (diff) | |
Libultra OK (#20)
* Identify last 2 libultra files
* BSS left
* Update not built files
* libultra OK
* Makefile formating
* Identify last couple data files
* libultra section headers
* Paddings
* Fix one padding
* move non_shared to CLFAGS and ASFLAGS
* git subrepo pull --force lib/ultralib
subrepo:
subdir: "lib/ultralib"
merged: "b376559"
upstream:
origin: "git@github.com:decompals/ultralib.git"
branch: "main"
commit: "b376559"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "110b9eb"
* Remove duplicate -non_shared
* .hasm
* Jenkins
* GBIDEFINE
Diffstat (limited to 'lib/ultralib/src/io/crc.c')
| -rw-r--r-- | lib/ultralib/src/io/crc.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/ultralib/src/io/crc.c b/lib/ultralib/src/io/crc.c index e266152..05f2698 100644 --- a/lib/ultralib/src/io/crc.c +++ b/lib/ultralib/src/io/crc.c @@ -2,12 +2,12 @@ u8 __osContAddressCrc(u16 addr) { u32 temp = 0; - u32 i; + u32 i = 0x400; - for (i = 0x400; i != 0;) { + do { temp <<= 1; - if (addr & i) { + if ((u32)addr & i) { if (temp & 0x20) { temp ^= 0x14; } else { @@ -16,21 +16,23 @@ u8 __osContAddressCrc(u16 addr) { } else if (temp & 0x20) { temp ^= 0x15; } - + i >>= 1; - } + } while (i != 0); - for (i = 5; i != 0; --i) { + i = 5; + + do { temp <<= 1; if (temp & 0x20) { temp ^= 0x15; } - } + } while (--i != 0); return temp & 0x1F; } -u8 __osContDataCrc(u8 *data) { +u8 __osContDataCrc(u8* data) { u32 temp = 0; u32 i; u32 j; |
