diff --git a/src/libleo/leoc2ecc.c b/src/libleo/leoc2ecc.c index d9026ba..e2dc1ce 100644 --- a/src/libleo/leoc2ecc.c +++ b/src/libleo/leoc2ecc.c @@ -1,5 +1,9 @@ #include "common.h" +//Tables to add here +extern u8 ganlog[512]; +extern u8 glog[512]; + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunknown-pragmas" @@ -15,4 +19,9 @@ #pragma GLOBAL_ASM("asm/nonmatchings/libleo/leoc2ecc/leoAlpha_mult.s") -#pragma GLOBAL_ASM("asm/nonmatchings/libleo/leoc2ecc/leoAlpha_div.s") +s32 leoAlpha_div(s32 i, s32 k) { + if ((i == 0) || (k == 0)) { + return 0; + } + return ganlog[0xFF + (glog[i] - glog[k])]; +} diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 6b4433e..e8b19ed 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -149,6 +149,8 @@ leoC2_3_ecc = 0x80053AF0; leoC2_4_ecc = 0x80053ED8; leoAlpha_mult = 0x80054774; leoAlpha_div = 0x800547B8; +ganlog = 0x8007DD50; +glog = 0x8007DF50; leoAnalize_asic_status = 0x80052D00; leoChk_asic_ready = 0x80052E0C; leoChk_cur_drvmode = 0x80053540;