I have fond memories of playing Atari when I was a little kid. My parents got a 2600 for me the Christmas I was five years old (for some reason I distinctly remember the purple box the A/C adapter came in ...)
I loved it, played it constantly, and like many others of the era, dreamed of making games for the Atari. This blossomed into an interest in computers and a wonderful relationship with the Commodore 64 in my youth. COMMODORE BASIC V2/38911 BASIC BYTES FREE kept my young self busy for years, and thanks to the many Compute! books available at the library, I had no end to ideas and information. I managed to teach myself 6502 assembly. A shame I never had an assembler ...
About ten years ago I discovered the wonderful and exciting world of emulation. I believe through this very site I eventually ran into the Stella Programmers Manual. A familiar feeling came over me as I read it, similar to when I first got a chance to read the Commodore 64 Programmer's Reference Guide or Mapping the Commodore 64 many years ago. Every possible technical low-level detail I could ever want to know about a platform I so loved.
Amazing to realize the Atari had no video ram and a mere 128 bytes of work RAM.
So, I made some color scrolling programs, and then decided to have a go at implementing Tic Tac Toe. Thus keeping my promise to myself, though I've never run it on actual hardware.
I figure I ought to share it. So here it is, the source asm and the bin which ran under z26 to the best of my recollection. I intended to release it under GPL. I did this in 2004. I did some strange things like make a title screen, and added a setup/options screen. One of the difficulty switches changes who is X or O; it only works when a game isn't active. The CPU isn't very smart. I had intended to add a more elaborate sound driver but never got to it. I also never got around to implementing a PRNG. Yes, my method of HMOVEing the players to their initial (and fixed) position is very ... bruteforce ...
Enjoy.
ttt090.asm
ttt090.bin