Skip to content

Differences between EBPatcher and CoilSnake .ebp behavior #322

@PhoenixBound

Description

@PhoenixBound

EBPatcher and CoilSnake's patch applying code don't always generate a matching result.

As one example of this, consider a hack that expands the game to 48 megabits, like Mother 2 Deluxe 2.0. The IPS component of its patch doesn't include any writes to file address 00FFD5 or 00FFD7, for some reason. EBPatcher keeps these bytes the same, but CoilSnake changes these bytes, as if by first expanding the ROM to 48 megabits using the relevant menu option in CoilSnake and then applying the patch:

Diff showing the two changed bytes between the EBPatcher-patched ROM and the CoilSnake-patched ROM. The EBPatcher ROM has the bytes as their original values, 31 and 0C; CoilSnake changes them to 25 and 0D.

It's not good to have a patch that can be applied in two different ways. Thankfully it is only two ways (the result didn't change

(Separately from this, the patch should probably include those byte changes in the first place... There may be one or many other obscure issues lurking. The EBP code is kind of hard to follow in the first place because a lot of important logic is in coilsnake.ui.common rather than coilsnake.model.eb.ebp.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions