c64bridge 0.8.1 → 0.9.1
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 +192 -154
- 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 +938 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/c64Client.js +76 -2
- package/dist/device.js +129 -13
- package/dist/mcp-server.js +1 -1
- package/dist/prompts/registry.js +27 -25
- package/dist/rag/indexer.js +18 -8
- package/dist/rag/knowledgeIndex.js +112 -79
- package/dist/rag/resourceUris.js +93 -0
- package/dist/sidwaveCompiler.js +1 -1
- package/dist/{assemblyConverter.js → tools/assember.js} +10 -1
- package/dist/tools/audio.js +11 -11
- package/dist/{basicConverter.js → tools/basicTokenizer.js} +1 -1
- package/dist/tools/debug.js +159 -6
- package/dist/tools/developer.js +13 -13
- package/dist/tools/disassembler.js +478 -0
- package/dist/tools/graphics.js +10 -10
- package/dist/tools/input.js +338 -0
- package/dist/tools/machineControl.js +5 -5
- package/dist/tools/memory.js +336 -12
- package/dist/tools/meta/index.js +1 -1
- package/dist/tools/printer.js +11 -12
- package/dist/tools/programRunners.js +61 -22
- package/dist/tools/rag.js +9 -9
- package/dist/tools/registry/batch.js +167 -0
- 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 +102 -2
- package/dist/tools/registry/index.js +4 -0
- package/dist/tools/registry/input.js +2 -0
- package/dist/tools/registry/memory.js +62 -2
- 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/schema.js +4 -5
- package/dist/tools/storage.js +15 -15
- package/dist/tools/streaming.js +3 -3
- package/dist/tools/symbolRegistry.js +49 -0
- package/dist/tools/types.js +56 -4
- package/dist/tools/vice.js +2 -5
- package/dist/vice/process.js +120 -2
- package/dist/vice/readiness.js +35 -0
- package/dist/vice/smokeOptions.js +44 -0
- package/dist/vice/viceClient.js +5 -1
- package/dist/viceRunner.js +2 -0
- 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_batch.schema.json +53 -0
- package/mcp/schemas/c64_config.schema.json +525 -283
- package/mcp/schemas/c64_debug.schema.json +763 -304
- package/mcp/schemas/c64_disk.schema.json +499 -243
- package/mcp/schemas/c64_drive.schema.json +165 -90
- package/mcp/schemas/c64_extract.schema.json +533 -274
- package/mcp/schemas/c64_graphics.schema.json +607 -295
- package/mcp/schemas/c64_input.schema.json +136 -0
- package/mcp/schemas/c64_memory.schema.json +637 -128
- package/mcp/schemas/c64_printer.schema.json +393 -196
- package/mcp/schemas/c64_program.schema.json +699 -340
- package/mcp/schemas/c64_rag.schema.json +100 -54
- package/mcp/schemas/c64_select_backend.schema.json +49 -23
- package/mcp/schemas/c64_sound.schema.json +1092 -577
- package/mcp/schemas/c64_stream.schema.json +89 -47
- package/mcp/schemas/c64_system.schema.json +351 -185
- package/mcp/schemas/c64_vice.schema.json +85 -47
- package/mcp/server.json +1 -1
- package/mcp/tools.json +7299 -3346
- package/mcp.json +3 -3
- package/package.json +17 -14
- package/scripts/fetch-external-sources.mjs +1 -2
- package/scripts/run-coverage.mjs +33 -1
- package/scripts/run-tests.mjs +2 -2
- package/scripts/run-tests.ts +275 -52
- package/scripts/update-readme.ts +132 -3
- package/server.json +2 -2
|
@@ -1,218 +1,415 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
3
|
+
"properties": {
|
|
4
|
+
"op": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"print_text",
|
|
8
|
+
"print_bitmap",
|
|
9
|
+
"define_chars"
|
|
10
|
+
],
|
|
11
|
+
"description": "Selects the operation."
|
|
12
|
+
},
|
|
13
|
+
"text": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Text to print on the connected printer.",
|
|
16
|
+
"minLength": 1
|
|
17
|
+
},
|
|
18
|
+
"target": {
|
|
19
|
+
"description": "Printer target: Commodore MPS (PETSCII) or Epson FX (ESC/P).",
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": [
|
|
22
|
+
"commodore",
|
|
23
|
+
"epson"
|
|
24
|
+
],
|
|
25
|
+
"default": "commodore"
|
|
26
|
+
},
|
|
27
|
+
"secondaryAddress": {
|
|
28
|
+
"description": "Secondary address for device 4 (0 = upper/graphics, 7 = lowercase).",
|
|
29
|
+
"type": [
|
|
30
|
+
"integer",
|
|
31
|
+
"null"
|
|
32
|
+
],
|
|
33
|
+
"enum": [
|
|
34
|
+
0,
|
|
35
|
+
7
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"formFeed": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"description": "Emit a form-feed (CHR$(12)) at the end of the job.",
|
|
41
|
+
"default": false
|
|
42
|
+
},
|
|
43
|
+
"printer": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Target printer family.",
|
|
46
|
+
"enum": [
|
|
47
|
+
"commodore",
|
|
48
|
+
"epson"
|
|
49
|
+
],
|
|
50
|
+
"default": "commodore"
|
|
51
|
+
},
|
|
52
|
+
"columns": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"description": "Sequence of bitmap columns.",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "integer",
|
|
57
|
+
"description": "Bitmap column byte (0-255).",
|
|
58
|
+
"minimum": 0,
|
|
59
|
+
"maximum": 255
|
|
60
|
+
},
|
|
61
|
+
"minItems": 1
|
|
62
|
+
},
|
|
63
|
+
"repeats": {
|
|
64
|
+
"type": [
|
|
65
|
+
"integer",
|
|
66
|
+
"null"
|
|
67
|
+
],
|
|
68
|
+
"description": "Number of times to repeat the row (1-255).",
|
|
69
|
+
"minimum": 1,
|
|
70
|
+
"maximum": 255
|
|
71
|
+
},
|
|
72
|
+
"useSubRepeat": {
|
|
73
|
+
"type": [
|
|
74
|
+
"integer",
|
|
75
|
+
"null"
|
|
76
|
+
],
|
|
77
|
+
"description": "Repeat the next byte this many times (Commodore BIM SUB).",
|
|
78
|
+
"minimum": 1,
|
|
79
|
+
"maximum": 255
|
|
80
|
+
},
|
|
81
|
+
"ensureMsb": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"description": "Ensure MSB set for Commodore printers.",
|
|
84
|
+
"default": true
|
|
85
|
+
},
|
|
86
|
+
"mode": {
|
|
87
|
+
"type": [
|
|
88
|
+
"string",
|
|
89
|
+
"null"
|
|
90
|
+
],
|
|
91
|
+
"description": "Epson ESC/P graphics mode (K/L/Y/Z/*).",
|
|
92
|
+
"minLength": 1,
|
|
93
|
+
"maxLength": 1
|
|
94
|
+
},
|
|
95
|
+
"density": {
|
|
96
|
+
"type": [
|
|
97
|
+
"integer",
|
|
98
|
+
"null"
|
|
99
|
+
],
|
|
100
|
+
"description": "Density parameter when using Epson mode '*'.",
|
|
101
|
+
"minimum": 0,
|
|
102
|
+
"maximum": 3
|
|
103
|
+
},
|
|
104
|
+
"timesPerLine": {
|
|
105
|
+
"type": [
|
|
106
|
+
"integer",
|
|
107
|
+
"null"
|
|
108
|
+
],
|
|
109
|
+
"description": "Number of times to print the row per line (1-10).",
|
|
110
|
+
"minimum": 1,
|
|
111
|
+
"maximum": 10
|
|
112
|
+
},
|
|
113
|
+
"firstChar": {
|
|
114
|
+
"type": "integer",
|
|
115
|
+
"description": "PETSCII code of first character to redefine (33-126).",
|
|
116
|
+
"minimum": 33,
|
|
117
|
+
"maximum": 126
|
|
118
|
+
},
|
|
119
|
+
"chars": {
|
|
120
|
+
"type": "array",
|
|
121
|
+
"description": "Character definitions to upload (1-32).",
|
|
122
|
+
"items": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"description": "Commodore MPS DLL character definition (11 columns).",
|
|
125
|
+
"properties": {
|
|
126
|
+
"a": {
|
|
127
|
+
"description": "Attribute flag (0=normal, 1=graphics).",
|
|
128
|
+
"type": [
|
|
129
|
+
"integer",
|
|
130
|
+
"null"
|
|
131
|
+
],
|
|
132
|
+
"enum": [
|
|
133
|
+
0,
|
|
134
|
+
1
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"columns": {
|
|
138
|
+
"type": "array",
|
|
139
|
+
"description": "11 column bytes describing the character.",
|
|
140
|
+
"items": {
|
|
141
|
+
"type": "integer",
|
|
142
|
+
"description": "Column byte (0-255).",
|
|
143
|
+
"minimum": 0,
|
|
144
|
+
"maximum": 255
|
|
145
|
+
},
|
|
146
|
+
"minItems": 11,
|
|
147
|
+
"maxItems": 11
|
|
148
|
+
}
|
|
38
149
|
},
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
150
|
+
"required": [
|
|
151
|
+
"columns"
|
|
152
|
+
],
|
|
153
|
+
"additionalProperties": false
|
|
42
154
|
},
|
|
155
|
+
"minItems": 1,
|
|
156
|
+
"maxItems": 32
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"required": [
|
|
160
|
+
"op"
|
|
161
|
+
],
|
|
162
|
+
"description": "Printer operations available via the c64_printer tool.\n\nOperations:\n- print_text: Generate BASIC that prints text to device 4. Required inputs: text. Optional inputs: target, secondaryAddress, formFeed.\n- print_bitmap: Print a bitmap row via Commodore (BIM) or Epson ESC/P workflows. Required inputs: printer, columns. Optional inputs: repeats, useSubRepeat, secondaryAddress, ensureMsb, mode, density, timesPerLine.\n- define_chars: Define custom printer characters (Commodore DLL mode). Required inputs: firstChar, chars. Optional inputs: secondaryAddress.",
|
|
163
|
+
"additionalProperties": false,
|
|
164
|
+
"x-c64bridge-operations": [
|
|
165
|
+
{
|
|
166
|
+
"op": "print_text",
|
|
167
|
+
"description": "Generate BASIC that prints text to device 4.",
|
|
43
168
|
"required": [
|
|
44
|
-
"text"
|
|
45
|
-
|
|
169
|
+
"text"
|
|
170
|
+
],
|
|
171
|
+
"optional": [
|
|
172
|
+
"target",
|
|
173
|
+
"secondaryAddress",
|
|
174
|
+
"formFeed"
|
|
46
175
|
],
|
|
47
|
-
"
|
|
176
|
+
"inputSchema": {
|
|
177
|
+
"type": "object",
|
|
178
|
+
"description": "Generate BASIC that prints text to device 4.",
|
|
179
|
+
"properties": {
|
|
180
|
+
"text": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "Text to print on the connected printer.",
|
|
183
|
+
"minLength": 1
|
|
184
|
+
},
|
|
185
|
+
"target": {
|
|
186
|
+
"description": "Printer target: Commodore MPS (PETSCII) or Epson FX (ESC/P).",
|
|
187
|
+
"type": "string",
|
|
188
|
+
"enum": [
|
|
189
|
+
"commodore",
|
|
190
|
+
"epson"
|
|
191
|
+
],
|
|
192
|
+
"default": "commodore"
|
|
193
|
+
},
|
|
194
|
+
"secondaryAddress": {
|
|
195
|
+
"description": "Secondary address for device 4 (0 = upper/graphics, 7 = lowercase).",
|
|
196
|
+
"type": [
|
|
197
|
+
"integer",
|
|
198
|
+
"null"
|
|
199
|
+
],
|
|
200
|
+
"enum": [
|
|
201
|
+
0,
|
|
202
|
+
7
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
"formFeed": {
|
|
206
|
+
"type": "boolean",
|
|
207
|
+
"description": "Emit a form-feed (CHR$(12)) at the end of the job.",
|
|
208
|
+
"default": false
|
|
209
|
+
},
|
|
210
|
+
"op": {
|
|
211
|
+
"const": "print_text"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"required": [
|
|
215
|
+
"text",
|
|
216
|
+
"op"
|
|
217
|
+
],
|
|
218
|
+
"additionalProperties": false
|
|
219
|
+
}
|
|
48
220
|
},
|
|
49
221
|
{
|
|
50
|
-
"
|
|
222
|
+
"op": "print_bitmap",
|
|
51
223
|
"description": "Print a bitmap row via Commodore (BIM) or Epson ESC/P workflows.",
|
|
52
|
-
"properties": {
|
|
53
|
-
"printer": {
|
|
54
|
-
"type": "string",
|
|
55
|
-
"description": "Target printer family.",
|
|
56
|
-
"enum": [
|
|
57
|
-
"commodore",
|
|
58
|
-
"epson"
|
|
59
|
-
],
|
|
60
|
-
"default": "commodore"
|
|
61
|
-
},
|
|
62
|
-
"columns": {
|
|
63
|
-
"type": "array",
|
|
64
|
-
"description": "Sequence of bitmap columns.",
|
|
65
|
-
"items": {
|
|
66
|
-
"type": "integer",
|
|
67
|
-
"description": "Bitmap column byte (0-255).",
|
|
68
|
-
"minimum": 0,
|
|
69
|
-
"maximum": 255
|
|
70
|
-
},
|
|
71
|
-
"minItems": 1
|
|
72
|
-
},
|
|
73
|
-
"repeats": {
|
|
74
|
-
"type": [
|
|
75
|
-
"integer",
|
|
76
|
-
"null"
|
|
77
|
-
],
|
|
78
|
-
"description": "Number of times to repeat the row (1-255).",
|
|
79
|
-
"minimum": 1,
|
|
80
|
-
"maximum": 255
|
|
81
|
-
},
|
|
82
|
-
"useSubRepeat": {
|
|
83
|
-
"type": [
|
|
84
|
-
"integer",
|
|
85
|
-
"null"
|
|
86
|
-
],
|
|
87
|
-
"description": "Repeat the next byte this many times (Commodore BIM SUB).",
|
|
88
|
-
"minimum": 1,
|
|
89
|
-
"maximum": 255
|
|
90
|
-
},
|
|
91
|
-
"secondaryAddress": {
|
|
92
|
-
"type": [
|
|
93
|
-
"integer",
|
|
94
|
-
"null"
|
|
95
|
-
],
|
|
96
|
-
"description": "Secondary address for device 4 (0 or 7).",
|
|
97
|
-
"minimum": 0,
|
|
98
|
-
"maximum": 7
|
|
99
|
-
},
|
|
100
|
-
"ensureMsb": {
|
|
101
|
-
"type": "boolean",
|
|
102
|
-
"description": "Ensure MSB set for Commodore printers.",
|
|
103
|
-
"default": true
|
|
104
|
-
},
|
|
105
|
-
"mode": {
|
|
106
|
-
"type": [
|
|
107
|
-
"string",
|
|
108
|
-
"null"
|
|
109
|
-
],
|
|
110
|
-
"description": "Epson ESC/P graphics mode (K/L/Y/Z/*).",
|
|
111
|
-
"minLength": 1,
|
|
112
|
-
"maxLength": 1
|
|
113
|
-
},
|
|
114
|
-
"density": {
|
|
115
|
-
"type": [
|
|
116
|
-
"integer",
|
|
117
|
-
"null"
|
|
118
|
-
],
|
|
119
|
-
"description": "Density parameter when using Epson mode '*'.",
|
|
120
|
-
"minimum": 0,
|
|
121
|
-
"maximum": 3
|
|
122
|
-
},
|
|
123
|
-
"timesPerLine": {
|
|
124
|
-
"type": [
|
|
125
|
-
"integer",
|
|
126
|
-
"null"
|
|
127
|
-
],
|
|
128
|
-
"description": "Number of times to print the row per line (1-10).",
|
|
129
|
-
"minimum": 1,
|
|
130
|
-
"maximum": 10
|
|
131
|
-
},
|
|
132
|
-
"op": {
|
|
133
|
-
"const": "print_bitmap"
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
224
|
"required": [
|
|
137
225
|
"printer",
|
|
138
|
-
"columns"
|
|
139
|
-
"op"
|
|
226
|
+
"columns"
|
|
140
227
|
],
|
|
141
|
-
"
|
|
228
|
+
"optional": [
|
|
229
|
+
"repeats",
|
|
230
|
+
"useSubRepeat",
|
|
231
|
+
"secondaryAddress",
|
|
232
|
+
"ensureMsb",
|
|
233
|
+
"mode",
|
|
234
|
+
"density",
|
|
235
|
+
"timesPerLine"
|
|
236
|
+
],
|
|
237
|
+
"inputSchema": {
|
|
238
|
+
"type": "object",
|
|
239
|
+
"description": "Print a bitmap row via Commodore (BIM) or Epson ESC/P workflows.",
|
|
240
|
+
"properties": {
|
|
241
|
+
"printer": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"description": "Target printer family.",
|
|
244
|
+
"enum": [
|
|
245
|
+
"commodore",
|
|
246
|
+
"epson"
|
|
247
|
+
],
|
|
248
|
+
"default": "commodore"
|
|
249
|
+
},
|
|
250
|
+
"columns": {
|
|
251
|
+
"type": "array",
|
|
252
|
+
"description": "Sequence of bitmap columns.",
|
|
253
|
+
"items": {
|
|
254
|
+
"type": "integer",
|
|
255
|
+
"description": "Bitmap column byte (0-255).",
|
|
256
|
+
"minimum": 0,
|
|
257
|
+
"maximum": 255
|
|
258
|
+
},
|
|
259
|
+
"minItems": 1
|
|
260
|
+
},
|
|
261
|
+
"repeats": {
|
|
262
|
+
"type": [
|
|
263
|
+
"integer",
|
|
264
|
+
"null"
|
|
265
|
+
],
|
|
266
|
+
"description": "Number of times to repeat the row (1-255).",
|
|
267
|
+
"minimum": 1,
|
|
268
|
+
"maximum": 255
|
|
269
|
+
},
|
|
270
|
+
"useSubRepeat": {
|
|
271
|
+
"type": [
|
|
272
|
+
"integer",
|
|
273
|
+
"null"
|
|
274
|
+
],
|
|
275
|
+
"description": "Repeat the next byte this many times (Commodore BIM SUB).",
|
|
276
|
+
"minimum": 1,
|
|
277
|
+
"maximum": 255
|
|
278
|
+
},
|
|
279
|
+
"secondaryAddress": {
|
|
280
|
+
"type": [
|
|
281
|
+
"integer",
|
|
282
|
+
"null"
|
|
283
|
+
],
|
|
284
|
+
"description": "Secondary address for device 4 (0 or 7).",
|
|
285
|
+
"minimum": 0,
|
|
286
|
+
"maximum": 7
|
|
287
|
+
},
|
|
288
|
+
"ensureMsb": {
|
|
289
|
+
"type": "boolean",
|
|
290
|
+
"description": "Ensure MSB set for Commodore printers.",
|
|
291
|
+
"default": true
|
|
292
|
+
},
|
|
293
|
+
"mode": {
|
|
294
|
+
"type": [
|
|
295
|
+
"string",
|
|
296
|
+
"null"
|
|
297
|
+
],
|
|
298
|
+
"description": "Epson ESC/P graphics mode (K/L/Y/Z/*).",
|
|
299
|
+
"minLength": 1,
|
|
300
|
+
"maxLength": 1
|
|
301
|
+
},
|
|
302
|
+
"density": {
|
|
303
|
+
"type": [
|
|
304
|
+
"integer",
|
|
305
|
+
"null"
|
|
306
|
+
],
|
|
307
|
+
"description": "Density parameter when using Epson mode '*'.",
|
|
308
|
+
"minimum": 0,
|
|
309
|
+
"maximum": 3
|
|
310
|
+
},
|
|
311
|
+
"timesPerLine": {
|
|
312
|
+
"type": [
|
|
313
|
+
"integer",
|
|
314
|
+
"null"
|
|
315
|
+
],
|
|
316
|
+
"description": "Number of times to print the row per line (1-10).",
|
|
317
|
+
"minimum": 1,
|
|
318
|
+
"maximum": 10
|
|
319
|
+
},
|
|
320
|
+
"op": {
|
|
321
|
+
"const": "print_bitmap"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"required": [
|
|
325
|
+
"printer",
|
|
326
|
+
"columns",
|
|
327
|
+
"op"
|
|
328
|
+
],
|
|
329
|
+
"additionalProperties": false
|
|
330
|
+
}
|
|
142
331
|
},
|
|
143
332
|
{
|
|
144
|
-
"
|
|
333
|
+
"op": "define_chars",
|
|
145
334
|
"description": "Define custom printer characters (Commodore DLL mode).",
|
|
146
|
-
"
|
|
147
|
-
"firstChar"
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
"
|
|
177
|
-
|
|
178
|
-
|
|
335
|
+
"required": [
|
|
336
|
+
"firstChar",
|
|
337
|
+
"chars"
|
|
338
|
+
],
|
|
339
|
+
"optional": [
|
|
340
|
+
"secondaryAddress"
|
|
341
|
+
],
|
|
342
|
+
"inputSchema": {
|
|
343
|
+
"type": "object",
|
|
344
|
+
"description": "Define custom printer characters (Commodore DLL mode).",
|
|
345
|
+
"properties": {
|
|
346
|
+
"firstChar": {
|
|
347
|
+
"type": "integer",
|
|
348
|
+
"description": "PETSCII code of first character to redefine (33-126).",
|
|
349
|
+
"minimum": 33,
|
|
350
|
+
"maximum": 126
|
|
351
|
+
},
|
|
352
|
+
"chars": {
|
|
353
|
+
"type": "array",
|
|
354
|
+
"description": "Character definitions to upload (1-32).",
|
|
355
|
+
"items": {
|
|
356
|
+
"type": "object",
|
|
357
|
+
"description": "Commodore MPS DLL character definition (11 columns).",
|
|
358
|
+
"properties": {
|
|
359
|
+
"a": {
|
|
360
|
+
"description": "Attribute flag (0=normal, 1=graphics).",
|
|
361
|
+
"type": [
|
|
362
|
+
"integer",
|
|
363
|
+
"null"
|
|
364
|
+
],
|
|
365
|
+
"enum": [
|
|
366
|
+
0,
|
|
367
|
+
1
|
|
368
|
+
]
|
|
179
369
|
},
|
|
180
|
-
"
|
|
181
|
-
|
|
182
|
-
|
|
370
|
+
"columns": {
|
|
371
|
+
"type": "array",
|
|
372
|
+
"description": "11 column bytes describing the character.",
|
|
373
|
+
"items": {
|
|
374
|
+
"type": "integer",
|
|
375
|
+
"description": "Column byte (0-255).",
|
|
376
|
+
"minimum": 0,
|
|
377
|
+
"maximum": 255
|
|
378
|
+
},
|
|
379
|
+
"minItems": 11,
|
|
380
|
+
"maxItems": 11
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
"required": [
|
|
384
|
+
"columns"
|
|
385
|
+
],
|
|
386
|
+
"additionalProperties": false
|
|
183
387
|
},
|
|
184
|
-
"
|
|
185
|
-
|
|
388
|
+
"minItems": 1,
|
|
389
|
+
"maxItems": 32
|
|
390
|
+
},
|
|
391
|
+
"secondaryAddress": {
|
|
392
|
+
"description": "Secondary address for device 4 (0 = upper/graphics, 7 = lowercase).",
|
|
393
|
+
"type": [
|
|
394
|
+
"integer",
|
|
395
|
+
"null"
|
|
186
396
|
],
|
|
187
|
-
"
|
|
397
|
+
"enum": [
|
|
398
|
+
0,
|
|
399
|
+
7
|
|
400
|
+
]
|
|
188
401
|
},
|
|
189
|
-
"
|
|
190
|
-
|
|
402
|
+
"op": {
|
|
403
|
+
"const": "define_chars"
|
|
404
|
+
}
|
|
191
405
|
},
|
|
192
|
-
"
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
0,
|
|
200
|
-
7
|
|
201
|
-
]
|
|
202
|
-
},
|
|
203
|
-
"op": {
|
|
204
|
-
"const": "define_chars"
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
"required": [
|
|
208
|
-
"firstChar",
|
|
209
|
-
"chars",
|
|
210
|
-
"op"
|
|
211
|
-
],
|
|
212
|
-
"additionalProperties": false
|
|
406
|
+
"required": [
|
|
407
|
+
"firstChar",
|
|
408
|
+
"chars",
|
|
409
|
+
"op"
|
|
410
|
+
],
|
|
411
|
+
"additionalProperties": false
|
|
412
|
+
}
|
|
213
413
|
}
|
|
214
|
-
]
|
|
215
|
-
"discriminator": {
|
|
216
|
-
"propertyName": "op"
|
|
217
|
-
}
|
|
414
|
+
]
|
|
218
415
|
}
|