I have no programming knowledge whatsoever, but I have recently fallen victim to a strange curiosity of this 6502 assembly language.  I have always dreamed of creating my own games with my own objectives and obstacles along the way.  I plan to go to college in the fall to major in computer science to learn more about computer languages but I'd really like to get a head start while I can.  I've been told to learn C, C++, or C# because it would make 6502 easier to relate to.  If this is true, how could I get a more "hands-on" experience to learn any of the above mentioned?  I have several books on several programming languages such as C, C++, and JAVA.  They are the "Teach Yourself (+programming language) in 24 Hours" books.  They are written for beginners, and I have yet to understand a single word.  Where do I start before I can create my own NES games?

Tags: 6502, NES, assembly, beginner, language, programming

Views: 106

Reply to This

Replies to This Discussion

Hmmm. C is a bit of a high level language to begin with. There is talk of using C to program for the Famiclone but the more 'common' style is programming in assembly for the 6502. Again, I stress the word 'common' here, as assembly is an obscure and unused language.
Here are two excellent books for learning 6502 machine language:

http://www.atariarchives.org/mlb/

http://www.atariarchives.org/2bml/

Enjoy.
Hmm... this is great pdf scan of a book called "Programming the 6502".

It's actually a great introduction to programming in general. I hope you like it.
Thanks for the information everyone!
Try learning Python first just to learn programming.  "Think Python" is a great book for beginners and its free!

Hiya, Im just started 6502 also.. Looking through some of the links below, One of the manuals i find rather anoying as they refrence Basic language far to much for my liking :(. 

 

I personally cant see how learning C# or Java will aid you in 6502 directly, I have a fair knowledge of both of these and its not helping in 6502 at all, Maybe learning variables etc i dunno. 

 

My personal aim is to generate a NES game from scratch that is similar to pong maybe, Nothing to hard just a score board(maybe), Moving sprite(ball), Like a black background with a  diffrent color board layout with a white ball and 2 Paddles(1 controller by player) other just random moving up n down not going to get into AI yet hehe. I think this would be a good starting base to move onto other things.

 

My advice to anyone starting like me is take your time, Dont try to make a massive game, Just one that functions simply & Finnish it.

 

Jim

About 6502 asm, i think a good start is diving directly into an opcode table like these:

- http://www.llx.com/~nparker/a2/opcodes.html

- http://www.atarimax.com/jindroush.atari.org/aopc.html

 

Only diving you can get more sensible of what the processor is capable to do, what to count with.

 

People more skilled on assembly please help me fixing this, but from my humble experience, i think all opcodes are about very simple operations, like setting values into registers (a small group of the processor's variables), very simple boolean or arithmetic operations (like adding or substracting), 'jumping' to other code locations (like from 'goto' or 'gosub' from ansi-basic), etc. - the most complex operations you must create them as routines using these ones, or copy them (ethically) from anywhere.

 

Reply to Discussion

RSS

© 2012   Created by Daniel Rehn.   Powered by .

Badges  |  Report an Issue  |  Terms of Service