Maybe someday everyone will be using NESICIDE, but until that project is completed we all will figure out what works best for us. For me I use:
*Notepad++
*Make
*CA65/LD65
*ASM6 (for testing small programs without having to bother with a makefile and configuration required by CA65)
*Paint.NET for minor edits to art I receive from my artist
*a custom graphics/sprite/animation editor and bitmap importer
*a custom level editor
*Famitracker
*JNes, Nestopia, FCEUXDSP 1.07, Nintendulator
*a custom namelist file generator for use with FCEUXDSP 1.07
*edit* I forgot to mention (some of you reminded me), I also use TortoiseSVN, and I use a PowerPAK to test on the real system.
I've set up scripts in Notepad++ with NppExec so all of these tools are a keystroke away. It's particularly fun to just hit "F11," and Notepad++ cleans, makes, generates namelist files and runs FCEUXDSP 1.07 with the debugger populated with all of the source code from my game and all labels and comments. It feels almost like using Visual Studio, only for the NES.
Yeah, I should probably improve the development process for myself, as it's pretty pathetic. I use the following tools:
* Notepad.
* WLA-DX (for everything, basically)
* YY-CHR and MS Paint for making graphics
* Custom made level editor (It's a NES ROM, and saves the data in SRAM. Works nice though).
* FCEUXD, Nintendulator, PowerPak. Usually in that order. FCEUXD just speeds up the debugging process greatly. I'm not doing things that are really timing specific (besides sprite #0 for a status bar), so it suffices for testing my game. The computer I'm using sucks, so Nintendulator has some problems on it, and I for some reason haven't downloaded NEStopia onto this one yet so I don't know how well it would run.
So yeah, I type my code and enter data with notepad. I hear lots of great things about Notepad++, so I'll try that sometime. There are a few other native editors I might make, such as a cutscene screen arranging editor, a music editor, animation editor, etc. The cutscene screen arrangement editor would be really handy, as I'm using NROM which means I have to make large images by cleverly arranging background and sprite tiles. I think in the end it will look cool, as I've set aside some CHR space for triangles and squares to make these images out of. But yeah, it's annoying to try and type in the definitions of these images rather than editing them with a nice editor of some sort.
So needless to say, my tools are fairly crappy, but so far my game's coming along great, so I'm not really complaining.
TextPad 5
TASM
Ulead PhotoImpact
YY-CHR
Little VB programs that convert the graphics data
Of course, I haven't really made much NES stuff yet.
Notepad++
custom assembler
Tile Layer Pro/YY-CHR
MapEd Pro
SpriteTool
FCEUXDSP 1.07, Nintendulator
HxD
Quote:
*a custom namelist file generator for use with FCEUXDSP 1.07
Have you ever used the symbolic debugging with more then 2 prg banks? If so, I'm interested in how you got it working. Every address < $C000 used prg0 symbols the last time I messed around with it.
text editor - EditPad
assembler - asm6
art/maps - ProMotion+custom tools
testing - powerpak, nintedulator, FCEUX
Notepad++ with custom 6502 highlighting, and comment based blocks (for "folding", like {} in C++)
DASM
YY-CHR
Numerous Emulators of varying accuracies and debugging abilities
A batch file for compilation
6502 opcode reference + Nesdevwiki
Editor: TextPad
Assembler: NESASM
Music: MCK/PPMCK
Art: Photoshop, mspaint
Testing: Nintendulator, FCEUX, PowerPak
Lots of custom tools for converting graphics data, generating lookup tables and whatnot.
The usual boring stuff:
Editor: Notepad++ with 6502 syntax hilighting file from somebody on this forum (maybe miau?)
Assembler: CA65, sometimes DASM for older sources
Music: Pornotracker
Gfx: YY-CHR / Photoshop / bunch of custom command line tools
Testing/Debugging: Nintendulator primarily, PowerPak occasionally
That Pro Motion app mentioned by loopy seems really good, have to give it a go.

thefox wrote:
Editor: Notepad++ with 6502 syntax hilighting file from somebody on this forum (maybe miau?)
If jmp/branch instrutctions etc. are printed bold then quite possibly, yes.
Editor: Notepad++
Assembler: CA65
Music: Famitracker, custom MML compiler
Gfx/maps: YY-CHR, GraphicsGale, custom map and sprite editors/command line tools, 8name for smaller projects
Testing/Debugging: FCEUX with lua scripts, Nestopia, Nintendulator, PowerPak (old devcart is collecting dust)
A lot of professional pixel artists seem to use ProMotion. It has a lot of useful features, but there's also a certain learning curve which isn't too easy to overcome.
Notepad++
ASM6
FCEUXD, Nestopia, Nintendulator, PowerPak
Custom tile converter (from BMP)
Custom level converter (from PCX)
MS Paint (for drawing tiles)
GIMP (for drawing levels)
Several custom C programs to create or convert data
Akoff Music Composer and Anvil Studio (for testing melodies)
Batch file for assembling
I like to keep it all portable, because I have access to several PCs and I like to be able to continue development in any one of them. This means I have most of the applications in an email account, so I can download them anywhere. Whatever is small enough to be packed along with the game itself, is.
never-obsolete wrote:
Notepad++
custom assembler
Tile Layer Pro/YY-CHR
MapEd Pro
SpriteTool
FCEUXDSP 1.07, Nintendulator
HxD
Quote:
*a custom namelist file generator for use with FCEUXDSP 1.07
Have you ever used the symbolic debugging with more then 2 prg banks? If so, I'm interested in how you got it working. Every address < $C000 used prg0 symbols the last time I messed around with it.
Yes..
FCEUXDSP 1.07 recognizes various "keys" in the namelist filename... ram.nl, 0.nl, 1.nl, ...to however many PRG banks you have. My namelist file generator accepts arguments that specify which .segments (it works with CA65 output files at the moment) are to fill which namelist files. Then, it uses the .map file in conjunction with individual .lst files for every individually compiled module in my source code to figure out the correct address for every label and also every comment.
Currently my game has 8 PRG banks (most of which are as yet unused), and I have my namelist file generator generating namelist files for banks 0, 1, 2, and 7 (fixed bank). Bank 2 contains entity intelligence routines, and I've tested setting break points in those and also the fixed bank when one of the other PRG banks are visible. Sure enough when I hit those break points, the correct labels and comments are visible in the $8000 - $BFFF range.
It took a little bit of effort to get that namelist file generator working properly, but I'm really glad I did it. It has saved me huge amounts of development time, being able to debug and see all my labels and comments while stepping through the code. I'm actually kinda hoping I can share this tool with others at NesDev if they would find it useful, so I can feel like I've given back to a community from whom I've learned so much.
So, I guess pm me if you'd like a copy of the namelist generator. It'd be cool to see someone else using it and maybe get feedback. If you don't use CA65, I did write a version for ASM6 before this one so I may be able to expand/adapt it to your favorite assembler.
Really simple for me.
Notepad
asm6
YY-CHR, MSPaint,
GraphicsGale
FCEUX, Nestopia
never-obsolete's MapEd
Is FCEUXD better than FCEUX? FCEUX's main page says its intent is to combine all branches of FCE Ultra together, including FCEUXD. I assumed that meant it would be the definitive version.
UncleSporky wrote:
Is FCEUXD better than FCEUX? FCEUX's main page says its intent is to combine all branches of FCE Ultra together, including FCEUXD. I assumed that meant it would be the definitive version.
I tend to lean towards
FCEUXD SP, since the guy is highly technical and understand both hardware and software.
It's like FCE is more or less like MAME -- ten bazillion "ports" or sub-versions of it so you never know which one to use, why, when, etc... Frustrating.
koitsu wrote:
I tend to lean towards
FCEUXD SP
I remember running into several bugs while using its debugger, so I quickly went back to FCEUXD.
design: the backs of stray pieces of paper that appear on my desk at work, a little notebook, graph paper, notepad++
code: Notepad++, with my own 6502 highlighting. TortoiseSVN for backup and version control. If I have time and an idea but no computer around, I write and debug code/data on paper.
assembler: ca65, assemble with a batch file. I have nesasm3 onhand for quick programs, my sound tutorials and helping newbies.
art: YY-CHR, GIMP. Started using YY-CHR today after reading this thread. It's great!
testing: FCEUX?? (+LUA), Nintendulator, Nestopia (hopefully PowerPak soon)
music: my guitar, FamiTracker, Notepad++
- Well, I use
Hexa Workshop to write 6502 code, RockNES to debug/trace and
Dev-Cpp as text editor.
UncleSporky wrote:
Really simple for me.
Notepad
asm6
YY-CHR, MSPaint,
GraphicsGaleFCEUX, Nestopia
never-obsolete's MapEd
Is FCEUXD better than FCEUX? FCEUX's main page says its intent is to combine all branches of FCE Ultra together, including FCEUXD. I assumed that meant it would be the definitive version.
From what I can tell, the symbolic debugging feature of FCEUX does not work the same way as in FCEUXDSP 1.07. I have been in contact with the FCEUX developers about this, as it would be nice to see the feature work as well in the "combined" version as it did in the SP 1.07 version. I'm actually not certain if that is because they changed the format of the namelist files or if there is a problem, hopefully I'll find out soon.
@Gradualore
Yeah if it wouldn't be too much trouble I'd like to try it out.
I tried FCEUX (whatever version was current a few months ago) and it crashed every time I loaded Legend of Zelda hacked to FME7. Also, reading the palette from vram hadn't been fixed so I just went back to FCEUDXSP (which also crashes from time to time).
The Lua support looks nice for viewing game state data without having to code it into the game or viewing it in the hex editor.
asm6
FCEUXDSPF#$&
YY-CHR
Notepad
When I get to metatile layout, I'll probably whip up something in IronPython.
I agree with Gradualore that pressing F5 in Gedit to run the entire build process and load the ROM into an emulator is very convenient. Here's what I have used to make Concentration Room:
[Booting]
Operating system: Ubuntu 9.10
[Prototyping]
Music: Modplug Tracker in Wine
Graphics: GIMP, occasionally graph paper
Game algorithms: occasionally Python
[Editors]
Edit .s: Gedit
Edit .png: GIMP
Edit .nam: (formerly)
8name (but now) 8name II
[Build process]
Convert .png to .chr: pilbmp2nes
Convert .s to .o to .prg: ca65 + ld65
Make lookup tables: Python
Coordinate all this: GNU Make
[Testing]
Quick test: FCE Ultra 0.98.12 from Ubuntu repository
Daily test: PowerPak
8name II and pilbmp2nes are written in Python. They aren't available yet, but the first release of the Concentration Room demo will include them.
I use vi in cygwin as my editor.
I use CA65 as my assembler
I use my own tools for graphics.
I dont do music.
I primarily use FCEUltra 0.98 as my emulator. This is because I find it the easiest to view the memory in.
Since I busted my powerpak, I'll likely go back to eproms and test carts for real hardware testing.
I had been using Nintendulator as my primary emulator, but I dont think it handles lightgun stuff as well as FCEU.
side note: I've been attempting to develop eclipse plugins to assist with NES development, but I dont have anything working yet. My hope is to make use of the extensibility of their plugin system to provide a central development environment, regardless of whatever assemblers, emulators, a person prefers.
Al
* Notepad ++
* WLA-DX
* Tile Molester, YY-CHR, Tile Layer Pro
* VirtuaNES, FCEUXD, Nestopia, Ninendulator, PowerPak
Wow... I just wanted to mention I downloaded Notepad++... I think life will be a lot easier now! I see why lots of people use it. At first I wasn't sure that it would be useful as I wasn't sure it would recognize 6502. But with the customization features available, I was able to make it recognize all the 6502 instructions, and highlight them all blue. Then comments are green, things like ".incbin" and ".include" are red... All the lines are numbered... I certainly hope there's more than 1 undo, which is something about Notepad that drove me nuts. I'm just relieved to not have to open my code and have to look at a sea indistinguishable black terminal characters. So yeah, I'd recommend downloading it if you haven't already.
@Celius:
I would recommend that you try some of the UserDefinedLanguage for notepad++ that some of the members of this board (including me), made.
There's is a lot of things you can do with it (notepad++), so many that I cannot mention all of them. Of simple thing is highlighting all instance of the word you selected. I'm sure that will you will be more than happy to leave notepad. Tools are important since they will save you time in the end

Knows your tools and you will save more.
Yeah, it seems there are a ton of features I just have no idea about. But highlighting is probably the most simple, but it is such a significant feature for me. I'm doing a complete revision of my game engine, which shouldn't take nearly as long as I've already coded everything once and decided on formats, etc. And now with notepad++, this will be an even easier process. Oh, and I didn't even see at first that you can have multiple files open in the same instance of Notepad++, and just go to one by clicking on a tab on top. You have no idea how annoying it is when you have too many files open with Notepad and they all combine into one thing on the taskbar, so then you have to click on that one each time and select which text file you want from a menu... So I'm glad I won't have to deal with that anymore!
Celius wrote:
You have no idea how annoying it is when you have too many files open with Notepad and they all combine into one thing on the taskbar, so then you have to click on that one each time and select which text file you want from a menu...
You can disable that annoying behavior by right-clicking the taskbar, selecting "Properties" and unchecking the box that says "Group similar taskbar buttons". That's probably the first thing I do every time I install Windows XP.
Anyway, maybe you'll like the double view feature in Notepad++ as well: When you have multiple opened documents you can right-click their tabs and select "Go to another view", and each view can have it's own set of tabs. I use this to compare documents, to edit different sections of the same document without having to scroll up and down all the time (you can have the same document in both views - "Clone to another view"), things like that. I find that terribly useful.
Banshaku wrote:
I would recommend that you try some of the UserDefinedLanguage for notepad++ that some of the members of this board (including me), made.
May I ask where can I download this/these file/s? Because I really can't search up "Notepad++" because it will omit the ++ from the query.
I remember that my definition and Miau's one is available in
this thread. There was another one but my memory is failing me.
Maybe they should be put on the wiki on the nesdev main page someday.