Andrew Re Posted December 25, 2011 Share Posted December 25, 2011 If previously working code starts behaving funny because it's moved to a different ROM location, could that have something to do with the 1 cycle penalty for crossing a page? It's hard to tell exactly what's happening but at a glance the wrong byte is written to GRP0 when it should be erased with a zero. Moving the data used by the kernel to after the kernel solves the bug. I just want to ask if anyone has seen a problem like this before getting down to the nitty-gritty of following the debugger. Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 25, 2011 Share Posted December 25, 2011 That could do it. Inadvertantly coding direct addresses instead of using labels or setting up z-page pointers using part of the address rather than high/low byte of a label can break stuff too. Moving the code but keeping the low byte of the address the same should keep the cycle count the same though. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted December 25, 2011 Share Posted December 25, 2011 How about posting the snippets of code that have the problem and a map file (symbol table) so that we don't have to guess . Quote Link to comment Share on other sites More sharing options...
Andrew Re Posted December 27, 2011 Author Share Posted December 27, 2011 Thanks for the responses. I'm gonna hold off on looking into this further since my kernel logic is now causing a few problems... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.