Page 1 of 2
Tools of the trade.
Posted: Fri Oct 06, 2017 7:35 am
by AwesumIndustrys
Hello. I'm very new to NES programming and I would like to know what programs I need to make NES games. Also, where can I get documentation on 6502 assembler (in other words, a tutorial on how to code for NES)? Thank you in advance and have a nice day.
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 7:41 am
by tepples
Setup instructions for ca65 and Python
ca65 is one of the top three assemblers used here. I prefer it because of its flexibility, though some others prefer ASM6 because of its simplicity.
You may also need to install a programming language that runs on your PC, so you can write tools to convert graphics and other non-program to formats the NES can read. For this, I use Python.
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 7:53 am
by nesrocks
Where do I get the ca65 installer?
As of march 2013 I have stopped maintaining cc65.
Oliver Schmidt, long time contributor to the libraries is providing support for the old version. See
http://cc65.github.io/cc65/ for more information.
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 8:20 am
by thefox
nesrocks wrote:Where do I get the ca65 installer?
As of march 2013 I have stopped maintaining cc65.
Oliver Schmidt, long time contributor to the libraries is providing support for the old version. See
http://cc65.github.io/cc65/ for more information.
"Windows Snapshot" is linked on that page. For other platforms, it's easy to compile from source.
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 9:04 am
by unregistered
Go to
loopy's new site for asm6, if you want to try it.
Asm6 is really good.
Here, tokumaru told me why he usually recommends asm6 and he links to a poll where people voted for their assemblers.

Re: Tools of the trade.
Posted: Fri Oct 06, 2017 2:06 pm
by unregistered
For learning how to program the NES's 6502, the 2A03, try:
http://obelisk.me.uk/6502/reference.html and
http://wiki.nesdev.com
The first link lists all of the 6502 instructions at the top of the page. The second link is nesdev's wiki and it lists important NES things like the nametables and attribute tables (visual graphics and coloring, respectively) among many other things.
edit: I use a text editor named Programmer's Notepad 2. Some others use Notepad++.
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 2:11 pm
by Pokun
Depending on how much of a newbie you are, Tepple's template may be a bit much to start with, you can learn from it when you get more experience though. If you want a more newbie friendly guide, check out the Nerdy Nights tutorials. They should teach you everything you need to get started (plus some bad habits).
Re: Tools of the trade.
Posted: Fri Oct 06, 2017 3:41 pm
by toggle switch
as a beginner, i found NESICIDE to be the easiest solution for programming.
Re: Tools of the trade.
Posted: Sat Oct 07, 2017 9:18 am
by MS-DOS
I think the tutorial made by Dougeff is the best to start learning to program on the NES :
https://nesdoug.com/
Re: Tools of the trade.
Posted: Sun Oct 08, 2017 12:01 pm
by nesrocks
thefox wrote:Windows Snapshot" is linked on that page. For other platforms, it's easy to compile from source.
I don't think there's an installer on there. Unless it needs to be compiled first, and then installed? To me it looks like it's just a portable version of it. The thing is, every tutorial out there, including the one linked by tepples, seem to use a previous version of cc65 where it was
installable, but now there is no such option and it isn't as straightforward anymore.
Re: Tools of the trade.
Posted: Sun Oct 08, 2017 12:21 pm
by FrankenGraphics
I think it being portable is great, but one thing that can be tricky is dependency on the path variable when writing your bat file to assemble and link and expect it to work for another user. It kind of makes it a bit less coopfriendly.
Re: Tools of the trade.
Posted: Sun Oct 08, 2017 2:24 pm
by tepples
nesrocks wrote:thefox wrote:Windows Snapshot" is linked on that page. For other platforms, it's easy to compile from source.
I don't think there's an installer on there. Unless it needs to be compiled first, and then installed? To me it looks like it's just a portable version of it.
The portable version can be installed if you know what an environment variable is.
nesrocks wrote:The thing is, every tutorial out there, including the one linked by tepples, seem to use a previous version of cc65 where it was installable, but now there is no such option and it isn't as straightforward anymore.
My tutorial covers permanent installation of the portable Windows Snapshot:
Finally, to make ca65, ld65, and Python available to Make, you'll need to add the folders containing ca65.exe, ld65.exe, and python.exe to the Path environment variable. Because the steps for setting environment variables differ between versions of Windows, you'll want to search the web for windows x.x path variable, replacing x.x with 7, 8.1, 10, etc.
Re: Tools of the trade.
Posted: Sun Oct 08, 2017 2:40 pm
by nesrocks
That explains it all, thank you!
Re: Tools of the trade.
Posted: Mon Oct 09, 2017 12:02 am
by Pokun
FrankenGraphics wrote:I think it being portable is great
Agreed, I hate when there's an installer for every little windows program that don't really need one (and compiler installers don't seem to modify the path anyway). Plus if you only want to use the assembler and linker (ca65 and ld65) you want to be able to extract those without having to run an installer.
Re: Tools of the trade.
Posted: Mon Oct 09, 2017 7:14 am
by nesrocks
I agree too, I remember when even windows was portable, I miss those times.