encounter / objdiff

A local diffing tool for decompilation projects
Apache License 2.0
125 stars 21 forks source link

ARMv5TE (DS) support #68

Closed AetiasHax closed 6 months ago

AetiasHax commented 6 months ago

I've added support for ARMv5TE, used by the main ARM9 processor of the DS. The disassembler library can be extended to support other ARM versions, and I have plans to add ARMv4T for GBA soon, followed by ARMv6 for the 3DS.

There's currently no version detection in place. This document from ARM does specify where version information should be stored (see Tag_CPU_name), but in my experience working with the DS toolchain, I found no such information. Would a dropdown in the "Arch Settings" window be acceptable?

encounter commented 6 months ago

Thanks for the PR! Looks good at an initial glance, but I’d like to revert the unnecessary README changes, especially the changes to config file example, since that’s not valid JSON. 🙂

encounter commented 6 months ago

Would a dropdown in the "Arch Settings" window be acceptable?

Yes, this seems like a good solution, though auto-detection would be nice eventually (if possible). It could be similar to the MIPS settings, where it has an “Auto” option, but can be set manually.

AetiasHax commented 6 months ago

Thanks for the PR! Looks good at an initial glance, but I’d like to revert the unnecessary README changes, especially the changes to config file example, since that’s not valid JSON. 🙂

That's weird, I don't know how that commit happened. Fixing!

Edit: Looks like it was formatted automatically upon saving, sorry about that.

AetiasHax commented 6 months ago

Would a dropdown in the "Arch Settings" window be acceptable?

Yes, this seems like a good solution, though auto-detection would be nice eventually (if possible). It could be similar to the MIPS settings, where it has an “Auto” option, but can be set manually.

In that case, I could implement auto-detection in a non-standard way for the "Auto" option. Possibly by looking at the compiler name/version, or something of the sort.

encounter commented 6 months ago

Thanks a ton for this work! Merging for 2.0.0-alpha.3