Token导航 LogoToken导航TokenDH.com
MCP Vice Emu logo
开发工具未说明官方级别未说明来源级核验

MCP Vice Emu

MCP Server

一个连接Claude Code和VICE模拟器的调试服务器,用于调试Commodore 64/128/VIC-20程序。

工具数

21

提示词数

0

GitHub Stars

8

资源数

0
调试工具JavaScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

axewater

提供方

axewater

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP VICE仿真器服务器

MCP(模型上下文协议)服务器,使Claude Code能够调试在VICE仿真器中运行的Commodore 64/128/VIC-20程序。

这有什么作用

此服务器将Claude Code连接到VICE的二进制监视器协议,允许您:

  • 调试黑屏崩溃 -检查寄存器、内存和CPU历史记录,了解出了什么问题
  • 读/写存储器 -检查或修改任何内存位置,包括VIC-II/SID/CIA寄存器
  • 设置断点 -在特定地址或内存访问模式下停止执行
  • 单步执行代码 -单步完成6502/6510组装说明
  • 截图 -在调试过程中查看屏幕上实际显示的内容
  • 自动启动程序 -直接加载.prg、.d64或.crt文件

环境变量

  • VICE_PATH -VICE bin目录的路径(默认: C:\bin\vice\bin)
  • VICE_EMULATOR -使用哪个模拟器: x64sc, x128, xvic等等。(默认值: x64sc)
  • VICE_MONITOR_PORT -二进制监视器端口(默认值: 6502)

快速开始

配置后,您可以要求Claude Code调试C64程序:

> Load and debug myprog.prg - it shows a black screen and I don't know why

克劳德代码将:

  1. 在启用监控的情况下启动VICE
  2. 加载您的程序
  3. 检查寄存器、内存和CPU历史记录
  4. 诊断问题并提出修复建议

可用的MCP工具

连接

  • vice_connect -启动VICE并连接到二进制监视器
  • vice_disconnect -停止VICE并关闭连接
  • vice_status -检查VICE是否正在运行并已连接

程序加载

  • vice_load -自动启动.prg、.d64、.t64或.crt文件
  • vice_reset -重置机器(硬重置或软重置)

记忆

  • vice_memory_read -读取内存范围(带存储体选择)
  • vice_memory_write -将字节写入内存
  • vice_memory_dump -将内存转储为十六进制+ASCII(类似于十六进制编辑器)

寄存器

  • vice_registers_get -获取A、X、Y、SP、PC和状态标志
  • vice_registers_set -修改寄存器值

断点和观察点

  • vice_breakpoint_set -PC到达地址时中断
  • vice_breakpoint_clear -删除断点
  • vice_watchpoint_set -内存读/写/执行中断
  • vice_watchpoint_clear -删除观察点

执行控制

  • vice_step -执行N条指令
  • vice_continue -继续执行直到断点
  • vice_execute_until_return -运行至RTS/RTI

检查

  • vice_cpu_history -获取最后N条执行的指令
  • vice_screenshot -将当前屏幕捕获为PNG格式
  • vice_vic_registers -读取VIC-II寄存器($D000-$D02E)
  • vice_sid_registers -读取SID寄存器($D400-$D41C)

调试会话示例

用户: “我的程序显示黑屏。你能找出原因吗?”

克劳德代码将:

// 1. Connect and load program
vice_connect()
vice_load({ file: "myprog.prg" })

// 2. Check what happened
vice_registers_get()
// → PC: $EA31 (Kernal IRQ handler - stuck in ROM!)

vice_cpu_history({ count: 50 })
// → Last 50 instructions show infinite loop at $0810

// 3. Inspect VIC-II
vice_vic_registers()
// → $D011 = $00 (screen disabled!)
// → $D020 = $00, $D021 = $00 (black border and background)

// 4. Check the problem area
vice_memory_dump({ start: 0x0810, length: 16 })
// → Shows the code that disabled the screen

// 5. Capture proof
vice_screenshot()
// → Saves screenshot showing black screen

克劳德的诊断: “您的程序禁用了VIC-II屏幕位($D011),但从未重新启用它。$0810处的代码将$00写入$D011,而不是$1B。”

协议文件

协议.md 有关VICE二进制监视器协议的详细信息。

故障排除

“连接被拒绝”

  • 确保没有其他VICE实例正在运行
  • 检查一下 VICE_PATH 指向正确的目录
  • 验证VICE版本是否为3.5或更高版本

“程序未加载”

  • 确保文件路径是绝对路径还是相对于当前目录的路径
  • 检查文件格式(.prg、.d64等)是否有效
  • 尝试 vice_reset() 加载前

“断点未命中”

  • 使用 vice_cpu_history() 查看执行是否到达该区域
  • 检查电脑是否在预期的内存范围内
  • 验证断点地址是否正确(使用带$前缀的十进制或十六进制)

发展

# Watch mode for development
npm run watch

# Build for production
npm run build

许可证

像啤酒一样免费

目录标签

目录标签

调试工具JavaScriptClaude本地部署模拟器集成内存读写断点设置程序分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP