Commodore 64 BASIC V2: programming rules, the three data types (integer, floating-point, string) and their constants/variables/arrays, expressions, arithmetic/relational/logical operators and precedence, string handling, INPUT/GET, program crunching, and the full alphabetical reference of every BASIC keyword (commands, statements, functions, operators) with abbreviations. Use this skill WHEN reading, writing, or debugging C64 BASIC, or asked things like "what does FOR/NEXT do", "how do I DIM an array", "what's the abbreviation for PRINT", "why do I get ?REDIM'D ARRAY", "operator precedence in BASIC", or "is GET blocking". Pairs with c64-petscii (CHR$/screen codes), c64-keyboard (keys & editor), c64-memory-map (POKE/PEEK targets), and c64-assembly (SYS/USR).
Workflow for reverse-engineering existing Commodore 64 code — .prg/.bin files, cartridge dumps, memory snapshots, and raw 6510 listings. Covers the .prg load address, the tokenized BASIC stub and its SYS launcher, classifying every address as RAM / ROM call / hardware register, recognizing KERNAL ($FFxx) and BASIC ROM entry points, spotting I/O accesses to the VIC/SID/CIA by address, and the common idioms (raster waits, IRQ hooks, self-modifying code). Use this skill WHEN asked to "disassemble this C64 program", "what does this .prg do", "explain this 6510 dump", "find the SYS address", "what is it POKEing $D0xx for", or to trace/annotate a binary. Pairs with c64-assembly, c64-kernal, c64-memory-map, c64-vic-ii, c64-sid, c64-cia.
The two Commodore 64 control (game) ports: reading joysticks, paddles, a light pen, and mouse, and how they map to hardware registers (CIA1 $DC00/$DC01, SID POT $D419/$D41A, VIC light-pen $D013/$D014). Use this skill WHEN a user asks "which port is player 1", "how do I read the joystick", "what bits are up/down/ left/right/fire", "how do I read paddles", "why are paddles unreliable in BASIC", "how does the light pen work", or mentions control port 1/2, $DC00, $DC01, fire button, or POTX/POTY. Pairs with c64-cia, c64-sid, and c64-vic-ii.
C64 screen graphics from the programmer's view: the five VIC-II display modes (standard/multicolor text, ECM, standard/multicolor bitmap), custom 8x8 character sets, screen/color/character memory layout, video bank selection, and smooth scrolling. Use this skill WHEN you see "how do I define custom characters", "turn on multicolor mode", "POKE 53272 / 53265 / 53270 / 53281", "$D011 $D016 $D018 bitmap mode", "switch VIC-II video banks", "where is screen RAM / color RAM", "set the bitmap base", or "smooth scroll the screen". Pairs with c64-sprites, c64-vic-ii (raster timing, full chip spec), and c64-memory-map.
The C64 keyboard and screen editor: every special key and what it does — the Commodore (C=) key, CTRL, RUN/STOP, RESTORE, SHIFT / SHIFT-LOCK, CLR/HOME, INST/DEL, cursor (CRSR) keys, function keys f1–f8, RETURN — plus screen-editor behavior (quote mode, insert mode, full-screen line editing, the 10-key buffer). Use this skill WHEN asked "what does the C= key do", "switch to lower case", "what is RUN/STOP + RESTORE", "clear the screen", "what's quote mode", "type a cursor-down into a string", "reset the C64", or about the f-keys. Pairs with c64-petscii and c64-cia (the NMI/RESTORE mechanism).
The complete Commodore 64 memory map and banking: zero page, stack, the BASIC program area and pointers, screen and color RAM, the $D000-$DFFF I/O area, the BASIC/KERNAL/character ROMs, the $0000/$0001 6510 port plus the 82S100 PLA that switches ROM/RAM/I/O/char-ROM, and VIC bank select via CIA2 $DD00. Use this skill WHEN asking where something lives or how to switch banks: "what's at $D000", "bank out the KERNAL", "C64 memory map", "where is screen/color RAM", "read the character ROM", "what do LORAM/HIRAM/CHAREN do", "which VIC bank am I in", "zero-page usage". Pairs with c64-assembly, c64-vic-ii, c64-sid, c64-cia, and c64-kernal.
Commodore 64 hardware sprites (MOBs, movable object blocks): the 24x21-pixel / 63-byte sprite shape, sprite pointers, enabling sprites, X/Y positioning including the X MSB ($D010) for positions past 255, sprite color, multicolor sprites, 2x X/Y expansion, sprite-to-background and sprite-to-sprite priority, and collision detection. Use this skill WHEN you see questions like "how do I make a sprite on the C64", "POKE 53269 enable sprite", "move a sprite past x 255 / $D010 MSB", "$D000 $D015 $D017 $D01C $D01D sprite registers", "set sprite pointer 2040", "multicolor sprite", "expand a sprite", "detect sprite collision $D01E $D01F", or "sprite priority". Pairs with c64-graphics (screen/charset/bank setup) and c64-vic-ii (exact raster timing and chip behavior).
The physical Commodore 64 and its servicing: system specs, the chip complement (6510, VIC-II, SID, two CIAs, PLA, ROMs, DRAM) and each chip's role, the circuit theory (power, reset, clock, video/audio, ports), board revisions and how to ID them, connector pinouts, and troubleshooting. Use this skill WHEN a question is about C64 hardware, a board, or repair — "what chip is U17", "why won't my C64 boot", "blank screen on power-up", "power-brick voltage", "which board revision", "5-pin vs 8-pin video", "expansion port pinout", "PLA failure". Pairs with c64-memory-map, c64-vic-ii / c64-sid / c64-cia, and c64-io / c64-game-ports.