Color Screen Related (0x8efb4)

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
#   ROUTINE: Color screen related? 0x8efb4
#       Parameters:
#           r4 = Blending Mode (0x00 = Multiply, 0x01 = Normal, 0x02 = Inverted)
#           r5 = R
#           r6 = G
#           r7 = B
#           *($sp + 0x10) = 2?

8008efb4: 27bdffe0 addiu r29,r29,-0x0020
8008efb8: 97a30030 lhu r3,0x0030(r29)
8008efbc: 00804021 addu r8,r4,r0
8008efc0: afbf001c sw r31,0x001c(r29)
8008efc4: 10600055 beq r3,r0,0x8008f11c
8008efc8: afb00018 sw r16,0x0018(r29)
8008efcc: 3c028004 lui r2,0x8004
8008efd0: 8c425980 lw r2,0x5980(r2)
8008efd4: 00000000 nop
8008efd8: 0062001a div r3,r2
8008efdc: 00001012 mflo r2
8008efe0: 3c048009 lui r4,0x8009
8008efe4: 248461c4 addiu r4,r4,0x61c4
8008efe8: a0850000 sb r5,0x0000(r4)
8008efec: 3c018009 lui r1,0x8009
8008eff0: a02661c5 sb r6,0x61c5(r1)
8008eff4: 3c018009 lui r1,0x8009
8008eff8: a02761c6 sb r7,0x61c6(r1)
8008effc: 3c018009 lui r1,0x8009
8008f000: a42261e0 sh r2,0x61e0(r1)
8008f004: 00021400 sll r2,r2,0x10
8008f008: 00023c03 sra r7,r2,0x10
8008f00c: 10e00043 beq r7,r0,0x8008f11c
8008f010: 00000000 nop
8008f014: 3c038009 lui r3,0x8009
8008f018: 246361c8 addiu r3,r3,0x61c8
8008f01c: 90860000 lbu r6,0x0000(r4)
8008f020: 90620000 lbu r2,0x0000(r3)
8008f024: 00000000 nop
8008f028: 00c23023 subu r6,r6,r2
8008f02c: 00063200 sll r6,r6,0x08
8008f030: 00c7001a div r6,r7
8008f034: 00003012 mflo r6
8008f038: 3c058009 lui r5,0x8009
8008f03c: 90a561c5 lbu r5,0x61c5(r5)
8008f040: 3c028009 lui r2,0x8009
8008f044: 904261c9 lbu r2,0x61c9(r2)
8008f048: 00000000 nop
8008f04c: 00a22823 subu r5,r5,r2
8008f050: 00052a00 sll r5,r5,0x08
8008f054: 00a7001a div r5,r7
8008f058: 00002812 mflo r5
8008f05c: 3c048009 lui r4,0x8009
8008f060: 908461c6 lbu r4,0x61c6(r4)
8008f064: 3c028009 lui r2,0x8009
8008f068: 904261ca lbu r2,0x61ca(r2)
8008f06c: 00000000 nop
8008f070: 00822023 subu r4,r4,r2
8008f074: 00042200 sll r4,r4,0x08
8008f078: 0087001a div r4,r7
8008f07c: 00002012 mflo r4
8008f080: 3c10800e lui r16,0x800e
8008f084: 26106aa8 addiu r16,r16,0x6aa8
8008f088: 90620000 lbu r2,0x0000(r3)
8008f08c: 3c038009 lui r3,0x8009
8008f090: 246361e4 addiu r3,r3,0x61e4
8008f094: 3107ffff andi r7,r8,0xffff
8008f098: 00073940 sll r7,r7,0x05
8008f09c: afa30010 sw r3,0x0010(r29)
8008f0a0: 3c038009 lui r3,0x8009
8008f0a4: 906361ca lbu r3,0x61ca(r3)
8008f0a8: 00021200 sll r2,r2,0x08
8008f0ac: 3c018009 lui r1,0x8009
8008f0b0: a42261d0 sh r2,0x61d0(r1)
8008f0b4: 3c028009 lui r2,0x8009
8008f0b8: 904261c9 lbu r2,0x61c9(r2)
8008f0bc: 00031a00 sll r3,r3,0x08
8008f0c0: 3c018009 lui r1,0x8009
8008f0c4: a42361d4 sh r3,0x61d4(r1)
8008f0c8: 00021200 sll r2,r2,0x08
8008f0cc: 3c018009 lui r1,0x8009
8008f0d0: a42261d2 sh r2,0x61d2(r1)
8008f0d4: 3c018009 lui r1,0x8009
8008f0d8: a42661d8 sh r6,0x61d8(r1)
8008f0dc: 00003021 addu r6,r0,r0
8008f0e0: 3c018009 lui r1,0x8009
8008f0e4: a42561da sh r5,0x61da(r1)
8008f0e8: 00002821 addu r5,r0,r0
8008f0ec: 3c018009 lui r1,0x8009
8008f0f0: a42461dc sh r4,0x61dc(r1)
8008f0f4: 0c009533 jal 0x800254cc
8008f0f8: 02002021 addu r4,r16,r0
8008f0fc: 3c05800e lui r5,0x800e
8008f100: 24a56ab4 addiu r5,r5,0x6ab4
8008f104: 8e020000 lw r2,0x0000(r16)
8008f108: 8e030004 lw r3,0x0004(r16)
8008f10c: 8e040008 lw r4,0x0008(r16)
8008f110: aca20000 sw r2,0x0000(r5)
8008f114: aca30004 sw r3,0x0004(r5)
8008f118: aca40008 sw r4,0x0008(r5)
8008f11c: 8fbf001c lw r31,0x001c(r29)
8008f120: 8fb00018 lw r16,0x0018(r29)
8008f124: 27bd0020 addiu r29,r29,0x0020
8008f128: 03e00008 jr r31
8008f12c: 00000000 nop