c64bridge 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/.github/prompts/steer.prompt.md +55 -0
  2. package/AGENTS.md +9 -7
  3. package/README.md +139 -95
  4. package/data/embeddings_asm.json +1 -1
  5. package/data/embeddings_basic.json +1 -1
  6. package/data/embeddings_hardware.json +1 -1
  7. package/data/embeddings_mixed.json +1 -1
  8. package/data/embeddings_other.json +1 -1
  9. package/data/graphics/petscii-style-guide.md +4 -4
  10. package/data/graphics/sprite-charset-best-practices.md +9 -9
  11. package/data/vice/vice-binary-monitor-spec.md +921 -0
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/device.js +86 -10
  14. package/dist/mcp-server.js +1 -1
  15. package/dist/prompts/registry.js +27 -25
  16. package/dist/rag/knowledgeIndex.js +112 -79
  17. package/dist/rag/resourceUris.js +93 -0
  18. package/dist/tools/audio.js +11 -11
  19. package/dist/tools/debug.js +1 -1
  20. package/dist/tools/developer.js +13 -13
  21. package/dist/tools/graphics.js +10 -10
  22. package/dist/tools/machineControl.js +5 -5
  23. package/dist/tools/memory.js +19 -11
  24. package/dist/tools/meta/index.js +1 -1
  25. package/dist/tools/printer.js +11 -12
  26. package/dist/tools/programRunners.js +16 -16
  27. package/dist/tools/rag.js +9 -9
  28. package/dist/tools/registry/config.js +1 -1
  29. package/dist/tools/registry/disk.js +1 -1
  30. package/dist/tools/registry/drive.js +1 -1
  31. package/dist/tools/registry/extract.js +1 -1
  32. package/dist/tools/registry/graphics.js +1 -1
  33. package/dist/tools/registry/memory.js +1 -1
  34. package/dist/tools/registry/platform.js +1 -1
  35. package/dist/tools/registry/printer.js +1 -1
  36. package/dist/tools/registry/program.js +1 -1
  37. package/dist/tools/registry/rag.js +1 -1
  38. package/dist/tools/registry/sound.js +1 -1
  39. package/dist/tools/registry/stream.js +1 -1
  40. package/dist/tools/registry/system.js +1 -1
  41. package/dist/tools/storage.js +15 -15
  42. package/dist/tools/streaming.js +3 -3
  43. package/dist/tools/types.js +41 -4
  44. package/dist/tools/vice.js +2 -5
  45. package/dist/vice/process.js +79 -2
  46. package/dist/vice/readiness.js +35 -0
  47. package/dist/vice/smokeOptions.js +44 -0
  48. package/dist/viceRunner.js +2 -0
  49. package/doc/plans/prompts/README.md +7 -7
  50. package/mcp/prompts.json +42 -59
  51. package/mcp/protocol-examples.json +2 -2
  52. package/mcp/resources.json +179 -166
  53. package/mcp/schemas/c64_config.schema.json +109 -326
  54. package/mcp/schemas/c64_debug.schema.json +158 -337
  55. package/mcp/schemas/c64_disk.schema.json +180 -262
  56. package/mcp/schemas/c64_drive.schema.json +31 -111
  57. package/mcp/schemas/c64_extract.schema.json +193 -291
  58. package/mcp/schemas/c64_graphics.schema.json +208 -308
  59. package/mcp/schemas/c64_memory.schema.json +94 -144
  60. package/mcp/schemas/c64_printer.schema.json +151 -205
  61. package/mcp/schemas/c64_program.schema.json +229 -367
  62. package/mcp/schemas/c64_rag.schema.json +25 -59
  63. package/mcp/schemas/c64_select_backend.schema.json +19 -26
  64. package/mcp/schemas/c64_sound.schema.json +346 -622
  65. package/mcp/schemas/c64_stream.schema.json +25 -54
  66. package/mcp/schemas/c64_system.schema.json +79 -212
  67. package/mcp/schemas/c64_vice.schema.json +24 -55
  68. package/mcp/server.json +1 -1
  69. package/mcp/tools.json +1935 -3443
  70. package/mcp.json +3 -3
  71. package/package.json +17 -14
  72. package/scripts/fetch-external-sources.mjs +1 -2
  73. package/scripts/run-coverage.mjs +26 -1
  74. package/scripts/run-tests.mjs +2 -2
  75. package/scripts/run-tests.ts +273 -52
  76. package/scripts/update-readme.ts +54 -2
  77. package/server.json +2 -2
