On Thu, Oct 16, 2008 at 04:50:11PM +0200, Robert Millan wrote:
> 
> Ok, fixed that.  I got a 100% code match now.  The only remaining question is
> what's the deal with this section that's supposed to start at 0x7ea9 but
> actually starts at 0x4f (0xed in the file).  My code adds a workaround for
> that:
> 
>       if (offset > 0x7000)
>         offset -= 0x7e5a;

It seems the whole point is to avoid generating a huge file.  Address 0x7ea9
needs to be used for some reason, so the code uses "org 7ea9" to generate
absolute offsets in code using that address, but the code itself is saved at
0x4f.  Then the copy routine reallocates that to 7ea9 in runtime.

I can live without knowing why the code needs to run in that address;  but
I'm still puzzled by how is the code supposed to tell the assembler that the
0x7ea9 chunk really should be saved to 0x4f.  We can't remove my ad-hoc hack
without knowing that....

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to