Register - Login
Views: 99398548
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 03:03:32 PM
Jul - General Game/ROM Hacking - Advent - Integrated SNES Debugger Plugin New poll - New thread - New reply
Next newer thread | Next older thread
MathOnNapkins
Member
Level: 14


Posts: 28/29
EXP: 11307
For next: 1764

Since: 12-17-07


Since last post: 11.5 years
Last activity: 10.7 years

Posted on 10-07-10 05:37:27 PM Link | Quote
(cross posted from RHDN)

Imporant: While it could be used by a novice SNES 65c816 hacker, this set of tools is primarily aimed at experienced users that are jaded with the SNES debugging status quo

Advent is a plugin for Notepad++ that bridges the gap between the textual aspect of coding assembly language for the SNES and actually running it in an emulator debugger. It is modeled to some extent after Visual Studio (and other similar graphical frontends to debuggers). Advent as a whole could be thought of as an entity depending upon three modules:


  • The Advent plugin DLL (authored by yours truly)

  • A special build of byuu's xkas version 0.06 (see http://byuu.org/programming/)

  • A special build of byuu's bsnes version 0.67 (the debugger build)



  • This is quite a specific set of tools, but nothing about this setup necessarily dictates that they be used. Notepad++ is Windows only but a comparable editor on Linux or Mac could have a similar plugin developed. Geiger's Debugger could be interfaced with this debugging protocol without too much fuss. Other assemblers could output the same debugger information. In fact the debug information format ought to be rewritten in the future to be more compact and contain more information, but that's getting ahead of ourselves.

    One thing I should note is that xkas v0.06 has macros and this presented a bit of a stumbling block for outputting debugging information. So stepping over / into a macro may make it seem like you've lost the current line marker, but it will reemerge after the end of the macro. Currently only the first instruction of a macro will register in the debug file.

    Download Link
    (contains a readme with instructions)
    http://math.arc-nova.org/Releases/Advent_v010.zip

    BSNES screenshots:
    early image showing remote breakpoint enable / disable
    current (tad ugly) image showing added stepping commands

    Notepad++ screenshots:
    early image using stock marker symbols
    later screenshot with custom marker symbols added
    current screenshot showing debugger commands

    Imporant: I'm not interested in any complaints about the current tools involved (see the arguments above for why it is irrelevant to complain about them)

    By complaints, I generally mean critiques along these lines, not actual bugs:
    Complaint: "bsnes is slow on my computer"
    My response: it's not perfect on my computer either

    Complaint: "Notepad++?!!! Why don't you use Notepad2 / Crimson Edit / TextPad / MaxiPad / Notepad Advent Children / etc?"
    My response: that's like, your opinion, man

    Complaint: "xkas v0.06 is discontinued"
    My response: yeah but a lot of people still use it b/c later versions, while having cleaner syntax, lack features that v0.06 had, and at least in my peer group v0.06 still seems to be widely used.

    Glad we got those out of the way. Hope at least someone has some fun with this.


    ____________________
    Zelda 3 (ALTTP) Hacking Forum on Arc-Nova
Maxwell

Level: 47


Posts: 127/500
EXP: 726690
For next: 39513

Since: 09-30-10


Since last post: 11.2 years
Last activity: 11.1 years

Posted on 10-07-10 10:15:10 PM Link | Quote
This is pretty amazing so this is kinda like the missing link between the debugger and the complier that strings them together in a pleasant looking way? If so this could be the thing that may get me started with SNES homebrew.

____________________
MathOnNapkins
Member
Level: 14


Posts: 29/29
EXP: 11307
For next: 1764

Since: 12-17-07


Since last post: 11.5 years
Last activity: 10.7 years

Posted on 10-08-10 02:01:54 AM Link | Quote
Now that you mention it, this would actually work a lot better for homebrew than for rom hacking, b/c with a homebrew you (almost certainly) have access to all the code being assembled.

____________________
Zelda 3 (ALTTP) Hacking Forum on Arc-Nova
Sukasa

Level: 123


Posts: 2730/4326
EXP: 20918943
For next: 312323

Since: 07-07-07


Since last post: 1.1 years
Last activity: 1.0 years

Posted on 10-09-10 01:59:39 AM Link | Quote

This has seriously piqued my curiosity. A VS-inspired SNES debugging (and dev?) suite has a ton of potential. I'll definitely be downloading this stuff and having a look at it.

