-
Notifications
You must be signed in to change notification settings - Fork 398
Description
So far, I've had some great success at finding the addresses needed for the vmx, gprlr, fpr and 64 addreses. Currently I'm trying to learn how to go about piecing together the functions in the .toml input for XenonRecomp to get rid of the switch cases errors (and failing pretty bad, but a start is a start.)
Though, I ran into some output regarding unrecognized instructions. For example, the output looks like this.
Unrecognized instruction at 0x8211291C: fnmadd...
Unrecognized instruction at 0x8218CA18: vandc...
Unrecognized instruction at 0x821E09DC: vpkswss...
Unrecognized instruction at 0x82210D20: vsububm...
Unrecognized instruction at 0x82210D4C: vsrab...
Unrecognized instruction at 0x8226A0E0: vcmpgtsh. # this has a period at the end
Unrecognized instruction at 0x8226A0F4: vcmpgtsw. # so does this one
I could list more, but so far, it failed to recognize the following instructions:
fnmadd, vandc, mulhd, vpkswss, vsububm, vsrab, vaddsbs, vspltish, vsubshs, vslh, vminsh, vmaxsh, vsrah, vcmpgtsh, vpkshss, vcmpequh. , vsrh, vctuxs, vpkswus, vpkuhus, vcfpuxws128, eqv, vaddsws, vcmpgtsh. , vcmpgtsw. , vcmpequh, vsel128, lhbrx, vminsw, stvebx, vavgsw, vrlh, vsubsbs, vslo, cror, crorc, vavguh
Interestingly, it also outputted a few odd outputs in the log.
vcmpgtuh. at 82695940 has RC bit enabled but no comparison was generated
Here is the full Terminal output for those wanting to view it: XenonRecompOutput.txt
As far as I know, I don't believe I need to swap the read tables.
Here is SWA.toml's contents.
[main]
file_path = "../Recompile/HeavyWeapon/default.xex"
out_directory_path = "../ppc"
switch_table_file_path = "SWA_switch_tables.toml"
skip_lr = false
skip_msr = false
ctr_as_local = false
xer_as_local = false
reserved_as_local = false
cr_as_local = false
non_argument_as_local = false
non_volatile_as_local = false
restgprlr_14_address = 0x822F3380
savegprlr_14_address = 0x822F3330
restfpr_14_address = 0x822F3F1C
savefpr_14_address = 0x822F3ED0
restvmx_14_address = 0x822F6CA8
savevmx_14_address = 0x822F6A10
restvmx_64_address = 0x822F6D3C
savevmx_64_address = 0x822F6AA4
I'm just wondering if all these instructions it failed to recognize is due to the game's nature and RNG to spawn the various planes. I figured I'd create this issue to provide or get insight as to the unrecognized instructions.