Nesasm not working?

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Nesasm not working?

Post by WizardBones »

Hey guys, so I was gonna follow this tutorial I found online to try and get something working so I can test out my sprites. Although I've worked wit C# and Unity many times, I have no idea about developing for the NES or with assembler yet. Just learning.
https://patater.com/gbaguy/day1n.htm
Anyways the kid was using Nesasm, I downloaded it it, unzipped, and when I click on the .exe file, a window pops up saying it cant run on my pc?And get a updated version lol. NO idea.
Am I suppose to be opening this another way? Do this normally happen?
Also, is Nesasm even good to work with? I don't wanna build the game persay, but I wouldnt mind getting a project up so I can see how sprites are looking during game play. I have no problem learning a new language, just wondering the best "editor" to get things up and running to tinker with? Thanks, sorry this is kinda vague, just wondering the best way to get things started seems Nesasm wont even open for me lolll
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Nesasm not working?

Post by tepples »

A notice on Patater's NES ASM Tutorials page discourages the use of this tutorial:
Webmaster's Note

This tutorial sucks. Don't read it. Please read a real tutorial like Nerdy Nights, instead. This tutorial is hosted for archival purposes and shouldn't be trusted for anything.
Do you know how to use the Command Prompt? If not, I encourage you to search the web for windows command prompt tutorial next.

NESASM is an assembler. It does not come with an IDE analogous to Eclipse or Visual Studio. You don't run it directly from File Explorer in Windows. You launch it from the command prompt, from a batch file, from a makefile, or from a different IDE that has been configured to call NESASM on source code files (and no, I don't know how to configure your favorite IDE to call NESASM).

NESASM has its fans, such as zzo38 who maintains his own customized version. But it also has a lot of quirks. Most of us appear to prefer either ASM6 (simpler) or ca65 (more flexible).
WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Re: Nesasm not working?

Post by WizardBones »

Thanks : ) I'll look into ASM6 or ca65. I dont really care which I use because starting off I have no idea what is what haha, but after reading I noticed people seem to like those two more. So good call
WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Re: Nesasm not working?

Post by WizardBones »

Yeah I dunno, I guess I'm not cut out for the programming side, I've been spoiled by out of the out of box game engines. I just downloaded asm6 and nothing happens when I open the program file. Do this have to be open with the command as well? Everytime I read a thread or post I dont understand whats developers are talking about, they get into advanced things before I even read what I should be doing to start. hmmm. Makes me feel dumb figuring out how to get any of these programs up and running lol.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Nesasm not working?

Post by rainwarrior »

Yes, most assemblers are command line applications. They don't have any windowed interface, you run them from a command line or a batch file, or from some other program (e.g. IDE).
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Nesasm not working?

Post by tokumaru »

All assemblers are command line applications. They don't have graphical interfaces... They really don't need one, since their job is basically to take a text file containing the source code and spit out a binary file.

With simpler assemblers like ASM6 and NESASM you may even get away with dragging the source file and dropping it in the assembler (this will make Windows call the assembler while passing the source file as an argument), and the assembled file will show up. I don't recommend this because you won't be able to see errors reported by the assembler, in case there are any.

Are you seriously considering quitting just because you can't run a command line program? Most people just make a batch file that will call the assembler for them, so it's not like you have to type a bunch of stuff in a black screen every time you need to assemble something. But you can't be afraid of doing low-level stuff, because NES coding is ALL about low-level stuff. There are no classes, no events, no managers, no libraries... you have to do everything yourself from the ground up.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Nesasm not working?

Post by Kasumi »

A command line program has no GUI. That doesn't mean they don't do anything.

Hold shift and right click inside the folder where asm6 is (but not on any particular file). You will see an option "Open Command Window Here". This will open a command prompt in the current folder. You can then type "asm6" and press enter to see its default output, which is how to use it.

To actually use it, you need to provide it an input .asm file, (and perhaps an output file if you want a different name.)

Image

But just ask questions, we'll help! No need to quit.
WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Re: Nesasm not working?

Post by WizardBones »

No, no, guys Not quitting, just frustrated but I am too stubborn to not figure it out haha. So I got ASM6 open from the command, I actually knew how to do that, just thought my computer was being hard to get on with. But thanks for posting the reason you need to use : )
"you need to provide it an input .asm file, (and perhaps an output file if you want a different name.)
Sooo, i guess my next question is what do you guys think the best resources are to use as a tutorial kinda? I think I read the nerdy nights dont use Asm6? Not sure if there is conversion or not. I swear if I ever get through all this I'm writing a tutorial for dummies like myself, Starting with how to open from a command prompt hahaa But yeah, not quitting just needed some food in me.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Nesasm not working?

Post by rainwarrior »

I think nerdy nights is an okay tutorial, and NESASM is okay to learn with. (You might as well use it if you're following that tutorial.)

I wouldn't recommend using NESASM long term, but it works well enough to be useful, at least.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Nesasm not working?

Post by Kasumi »

Someday I'd like to write a tutorial because I also don't like the available resources.

I think https://skilldrick.github.io/easy6502/ does a good job of teaching 6502 assembly language without the need of external tools or anything. I'd honestly go through it before touching anything NES. Because NES hardware is where most of the problems come in, worth tackling that only when you already have some understanding of how the CPU works.

Edit: Oh... nevermind, easy6502 assumes other kinds of programming knowledge, and directs to wikipedia to teach things like hexademical which isn't very tutorialesque :(

And as rainwarrior said, it's not a crime to use NESASM for the tutorial, even if you do eventually plan to move away from it.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Nesasm not working?

Post by rainwarrior »

I wrote this: Minimal example using ca65

The goal was to help people get started using ca65. It's not a step by step tutorial, but it is a small working program that is heavily annotated, intended for you to dive in and see how it works.
User avatar
dougeff
Posts: 2875
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: Nesasm not working?

Post by dougeff »

Someday I'd like to write a tutorial because I also don't like the available resources.
I know exactly how you feel, Kasumi. ;)
nesdoug.com -- blog/tutorial on programming for the NES
WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Re: Nesasm not working?

Post by WizardBones »

Perhaps if I explain what I wanna do make things easier. I have no problem with straying away from which I decide to start with, for now just something to get me familiar with whats going on and has to happen : )
The goal for now is to get sprites on screen for viewing, because I am anal like that while designing lol Sure I can test animations in other software but there's nothing quite the same as pressing a button and see it walk across the screen. In a nutshell i'm interested for testing, not so much for game play just yet. So I don't need anything advanced going on? (idont think so anyway) Would nerdy nights end up giving me the basic foundation to get a sprite walking left to right, jump, etc? I guess basic button controls is all I wanna do right now and see.
WizardBones
Posts: 33
Joined: Mon Sep 12, 2016 7:41 pm

Re: Nesasm not working?

Post by WizardBones »

rainwarrior wrote:I wrote this: Minimal example using ca65

The goal was to help people get started using ca65. It's not a step by step tutorial, but it is a small working program that is heavily annotated, intended for you to dive in and see how it works.
I'm gonna check it out! all resources are needed badly lol But I can't complain you guys are always helpful here!
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Nesasm not working?

Post by koitsu »

Go read the Nerdy Nights tutorial, as it will give you a baseline understanding of things, which is more than you have now. You don't build a house without a foundation. You need a foundation. Start there. I don't know how many of us need to keep telling you this before you'll do it. :-)
Post Reply