____________________
* hydrapheetz puts on the kittydunce hat
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - Advent - Integrated SNES Debugger Plugin New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

27 database queries, 1 query cache hits.
Query execution time:  0.087719 seconds
Script execution time:  0.010881 seconds
Total render time:  0.098600 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 213 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 185 column 711 - Error: <list> is not recognized!
line 185 column 711 - Warning: discarding unexpected <list>
line 186 column 721 - Warning: inserting implicit <ul>
line 187 column 1 - Warning: missing <li>
line 188 column 1 - Warning: missing <li>
line 189 column 1 - Warning: missing <li>
line 189 column 991 - Warning: discarding unexpected </list>
line 186 column 721 - Warning: missing </ul> before </td>
line 224 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 226 column 9 - Warning: missing <tr>
line 244 column 13 - Warning: missing <tr>
line 245 column 102 - Warning: unescaped & or unknown entity "&postid"
line 247 column 74 - Warning: <style> isn't allowed in <td> elements
line 247 column 9 - Info: <td> previously mentioned
line 250 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 252 column 9 - Warning: missing <tr>
line 270 column 13 - Warning: missing <tr>
line 271 column 102 - Warning: unescaped & or unknown entity "&postid"
line 276 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 278 column 9 - Warning: missing <tr>
line 296 column 13 - Warning: missing <tr>
line 297 column 102 - Warning: unescaped & or unknown entity "&postid"
line 299 column 74 - Warning: <style> isn't allowed in <td> elements
line 299 column 9 - Info: <td> previously mentioned
line 300 column 1391 - Warning: replacing unexpected font with </font>
line 304 column 17 - Warning: missing <tr>
line 304 column 17 - Warning: discarding unexpected <table>
line 307 column 35 - Warning: missing <tr>
line 307 column 50 - Warning: missing </font> before </td>
line 307 column 91 - Warning: missing </font> before </table>
line 309 column 35 - Warning: missing <tr>
line 309 column 50 - Warning: missing </font> before </td>
line 310 column 37 - Warning: unescaped & or unknown entity "&id"
line 309 column 213 - Warning: missing </font> before </table>
line 311 column 17 - Warning: discarding unexpected </textarea>
line 311 column 28 - Warning: discarding unexpected </form>
line 311 column 35 - Warning: discarding unexpected </embed>
line 311 column 43 - Warning: discarding unexpected </noembed>
line 311 column 53 - Warning: discarding unexpected </noscript>
line 311 column 64 - Warning: discarding unexpected </noembed>
line 311 column 74 - Warning: discarding unexpected </embed>
line 311 column 82 - Warning: discarding unexpected </table>
line 311 column 90 - Warning: discarding unexpected </table>
line 313 column 9 - Warning: missing </font> before <table>
line 325 column 25 - Warning: discarding unexpected </font>
line 334 column 57 - Warning: discarding unexpected </font>
line 312 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 229 column 22 - Warning: <img> lacks "alt" attribute
line 229 column 63 - Warning: <img> lacks "alt" attribute
line 229 column 112 - Warning: <img> lacks "alt" attribute
line 229 column 162 - Warning: <img> lacks "alt" attribute
line 240 column 15 - Warning: <img> lacks "alt" attribute
line 247 column 743 - Warning: <img> proprietary attribute value "absmiddle"
line 247 column 743 - Warning: <img> lacks "alt" attribute
line 255 column 22 - Warning: <img> lacks "alt" attribute
line 255 column 63 - Warning: <img> lacks "alt" attribute
line 255 column 112 - Warning: <img> lacks "alt" attribute
line 255 column 162 - Warning: <img> lacks "alt" attribute
line 266 column 15 - Warning: <img> lacks "alt" attribute
line 280 column 11 - Warning: <img> lacks "alt" attribute
line 281 column 23 - Warning: <img> lacks "alt" attribute
line 281 column 64 - Warning: <img> lacks "alt" attribute
line 281 column 113 - Warning: <img> lacks "alt" attribute
line 281 column 163 - Warning: <img> lacks "alt" attribute
line 292 column 15 - Warning: <img> lacks "alt" attribute
line 310 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 310 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 310 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 319 column 25 - Warning: <img> lacks "alt" attribute
line 324 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 304 column 17 - Warning: trimming empty <tr>
line 307 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 245 column 27 - Warning: <nobr> is not approved by W3C
line 271 column 27 - Warning: <nobr> is not approved by W3C
line 297 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 107 warnings and 1 error!

The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md