Skip to content

Instantly share code, notes, and snippets.

@Triang3l
Created June 20, 2018 13:30
Show Gist options
  • Save Triang3l/8d77d0dfd98c2507686e7ab237abf122 to your computer and use it in GitHub Desktop.
Save Triang3l/8d77d0dfd98c2507686e7ab237abf122 to your computer and use it in GitHub Desktop.
loc_823F5744:
lwz r10, 0(r22)
r10 = boxLeft
mr r5, r17
r5 (memcpy size) = microWidth << log2bpp
lwz r11, 0(r21)
r11 = pointX
add r10, r10, r31
r10 = srcX
add r11, r11, r31
r11 = X
clrlwi r9, r11, 29
r9 = X & 7
add r9, r9, r27
r9 = ((Y & 6) << 2) + (X & 7)
[irrelevant source stuff begins]
slw r10, r10, r23
add r10, r10, r28
add r4, r10, r19
[irrelevant source stuff ends]
srwi r10, r11, 5
r10 = X / 32
srwi r11, r11, 3
r11 = X / 8
add r10, r10, r26
r10 = B + (X / 32)
B = ((((H + 31) & ~31) / 16) * (Z / 4) + (Y/ 16)) * (((W + 31) & ~31) / 32)
add r11, r11, r24
r11 = ((((Z / 4) + (Y / 8)) & 1) << 1) + (X / 8)
O = ((Z / 4) + (Y / 8)) & 1
r11 = (O << 1) + (X / 8)
slw r9, r9, r30
r9 = (((Y & 6) << 2) + (X & 7)) << (L2B + 6)
clrlslwi r11, r11, 30,1
r11 = (((O << 1) + (X / 8)) & 3) << 1
add r11, r11, r29
r11 = O + ((((O << 1) + (X / 8)) & 3) << 1)
WTF = O + ((((O << 1) + (X / 8)) & 3) << 1)
clrlslwi r7, r11, 31,3
r7 = (WTF & 1) << 3
slw r8, r10, r30
r8 = (B + (X / 32)) << (L2B + 6)
srwi r10, r9, 6
r10 = ((((Y & 6) << 2) + (X & 7)) << (L2B + 6)) / 64
r10 = S
clrlslwi r9, r8, 4,1
r9 = (((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1
clrrwi r8, r11, 1
r8 = WTF & ~1
clrrwi r11, r10, 4
r11 = S & ~15
clrlwi r10, r10, 28
r10 = S & 15
add r11, r9, r11
r11 = ((((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1) + (S & ~15)
slwi r11, r11, 1
r11 = (((((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1) + (S & ~15)) << 1
add r11, r11, r10
r11 = ((((((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1) + (S & ~15)) << 1) + (S & 15)
add r11, r11, r20
r11 = ((((((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1) + (S & ~15)) << 1) + (S & 15) + ((Z & 3) << (L2B + 6))
add r11, r11, r25
r11 = ((((((B + (X / 32)) << (L2B + 6)) & 0xFFFFFFF) << 1) + (S & ~15)) << 1) + (S & 15) + ((Z & 3) << (L2B + 6)) + ((Y & 1) << 4)
r11 = U
srawi r6, r11, 6
r6 = U >> 6
clrrwi r9, r11, 9
r9 = U & ~511
clrlwi r10, r11, 26
r10 = U & 63
clrlwi r11, r6, 29
r11 = (U >> 6) & 7
add r11, r7, r11
r11 = ((U >> 6) & 7) + ((WTF & 1) << 3)
slwi r11, r11, 3
r11 = (((U >> 6) & 7) + ((WTF & 1) << 3)) << 3
add r11, r11, r8
r11 = ((((U >> 6) & 7) + ((WTF & 1) << 3)) << 3) + (WTF & ~1)
slwi r11, r11, 2
r11 = (((((U >> 6) & 7) + ((WTF & 1) << 3)) << 3) + (WTF & ~1)) << 2
add r11, r11, r9
r11 = ((((((U >> 6) & 7) + ((WTF & 1) << 3)) << 3) + (WTF & ~1)) << 2) + (U & ~511)
slwi r11, r11, 3
r11 = (((((((U >> 6) & 7) + ((WTF & 1) << 3)) << 3) + (WTF & ~1)) << 2) + (U & ~511)) << 3
add r11, r11, r10
r11 = ((((((((U >> 6) & 7) + ((WTF & 1) << 3)) << 3) + (WTF & ~1)) << 2) + (U & ~511)) << 3) + (U & 63)
add r3, r11, r18
bl memcpy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment