Skip to content

Instantly share code, notes, and snippets.

@lucasw
Last active May 2, 2017 13:27
Show Gist options
  • Save lucasw/5ddd9a8b28ca48005bbb9291fc49f5e1 to your computer and use it in GitHub Desktop.
Save lucasw/5ddd9a8b28ca48005bbb9291fc49f5e1 to your computer and use it in GitHub Desktop.
atari 2600 with ca65

Can use ca65 (instead of dasm):

http://wiki.cc65.org/doku.php?id=cc65:atari_2600

Need vcs.h and macro.h from dasm https://github.com/munsie/dasm/tree/master/machines/atari2600 No they don't compile, just start a new vcs.inc that defines all the registers using http://www.classic-games.com/atari2600/specs.html.

Adapt http://www.randomterrain.com/atari-2600-memories-tutorial-andrew-davie-08.html assembly example to ca65.

This produces demo.o

$HOME/other/cc65/bin/ca65 -g -o demo.o demo.s -I.
$HOME/other/cc65/bin/ld65 -C atari2600.cfg -m demo.map -Ln demo.labels -vm demo.o -o demo.bin
@lucasw
Copy link
Author

lucasw commented May 2, 2017

Stella debugger expects file names like Boing! (PD) [a1].lst - where does that name come from, it isn't in the test dir?

mv boing26.sym "Boing! (PD) [a1].sym"
mv boing26.lst "Boing! (PD) [a1].lst"

Now it loads them, but there is no cfg file.
Also don't see any difference in dissassembly window- I thought it would use the names for address from the assembly instead of ram_80 etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment