kisrael Posted May 19, 2021 Share Posted May 19, 2021 Introductory Videos / Presentations The Atari 2600 Video Computer System: The Ultimate Talk Sven Oliver ('SvOlli') Moll:on the history, the hardware and how to write programs Atari 2600 Homebrew Development Darrell Spice Jr at 2013 Portland Retro Gaming Expo General Tutorials/Documentation (Assembly) Stella Programmer's Guide (pdf) - Stella Programmer's Guide (html) The most canonical document for programming the Atari 2600 Let's Make a Game! Darrell Spice Jr's 14-part guide, resulting in a complete game "Collect" Atari 2600 Programming for Newbies Andrew Davie's 25 part series 2600 101 Kirk Israel's 8-step introduction to making your first assembly program Atari 2600 Technical Tiki Good collection of technical documents MiniDig - Best of Stella The Stella mailing list was the previous core of Atari homebrew, this is a distillation of disassemblies, tricks, etc Guide to Cycle Counting on the Atari 2600 Nick Bensema's classic guide Advanced Tutorials/Documentation (Assembly) CDFJ Tutorial Darrell Spice's in-depth dive into developing for carts augmented with advanced processors Atari 2600 Music And Sound Programming Guide Paul Slocum's guide to Atari Music and Sound Cart Information Kevin Horton's "Info about cart sizes and bankswitching methods" Tutorials/Documentation (batari Basic) batari Basic Commands The largest repository of batari Basic programming, maintained by Random Terrain batari Basic kickstart your first atari 2600 program in 45 minutes or double your money back! do re bB The basics of Atari sound and music (applicable to assembly as well) Tools (Editors/Compilers) dasm DASM is the standard assembler for generating binaries. You will also need these files: vcs.hmacro.h batari Basic A simpler language for writing Atari homebrews Atari Dev Studio for Visual Studio Code A plugin that includes dasm, batari Basic, and even Stella for one click code-to-playing VisualbB (Windows only) An aging IDE for batari Basic with many auxiliary tools embedded SuperCharger / Flashback BASIC (Windows only) An intriguing but rather esoteric system for making Atari content Tools (Graphics) atari-background-builder An editor for various Playfield and 48px sprite backgrounds with ready to run code for assembly and batari Basic playerpal 2600 Editor for player sprite graphics / animations. Generates runnable assembly and batariBasic code samples Tiny 8-Bit Sprite Editor / Tiny VCS Playfield Editor Minimalist editor to assembly code editors (monochrome only) Tools (Sound/Music) webTune2600 A browser gui for Thomas Jentzsch's tune2600 for finding "closest match" pitches atari-riff-machine browser-based looping track sound emulator. Generates batari Basic code. atari-sound-forger real time atari sound FX keyboard with recording. Generates batari Basic code. Sequencer Kit and Slocum Tracker Advanced music generation TIATracker (Windows Only) A new sound routine and sequencer application MidiTari (Windows only) Midi to TIA converter tool Tone Toy 2800 emulator-based tool for hearing all the Atari sounds Studio2600 another emulator-based tool for hearing all the Atari sounds Tools (Misc) DiStella A disassembler for the Atari 2600 and 7800 2600gfx (Windows only) A tool for extracting and replacing Atari ROM graphics as text Hack-O-Matic III (Windows only) A tool for editing the graphics embedded in Atari ROMs. Label Maker 2600 Online Tool for making authentic-looking cartridge art Emulators Stella One of the most popular and accurate emulators Javatari A popular browser-based emulator Stellerator Another browser-based emulator, an excellent choice for embedding your game in a webpage Gopher2600 Written in Go, Gopher offers especially accurate timing emulation, especially for ARM-based projects Z26 Another excellent emulator Other Resources of Interest AtariArchives.org "books, information, and software for Atari and other classic computers available on the Web" 6502.org "a resource for people interested in building hardware or writing software for the 6502 microprocessor and its relatives" 6 1 Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 So, I'm trying to make the "canonical" (yet, not un-opinionated) list of tools and tutorials for Atari programmers. https://atariage.com/2600/programming/index.html has been languishing for a long time. I'm not trying to be 100% complete; if a tool is pretty much a subset of functionality of another tool, I don't want to bother with it. And I prefer tools that are multiplatform (sometimes browser-based) But I know I've missed a lot, including some important things. So what tutorials and tools have you really used that I missed? (I am pitching this to Albert to be pinned) Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 (And am I a little biased towards my own tools? Probably! But I really have put in effort to make the most powerful yet friendly to use and multi-platform tools I possibly can) Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted May 19, 2021 Share Posted May 19, 2021 http://www.taswegian.com/WoodgrainWizard/tiki-index.php?page=Dr-Boo's-Woodgrain-Wizadry 1 Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 1 hour ago, splendidnut said: http://www.taswegian.com/WoodgrainWizard/tiki-index.php?page=Dr-Boo's-Woodgrain-Wizadry Yeah, that's a pretty decent set of references! In general I was thinking about avoiding "pages of links" here, but that is some well curated stuff, I will add it Quote Link to comment Share on other sites More sharing options...
stepho Posted May 19, 2021 Share Posted May 19, 2021 gopher2600 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted May 19, 2021 Share Posted May 19, 2021 7 hours ago, kisrael said: Yeah, that's a pretty decent set of references! In general I was thinking about avoiding "pages of links" here, but that is some well curated stuff, I will add it It's not a page of links to other sites, JFYI; it's the front page of a wiki with a lot of original content. 1 Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 6 hours ago, stepho said: gopher2600 Not to yuck your yum but does it do anything different or better from other emulators? (I'm amazed at how, like with stellerator, building a full 2600 emulator can be like an academic project! (stellerator had superior embedding capabilities as far as I could tell, so it earns a spot next to Javatari which is rather similar) Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 1 hour ago, Karl G said: It's not a page of links to other sites, JFYI; it's the front page of a wiki with a lot of original content. Yeah- the navigation is flat though, right? Like most of what it offers is directly listed/linked under "Technical Stuff"? Or is it even deeper than that? But like I said, worthy! "pages of links" is a rather gray term - many pages have like "articles hosted here" and "links to other useful things" Oh that reminds me Minidig - http://www.qotile.net/minidig/index.html Like with the tools in general, the curation is a balance between trying to keep the list limited and not overwhelming with options to a learner, but also not shunning people's passion projects (which is why I'm on the fence about gopher2600) Though I guess I shouldn't be so full of myself to think that "appearing on a list on AtariAge forums" as the make or break for putting all the effort into a project! Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 (and I'm a little bit of hypocrite... like my own "2600 101" is certainly inferior to the other 2 tutorials, but I tell myself it has a somewhat different angle that makes it potentially useful.. but maybe it's just ego/nostalgia talking ) Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted May 19, 2021 Share Posted May 19, 2021 1 hour ago, kisrael said: Not to yuck your yum but does it do anything different or better from other emulators? (I'm amazed at how, like with stellerator, building a full 2600 emulator can be like an academic project! (stellerator had superior embedding capabilities as far as I could tell, so it earns a spot next to Javatari which is rather similar) Gopher2600 is awesome, and very very accurate. It offers some debugging capability that Stella doesn't, particularly with regard to timing. It emulatates the ARM processor differetly, so it has (much more) correct timing if you are doing things in ARM (e.g., CDFJ bankswitching). It has been totally responsible for me finding some very obscure bugs that Stella just breezed on through but hardware wouldn't run. I think, currently, Gopher2600 is a very reliable and accurate analogue to real hardware. Stella is great; it's just not quite there yet with the ARM stuff. Stella is much quicker - Gopher is written in Go, and Stella in C++ - and they both have their place on mymachine. 1 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted May 19, 2021 Share Posted May 19, 2021 51 minutes ago, kisrael said: Yeah- the navigation is flat though, right? Like most of what it offers is directly listed/linked under "Technical Stuff"? Or is it even deeper than that? Well, not really. Though I haven't had much time to do any work on it recently, it's a Wiki and so anyone/everyone can contribute. Because it's a Wiki, cross-linking is the whole point, and pretty much all of the pages link to relevant items in other pages. It's all just a massively crosslinked hypertexty body of knowledge. So no, not flat at all. Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 2 minutes ago, Andrew Davie said: Well, not really. Though I haven't had much time to do any work on it recently, it's a Wiki and so anyone/everyone can contribute. Because it's a Wiki, cross-linking is the whole point, and pretty much all of the pages link to relevant items in other pages. It's all just a massively crosslinked hypertexty body of knowledge. So no, not flat at all. Right, but I mean - is most of the content there linked from the list at top? (even if there are relevant crosslinks) Or is it an iceberg model? (And I'd say "because it's a Wiki collaborative editing is the point" ) Again, it's a great site. (Tho you have to see past the "Dr Boo's Woodgrain Wizadry" personality to realize it's a multiperson, collaborative, "canonical" effort.) But definitely has a place on my vision for this topic's list. I'll link to Gopher, then, thanks for outlining the case. I think I tend to assume the later projects are kind of riding the coat-tails of the "big names" like Stella, but apparently I had that a bit flipped. Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 19, 2021 Author Share Posted May 19, 2021 Also, is Z26 still distinctly worthy? 15-20 years ago it had certain advantages, maybe? Though now... heck, does it even even do the new chip stuff? Maybe I should get rid of it, I had it up there for nostalgia... Quote Link to comment Share on other sites More sharing options...
Schala Posted June 6, 2021 Share Posted June 6, 2021 (edited) On your website, the link to download Bataribasic says oops page not found. Edited June 7, 2021 by Schala Quote Link to comment Share on other sites More sharing options...
Darenn Keller Posted May 17, 2022 Share Posted May 17, 2022 Hi ! It is intimidating to start creating games for this old console, especially when you don't know where to look to learn. So thanks a lot for creating this page, it helped me a lot. I think I read and looked at almost all introductory tutorials there is and found this incredible book : Making Games for the Atari2600, by Steven Hugg. It's using an online IDE with all the code examples, very easy to use. The book is not free, but in my opinion it's the best resource to get into Atari 2600 programming. I understood lots of stuff in here that I had some difficulties with Andrew Davie and Darrell Spice great tutorials. It's also a nice book to come back to, chapters are short and you can easily find out some code for what you need at the moment. Thanks again. Quote Link to comment Share on other sites More sharing options...
Jammin Posted July 16, 2022 Share Posted July 16, 2022 While I am aware I am bumping, I just want to mention the batari BASIC download link does not work anymore. For convenience, here's a Wayback Machine archive of the download from 2016. Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted July 16, 2022 Share Posted July 16, 2022 Actually, this would be a better link for getting the latest batari Basic download: https://github.com/batari-Basic/batari-Basic/releases 2 Quote Link to comment Share on other sites More sharing options...
Dionoid Posted August 23, 2022 Share Posted August 23, 2022 (edited) Excellent list! I'd like to add printed books and online courses: Printed books Stella Programmer's Guide by Steve Wright Essential documentation for Atari 2600 programmers Atari 2600 Programming for Newbies by Andrew Davie Andrew Davie's Atari 2600 programming series Making Games for the Atari 2600 by Steven Hugg Great information for learning to program the Atari 2600. Examples in this book can be run in an online editor and emulator: https://8bitworkshop.com/ 6502 Instruction Set Guide by Andrew Jacobs Very detailed and complete description of the 6502 microprocessor and its instructions and assembly language Programming Games for Atari 2600 by Oscar Toledo Gutierrez (note: also available as hardcover) This book contains all the elements needed to learn the 6507 assembly language, how to control the graphic elements of the TIA, create music and sound, and a step-by-step guide to the creation of five amazing games. Online courses Learn Assembly Language by Making Games for the Atari 2600 by Gustavo Pezzi Online course on Udemy.com Edited November 25, 2022 by Dionoid 1 Quote Link to comment Share on other sites More sharing options...
Windless Posted January 23 Share Posted January 23 When I was learning about bank switching, I wrote this (a bit over verbose ^^) documentation. It is not completely finished (I don't dive into each switching scheme), but I can continue it if there is some interest : https://gitlab.com/FTregan/bank-switching-rom-atari-2600 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.