cybersorcerer/c64u/c64-knowledge
Claude Code and agent skill by cybersorcerer/c64u
- community
Checking that the SKILL.md file is still in the repository.
Commodore 64 hardware and toolchain reference - memory map and banking, VIC-II, CIA keyboard/joystick/timers, SID, PETSCII and screen codes, 6502 opcodes and cycle counts, graphics and bitmap formats, disk image layout, BASIC pitfalls, Kick Assembler syntax, REU/RAM Expansion programming, and the Ultimate Command Interface. Use when writing, reviewing, or debugging C64 code in BASIC or 6502 assembly, when picking register addresses or bit values, when counting cycles for raster timing, when converting text to screen codes or images to bitmaps, or when computing SID frequencies.
Install
npx vskill@latest install cybersorcerer/c64u/c64-knowledgeSKILL.md
C64 Knowledge
Grounding for C64 programming and for driving real hardware through the c64u CLI.
How to use this skill
Read one reference file - the one that covers the register or subsystem at hand. Do not read them all; each is a standalone quickref.
| Question | Read | |
|---|---|---|
Zero page, $01 banking, KERNAL entry points, I/O layout, VIC bank select | references/memory-map.md | |
Screen modes, sprites, raster IRQs, $D011/$D018 bits, PAL vs NTSC timing | references/vic-ii.md | |
| Keyboard matrix, joysticks, CIA timers, interrupt masks, serial bus | references/cia.md | |
| Voice registers, waveforms, ADSR, filter, frequency formula | references/sid.md | |
| Screen codes vs PETSCII, control codes, colour RAM, text output | references/petscii.md | |
| Opcodes, addressing modes, cycle counts, page-crossing penalties | references/opcodes.md | |
| Bitmap addressing, image conversion, charsets, sprite data pipelines | references/graphics-pipeline.md | |
| PRG load address, D64/D71/D81 layout, BAM, directory entries | references/disk-formats.md | |
| Tokenizer, line format, quote mode, variable-name traps, memory limits | references/basic-pitfalls.md | |
Directives, macros, pseudocommands, segments, BasicUpstart2, CLI options | references/kickassembler.md | |
REC registers $DF00-$DF0A, STASH/FETCH/SWAP/VERIFY, detection, DMA traps | references/reu.md | |
| Talking to the Ultimate from a running C64 program: UCI registers, targets, DOS/network/control commands | references/uci.md |
references/opcodes.md is generated from the disassembler's own table in tools/c64u; regenerate it with make -C skills/c64-knowledge opcodes rather than editing it.
For driving real hardware with the c64u CLI, use the c64u-cli skill instead.
Working code
examples/ holds assembled-and-runnable Kick Assembler sources.
Do not read `examples/` to answer a question. The reference files carry the register tables and the rules; the examples exist to be built and run. Open one only when:
- the user asks for working code or a starting point,
- you need to modify or debug that specific program,
- a reference file explicitly points at it and the register table alone did not settle the question.
Preferring build then run over read keeps them out of context entirely.
| File | Shows | |
|---|---|---|
examples/hello-border.asm | Smallest useful program: upstart line, border flash | |
examples/raster-irq.asm | Raster interrupt under $01 = $35, hardware vector at $FFFE | |
examples/sprite-setup.asm | Sprite pointer, position, colour, X MSB | |
examples/sid-note.asm | Triangle note with best-practice ADSR, PAL/NTSC frequency pick | |
examples/charset-copy.asm | Copy character ROM to RAM, repoint $D018 | |
examples/hires-bitmap.asm | 320x200 bitmap mode, colour map, plotted sine curve | |
examples/uci-identify.asm | Full Ultimate Command Interface round trip from the C64 side | |
examples/reu-detect.asm | Probe for a RAM Expansion Unit without triggering a DMA | |
examples/reu-screen-stash.asm | Save and restore screen RAM through STASH/FETCH |
Toolchain
Assemble with Kick Assembler (Java):
Run on the connected C64 Ultimate:
The c64u-cli skill covers the CLI itself - all commands, verified workflows, and the limits that catch people out.
Rules that prevent most C64 bugs
- Check the video standard before any timing or pitch maths.
$02A6holds1for
PAL, 0 for NTSC. SID frequency values and raster line counts differ between them. See references/vic-ii.md and references/sid.md.
- Screen RAM stores screen codes, not PETSCII.
$FFD2takes PETSCII; a direct
sta $0400 takes a screen code. They are different encodings. See references/petscii.md.
- Banking out ROM means banking out the IRQ handler. Any write to
$01that removes
the KERNAL must be wrapped in sei / cli, with the hardware vector at $FFFE set up first. See references/memory-map.md.
- Acknowledge VIC interrupts. A raster IRQ that does not clear
$D019fires forever. - Derive REU command bytes from the bit fields, not from copied constants. Published
listings disagree on the unused bits. See references/reu.md.
Sources
Written from the Commodore 64 Programmer's Reference Guide, Mapping the Commodore 64 (Sheldon Leemon), the Kick Assembler manual (Mads Nielsen), the REU article at retro-programming.de, and the Ultimate Documentation (Gideon Zweijtzer) for the Command Interface. No text was copied from those sources; register values and protocol behaviour were checked against real hardware where possible.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/c64-knowledge/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/cybersorcerer/c64u/c64-knowledge)