.ASM into .NES assistance

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
caramelpuffpuff
Posts: 64
Joined: Sat Feb 23, 2013 4:16 pm

Re: .ASM into .NES assistance

Post by caramelpuffpuff »

koitsu wrote:caramelpuffpuff, am I allowed to disclose publicly what your native tongue is? I understand your concerns that you mentioned in your PM, but we have had no language (or ethnic/racial) issues on this forum. It's very diverse.
Sure....
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: .ASM into .NES assistance

Post by koitsu »

His native tongue is Spanish (as in Mexican Spanish), so if anyone speaks Spanish and can translate more complex things that he might not understand, that'd be awesome. Thanks folks. :-)
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

Well, that's an easy one! Tons of people here speak Spanish. Still, even if it was something more exotic there would be absolutely no reason to be ashamed. Even though I can't write/speak proper Spanish, I understand it quite well, and will try to help whenever I can.
3gengames
Formerly 65024U
Posts: 2281
Joined: Sat Mar 27, 2010 12:57 pm

Re: .ASM into .NES assistance

Post by 3gengames »

¡Puedo hablar un poco español tamíen! :) Pero yo sólo tomé dos clases de español, entonces lo es muchas mas mal a mis español. :) ¿Pienso que Tokumaro puede ayudarle, Entonces es bueno?

¡Divertirse! :D :)
User avatar
caramelpuffpuff
Posts: 64
Joined: Sat Feb 23, 2013 4:16 pm

Re: .ASM into .NES assistance

Post by caramelpuffpuff »

