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

Breakpoints in multibank ROMs #217

Open
thrust26 opened this issue Sep 2, 2017 · 2 comments
Open

Breakpoints in multibank ROMs #217

thrust26 opened this issue Sep 2, 2017 · 2 comments

Comments

@thrust26
Copy link
Member

thrust26 commented Sep 2, 2017

It seems that breakpoints fail when switching from one bank to another.
https://atariage.com/forums/topic/262359-cdf-bankswitching/page-11#entry3838681

This might be a result of the disassembly getting mixed up with the addresses. Attached is a little test program. When you step through it, weird things happen with the disassembly. E.g. while in bank 1, the labels of bank 0 are displayed and vice versa. When you then set a breakpoint at e.g. LF001 (which actually is LF7001 in bank 0), the game will break in bank 1.

Also notice the bytes displayed for the jumps. They are from the opposite bank!

Test_BS.zip

I am not 100% sure if that's the exact problem as described at AA. But I am pretty sure it is related.

@thrust26
Copy link
Member Author

thrust26 commented Aug 20, 2019

When you set breakpoints at $7001 and $f001, these get never hit. They list as:

(pc==7001) && (_bank == 1)
(pc==f001) && (_bank == 0)

So the ROM list is still at the bank ORG (the bank is correct) when setting the breakpoints. They trigger correctly when you put them at the NOPs.

@thrust26
Copy link
Member Author

Symptom fixed with 9aecdf3

The root cause is still there.

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

No branches or pull requests

2 participants