I've always been fascinated by programming in low level (I once programmed some tools in ASM for 80x86), and the C64 can be interesting, aside because it's been my first machine :-), also because it's relatively simple in the architecture and thus in its applications - of course, there is lots of trickery required for producing games. There are also many books on the subject.
I'm about to invent some kind of project for studying and applying the knowledge; in the meanwhile, I'll share the "starter kit" for whoever should have a similar, unusual, interest:
- Machine language for Commodore 64 (J.Butterfield) [TXT, but you can buy it on Amazon]
- Codebase 64 [web]
- The Final Cartridge 3: A cartridge including a good machine language monitor.
- VICE: faithful C64 emulator.
Note: In the ubuntu VICE distribution, the default positional keyboard mapping doesn't work properly on GB keyboards. Until now, I spotted two keys problematic keys, hash and double quotes; to fix them, edit (/usr/lib/vice/c64/)x11_pos.vkm and replace the old entries with the following ones:
quotedbl 7 3 8
sterling 1 0 8