@henols/vice-mcp 0.1.9 → 0.1.11

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/README.md CHANGED
@@ -53,10 +53,25 @@ VICE MCP server.
53
53
 
54
54
  ## Development
55
55
 
56
+ `npm test` assumes it is running inside the devcontainer. On a bare host, set
57
+ `CONTAINER_WORKSPACE_PATH` (the repo root) and `HOST_WORKSPACE_PATH` (any
58
+ consistent host-side mirror) exactly as `.github/workflows/ci.yml` does, or
59
+ the path-translation and container-guard tests skip with a reason naming
60
+ both variables instead of running:
61
+
62
+ ```sh
63
+ export CONTAINER_WORKSPACE_PATH="$(git rev-parse --show-toplevel)"
64
+ export HOST_WORKSPACE_PATH="/host$(git rev-parse --show-toplevel)"
65
+ ```
66
+
67
+ `npm run test:automated` is the subset of `npm test` that excludes the three
68
+ manual-only files (see `test-gate.mjs`'s own header).
69
+
56
70
  ```sh
57
71
  npm ci
58
72
  npm run typecheck
59
73
  npm test
74
+ npm run test:automated # the automated subset (excludes manual-only files)
60
75
  npm run smoke # boots the server and completes an MCP initialize + tools/list handshake
61
76
  npm run build # recompiles the host-bound .mts launchers into resources/
62
77
  ```
@@ -0,0 +1,113 @@
1
+ # Third-Party Notices for `@henols/vice-mcp`
2
+
3
+ This package is MIT-licensed (see `LICENSE` at the repository root, copyright
4
+ Henrik Olsson). This file lists third-party material incorporated into, or
5
+ relied on by, `@henols/vice-mcp`, with a provenance line per source.
6
+
7
+ **No GPL-licensed material is incorporated into this package: no GPL-licensed material appears anywhere in `@henols/vice-mcp`'s source or its published tarball.** Every source named below is either zlib-licensed (incorporated), reference-only (nothing copied), or a build/test-time subprocess whose licence therefore never attaches to anything shipped.
8
+
9
+ ## Incorporated material — cc65 (zlib)
10
+
11
+ The 6502/6510 opcode table in `disasm-opcodes.ts` (mnemonics, addressing
12
+ modes, instruction lengths) is transcribed by hand from cc65's
13
+ `src/da65/opc6502x.c`, fetched raw
14
+ (`https://raw.githubusercontent.com/cc65/cc65/master/src/da65/opc6502x.c`)
15
+ against `master` @ commit `547d923588d870aacf0b0016c67d0f6a92a70f83`
16
+ (2026-07-11). The table itself was last touched upstream at commit
17
+ `02e79d35d73efd31522b5eab986d1919e3560bba` (2025-06-19, "making da65 produce
18
+ the same mnemonics as ca65 uses"). This is the only incorporated third-party
19
+ material the disassembler carries — the derived-data files
20
+ (`disasm-decoder.ts`, `disasm-renderer.ts`, `stock-disassemble.ts`) contain no
21
+ further transcribed material of their own.
22
+
23
+ cc65 is zlib-licensed, copyright cc65's own author:
24
+
25
+ ```
26
+ (C) 2003-2011, Ullrich von Bassewitz
27
+ ```
28
+
29
+ Full zlib licence text, reproduced below, satisfies the origin-must-not-be-
30
+ misrepresented and altered-versions-must-be-marked obligations for this
31
+ transcription (see `disasm-opcodes.ts`'s own header comment for the
32
+ attribution as it appears in-source):
33
+
34
+ ```
35
+ This software is provided 'as-is', without any express or implied
36
+ warranty. In no event will the authors be held liable for any damages
37
+ arising from the use of this software.
38
+
39
+ Permission is granted to anyone to use this software for any purpose,
40
+ including commercial applications, and to alter it and redistribute it
41
+ freely, subject to the following restrictions:
42
+
43
+ 1. The origin of this software must not be misrepresented; you must not
44
+ claim that you wrote the original software. If you use this software
45
+ in a product, an acknowledgment in the product documentation would be
46
+ appreciated but is not required.
47
+
48
+ 2. Altered source versions must be plainly marked as such, and must not be
49
+ misrepresented as being the original software.
50
+
51
+ 3. This notice may not be removed or altered from any source distribution.
52
+ ```
53
+
54
+ ## Reference-only cross-checks (no code or data taken)
55
+
56
+ masswerk.at's 6502 instruction-set reference
57
+ (https://www.masswerk.at/6502/6502_instruction_set.html) and
58
+ www.oxyron.de/html/opcodes02.html were consulted to cross-check the
59
+ illegal-opcode addressing modes, the 27-opcode NOP class (across 6
60
+ addressing-mode groups), the 12 JAM opcodes, and the NMOS `JMP ($xxFF)`
61
+ page-wrap behaviour. **Nothing was copied from either site** — both are
62
+ cited here as verification aids only, and the table's actual independent
63
+ cross-check is `disasm-opcodes.test.ts`'s bit-pattern derivation test plus
64
+ `disasm-roundtrip.test.ts`'s byte-exact real-ACME round-trip.
65
+
66
+ ## Build/CI tools — not incorporated
67
+
68
+ The ACME cross-assembler (GPL) is invoked as a **subprocess in tests only**
69
+ (`disasm-roundtrip.test.ts`), against a real, locally- or CI-installed ACME
70
+ binary (verified as release `0.97 ("Zem")`, 31 Jan 2021, by 04-06's own
71
+ availability gate; CI installs it via `apt-get install -y acme` in
72
+ `.github/workflows/ci.yml`'s `build` job). **No ACME source, header, data
73
+ table or output is included in this repository or in the published
74
+ package**, so ACME's licence does not attach to anything shipped. ACME never
75
+ appears in `.claude/mcp/vice/package.json`'s `files[]`, `dependencies`, or
76
+ `devDependencies` — it is an apt/CI-installed tool, never an npm package.
77
+
78
+ ## Explicitly NOT a source: VICE
79
+
80
+ VICE is GPL-2 and this repository is MIT. **No opcode fact, protocol
81
+ constant, or line of code in this repository is sourced from VICE's own
82
+ source tree.** The stock backend is built against the binary-monitor
83
+ **protocol** as documented in `docs/phase0-binmon-findings.md`, derived from
84
+ independent probing against a running VICE binary, never from reading VICE's
85
+ own C source.
86
+
87
+ ## Explicitly NOT a source: `fluffy-6502`
88
+
89
+ `fluffy-6502`, named in `.planning/ROADMAP.md` and in 04-CONTEXT.md D-06 as an
90
+ MIT cross-check source, **could not be located under that name** on GitHub or
91
+ the general web during Phase 4 research (`04-RESEARCH.md` Assumptions Log
92
+ A1 / Pitfall 5). It was therefore **not used and is not cited** as a source
93
+ of this table — a notices entry naming a project whose URL 404s would
94
+ overstate what was actually checked. The opcode table's independent
95
+ verification instead comes from `disasm-opcodes.test.ts`'s `aaabbbcc`
96
+ bit-pattern derivation test and `disasm-roundtrip.test.ts`'s byte-exact
97
+ real-ACME round-trip — both stronger checks than a second static table would
98
+ have been.
99
+
100
+ ## Existing runtime dependencies
101
+
102
+ `@henols/vice-mcp`'s only two runtime dependencies, unchanged by Phase 4:
103
+
104
+ - **`@mastra/mcp`** (`1.15.0`) — MCP server/tooling framework. See its own
105
+ package licence (MIT) on the npm registry.
106
+ - **`@mastra/core`** (`1.55.0`) — underlying Mastra runtime `@mastra/mcp`
107
+ depends on. See its own package licence (MIT) on the npm registry.
108
+
109
+ No new runtime dependency was added by the disassembler (`disasm-opcodes.ts`,
110
+ `disasm-decoder.ts`, `disasm-renderer.ts`, `stock-disassemble.ts` import only
111
+ this package's own sibling modules and Node built-ins). This is a checkable
112
+ claim, not a prose one: `scripts/check-npm-packages.mjs` asserts the packed
113
+ tarball's runtime `dependencies` are exactly these two, by key set and count.