What assembler do you use for NES development?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

What assembler do you use for NES development?

CA65
18
47%
ASM6
1
3%
asm6f
3
8%
NESASM
8
21%
WLA DX
1
3%
Other (Will write in)
7
18%
 
Total votes: 38

Pokun
Posts: 2675
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: What assembler do you use for NES development?

Post by Pokun »

Bregalad wrote:I use WLA-DX but if I were to start new projects I'd probably use ASM6 instead. I like the idea of the assembler being very simple and portable, because that's the point of assembly language. Feature-creeped assembler should be frowned upon as a general rule, unless you have a very specific feature you need.
Yeah I like features but if my project depends on too much of them I tend to forget how I set it all up when I get back to the project years later, so simple is generally better for me as well. For that reason I use ASM6. I voted ASM6f because I use that lately, although I forgot if I actually use any of the new features the fork introduces.

I don't like WLA-DX very much. It can do a little bit of everything, but it's not very good at it.
CA-65 is nice, but it's a bit on the heavy side with the config file and all that. For SNES and PC-Engine it's lacking because direct page isn't fully supported.
I stay away from Nesasm but for PC-Engine there's not much choice. I use Elmer's fork of PCEAS for my PC-Engine needs, which is not bad at all (no forced 8 kB banks), as long as you remember to use zero page addressing manually.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: What assembler do you use for NES development?

Post by tepples »

gauauu wrote:This really depends on what the goal of the poll is. If it's about what assembler do you actually write code for, it wouldn't apply to the majority of nesmaker users. If it's about what assembler the most games get built with, then it probably would.
Lately, my own personal dilemma has been what assembler a library author is expected to code for. If a library is expected to see use in projects by both people who code from scratch and people who use NESmaker, then it has to support both environments.
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: What assembler do you use for NES development?

Post by gauauu »

tepples wrote:
gauauu wrote:This really depends on what the goal of the poll is. If it's about what assembler do you actually write code for, it wouldn't apply to the majority of nesmaker users. If it's about what assembler the most games get built with, then it probably would.
Lately, my own personal dilemma has been what assembler a library author is expected to code for. If a library is expected to see use in projects by both people who code from scratch and people who use NESmaker, then it has to support both environments.
That's true, but the majority of NESmaker users act very differently than most programmers. Unless a library has specific nesmaker support (which it sounds like you may be trying to do), most of them will never use it, as that would take programming skill. So I'd consider NESMaker users as a very different subset of people than the general developer who uses ASM6.

But your question in general is a valid one. If you want people to use your library, you want to support whatever assembler they're using. Nobody should be "expecting" an author to code for a particular platform, but you as an author might want to, if you want others to use your library.
User avatar
freem
Posts: 176
Joined: Mon Oct 01, 2012 3:47 pm
Location: freemland (NTSC-U)
Contact:

Re: What assembler do you use for NES development?

Post by freem »

(Voted asm6f, but I'm extremely, extremely biased.)
never-obsolete wrote:I voted other because I forked asm6. Mostly because asm6f didn't create usable mlb files for Mesen, but also to add a few things asm6 was missing.
1) Do you happen to have the changes published?
2) Would you mind if I implemented said changes into asm6f? I did notice the Mesen .mlb export wasn't perfect somewhat recently (last month)...
Sour
Posts: 890
Joined: Sun Feb 07, 2016 6:16 pm

Re: What assembler do you use for NES development?

Post by Sour »

freem wrote:I did notice the Mesen .mlb export wasn't perfect somewhat recently (last month)
Not too surprising considering it was based on my rather limited comprehension of asm6 itself. Ideally, adding a CA65-format .dbg file output to asm6 would probably be the best way forward (although improving the mlb export would be good too), but that might require a lot of effort (especially when written in plain old C)
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: What assembler do you use for NES development?

Post by Oziphantom »

64tass
Fiskbit
Posts: 890
Joined: Sat Nov 18, 2017 9:15 pm

Re: What assembler do you use for NES development?

Post by Fiskbit »

At the moment, I'm using snarfblasm, which has a .patch directive for creating IPS patches that is extremely useful for my current projects. It's generally pretty nice, but given that it doesn't see much use, it's not the most mature and I do have some gripes about it. I tried using ASM6 a while back, but didn't care for it and was not impressed with the code (and given the trivial buffer overflows in it, I wouldn't want to assemble code with it that I hadn't first examined). The assemblers I've looked at seem to be lacking several features I'm interested in, so I'll probably take a shot at writing my own at some point.
User avatar
pubby
Posts: 583
Joined: Thu Mar 31, 2016 11:15 am

Re: What assembler do you use for NES development?

Post by pubby »

I'm surprised to see NESASM above asm6. I would have guessed the opposite.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: What assembler do you use for NES development?

Post by rainwarrior »

The invisible hand of Nerdy Nights.
User avatar
Bregalad
Posts: 8055
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: What assembler do you use for NES development?

Post by Bregalad »

Pokun wrote:For that reason I use ASM6. I voted ASM6f because I use that lately, although I forgot if I actually use any of the new features the fork introduces.
Pardon my ignorance, but what is the difference between ASM6 and ASM6f ?
I'm surprised to see NESASM above asm6.
I'm surprised NESASM is still used, that's what I used when I started NESDEV-ing back in 2002, good old times.
Pokun
Posts: 2675
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: What assembler do you use for NES development?

Post by Pokun »

NESASM always had its followers here but CA65 and ASM6 has always been the two most popular ones (well since I started here anyway). In the old poll ASM6 was slightly more popular but when I look now CA65 seems to has overtaken it. But I'm surprised ASM6/ASM6f has so few votes this time.

Among the regulars here CA65 is no doubt the most popular.

Bregalad wrote:
Pokun wrote:For that reason I use ASM6. I voted ASM6f because I use that lately, although I forgot if I actually use any of the new features the fork introduces.
Pardon my ignorance, but what is the difference between ASM6 and ASM6f?
It has added illegal opcode support, iNES and NES 2.0 header directives (optional), Mesen symbol integration and a few other things. All the differences are listed in Freem's readme.

It's like a collection of various improvement forks that people made, and unless Loopy adds these features to the official version, this is the most feature-rich version of ASM6.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What assembler do you use for NES development?

Post by FrankenGraphics »

I use ca65 for my slow progress on an engine of my own and like to use it the most, so i voted for that. But i still use asm6 for quick little things when i just want to see how something works. And i've also started using Nesmaker a bit, which runs on top of asm6.

I did do some of the nerdy nights, but in asm6, when starting out.

The reason i prefer ca65 is that there's less room for human error, with the .segment directive and the linker and all. Setting up a project takes a while, but then it's smooth.
User avatar
never-obsolete
Posts: 411
Joined: Wed Sep 07, 2005 9:55 am
Location: Phoenix, AZ
Contact:

Re: What assembler do you use for NES development?

Post by never-obsolete »

freem wrote: 1) Do you happen to have the changes published?
2) Would you mind if I implemented said changes into asm6f? I did notice the Mesen .mlb export wasn't perfect somewhat recently (last month)...
Here it is. Some of it was based off of asm6f, so feel free to merge whatever additions you like.
. That's just like, your opinion, man .
Post Reply