@@ -57,7 +57,7 @@ Border matching: Set border=background for seamless look.
57
57
  **PETSCII codes** ($00-$FF): Used in BASIC strings, CHR$(), keyboard input, PRINT statements
58
58
  **Screen codes** ($00-$FF): Values directly written to screen memory ($0400-$07E7)
59
59
 
60
- Conversion: Screen code ≠ PETSCII code. Use charset reference (c64://specs/charset) for mapping.
60
+ Conversion: Screen code ≠ PETSCII code. Use charset reference (c64://graphics/character-set) for mapping.
61
61
 
62
62
  **Usage**:
63
63
 
@@ -105,6 +105,6 @@ Returns: `petsciiCodes[]`, `bitmapHex`, `rowHex`, `program`, dimensions
105
105
 
106
106
  ## Related Resources
107
107
 
108
- - `c64://specs/charset` - Full PETSCII/screen code mappings
109
- - `c64://specs/vic` - VIC-II registers, colour RAM
110
- - `c64://specs/basic` - BASIC screen commands
108
+ - `c64://graphics/character-set` - Full PETSCII/screen code mappings
109
+ - `c64://graphics/vic/spec` - VIC-II registers, colour RAM
110
+ - `c64://basic/spec` - BASIC screen commands
@@ -128,7 +128,7 @@ You don't need to redefine all 256 characters:
128
128
 
129
129
  **Requirements**:
130
130
 
131
- - Precise raster interrupt timing (see c64://specs/vic)
131
+ - Precise raster interrupt timing (see c64://graphics/vic/spec)
132
132
  - Fast register updates (< 63 cycles between sprite positions)
133
133
  - Pre-calculated Y-coordinate tables for performance
134
134
 
@@ -238,7 +238,7 @@ Custom charsets have minimal performance impact:
238
238
 
239
239
  1. Use PETSCII style guide for colour selection
240
240
  2. Test on both PAL and NTSC if possible
241
- 3. Maintain sufficient contrast (see c64://docs/petscii-style)
241
+ 3. Maintain sufficient contrast (see c64://graphics/petscii/style-guide)
242
242
  4. Avoid adjacent similar-hue colours
243
243
 
244
244
  ## Tool Integration
@@ -267,7 +267,7 @@ The tool:
267
267
 
268
268
  When working with sprites and charsets:
269
269
 
270
- 1. Use memory ranges documented in c64://specs/memory-map
270
+ 1. Use memory ranges documented in c64://memory/map
271
271
  2. Avoid BASIC program area ($0801-$9FFF) unless controlling it
272
272
  3. Preserve zero page ($0000-$00FF) and stack ($0100-$01FF)
273
273
  4. Use the `c64_memory` operations `read` and `write` for safe access
@@ -308,12 +308,12 @@ When working with sprites and charsets:
308
308
  5. **Handle Errors**: Check return values and screen output
309
309
  6. **Optimize Last**: Get it working, then optimize if needed
310
310
  7. **Verify Hardware**: Test on real C64 or accurate emulator
311
- 8. **Read Resources**: Consult c64://specs/vic for register details
311
+ 8. **Read Resources**: Consult c64://graphics/vic/spec for register details
312
312
 
313
313
  ## Related Resources
314
314
 
315
- - `c64://specs/vic` - Complete VIC-II register reference
316
- - `c64://specs/charset` - Character code mappings
317
- - `c64://docs/petscii-style` - Colour and style guidelines
318
- - `c64://specs/memory-map` - Memory layout and safe ranges
319
- - `c64://context/bootstrap` - Safety and workflow rules
315
+ - `c64://graphics/vic/spec` - Complete VIC-II register reference
316
+ - `c64://graphics/character-set` - Character code mappings
317
+ - `c64://graphics/petscii/style-guide` - Colour and style guidelines
318
+ - `c64://memory/map` - Memory layout and safe ranges
319
+ - `c64://guide/bootstrap` - Safety and workflow rules