This is a course devoted to making the development of games on the Atari 2600 into a semester's worth of content. It's a tough ask!
But I think we can get started pretty well.
Now, this course is basically me learning how to write enough Assembly 6502 to make an Atari game. To do this, i've gone through decades of community posts and all sorts of newsgroups, forums, books, tutorials, and more.
The goal for me, personally, is to get myself into a place where I can either develop a version of [Snowdrop](http://sebastianmihai.com/snowdrop/) for myself, or something like it.
I will try and highlight where code snippets and things come from but am human, so if i've not referenced something, please let me know!
For 11 weeks, we will:
* Go through various components of Atari 2600's requirements for Assembly,
* Read [Racing the Beam](https://www.amazon.com/Racing-Beam-Computer-Platform-Studies/dp/0262539764/) and a textbook from the enthusiast community,
* Examine source code for released games in order to deepen our knowledge,
* Spend the last five weeks alone or in a group making your own game.
By the end of class, if you are happy with your game, I will pay for you to:
* Print your game to cartridge (If I can get the equipment, i'll do this for you but I need to practice soldering a bit more).
* Print an instruction manual.
* Make a game box (i'll provide some links and what materials and can help).
# Important Resources
This is an [Obsidian](https://obsidian.md/) Instance but also a [Github Repository](https://github.com/nicklalone/IGME-689---Assembly_6502). If you want to view it all, please go to the Github and clone it, then open the repository in Obsidian.
## IDEs, Useful Webpages, and Other Tutorials
I am one person who himself is still learning the finer points of Assembly 6502. I'm also teaching in a classroom in a college and as such, I have to make sure that certain bureaucratic requirements are met. In recognition of that, i'm going to include a variety of resources.
### Development Environments, Emulators, and IDEs
I don't really care what you use to write your games. I'm sort of forcing the class demonstrations (and [videos](https://www.youtube.com/playlist?list=PLBel-rdFQ3V4xxTEYdVXvG5us-dZRt6vJ)) on: [8-bit Workshop's IDE](https://8bitworkshop.com/v3.11.0/?platform=vcs) but you could write in Sublime, Notepad++, or whatever works for you!
If you love visual studio:
* [Syntax highlight package for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=chunkypixel.atari-dev-studio).
- [Syntax highlight package for Notepad++](https://github.com/tragicmuffin/6502-npp-syntax)
- [Syntax highlight package for Atom](https://atom.io/packages/language-65asm).
- [Syntax highlight file for Vim](https://www.vim.org/scripts/script.php?script_id=1314)
- [Syntax highlight package for Emacs](http://www.tomseddon.plus.com/beeb/6502-mode.html)
#### Emulators
Primarily we will be using 2 emulators:
* [Javatari](https://javatari.org/)
* [Stella](https://stella-emu.github.io/)
There are others out there but we'll stick with these two.
## Other Resources:
This course owes a tremendous amount of thanks to:
1. [Atari Age](https://atariage.com/index.php)
2. [Steven Hugg and 8BitWorkshop](https://8bitworkshop.com/docs/blog/author/steven-hugg.html)
3. [Oscar Toledo Gutierrez](https://github.com/nanochess/book-Atari?tab=readme-ov-file)
4. [8Blit](https://8blit.com/)
5. [Retro Game Mechanics Explained](https://www.youtube.com/c/RetroGameMechanicsExplained)
6. [Ian Bogost and Nick Montfort](https://mitpress.mit.edu/series/platform-studies/)
7. [mass:werk](https://www.masswerk.at/6502/6502_instruction_set.html)
8. [Visual6502](http://www.visual6502.org/)
9. [6502 Resource - if you need for more than just Atari](http://6502.org/)
...And so many more.
This course will first be run in the Spring of 2025 and if successful, will be pitched as a course called, "Vintage Game Development" where it will be able to be split among all the 6502 systems or later, given that Vintage is probably up to around the Xbox 360 at this point.
Now that i've made you feel old, enjoy!