Task: Learn to Program in 6502 Assembly Language
Needed: Web browser
Time: 1-3 months
Many of us grew up programming in BASIC on our Atari 8-bit computers. Assembly language (sometimes called machine language) was a bit more of a mystery for kids and difficult to learn due to the limited resource and teaching materials available at the time. I picked up assembly in bits and pieces at different times in my life and finally decided to take the plunge a few years ago so I could make an Atari 2600 game and expand my Atari 8-bit computer programming skills. Unfortunately, I can’t teach assembly programming effectively through Atari Projects. However, I can give some tips on resources that were helpful to me. At the end of the day this skill requires a good amount of reading, trial and error, and hard work. It took me six months to make a 2600 game in assembly. The first two months of that effort was learning the assembly I didn’t already know and learning the intricacies of the 2600. This skill has paid off and I can now easily add assembly to my Atari 8-bit programs.
First, I recommend reading the book “6502 Assembly-Language Programming” by Christopher Lampton. I did a post on this recently. This is a nice introduction targeted at the beginner.
Second, I recommend reading several other 6502 programming books. In particular, I recommend the books written by Rodney Zaks. There is “Programming the 6502” and “6502 Applications“. Other 6502 programming books can be found on this nice web page.
Programming in 6502 assembly definitely takes some work and some patience if you have never done it before. What I like about it is that you have direct access to the hardware including the CPU registers and memory. I find that low-level control of the silicon to be very rewarding. I am by no means an expert. However, I find programming in assembly to be tons of fun and well worth the effort.