Tools of the trade.

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

User avatar
AwesumIndustrys
Posts: 1
Joined: Fri Oct 06, 2017 7:17 am

Tools of the trade.

Post 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.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Tools of the trade.

Post 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.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Tools of the trade.

Post 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.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Tools of the trade.

Post 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.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
unregistered
Posts: 1318
Joined: Thu Apr 23, 2009 11:21 pm
Location: cypress, texas

Re: Tools of the trade.

Post 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. :)
unregistered
Posts: 1318
Joined: Thu Apr 23, 2009 11:21 pm
Location: cypress, texas

Re: Tools of the trade.

Post 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++.
Last edited by unregistered on Fri Oct 06, 2017 2:35 pm, edited 1 time in total.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Tools of the trade.

Post 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).
User avatar
toggle switch
Posts: 139
Joined: Fri Sep 30, 2016 8:57 pm

Re: Tools of the trade.

Post by toggle switch »

as a beginner, i found NESICIDE to be the easiest solution for programming.
User avatar
MS-DOS
Posts: 24
Joined: Wed Sep 20, 2017 1:14 pm
Location: Green Hill Zone

Re: Tools of the trade.

Post by MS-DOS »

I think the tutorial made by Dougeff is the best to start learning to program on the NES : https://nesdoug.com/
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Tools of the trade.

Post 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.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Tools of the trade.

Post 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.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Tools of the trade.

Post 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.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Tools of the trade.

Post by nesrocks »

That explains it all, thank you!
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Tools of the trade.

Post 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.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Tools of the trade.

Post by nesrocks »

I agree too, I remember when even windows was portable, I miss those times.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Post Reply