sylverb-game-and-watch-retro-go-sd-pce-rule.ocm.json json Copy{
"ocm": "1",
"id": "sylverb-game-and-watch-retro-go-sd-pce-rule",
"kind": "skill",
"name": "pce",
"description": "PCE / PCE CD emulator — architecture and debugging",
"publisher": "sylverb",
"version": "1.0.0",
"capabilities": {
"domains": [
"general"
],
"tags": [
"skill-md",
"github-cursor-rules"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"PCE / PCE CD emulator — architecture and debugging"
],
"primary": false,
"metadata": {
"source": {
"provider": "github-cursor-rules",
"repository": "https://github.com/sylverb/game-and-watch-retro-go-sd",
"path": ".cursor/rules/pce.mdc",
"ref": "69665a17f315020411ccb95d05075808cef5b313",
"url": "https://github.com/sylverb/game-and-watch-retro-go-sd/blob/69665a17f315020411ccb95d05075808cef5b313/.cursor/rules/pce.mdc",
"key": "sylverb/game-and-watch-retro-go-sd/.cursor/rules/pce.mdc"
},
"applies_to": "Core/Src/porting/pce/**,linux/pce/**,retro-go-stm32/pce-go/**"
},
"instructions": "# PCE / PCE CD\n\nWhen editing or debugging PCE code, read and follow **Core/Src/porting/pce/CLAUDE.md** in full.\n\nQuick pointers:\n\n- **Linux harness:** `cd linux && make -f Makefile.pce` (play) or `make -f Makefile.pce debug` (trace/self-tests).\n- **Savestate padded layout:** SVARs at byte 13, then pad to 76 KB, then CD RAM — never `fseek(76KB)` before SVARs (Valis II freeze).\n- **ADPCM:** `pce_adpcm_sync()` on status polls (`$1800`, `$1803`, `$180A`, `$180B`, `$180C`) + per frame; not every `$180x` read.\n- **Arcade Card:** `PCE_ENABLE_ARCADE_CARD`; phys reads need `(MMR[page]<<13)|(addr&0x1FFF",
"cost": {
"context_tokens": 175
}
}