Hey there, my name's Overkill. I've been lurking NESdev for a bit, hanging out on the IRC, and making a homebrew project.
I think a few people on #nesdev may have heard about my assembler sideproject already, but I've recently made enough progress on it that I think it's probably okay to release.
One day, I was developing my NES project, and I got kind of annoyed with NESASM and some other 6502 assemblers. (NESHLA looked interesting, I suppose, but I wasn't really convinced about it -- it really wasn't that "high-level" in my opinion, anyway). I eventually wrote my own 6502 compiler for writing things on the NES. It was originally a written using C++, flex and bison, but I got fed up with that, so I rewrote that as a recursive descent compiler in D.
I call this project "nel".
It's a low-level assembler, but one that uses a cleaner syntax (in my biased opinion) than the standard 6502 mnemonics. It's an MIT-licensed project, and its source is hosted on GitHub.
The reason I'm releasing this is because I figure if I don't finish the game, I've at least released the tool that I developed in order to develop the game more comfortably. And I figure someone out there might find it handy if they want to do homebrew and want an alternative assembler.
At some point, I want to consider adding if and while statements (edit: done), assembly macros, and possibly allow automatically converting relative branches into absolute jumps when they exceed -128..127 bytes, but these are kind of low on the list. For now, I've been fine without any of these things.
Download nel 0.2 for Windows here.
The source is written in D, and should be compilable on other platforms. Precompiled builds for other systems could easily done with Digital Mars D2, but for Linux systems, it's probably easier to just give source. And I don't own a Mac, so I can't really precompile for that. Nonetheless, there is a Windows exe.
The manual, with detailed language descriptions, program usage, and other stuff.
The source on GitHub, for compiling yourself or just for viewing out of interest's sake.
Your feedback is appreciated.
I think a few people on #nesdev may have heard about my assembler sideproject already, but I've recently made enough progress on it that I think it's probably okay to release.
One day, I was developing my NES project, and I got kind of annoyed with NESASM and some other 6502 assemblers. (NESHLA looked interesting, I suppose, but I wasn't really convinced about it -- it really wasn't that "high-level" in my opinion, anyway). I eventually wrote my own 6502 compiler for writing things on the NES. It was originally a written using C++, flex and bison, but I got fed up with that, so I rewrote that as a recursive descent compiler in D.
I call this project "nel".
It's a low-level assembler, but one that uses a cleaner syntax (in my biased opinion) than the standard 6502 mnemonics. It's an MIT-licensed project, and its source is hosted on GitHub.
The reason I'm releasing this is because I figure if I don't finish the game, I've at least released the tool that I developed in order to develop the game more comfortably. And I figure someone out there might find it handy if they want to do homebrew and want an alternative assembler.
At some point, I want to consider adding if and while statements (edit: done), assembly macros, and possibly allow automatically converting relative branches into absolute jumps when they exceed -128..127 bytes, but these are kind of low on the list. For now, I've been fine without any of these things.
Download nel 0.2 for Windows here.
The source is written in D, and should be compilable on other platforms. Precompiled builds for other systems could easily done with Digital Mars D2, but for Linux systems, it's probably easier to just give source. And I don't own a Mac, so I can't really precompile for that. Nonetheless, there is a Windows exe.
The manual, with detailed language descriptions, program usage, and other stuff.
The source on GitHub, for compiling yourself or just for viewing out of interest's sake.
Your feedback is appreciated.