본문으로 건너뛰기
cccskills
무료GitHub에 공개

emulators-chip-builder

Implement or extend a reusable hardware chip and its machine-specific wiring in EMULATORS, including registers, pins or logical signals, clocks, state machines, memory-mapped behavior, side effects, interrupts, DMA or bus requests, serialization, introspection, and chip tests. Use when adding a controller, timer, PIA, PPI, UART, video or sound device, custom ASIC, register bank, or a variant of an existing chip.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md3.0 KB
  • agents/openai.yaml224 B
  • references/chip-contract.md1.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Build an EMULATORS Chip

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

Required Context

  1. Read references/chip-contract.md.
  2. Read .codex/skills/emulators-new-machine/references/workspace-artifacts.md. Store completed chip contracts and other code-generation support in the active .codex/work/ scope, never in docs/.
  3. Inspect include/CORE/Chip.hpp, include/CORE/ChipRegisters.hpp, their implementations, and the nearest chip family.
  4. Use $emulators-framework-cpp-style for C++ changes and $emulators-fmt-audit when InfoStructure output changes.
  5. Use an existing chip-specific audit skill when the target or reused component matches it.

Workflow

  1. Identify the exact chip revision, package-visible contract, clock domains, register map, reset values, side effects, interrupt outputs, and undocumented assumptions.
  2. Compare target behavior with existing chips. Reuse only behavior supported by evidence; place board-specific wiring in a derived machine class or adapter.
  3. Fill the chip contract before implementation. Resolve read/write asymmetry, write-one actions, read-clear behavior, open bits, mirrors, latches, and event ordering.
  4. Implement state and register semantics before connecting the machine. Keep register objects responsible for register-visible behavior and the chip responsible for wider state progression, following the nearest framework pattern.
  5. Implement clocked state machines with explicit transition points. Preserve subcycle ordering when it affects bus access, interrupts, audio, or pixels.
  6. Model signals and interrupts as emulated state, not host callbacks with hidden timing.
  7. Add focused tests for reset, every register operation, boundary transitions, interrupt acknowledgement, simultaneous events, and variant differences.
  8. Add a small machine-wiring test after isolated chip tests pass.

Fidelity Rules

  • Distinguish not implemented, approximated, and verified behavior.
  • Avoid speculative pin-level complexity when the requested accuracy cannot observe it, but retain extension points for known future requirements.
  • Avoid per-cycle allocation and repeated lookup in hot paths.
  • Never infer register semantics from power-on values or names alone.
  • Do not hide board polarity, address decoding, or interrupt routing inside a generic chip.

Completion Evidence

Report the revision modeled, generic and machine-specific classes, register coverage, timing granularity, tests run, external references used, and all approximations or unknowns.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 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의 스킬 모두 보기

이 스킬의 문제 신고