Nevermind. :( I'll just figure it out...
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

Look, it's clear you are pretty lost. It seems you didn't get how NES programming works yet, and it's unlikely you'll figure it out by yourself.

The thing is, an .ASM file isn't "converted" to an .NES in the same way that a .BMP file can be converted to .PNG. BMP and PNG are well documented data formats that follow certain standards. But .ASM and .NES are programs (meaning they can contain pretty much anything!), and depending on the assembler used, the .ASM file will have to follow different standards.

The best thing you can do right now is follow a tutorial, so that you can get the basic idea of how things work. Try the Nerdy Nights tutorial that has already been suggested, and use the same tools that the author used. Once you understand how the program you write can become a ROM file, you might try different things. There's no point in trying to do something by yourself if you don't even know where to begin.
User avatar
TmEE
Posts: 790
Joined: Wed Feb 13, 2008 9:10 am
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Contact:

Re: .ASM into .NES assistance

Post by TmEE »

.ASM is a text representation to describe what the CPU has to do for the programmer. The programmer understands it and can change as necessary. .NES is that text translated into what CPU can understand, the CPU does not understand that text, it is completely alien to it. It is like English vs Spanish, one really does not understand the other, until its translated. Assembler is the program that does the translation.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

TmEE wrote:Assembler is the program that does the translation.
...however, there are different "dialects" of assembly, so not all assemblers will understand all .ASM files.
User avatar
TmEE
Posts: 790
Joined: Wed Feb 13, 2008 9:10 am
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Contact:

Re: .ASM into .NES assistance

Post by TmEE »

Right, I completely missed that part ^^
Different CPUs "speak" in different languages/dialects and don't usually understand each other.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

TmEE wrote:Different CPUs "speak" in different languages/dialects and don't usually understand each other.
Heh, I'd say that different CPUs often use completely different assembly languages... What I meant by "dialects" is that an .ASM file written for ASM6 won't assemble in NESASM without at least some modifications, even though both work with 6502 code.
User avatar
caramelpuffpuff
Posts: 64
Joined: Sat Feb 23, 2013 4:16 pm

.ASM into .NES assistance

Post by caramelpuffpuff »

tokumaru wrote:
TmEE wrote:.ASM is a text representation to describe what the CPU has to do for the programmer. The programmer understands it and can change as necessary. .NES is that text translated into what CPU can understand, the CPU does not understand that text, it is completely alien to it. It is like English vs Spanish, one really does not understand the other, until its translated. Assembler is the program that does the translation.
...however, there are different "dialects" of assembly, so not all assemblers will understand all .ASM files.

Ooooh, I get most of it.

_______

...Testing. Okay good.

Now, I want to test it by drawing a picture of myself. (I am so cute. Am I? >w<)
Attachments
(This is the first one. I'm new at posting attachments. ^^; )<br /><br />Anyway, This is how it'll looks like in the YY-CHR. (It's the wrong color in my opinion.)
(This is the first one. I'm new at posting attachments. ^^; )

Anyway, This is how it'll looks like in the YY-CHR. (It's the wrong color in my opinion.)
And here's another one using &quot;BG SET&quot;. The colors on the left is correct, but the one on right isn't. (I hate glitch.)<br /><br />Now...I save the file as &quot;.CHR&quot; (Which is in ROM images.) Now how do I put these...in a 6502 assembly code (ConTEXT) without any &quot;gibberish Greek letters.&quot;? Do I drag them in (obviously?) I'm trying hard to explain it good.
And here's another one using "BG SET". The colors on the left is correct, but the one on right isn't. (I hate glitch.)

Now...I save the file as ".CHR" (Which is in ROM images.) Now how do I put these...in a 6502 assembly code (ConTEXT) without any "gibberish Greek letters."? Do I drag them in (obviously?) I'm trying hard to explain it good.
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

Most assemblers have an INCBIN command you can use to INClude BINary files. At the correct location in your ASM file (usually the very end) you can write this:

Code: Select all

	.incbin "graphics.chr"
This won't magically make tiles appear on the screen when you run the ROM though, you have to write a program that will put these tiles in the background.
User avatar
caramelpuffpuff
Posts: 64
Joined: Sat Feb 23, 2013 4:16 pm

Re: .ASM into .NES assistance

Post by caramelpuffpuff »

tokumaru wrote:Most assemblers have an INCBIN command you can use to INClude BINary files. At the correct location in your ASM file (usually the very end) you can write this:

Code: Select all

	.incbin "graphics.chr"
This won't magically make tiles appear on the screen when you run the ROM though, you have to write a program that will put these tiles in the background.
Attachments
One.PNG
two.PNG
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: .ASM into .NES assistance

Post by tokumaru »

DISASM6 is a disassembler, it's meant to convert binary programs into ASM code, the exact opposite of what you want.

Also, you are blindly writing stuff in the command prompt! The ".incbin" line is supposed to be written inside an ASM file, which then needs to be compiled. But like I said before, just including it won't do anything unless you write the code to use those tiles.

I'll be honest with you: You are really, really, REALLY lost, you have absolutely no idea what you're doing. Nothing you're trying makes ANY sense. Programming isn't something you guess. You can't just download a bunch of programs and type random stuff hoping it will work. You have to study!

We have suggested several times that you follow this tutorial. Please stop guessing and read this. Believe me, NES programming isn't like Photoshop, which you can poke around and learn by yourself, you won't learn NES programming like this.
User avatar
caramelpuffpuff
Posts: 64
Joined: Sat Feb 23, 2013 4:16 pm

Re: .ASM into .NES assistance

Post by caramelpuffpuff »

I still don't get it.

I read those BunnyBoy stuff, and I can't seem to get it working. I read the "Commands Prompt" tutorial, and I don't understand.
Attachments
ONE!.PNG
This one, I can able to communitate by putting &quot;help&quot;...
This one, I can able to communitate by putting "help"...
[strikeout]...but on this one, I retook it, this time, with the real ASM6, not DISasm, REasm, or anything, and it still show me the same command of internal external.[/strikeout]<br /><br />I'm pretty sure I done it wrong, but I'm still trying...<br /><br />I want to know [u]what is a command directory for this OR what is the correct internal and/or external command for NESASM6[/u] (The &quot;&gt;&quot; &quot;;&quot; &quot;-&quot; or anything or &quot;select an option&quot; stuff.) I look in the CMD, still lost, I learn something that doesn't help me with ASM. I read the Bunnyboy tutorial, twice, and still, I'm not on the right floors. <br /><br />I'm not giving up, but it's getting me a little stress, doing it myself.<br /><br />and NOW I have a strong feeling that this is the wrong EXE. file...
[strikeout]...but on this one, I retook it, this time, with the real ASM6, not DISasm, REasm, or anything, and it still show me the same command of internal external.[/strikeout]

I'm pretty sure I done it wrong, but I'm still trying...

I want to know [u]what is a command directory for this OR what is the correct internal and/or external command for NESASM6[/u] (The ">" ";" "-" or anything or "select an option" stuff.) I look in the CMD, still lost, I learn something that doesn't help me with ASM. I read the Bunnyboy tutorial, twice, and still, I'm not on the right floors.

I'm not giving up, but it's getting me a little stress, doing it myself.

and NOW I have a strong feeling that this is the wrong EXE. file...
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.
Post Reply