For the purist who wants to do it themselves, here is the command-line workflow using the legendary Lock-On Patch Tool (lockon.exe).
# Step 1: Obtain clean dumps
Sonic3.bin (SHA1: 71f30068a177353d212d43d4d345ba2ac14538e1)
SonicAndKnuckles.bin (SHA1: 2f6c2ccb2469b875656cde4458ea661544e1e3bf)
lockon.exe -merge Sonic3.bin SonicAndKnuckles.bin -mapper JS3 -output sonicknuckleswsonic3.bin sonicknuckleswsonic3bin file work
A naive merge would just paste Sonic3.bin + SonicAndKnuckles.bin. That crashes instantly. The working .bin file requires a custom header that fools the Genesis into thinking the lock-on initialization has already occurred. For the purist who wants to do it