Next revision | Previous revision |
super:expert_guides:asm_stylesheet [2016/09/04 15:05] – Moved black_falcon | super:expert_guides:asm_stylesheet [2019/10/01 08:04] (current) – [Recommended Tools] black_falcon |
---|
| |
| |
====== TABLE OF CONTENTS ====== | |
| |
| |
Introduction | |
| |
1. Getting the right setup **done** | |
- Recommended Tools | |
- Setting up N++ | |
| |
2. Basic code stucturization **done** | |
- One event per line | |
- Branches | |
- Folding Blocks Of Code | |
- Commentary | |
| |
3. Organizing Xkas Commands **done** | |
| |
4. Tips for Optimizing Your Workflow using N++ Macros **pending** | |
- When Disassembling | |
- When Copying a string of bytes from the ROM | |
| |
| |
====== INTRODUCTION ====== | ====== INTRODUCTION ====== |
__Essential stuff any ASM coder should have before even reading this guide:__ | __Essential stuff any ASM coder should have before even reading this guide:__ |
| |
* [[super_metroid:editor_utility_guides:smile2.5|SMILE]] - well you might be thinking "duh..", the feature essential here is the file comparison\\ | * [[super:editor_utility_guides:smile2.5|SMILE]] - You might be thinking, "Well, duh..", the feature essential here is the file comparison.\\ |
* [[http://www.smwcentral.net/?p=section&a=details&id=4615|xkas]] - does not just apply asm code, it has a ton of super useful features hardly anyone knows about\\ | * [[http://fusoya.eludevisibility.org/la/|Lunar address]] - If you don't know what this is for, then you probably shouldn't be here. What is a bank and what is a pointer? GO LEARN!\\ |
* [[http://www.zophar.net/snes/geiger-s-snes9x-debugger.html|Geigers SNES9x Debugger]] - I'm using 1.51, which is quite glitchy graphics-wise, but it works very well to disassemble code\\ | * [[http://www.smwcentral.net/?p=section&a=details&id=4615|xkas v0.06]] - An extremely useful program for writing and maintaining ASM code, also used to create and apply patches.\\ |
* [[ http://fusoya.eludevisibility.org/la/ | Lunar address]] - If you don't know this program then you're not a hacker. What is bank and what is pointer? GO LEARN!\\ | * Debugging Emulator - [[http://bsnes.revenant1.net/|bsnes-plus]] or [[http://www.zophar.net/snes/geiger-s-snes9x-debugger.html|Geigers SNES9x Debugger]] - Geiger's v1.51 may have some minor issues (mostly graphical), bsnes-plus is more recent. Both are highly useful for disassembling code, take your pick.\\ |
* Hex Editor - [[http://mh-nexus.de/de/downloads.php?product=HxD|HxD]] recommended, also has file comparison if you prefer this one\\ | * Hex Editor - [[http://mh-nexus.de/de/downloads.php?product=HxD|HxD]] recommended, also has file comparison if you prefer this one.\\ |
* calculator - anything that can calculate and convert between 0x <> 0d <> 0b (you better know what those mean)\\ | * Calculator - Anything that can calculate and convert between 0x <> 0d <> 0b\\ |
| |
__Tools recommended that once used you don't want to miss anymore:__ | __Tools recommended that once used you don't want to miss anymore:__ |
| |
* [[https://notepad-plus-plus.org/ |Notepad++]] and [[https://dl.dropboxusercontent.com/u/18141148/website/Hacking%20Stuffz/65816asm%28xkasv06%29.xml |my ASM Stylesheet]] - A synonym for "saving years of your life", in this guide we'll be using my custom ASM stylesheet | * [[https://notepad-plus-plus.org/|Notepad++]] and [[http://blackfalcon.metroidconstruction.com/resources/65c816_XkasAsar_Dark.xml |my ASM Stylesheet]] - to have syntax highlighting for SNES ASM code, including xkas v6 commands. |
* [[http://www.romhacking.net/utilities/395/ |SNES Professional ASM Development kit]] - Allows you to view and modify asm code directly in the ROM. | * [[http://www.romhacking.net/utilities/395/|SNES Professional ASM Development kit]] - Allows you to view and modify asm code directly in the ROM. |
| |
| |
__Even more essential stuff and the reason I get out of bed every morning:__ | __Even more essential stuff and the reason I get out of bed every morning:__ |
| |
* Coffee - needed in order for programmers to convert it into code | * Coffee - Needed in order for programmers to convert it into code. |
| |
__Other things:__ | __Other things:__ |
| |
* a brain - well, not quite as essential maybe, some people don't have one, so you don't necessarily need it | * A Brain - Well, not quite as essential maybe, some people don't have one, so you don't necessarily need it. |
| |
---- | ---- |
{{:asmguidecustomlang2.png|}} | {{:asmguidecustomlang2.png|}} |
| |
Now the default theme has a white background, which is a pain in the eyes (that's why I use an all black background) | Now the default theme has a white background, which is a pain to the eyes (that's why I use an all black background) |
To change that, click ''Settings >> Style Configurator'', and under ''Select Themes'', select a dark theme you like (I'm using black board) | To change that, click ''Settings >> Style Configurator'', and under ''Select Themes'', select a dark theme you like (I'm using black board) |
If you're still not happy with the slight blueish background or whatever color your theme's bg has, | If you're still not happy with the slight blueish background or whatever color your theme's bg has, |
org $808000 : padbyte $FF : pad $808010 ;should always be on one line | org $808000 : padbyte $FF : pad $808010 ;should always be on one line |
fillbyte $ff : fill 16 | fillbyte $ff : fill 16 |
====== 4. Tips for Optimizing Your Workflow using N++ Macros (Pending) ====== | |
| |
More to come soon! | |
| |
| |