I'm an experienced programmer but i'm totally new to game programming. I just discovered 2 weeks ago that it's possible to write our own NES games, rad!
Knowing this, i got tons of questions about the programmers of classic NES games like SMB, Zelda and Metroid. I would like to find out the answer for each question. Questions :
1. Back in 1985, what resources were available for the programmers? I mean besides knowing the 6502 assembly, they had to learn how the NES works. Was Nintendo providing some documentation? If it's the case, is this documentation still available for us?
2. This leads me to my second question, is there any books to learn NES programming? I've seen a few online tutorials showing the very basics, and i would like to find something more complete.
3. Question about the programming language and assembler/compiler (still back in 1985). Were all games written in pure assembly, or do they had a C compiler or something? Probably that it was written in pure assembly, so which assembler they used to work with? I mean they had to assemble their code to run it and debug it. I'm curious to know how they proceeded.
4. I've spent many hours in the last 2 weeks reading NES programming tutorials and studying the Metroid disassembly. I learned tons of things, and there is much, much more to learn! That's why i wonder if some of you have some well commented asm source code to show the basics like jumps, firing and collision algorithms. Another interesting thing would be an example of the ability to have different "rooms" which are pieced together to create a larger environment, just like SMB and Metroid. I think studying the source code is the best way to understand how it works.
It's nice to see that some people are still interested in the legendary console, the NES!