跳到正文
cccskills
免费在 GitHub 公开

emulators-cpu-builder

Implement or extend a CPU architecture, processor variant, instruction set, addressing modes, registers, interrupts, bus transactions, disassembly, timing, and processor tests in EMULATORS. Use when adding a processor not yet emulated, deriving a CPU from F6500, FZ80, or another family, filling missing opcodes, correcting instruction semantics or cycles, or creating exhaustive instruction and interrupt tests.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md3.2 KB
  • agents/openai.yaml218 B
  • references/processor-workbook.md1.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Build an EMULATORS CPU

When compiling, testing, or executing on Windows, use $emulators-windows-build-runtime.

Required Context

  1. Read references/processor-workbook.md before designing instructions or tests.
  2. Read .codex/skills/emulators-new-machine/references/workspace-artifacts.md. Store the completed processor workbook and other code-generation support in the active .codex/work/ scope, never in docs/.
  3. Inspect include/CORE/CPU*, include/CORE/Instruction.hpp, their implementations, and the closest CPU family under include/ and src/.
  4. Inspect TestCPU, Test6500, TestZ80, TestInst6500, or TestInstZ80 patterns when relevant.
  5. Use $emulators-framework-cpp-style for all C++ work.

Workflow

  1. Establish authoritative manuals, exact processor revision, clock/bus contract, reset state, interrupt modes, and treatment of undocumented behavior.
  2. Compare the target with existing CPU families at register, opcode, addressing, bus, interrupt, and timing levels. Choose independently among reuse, configuration, derivation, adapter, and new implementation.
  3. Complete the processor workbook before bulk-generating instruction classes. Give every opcode a deliberate status: implemented, alias, undocumented, illegal, model-specific, or unsupported.
  4. Implement architecture and registers first, then reset and interrupts, addressing primitives, instruction families, decode/disassembly, transactions, and timing.
  5. Preserve observable bus ordering and conditional cycles. Treat correct final registers with incorrect accesses or timing as a failure whenever the accuracy target exposes them.
  6. Separate invariant family behavior from variant-specific behavior. Do not put machine wiring into a reusable CPU namespace.
  7. Add tests alongside each instruction family. Build expected results from the specification, not from the implementation under test.
  8. Add boundary and interaction tests after opcode coverage: page/address wrapping, stack limits, interrupt entry/return, reset, wait/halt states, prefix decoding, illegal instructions, self-modifying code, and overlapping bus requests as applicable.
  9. Compile and run the narrowest processor tests, then at least one machine-level smoke test when integration exists.

Instruction Acceptance

For every supported opcode verify decode length and operands, state and flag results, address rules, ordered bus accesses, base and conditional cycles, interrupt boundaries, disassembly, and supported variant differences.

Completion Evidence

Report opcode and variant coverage, commands run, failing or unavailable external vectors, timing granularity achieved, undocumented behavior policy, and remaining gaps. Do not describe a processor as complete while opcodes or interrupt states remain implicitly unclassified.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Validate Commodore 1540/1541/1541C/1541-II compatible disk-drive behavior in EMULATORS, including IEC serial bus protocol, device numbers, KERNAL traps, CBM DOS commands/status, D64 image parsing, BAM/directory/file chains, PETSCII filenames, 6502 drive CPU/ROM/RAM expectations, 6522 VIA wiring, GCR/track/sector geometry, motor/head timing, and compatibility boundaries for 1541-like devices. Use when Codex reviews or edits C64, VIC-20, C264, COMMODORE disk, serial I/O, D64, CBM DOS, IEC, VIA, GCR, or 1541 drive code.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

Validate Commodore 64 CIA 6526 emulation in EMULATORS, including CIA1/CIA2 $DC00/$DD00 register behavior, ports, DDRs, keyboard/joystick matrix, IEC/user port, VIC bank selection, timers A/B, underflow timing, PB toggle/pulse output, TOD clock/alarm, serial shift register, FLAG, ICR masks and IRQ/NMI lines. Use when Codex reviews or edits C64 CIA, timers, ports, keyboard, joystick, serial bus, interrupts, TOD, or VIC bank control.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

Validate Commodore 64 memory map, PLA/bank switching, 6510 port $0000/$0001 behavior, VIC bank selection, color RAM, ROM/RAM overlays, cartridge mapping, and mirrored I/O in the EMULATORS C64 namespace. Use when Codex reviews or edits C64 memory, PLA, CPU-visible address decoding, VIC-visible memory, color memory, char ROM, cartridge, expansion I/O, or mapped chip register behavior.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

Validate Commodore MPS-801 serial dot matrix printer behavior in EMULATORS, including SerialPrinterMPS801 classes and their MatrixPrinterEmulation and SerialPrinterPeripheralSimulation hierarchy, IEC/KERNAL-trap printer routing, device numbers, secondary addresses, PETSCII/character sets, 6x7 glyphs, double width, graphics mode, reverse field, tab and dot positioning, line/page geometry, PostScript output, and fidelity boundaries. Use when Codex reviews or edits COMMODORE MPS801 printer code, generated printer output, PostScript printer templates, C64/VIC-20/C264 serial-printer behavior, or compares implementation against .codex/docs/MPS801.pdf and historical MPS-801 sources.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

Validate Commodore MPS-802 and 1526 serial dot matrix printer behavior in EMULATORS, including SerialPrinterMPS802 classes and their MatrixPrinterEmulation and SerialPrinterPeripheralSimulation hierarchy, IEC/KERNAL-trap printer routing, device numbers, secondary-address functions, PETSCII/character sets, 8x8 glyphs, enhanced width, reverse and paging modes, formatter strings, programmable characters, line/page geometry, PostScript output, and fidelity boundaries. Use when Codex reviews or edits COMMODORE MPS802 printer code, generated printer output, PostScript printer templates, C64/VIC-20/C264 serial-printer behavior, or compares implementation against .codex/docs/MPS802.pdf, the MPS-802 user guide, and 1526/MPS-802/4023 service information.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

Validate Commodore 64 SID 6581/8580 sound emulation in EMULATORS, including $D400-$D7FF register decoding, voices, frequency, pulse width, control bits, ADSR/envelope behavior, oscillator sync/ring/noise/test, filters, volume DAC/sample clicks, paddles, read-only registers, mirrors, and reSID integration. Use when Codex reviews or edits SID, Sound, audio wrapper, register, filter, waveform, envelope, or mapped SID behavior.

中文简介正在准备中。当前显示原文说明。

Commnets/EMULATORS102026年10月18日 更新

查看 Commnets 的全部技能

报告此技能的问题