atari2600-wasm icon indicating copy to clipboard operation
atari2600-wasm copied to clipboard

An Atari 2600 emulator written in AssemblyScript compiled to WebAssembly

WebAssembly / AssemblyScript Atari 2600 Emulator

I've been fascinated with the 2600 ever since reading Racing the Beam, the idea of a computer that doesn't have enough memory to support video RAM is just nuts! This project is an excuse to have a play with AssemblyScript, and explore the 2600 further.

I'm implementing the 2600 by implementing features as they appear in the Atari 2600 Programming for Newbies guide.

Other reference sources

  • Addressing modes - https://slark.me/c64-downloads/6502-addressing-modes.pdf
  • 6502 reference - http://www.obelisk.me.uk/6502/reference.html
  • Another 6502 reference - https://www.masswerk.at/6502/6502_instruction_set.html
  • https://en.wikibooks.org/wiki/6502_Assembly

Progress

  • Atari 2600 Programming for Newbies
  • [x] Session 1: Start Here
  • [x] Session 2: Television Display Basics
  • [x] Session 3: The TIA and 6502
  • [x] Session 4: The TIA
  • [x] Session 5: Memory Architecture
  • [x] Sessions 6 & 7: The TV and our Kernel
  • [x] Session 8: Our First Kernel
  • [x] Session 9: 6502 and DASM – Assembling the basics
  • [x] Session 10: Orgasm
  • [x] Session 11: Colorful colors
  • [x] Session 12: Initialization
  • [x] Session 13: Playfield Basics
  • [x] Session 14: Playfield Weirdness
  • [x] Session 15: Playfield Continued
  • [ ] Session 16: Letting the Assembler Do the Work