Jump to content

Photo

Disassembly of multi-bank ROMs

stella distella debugger

28 replies to this topic

#26 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,890 posts
  • Location:The land of Gorch

Posted Tue Mar 19, 2013 4:55 AM

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.

#27 stephena ONLINE  

stephena

    River Patroller

  • Topic Starter
  • 3,362 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Tue Mar 19, 2013 5:07 AM

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.

#28 Omegamatrix OFFLINE  

Omegamatrix

    Quadrunner

  • 6,233 posts
  • Location:Canada

Posted Tue Mar 19, 2013 8:40 AM

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.

#29 stephena ONLINE  

stephena

    River Patroller

  • Topic Starter
  • 3,362 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Tue Mar 19, 2013 9:11 AM

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??





Also tagged with one or more of these keywords: stella, distella, debugger

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users