Hmm, well is the location of the "ret" as of now "$99c3"? I know it's subject to change.
ACagliano wrote:
Hmm, well is the location of the "ret" as of now "$99c3"? I know it's subject to change.
Around there, but I'm not precisely sure about that. Why do you ask? ACagliano wrote:
I'm on about replacing the "ret" with a jump to a very small piece of code, then to ret from that.
Why not search forward and back from that address looking for the $C9?
What if I end up replacing the wrong C9? Is there any other C9 in the interrupt stub besides this one?
Ok, so I'll just start at the beginning and look for the first 'ret'. That's easy enough. But if I have already changed the stub's ending to 'jp MyCode', how would I check for that?
its a 'cp $C9' for the ret? what is it for the jp?
its a 'cp $C9' for the ret? what is it for the jp?
It would be better to start at $99C3 and work outwards:
Code:
Code:
#define Cn2_End_Guess $99C3
ld hl,Cn2_End_Guess
push hl
pop de
Search_Up:
ld a,(hl)
cp $C9
jr z,FoundHL
dec hl
inc de
ld a,(de)
cp $C9
jr z,FoundDE
jr Search_Up
FoundDE:
ex de,hl
FoundHL:
// location of $C9 (ret) is in hl
Ok, but let's assume that the end of the code can be either "C9" OR "jr MyCode"?
What would you have to do to add the "jr MyCode" as a search term?
What would you have to do to add the "jr MyCode" as a search term?
You would look up the hex code for 'jr' and/or 'jp' and add a check for that. I'm not going to write your whole program for you.
Nah, didn't want you to. was merely curious if I needed to do a two-byte check for the full command or if just searching for the jp in that general location would work.
Ok, Im having a few more issues. (In all, my program is coming well though).
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
2. I kind of need to return pointers to an appvar within the code I'm appending to the interrupt. Will bcall(_ChkFindSym) disable interrupts? If so, can I just reenable them after?
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
2. I kind of need to return pointers to an appvar within the code I'm appending to the interrupt. Will bcall(_ChkFindSym) disable interrupts? If so, can I just reenable them after?
ACagliano wrote:
Ok, Im having a few more issues. (In all, my program is coming well though).
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
Not as I recall. Two extra bytes to change 'ret' into 'jp' should be ok.
Quote:
2. I kind of need to return pointers to an appvar within the code I'm appending to the interrupt. Will bcall(_ChkFindSym) disable interrupts? If so, can I just reenable them after?
I'm not sure, but you can test it. If it does, do im 2 \ ei. KermMartian wrote:
ACagliano wrote:
Ok, Im having a few more issues. (In all, my program is coming well though).
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
The issues are this...
1. Is there anything immediately after the Cn2 interrupt stub that I should not write over?
Not as I recall. Two extra bytes to change 'ret' into 'jp' should be ok.
Quote:
2. I kind of need to return pointers to an appvar within the code I'm appending to the interrupt. Will bcall(_ChkFindSym) disable interrupts? If so, can I just reenable them after?
I'm not sure, but you can test it. If it does, do im 2 \ ei.On response 1: I was actually planning on ldiring the entire "appended code" there
Well, the stub is at $9999, in the middle of AppBackupScreen, which goes from 9872h to 9B72h. Presumably there's room, but you might not want to block yourself from using it for other things.
KermMartian wrote:
Well, the stub is at $9999, in the middle of AppBackupScreen, which goes from 9872h to 9B72h. Presumably there's room, but you might not want to block yourself from using it for other things.
Ok then what other memory areas can I use. That won't get overwritten . I can't jp into my program code, bc that moves around.
ACagliano wrote:
KermMartian wrote:
Well, the stub is at $9999, in the middle of AppBackupScreen, which goes from 9872h to 9B72h. Presumably there's room, but you might not want to block yourself from using it for other things.
Ok then what other memory areas can I use. That won't get overwritten . I can't jp into my program code, bc that moves around.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
» Go to Registration page
» Go to Registration page
» Goto page Previous 1, 2, 3, 4, 5 Next
» View previous topic :: View next topic
» View previous topic :: View next topic
Page 3 of 5
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Advertisement