Jump to content
stephena

Disassembly of multi-bank ROMs

Recommended Posts

I'm glad you noticed that. You actually hit the nail right on the head. Using the reset vector doesn't work a lot of the time.
A disassembler could be made to ignore the upper 3 bits of all addressing (the 2600 does anyway). Setting the origin as $Dxxx or $Fxxx is really only useful to get the absolute addressed stuff labelled by the disassembly process.

 

Although it's true that data tables, etc...could be repurposing the upper 3 bits of vectors they hold for other uses ;) The labels themselves missing this reference is of little consequence, IMO.

Share this post


Link to post
Share on other sites

A disassembler could be made to ignore the upper 3 bits of all addressing (the 2600 does anyway). Setting the origin as $Dxxx or $Fxxx is really only useful to get the absolute addressed stuff labelled by the disassembly process.

 

Although it's true that data tables, etc...could be repurposing the upper 3 bits of vectors they hold for other uses ;) The labels themselves missing this reference is of little consequence, IMO.

 

True, and from the POV of generating a valid assembly file it would be fine. But the intent is to generate a readable assembly file as well, with as much hints as possible to the programmer. So while it's not absolutely required, it would be very nice to clearly define the RORG addresses.

  • Like 1

Share this post


Link to post
Share on other sites

A disassembler could be made to ignore the upper 3 bits of all addressing (the 2600 does anyway). Setting the origin as $Dxxx or $Fxxx is really only useful to get the absolute addressed stuff labelled by the disassembly process.

 

Although it's true that data tables, etc...could be repurposing the upper 3 bits of vectors they hold for other uses ;) The labels themselves missing this reference is of little consequence, IMO.

 

It sure helps to have the complete absolute address if there are indirect pointers that are referenced from other banks. I'm happy with how RORG works now, and I think majority voting would solve figuring out what RORG to use.

Share this post


Link to post
Share on other sites
It sure helps to have the complete absolute address if there are indirect pointers that are referenced from other banks. I'm happy with how RORG works now, and I think majority voting would solve figuring out what RORG to use.

 

I'm going to be tied up for a little while on the new debugger/disassembly view(s), so I won't get back to this for a week or two. Would you be willing to add something like this to your personal distella build, so I can see exactly how you'd go about doing it? I assume you'd have another pass for it??

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...