Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

One of the useful CDL features was considered a bug and was "fixed" #771

Open
cyneprepou4uk opened this issue Dec 2, 2024 · 1 comment

Comments

@cyneprepou4uk
Copy link

cyneprepou4uk commented Dec 2, 2024

65f4a48

While I realize the reason why this can be considered a bug, in fact it helps to see code flow in Hex Editor and Debugger, and warn the romhacker that some code could be jumping there.

Also I use this Data flag in my CDL-based disasembler, where it helps to quickly label cross-bank jumps. Because sometimes several banks can have code at the same jump location, and you need to figure out which bank it is. But if only 1 bank has this flag set, it's easy.

Basically this CDL flag marks 4C jumps the same way as bit4 marks 6C jumps. And if no 4C jumps found jumping at some code location, but the flag is still set at this location, this could lead to finding a possible bug in the game, like some code is reading what it's not supposed to.

image

@parasyte please revert this.

@cyneprepou4uk cyneprepou4uk changed the title One of the useful CDL featues was considered a bug and was "fixed" One of the useful CDL features was considered a bug and was "fixed" Dec 2, 2024
@parasyte
Copy link
Contributor

parasyte commented Dec 2, 2024

The last discussion on this was in #755. We can't break PRG ROM writes. Reverting would not be acceptable, either.

I have a private branch where I was experimenting with adding more context to CDL files by extending it with a second overlay with 32-bits of context per byte. It adds a proper "branch target" flag and some others that are used to guide the disassembler. Mostly for instruction disambiguation and labels.

I'm sorry fixing the bug affected your use case (Hyrum's Law) but there are better ways. We should move forward, not back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants