NESASM vs CA65?

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

Post Reply
User avatar
mechadendrite
Posts: 10
Joined: Tue May 17, 2022 9:00 pm
Location: North America

NESASM vs CA65?

Post by mechadendrite »

Hi, first-time poster and NES programmer (also first-time gamedev, technically) here! I've been working towards being able to code games for the NES, doing tutorials online and such. I've noticed something that's been slowing my progress, though. Most of the tutorials and videos I ran into initially (Shoutouts to NESHacker and Michael Chiaramonte on Youtube!) use something called "ca65" as part of the development tools for NES games. However, having found that their series' cut off at around the same point, I found my way through these forums to the Nerdy Nights lessons. Herein lies my problem. Nerdy Nights uses something called "NESASM" for its NES programs. This... I believe the term is "assembler"? It has a different set of control commands and syntax rules than ca65.

For the most part, it hasn't been too much of an issue up until very recently, I was quite able to follow along and learn the important concepts without any trouble thanks to knowledge I had gathered from prior research. I've reached week 7, however, and I see a lot of control commands I can't estimate an equivalent for, which poses a problem for me, working on an equivalent ca65 implementation. Also, the process of translating some of the code from NESASM to ca65 has proven to add an extra layer of tedium and confusion to an already tedious and confusing learning process. Are there any guides on the net that help bridge the gap between NESASM and ca65 somewhat? Ideally I'd like to stop having to figure that sort of thing out from scratch. If there aren't any such guides, is there any advice ye forum denizens can offer me?
What a horrible night to have a curse.
User avatar
Cyneprepou4uk
Posts: 24
Joined: Fri Jun 21, 2019 12:20 am
Location: Belarus

Re: NESASM vs CA65?

Post by Cyneprepou4uk »

User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: NESASM vs CA65?

Post by dougeff »

Are you having trouble declaring variables, or with creating CFG files / using .segment commands?
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
mechadendrite
Posts: 10
Joined: Tue May 17, 2022 9:00 pm
Location: North America

Re: NESASM vs CA65?

Post by mechadendrite »

Cyneprepou4uk wrote: Wed May 18, 2022 2:39 am NESASM
https://github.com/thentenaar/nesasm/bl ... /usage.txt

ca65
https://cc65.github.io/doc/ca65.html

If you have any specific questions, ask them.
Huh, it seems there's less difference than I thought there would be between them. Thank you, the NESASM reference documentation helps a lot!
What a horrible night to have a curse.
User avatar
mechadendrite
Posts: 10
Joined: Tue May 17, 2022 9:00 pm
Location: North America

Re: NESASM vs CA65?

Post by mechadendrite »

It seems I've run into the answers to my own question after a bit more research. A search through this forum lead me to a post that pointed to a NesDev subbreddit, which I investigated, eventually stumbling onto this helpful post:

https://www.reddit.com/r/NESDEV/comment ... ource=link

Which links to a Github page that has a full ca65 version of the Nerdy Nights lessons. Quite handy, indeed!
Last edited by mechadendrite on Wed May 18, 2022 9:59 am, edited 1 time in total.
What a horrible night to have a curse.
User avatar
mechadendrite
Posts: 10
Joined: Tue May 17, 2022 9:00 pm
Location: North America

Re: NESASM vs CA65?

Post by mechadendrite »

dougeff wrote: Wed May 18, 2022 8:22 am Are you having trouble declaring variables, or with creating CFG files / using .segment commands?
I was having issues figuring out how to declare variables, but I'm happy to report I've cleared up that issue now. :D
Last edited by mechadendrite on Wed May 18, 2022 9:28 am, edited 1 time in total.
What a horrible night to have a curse.
Post Reply