本文へ移動
cccskills
無料GitHub で公開

emulators-new-machine

Plan, scaffold, implement, and integrate a complete new emulated computer or console in the EMULATORS repository. Use when Codex creates a new machine, platform, hardware model, or emulator executable; decides which existing CPUs, chips, memory, I/O, video, sound, ROM, and framework classes to reuse or extend; or coordinates several emulator subsystems into a bootable tested system.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md3.9 KB
  • agents/openai.yaml210 B
  • assets/machine-spec.yaml635 B
  • references/machine-contract.md2.1 KB
  • references/workspace-artifacts.md2.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Build a New EMULATORS Machine

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

Core Workflow

  1. Read references/workspace-artifacts.md, then read references/machine-contract.md. When the scope spans more than one subsystem, copy assets/machine-spec.yaml into a task-specific directory under .codex/work/emulators/<machine>/<model-or-variant>/<scope>/; never use docs/ for this working material.
  2. Read repository instructions and use $emulators-framework-cpp-style for every C++ change.
  3. Establish the target model, regional variants, clocks, accuracy target, authoritative documentation, ROM/media availability, and observable acceptance criteria. Mark unknown facts; do not silently invent hardware behavior.
  4. Inventory the nearest implementations under include/, src/, projects/, emulators/, and tests/. Compare behavior and wiring, not only class names.
  5. Classify every component as reuse, configure, derive, adapt, or new. Record the evidence and compatibility boundary in the machine specification.
  6. Draw the clock, bus, memory, I/O, interrupt, and ownership relationships before scaffolding classes. Resolve contradictory clock units or address domains early.
  7. Route specialist work:
    • Use $emulators-cpu-builder for a new or changed CPU, instruction set, interrupt model, or CPU timing.
    • Use $emulators-machine-core-builder for machine classes, memory maps, wiring, model selection, executables, and project integration.
    • Use $emulators-chip-builder for a reusable hardware chip or register block.
    • Use $emulators-io-builder for ports, buses, host input, media, and external peripherals.
    • Use $emulators-system-test-builder to design cross-component and conformance tests.
    • Use an existing machine- or chip-specific audit skill whenever its trigger matches a reused component.
  8. Implement vertical slices in dependency order: reset and memory access, CPU execution, interrupts and timing, essential I/O, video/sound, media/peripherals, tooling.
  9. Integrate each slice into the appropriate Visual Studio project and compile the narrowest affected target before continuing.
  10. Close the delivery gates in references/machine-contract.md; report implemented behavior, evidence, tests, accuracy limits, and deferred work.

Coordination Rules

  • Apply references/workspace-artifacts.md to every plan, specification, contract, workbook, source registry, validation matrix, generator input, and intermediate artifact created by this workflow or a routed specialist skill.
  • Keep generic hardware in the lowest suitable reusable namespace and machine wiring in the machine namespace.
  • Prefer composition or explicit adapters when inheritance would imply compatibility the hardware does not possess.
  • Preserve a single timing vocabulary. State whether a value is in master clocks, CPU cycles, chip cycles, raster cycles, or host time.
  • Keep the emulator deterministic below host adapters. Never make emulated state depend directly on wall-clock timing or nondeterministic host polling.
  • Do not claim that a machine is complete merely because it compiles or reaches its reset vector.
  • Do not broaden the task into unrelated framework modernization.

Completion Evidence

Provide the final component classification and machine specification, created and reused class graph, exact build and test commands, boot or behavioral evidence, and a concise list of unsupported or approximated behavior.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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月9日 更新

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月9日 更新

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月9日 更新

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月9日 更新

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月9日 更新

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月9日 更新

Commnets のスキルをすべて見る

このスキルの問題を報告する