isle-portable/tools/reccmp
Mark Langen f247e10b7e
reccmp.py improvements (#82)
* Rather than using <OFFSET> as a replacement for all offsets in a
  function, label the offsets as <OFFSET1>, <OFFSET2>, etc. Doing this
  will avoid false-positive 100% matches resulting from the same
  function being called in two times where a different on should have
  been called or vice versa. And the same for globals. I already
  encountered one case of this in the wild.

* When a 100% match initially fails, try to make the functions match by
  swapping register allocations. This makes it possible to get a 100%
  match where the generated machine code differs only in register
  allocation.

* Only apply the above when it is possible to reach a 100% match in that
  way. Otherwise show the developer the unadultrated diff to avoid
  complicating decompilation.

* In the result listing, show the functions which are "effective
  matches" in this way as "100%*" instead of "100%".
2023-07-15 23:13:34 -07:00
..
cvdump.exe rename reccomp to reccmp 2023-06-21 14:36:09 -07:00
isle.png generate progress SVGs 2023-06-27 15:59:44 -07:00
lego1.png generate progress SVGs 2023-06-27 15:59:44 -07:00
reccmp.py reccmp.py improvements (#82) 2023-07-15 23:13:34 -07:00
requirements.txt Improve reccmp.py (#49) 2023-06-25 19:01:40 -07:00
template.html reccmp.py improvements (#82) 2023-07-15 23:13:34 -07:00
template.svg reccmp: use "monospace" in svg font 2023-06-30 16:12:22 -07:00