sonicretro / skdisasm

Sonic and Knuckles Disassembly
195 stars 69 forks source link

Produced S&K ROM is not byte-perfect #26

Closed liliambean closed 1 year ago

liliambean commented 4 years ago

After 10bf17f, the S&K ROMs produced by buildSK.bat and buildSK.py are no longer byte-perfect to sk.bin. buildAndVerify.py is unaffected.

The issue seems to be that the new "accurate" flag is not being passed to the assembler when verify is false, but it seems to me that it should always get passed for the S3 and SK builds. Otherwise verify is a pretty big misnomer.

Clownacy commented 4 years ago

The idea is to have it the same as s2disasm, where an accurate ROM is only produced when you're checking for bit-perfection. Previously, s2disasm would have two build scripts: build.bat and build_plus.bat, which only ever seemed to confuse people. The former would be bit-perfect, and the other would compress the sound driver better.

Clownacy commented 1 year ago

With the recent build system overhaul (b0883c7b473488036db6be8dfb54e7a9e732d122), this issue should be fixed: the default sound driver compression is accurate to the original ROM, and a small modification must be made to the build script to enable the improved compression.