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

emulators-machine-core-builder

Create and integrate the machine-level core of a new EMULATORS emulator, including Computer and Emulator derivatives, memory and port maps, chip ownership and wiring, clock coordination, model configuration, commands, formatters, executables, and Visual Studio projects. Use when scaffolding a machine namespace, adding a model or regional variant, assembling existing components into a computer, or making a new emulator build and start.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md3.2 KB
  • agents/openai.yaml228 B
  • references/machine-integration.md2.0 KB

SKILL.md(原文)

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

Build an EMULATORS Machine Core

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

Required Context

  1. Read references/machine-integration.md.
  2. Read .codex/skills/emulators-new-machine/references/workspace-artifacts.md. Keep integration plans and other code-generation support in the active .codex/work/ scope, never in docs/.
  3. Read the active machine specification from $emulators-new-machine; if none exists, capture the relevant fields before editing.
  4. Inspect include/CORE/Computer.hpp, include/EMULATORS/Emulator.hpp, their implementations, and at least two nearby complete machines.
  5. Use $emulators-framework-cpp-style for C++ changes and $emulators-fmt-audit whenever visible InfoStructure fields or formatter contracts change.

Workflow

  1. Define machine models, configuration keys, clocks, address spaces, reset behavior, ownership, and executable boundaries.
  2. Select the nearest architectural patterns separately for Computer, Emulator, Memory, PortManager, Screen, Sound, CommandBuilder, and executable. Do not clone one whole machine by resemblance alone.
  3. Create the smallest namespace and class surface needed for a reset-capable vertical slice.
  4. Implement memory and port decoding with explicit priority, mirroring, open-bus or unmapped behavior, ROM/RAM overlays, and model-dependent regions.
  5. Construct components in ownership-safe order; connect buses, interrupts, events, screen, sound, and peripherals only after their contracts exist.
  6. Express clock ratios exactly and identify the synchronization owner. Avoid conversions through host time in emulation paths.
  7. Add model and regional configuration without duplicating common behavior.
  8. Register commands, formatters, project files, solution dependencies, runtime resources, and emulator entry points by following the nearest maintained pattern.
  9. Build the narrowest library and executable targets. Exercise reset, a bounded execution interval, and one observable machine behavior.
  10. Hand cross-component scenarios to $emulators-system-test-builder.

Architectural Boundaries

  • Keep reusable CPU and chip behavior outside the machine namespace.
  • Keep board wiring, address decoding, clock ratios, ROM selection, and model quirks inside the machine namespace.
  • Keep host UI, SDL, filesystem, and command-line concerns above deterministic emulated devices.
  • Make ownership explicit and verify destruction order.
  • Preserve unrelated project filters and configurations when editing Visual Studio metadata.

Completion Evidence

Report the implemented class graph, address and port maps, clocks, interrupt routes, build targets, smoke-test result, formatter changes, and intentionally deferred devices.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

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 のスキルをすべて見る

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