c64bridge 0.8.0 → 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.
- package/.github/prompts/steer.prompt.md +55 -0
- package/AGENTS.md +9 -7
- package/README.md +139 -95
- package/data/embeddings_asm.json +1 -1
- package/data/embeddings_basic.json +1 -1
- package/data/embeddings_hardware.json +1 -1
- package/data/embeddings_mixed.json +1 -1
- package/data/embeddings_other.json +1 -1
- package/data/graphics/petscii-style-guide.md +4 -4
- package/data/graphics/sprite-charset-best-practices.md +9 -9
- package/data/vice/vice-binary-monitor-spec.md +921 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/device.js +86 -10
- package/dist/mcp-server.js +1 -1
- package/dist/prompts/registry.js +27 -25
- package/dist/rag/knowledgeIndex.js +112 -79
- package/dist/rag/resourceUris.js +93 -0
- package/dist/tools/audio.js +11 -11
- package/dist/tools/debug.js +1 -1
- package/dist/tools/developer.js +13 -13
- package/dist/tools/graphics.js +10 -10
- package/dist/tools/machineControl.js +5 -5
- package/dist/tools/memory.js +19 -11
- package/dist/tools/meta/index.js +1 -1
- package/dist/tools/printer.js +11 -12
- package/dist/tools/programRunners.js +16 -16
- package/dist/tools/rag.js +9 -9
- package/dist/tools/registry/config.js +1 -1
- package/dist/tools/registry/disk.js +1 -1
- package/dist/tools/registry/drive.js +1 -1
- package/dist/tools/registry/extract.js +1 -1
- package/dist/tools/registry/graphics.js +1 -1
- package/dist/tools/registry/memory.js +1 -1
- package/dist/tools/registry/platform.js +1 -1
- package/dist/tools/registry/printer.js +1 -1
- package/dist/tools/registry/program.js +1 -1
- package/dist/tools/registry/rag.js +1 -1
- package/dist/tools/registry/sound.js +1 -1
- package/dist/tools/registry/stream.js +1 -1
- package/dist/tools/registry/system.js +1 -1
- package/dist/tools/storage.js +15 -15
- package/dist/tools/streaming.js +3 -3
- package/dist/tools/types.js +41 -4
- package/dist/tools/vice.js +2 -5
- package/dist/vice/process.js +79 -2
- package/dist/vice/readiness.js +35 -0
- package/dist/vice/smokeOptions.js +44 -0
- package/dist/viceRunner.js +2 -0
- package/doc/developer.md +10 -2
- package/doc/plans/prompts/README.md +7 -7
- package/mcp/prompts.json +42 -59
- package/mcp/protocol-examples.json +2 -2
- package/mcp/resources.json +179 -166
- package/mcp/schemas/c64_config.schema.json +109 -326
- package/mcp/schemas/c64_debug.schema.json +158 -337
- package/mcp/schemas/c64_disk.schema.json +180 -262
- package/mcp/schemas/c64_drive.schema.json +31 -111
- package/mcp/schemas/c64_extract.schema.json +193 -291
- package/mcp/schemas/c64_graphics.schema.json +208 -308
- package/mcp/schemas/c64_memory.schema.json +94 -144
- package/mcp/schemas/c64_printer.schema.json +151 -205
- package/mcp/schemas/c64_program.schema.json +229 -367
- package/mcp/schemas/c64_rag.schema.json +25 -59
- package/mcp/schemas/c64_select_backend.schema.json +19 -26
- package/mcp/schemas/c64_sound.schema.json +346 -622
- package/mcp/schemas/c64_stream.schema.json +25 -54
- package/mcp/schemas/c64_system.schema.json +79 -212
- package/mcp/schemas/c64_vice.schema.json +24 -55
- package/mcp/server.json +1 -1
- package/mcp/tools.json +1935 -3443
- package/mcp.json +10 -9
- package/package.json +20 -15
- package/scripts/fetch-external-sources.mjs +1 -2
- package/scripts/prepare-release.mjs +59 -2
- package/scripts/run-coverage.mjs +26 -1
- package/scripts/run-tests.mjs +2 -2
- package/scripts/run-tests.ts +273 -52
- package/scripts/update-readme.ts +54 -2
- package/server.json +94 -0
|
@@ -1,333 +1,233 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"count": {
|
|
13
|
-
"type": [
|
|
14
|
-
"integer",
|
|
15
|
-
"null"
|
|
16
|
-
],
|
|
17
|
-
"description": "Number of frames to capture.",
|
|
18
|
-
"minimum": 1,
|
|
19
|
-
"maximum": 32,
|
|
20
|
-
"default": 1
|
|
21
|
-
},
|
|
22
|
-
"includePixels": {
|
|
23
|
-
"type": [
|
|
24
|
-
"boolean",
|
|
25
|
-
"null"
|
|
26
|
-
],
|
|
27
|
-
"description": "Include pixel payload bytes in the response.",
|
|
28
|
-
"default": true
|
|
29
|
-
},
|
|
30
|
-
"encoding": {
|
|
31
|
-
"type": [
|
|
32
|
-
"string",
|
|
33
|
-
"null"
|
|
34
|
-
],
|
|
35
|
-
"description": "Encoding used for the pixel payload when included.",
|
|
36
|
-
"enum": [
|
|
37
|
-
"base64",
|
|
38
|
-
"hex"
|
|
39
|
-
],
|
|
40
|
-
"default": "base64"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"required": [
|
|
44
|
-
"op"
|
|
3
|
+
"properties": {
|
|
4
|
+
"op": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"capture_frame",
|
|
8
|
+
"render_petscii_art",
|
|
9
|
+
"render_petscii_text",
|
|
10
|
+
"render_sprite",
|
|
11
|
+
"render_bitmap"
|
|
45
12
|
],
|
|
46
|
-
"
|
|
13
|
+
"description": "Selects the operation."
|
|
14
|
+
},
|
|
15
|
+
"count": {
|
|
16
|
+
"type": [
|
|
17
|
+
"integer",
|
|
18
|
+
"null"
|
|
19
|
+
],
|
|
20
|
+
"description": "Number of frames to capture.",
|
|
21
|
+
"minimum": 1,
|
|
22
|
+
"maximum": 32,
|
|
23
|
+
"default": 1
|
|
24
|
+
},
|
|
25
|
+
"includePixels": {
|
|
26
|
+
"type": [
|
|
27
|
+
"boolean",
|
|
28
|
+
"null"
|
|
29
|
+
],
|
|
30
|
+
"description": "Include pixel payload bytes in the response.",
|
|
31
|
+
"default": true
|
|
32
|
+
},
|
|
33
|
+
"encoding": {
|
|
34
|
+
"type": [
|
|
35
|
+
"string",
|
|
36
|
+
"null"
|
|
37
|
+
],
|
|
38
|
+
"description": "Encoding used for the pixel payload when included.",
|
|
39
|
+
"enum": [
|
|
40
|
+
"base64",
|
|
41
|
+
"hex"
|
|
42
|
+
],
|
|
43
|
+
"default": "base64"
|
|
44
|
+
},
|
|
45
|
+
"prompt": {
|
|
46
|
+
"type": [
|
|
47
|
+
"string",
|
|
48
|
+
"null"
|
|
49
|
+
],
|
|
50
|
+
"description": "Natural language prompt describing the desired PETSCII art.",
|
|
51
|
+
"minLength": 1
|
|
52
|
+
},
|
|
53
|
+
"text": {
|
|
54
|
+
"type": [
|
|
55
|
+
"string",
|
|
56
|
+
"null"
|
|
57
|
+
],
|
|
58
|
+
"description": "Exact text to render in PETSCII (overrides prompt derivation).",
|
|
59
|
+
"minLength": 1
|
|
60
|
+
},
|
|
61
|
+
"maxWidth": {
|
|
62
|
+
"type": [
|
|
63
|
+
"integer",
|
|
64
|
+
"null"
|
|
65
|
+
],
|
|
66
|
+
"description": "Maximum bitmap width in pixels (1-320).",
|
|
67
|
+
"minimum": 1,
|
|
68
|
+
"maximum": 320
|
|
69
|
+
},
|
|
70
|
+
"maxHeight": {
|
|
71
|
+
"type": [
|
|
72
|
+
"integer",
|
|
73
|
+
"null"
|
|
74
|
+
],
|
|
75
|
+
"description": "Maximum bitmap height in pixels (1-200).",
|
|
76
|
+
"minimum": 1,
|
|
77
|
+
"maximum": 200
|
|
78
|
+
},
|
|
79
|
+
"borderColor": {
|
|
80
|
+
"type": [
|
|
81
|
+
"integer",
|
|
82
|
+
"null"
|
|
83
|
+
],
|
|
84
|
+
"description": "Border colour index (0-15).",
|
|
85
|
+
"minimum": 0,
|
|
86
|
+
"maximum": 15
|
|
87
|
+
},
|
|
88
|
+
"backgroundColor": {
|
|
89
|
+
"type": [
|
|
90
|
+
"integer",
|
|
91
|
+
"null"
|
|
92
|
+
],
|
|
93
|
+
"description": "Background colour index (0-15).",
|
|
94
|
+
"minimum": 0,
|
|
95
|
+
"maximum": 15
|
|
96
|
+
},
|
|
97
|
+
"foregroundColor": {
|
|
98
|
+
"type": [
|
|
99
|
+
"integer",
|
|
100
|
+
"null"
|
|
101
|
+
],
|
|
102
|
+
"description": "Foreground colour index (0-15).",
|
|
103
|
+
"minimum": 0,
|
|
104
|
+
"maximum": 15
|
|
105
|
+
},
|
|
106
|
+
"dryRun": {
|
|
107
|
+
"type": "boolean",
|
|
108
|
+
"description": "When true, skip uploading the generated BASIC program to the C64.",
|
|
109
|
+
"default": false
|
|
47
110
|
},
|
|
48
|
-
{
|
|
49
|
-
"
|
|
50
|
-
"
|
|
111
|
+
"bitmap": {
|
|
112
|
+
"description": "Explicit bitmap definition for PETSCII rendering.",
|
|
113
|
+
"type": [
|
|
114
|
+
"object",
|
|
115
|
+
"null"
|
|
116
|
+
],
|
|
51
117
|
"properties": {
|
|
52
|
-
"
|
|
53
|
-
"type":
|
|
54
|
-
"string",
|
|
55
|
-
"null"
|
|
56
|
-
],
|
|
57
|
-
"description": "Natural language prompt describing the desired PETSCII art.",
|
|
58
|
-
"minLength": 1
|
|
59
|
-
},
|
|
60
|
-
"text": {
|
|
61
|
-
"type": [
|
|
62
|
-
"string",
|
|
63
|
-
"null"
|
|
64
|
-
],
|
|
65
|
-
"description": "Exact text to render in PETSCII (overrides prompt derivation).",
|
|
66
|
-
"minLength": 1
|
|
67
|
-
},
|
|
68
|
-
"maxWidth": {
|
|
69
|
-
"type": [
|
|
70
|
-
"integer",
|
|
71
|
-
"null"
|
|
72
|
-
],
|
|
73
|
-
"description": "Maximum bitmap width in pixels (1-320).",
|
|
118
|
+
"width": {
|
|
119
|
+
"type": "integer",
|
|
74
120
|
"minimum": 1,
|
|
75
121
|
"maximum": 320
|
|
76
122
|
},
|
|
77
|
-
"
|
|
78
|
-
"type":
|
|
79
|
-
"integer",
|
|
80
|
-
"null"
|
|
81
|
-
],
|
|
82
|
-
"description": "Maximum bitmap height in pixels (1-200).",
|
|
123
|
+
"height": {
|
|
124
|
+
"type": "integer",
|
|
83
125
|
"minimum": 1,
|
|
84
126
|
"maximum": 200
|
|
85
127
|
},
|
|
86
|
-
"
|
|
87
|
-
"type":
|
|
88
|
-
"integer",
|
|
89
|
-
"null"
|
|
90
|
-
],
|
|
91
|
-
"description": "Border colour index (0-15).",
|
|
92
|
-
"minimum": 0,
|
|
93
|
-
"maximum": 15
|
|
94
|
-
},
|
|
95
|
-
"backgroundColor": {
|
|
96
|
-
"type": [
|
|
97
|
-
"integer",
|
|
98
|
-
"null"
|
|
99
|
-
],
|
|
100
|
-
"description": "Background colour index (0-15).",
|
|
101
|
-
"minimum": 0,
|
|
102
|
-
"maximum": 15
|
|
103
|
-
},
|
|
104
|
-
"foregroundColor": {
|
|
105
|
-
"type": [
|
|
106
|
-
"integer",
|
|
107
|
-
"null"
|
|
108
|
-
],
|
|
109
|
-
"description": "Foreground colour index (0-15).",
|
|
110
|
-
"minimum": 0,
|
|
111
|
-
"maximum": 15
|
|
112
|
-
},
|
|
113
|
-
"dryRun": {
|
|
114
|
-
"type": "boolean",
|
|
115
|
-
"description": "When true, skip uploading the generated BASIC program to the C64.",
|
|
116
|
-
"default": false
|
|
117
|
-
},
|
|
118
|
-
"bitmap": {
|
|
119
|
-
"description": "Explicit bitmap definition for PETSCII rendering.",
|
|
120
|
-
"type": [
|
|
121
|
-
"object",
|
|
122
|
-
"null"
|
|
123
|
-
],
|
|
124
|
-
"properties": {
|
|
125
|
-
"width": {
|
|
126
|
-
"type": "integer",
|
|
127
|
-
"minimum": 1,
|
|
128
|
-
"maximum": 320
|
|
129
|
-
},
|
|
130
|
-
"height": {
|
|
131
|
-
"type": "integer",
|
|
132
|
-
"minimum": 1,
|
|
133
|
-
"maximum": 200
|
|
134
|
-
},
|
|
135
|
-
"pixels": {
|
|
136
|
-
"type": "array",
|
|
137
|
-
"items": {
|
|
138
|
-
"type": "integer",
|
|
139
|
-
"minimum": 0,
|
|
140
|
-
"maximum": 1
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
"required": [
|
|
145
|
-
"width",
|
|
146
|
-
"height",
|
|
147
|
-
"pixels"
|
|
148
|
-
],
|
|
149
|
-
"additionalProperties": false
|
|
150
|
-
},
|
|
151
|
-
"op": {
|
|
152
|
-
"const": "render_petscii_art"
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
"additionalProperties": false,
|
|
156
|
-
"required": [
|
|
157
|
-
"op"
|
|
158
|
-
]
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"type": "object",
|
|
162
|
-
"description": "Display PETSCII text with optional border and background colours.",
|
|
163
|
-
"properties": {
|
|
164
|
-
"text": {
|
|
165
|
-
"type": "string",
|
|
166
|
-
"description": "The PETSCII text to print after clearing the screen.",
|
|
167
|
-
"minLength": 1
|
|
168
|
-
},
|
|
169
|
-
"borderColor": {
|
|
170
|
-
"type": [
|
|
171
|
-
"integer",
|
|
172
|
-
"null"
|
|
173
|
-
],
|
|
174
|
-
"description": "Border colour index (0-15).",
|
|
175
|
-
"minimum": 0,
|
|
176
|
-
"maximum": 15
|
|
177
|
-
},
|
|
178
|
-
"backgroundColor": {
|
|
179
|
-
"type": [
|
|
180
|
-
"integer",
|
|
181
|
-
"null"
|
|
182
|
-
],
|
|
183
|
-
"description": "Background colour index (0-15).",
|
|
184
|
-
"minimum": 0,
|
|
185
|
-
"maximum": 15
|
|
186
|
-
},
|
|
187
|
-
"op": {
|
|
188
|
-
"const": "render_petscii_text"
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
"required": [
|
|
192
|
-
"text",
|
|
193
|
-
"op"
|
|
194
|
-
],
|
|
195
|
-
"additionalProperties": false
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"type": "object",
|
|
199
|
-
"description": "Display supplied 63-byte sprite data at the requested position and colour by writing memory and patching VIC-II registers directly.",
|
|
200
|
-
"properties": {
|
|
201
|
-
"sprite": {
|
|
202
|
-
"description": "63-byte sprite definition provided as base64/hex string or array of bytes.",
|
|
203
|
-
"type": [
|
|
204
|
-
"string",
|
|
205
|
-
"array"
|
|
206
|
-
],
|
|
128
|
+
"pixels": {
|
|
129
|
+
"type": "array",
|
|
207
130
|
"items": {
|
|
208
131
|
"type": "integer",
|
|
209
132
|
"minimum": 0,
|
|
210
|
-
"maximum":
|
|
211
|
-
}
|
|
212
|
-
"minItems": 63,
|
|
213
|
-
"maxItems": 63
|
|
214
|
-
},
|
|
215
|
-
"index": {
|
|
216
|
-
"type": "integer",
|
|
217
|
-
"description": "Sprite index (0-7) to configure in screen memory.",
|
|
218
|
-
"minimum": 0,
|
|
219
|
-
"maximum": 7,
|
|
220
|
-
"default": 0
|
|
221
|
-
},
|
|
222
|
-
"x": {
|
|
223
|
-
"type": "integer",
|
|
224
|
-
"description": "Sprite X position (0-511).",
|
|
225
|
-
"minimum": 0,
|
|
226
|
-
"maximum": 511,
|
|
227
|
-
"default": 100
|
|
228
|
-
},
|
|
229
|
-
"y": {
|
|
230
|
-
"type": "integer",
|
|
231
|
-
"description": "Sprite Y position (0-255).",
|
|
232
|
-
"minimum": 0,
|
|
233
|
-
"maximum": 255,
|
|
234
|
-
"default": 100
|
|
235
|
-
},
|
|
236
|
-
"color": {
|
|
237
|
-
"type": "integer",
|
|
238
|
-
"description": "Sprite colour index (0-15).",
|
|
239
|
-
"minimum": 0,
|
|
240
|
-
"maximum": 15,
|
|
241
|
-
"default": 1
|
|
242
|
-
},
|
|
243
|
-
"multicolour": {
|
|
244
|
-
"type": "boolean",
|
|
245
|
-
"description": "Enable multicolour mode for the sprite.",
|
|
246
|
-
"default": false
|
|
247
|
-
},
|
|
248
|
-
"op": {
|
|
249
|
-
"const": "render_sprite"
|
|
133
|
+
"maximum": 1
|
|
134
|
+
}
|
|
250
135
|
}
|
|
251
136
|
},
|
|
252
137
|
"required": [
|
|
253
|
-
"
|
|
254
|
-
"
|
|
138
|
+
"width",
|
|
139
|
+
"height",
|
|
140
|
+
"pixels"
|
|
255
141
|
],
|
|
256
142
|
"additionalProperties": false
|
|
257
143
|
},
|
|
258
|
-
{
|
|
259
|
-
"
|
|
260
|
-
"
|
|
261
|
-
|
|
262
|
-
"
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
"
|
|
268
|
-
"description": "Bitmap encoding mode to generate for the VIC-II display.",
|
|
269
|
-
"type": "string",
|
|
270
|
-
"enum": [
|
|
271
|
-
"hires",
|
|
272
|
-
"multicolor"
|
|
273
|
-
]
|
|
274
|
-
},
|
|
275
|
-
"bitmapAddress": {
|
|
276
|
-
"description": "Absolute C64 memory address, provided as an integer or hex string such as $2000.",
|
|
277
|
-
"type": [
|
|
278
|
-
"integer",
|
|
279
|
-
"string",
|
|
280
|
-
"null"
|
|
281
|
-
],
|
|
282
|
-
"default": 8192
|
|
283
|
-
},
|
|
284
|
-
"screenAddress": {
|
|
285
|
-
"description": "Absolute C64 memory address, provided as an integer or hex string such as $2000.",
|
|
286
|
-
"type": [
|
|
287
|
-
"integer",
|
|
288
|
-
"string",
|
|
289
|
-
"null"
|
|
290
|
-
],
|
|
291
|
-
"default": 1024
|
|
292
|
-
},
|
|
293
|
-
"borderColor": {
|
|
294
|
-
"type": [
|
|
295
|
-
"integer",
|
|
296
|
-
"null"
|
|
297
|
-
],
|
|
298
|
-
"description": "Border colour index (0-15).",
|
|
299
|
-
"minimum": 0,
|
|
300
|
-
"maximum": 15,
|
|
301
|
-
"default": 0
|
|
302
|
-
},
|
|
303
|
-
"backgroundColor": {
|
|
304
|
-
"type": [
|
|
305
|
-
"integer",
|
|
306
|
-
"null"
|
|
307
|
-
],
|
|
308
|
-
"description": "Background colour index (0-15). Used for multicolor mode and aspect-ratio padding.",
|
|
309
|
-
"minimum": 0,
|
|
310
|
-
"maximum": 15,
|
|
311
|
-
"default": 0
|
|
312
|
-
},
|
|
313
|
-
"preserveAspect": {
|
|
314
|
-
"type": "boolean",
|
|
315
|
-
"description": "Preserve the source image aspect ratio and pad with the background colour.",
|
|
316
|
-
"default": true
|
|
317
|
-
},
|
|
318
|
-
"op": {
|
|
319
|
-
"const": "render_bitmap"
|
|
320
|
-
}
|
|
144
|
+
"sprite": {
|
|
145
|
+
"description": "63-byte sprite definition provided as base64/hex string or array of bytes.",
|
|
146
|
+
"type": [
|
|
147
|
+
"string",
|
|
148
|
+
"array"
|
|
149
|
+
],
|
|
150
|
+
"items": {
|
|
151
|
+
"type": "integer",
|
|
152
|
+
"minimum": 0,
|
|
153
|
+
"maximum": 255
|
|
321
154
|
},
|
|
322
|
-
"
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
155
|
+
"minItems": 63,
|
|
156
|
+
"maxItems": 63
|
|
157
|
+
},
|
|
158
|
+
"index": {
|
|
159
|
+
"type": "integer",
|
|
160
|
+
"description": "Sprite index (0-7) to configure in screen memory.",
|
|
161
|
+
"minimum": 0,
|
|
162
|
+
"maximum": 7,
|
|
163
|
+
"default": 0
|
|
164
|
+
},
|
|
165
|
+
"x": {
|
|
166
|
+
"type": "integer",
|
|
167
|
+
"description": "Sprite X position (0-511).",
|
|
168
|
+
"minimum": 0,
|
|
169
|
+
"maximum": 511,
|
|
170
|
+
"default": 100
|
|
171
|
+
},
|
|
172
|
+
"y": {
|
|
173
|
+
"type": "integer",
|
|
174
|
+
"description": "Sprite Y position (0-255).",
|
|
175
|
+
"minimum": 0,
|
|
176
|
+
"maximum": 255,
|
|
177
|
+
"default": 100
|
|
178
|
+
},
|
|
179
|
+
"color": {
|
|
180
|
+
"type": "integer",
|
|
181
|
+
"description": "Sprite colour index (0-15).",
|
|
182
|
+
"minimum": 0,
|
|
183
|
+
"maximum": 15,
|
|
184
|
+
"default": 1
|
|
185
|
+
},
|
|
186
|
+
"multicolour": {
|
|
187
|
+
"type": "boolean",
|
|
188
|
+
"description": "Enable multicolour mode for the sprite.",
|
|
189
|
+
"default": false
|
|
190
|
+
},
|
|
191
|
+
"imagePath": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Filesystem path of the source image (PNG, JPEG, BMP, GIF, TIFF, and other Jimp-supported formats).",
|
|
194
|
+
"minLength": 1
|
|
195
|
+
},
|
|
196
|
+
"format": {
|
|
197
|
+
"description": "Bitmap encoding mode to generate for the VIC-II display.",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"enum": [
|
|
200
|
+
"hires",
|
|
201
|
+
"multicolor"
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
"bitmapAddress": {
|
|
205
|
+
"description": "Absolute C64 memory address, provided as an integer or hex string such as $2000.",
|
|
206
|
+
"type": [
|
|
207
|
+
"integer",
|
|
208
|
+
"string",
|
|
209
|
+
"null"
|
|
326
210
|
],
|
|
327
|
-
"
|
|
211
|
+
"default": 8192
|
|
212
|
+
},
|
|
213
|
+
"screenAddress": {
|
|
214
|
+
"description": "Absolute C64 memory address, provided as an integer or hex string such as $2000.",
|
|
215
|
+
"type": [
|
|
216
|
+
"integer",
|
|
217
|
+
"string",
|
|
218
|
+
"null"
|
|
219
|
+
],
|
|
220
|
+
"default": 1024
|
|
221
|
+
},
|
|
222
|
+
"preserveAspect": {
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"description": "Preserve the source image aspect ratio and pad with the background colour.",
|
|
225
|
+
"default": true
|
|
328
226
|
}
|
|
227
|
+
},
|
|
228
|
+
"required": [
|
|
229
|
+
"op"
|
|
329
230
|
],
|
|
330
|
-
"
|
|
331
|
-
|
|
332
|
-
}
|
|
231
|
+
"description": "Graphics operations available via the c64_graphics tool.\n\nOperations:\n- capture_frame: Capture one or more complete video frames from the active backend.\n- render_petscii_art: Create PETSCII art from prompts, text, or explicit bitmap data, and optionally display it on the C64.\n- render_petscii_text: Display PETSCII text with optional border and background colours.\n- render_sprite: Display supplied 63-byte sprite data at the requested position and colour by writing memory and patching VIC-II registers directly.\n- render_bitmap: Import an image file, convert it to VIC-II bitmap memory, write it into RAM, and display it.",
|
|
232
|
+
"additionalProperties": false
|
|
333
233
|
}
|