ravensclawx/HBLauncher

游戏

在 Switch 2 上通过 SmileBASIC 浏览并启动 GPU 自制程序,并提供用于开发的 SDK。

127
12
JavaScript
创建于 5 天前

HBLauncher 是一个在 Nintendo Switch 2 上通过 SmileBASIC 运行的自制程序启动器。它让你在主机上浏览目录、启动独立的 GPU 程序,并返回菜单。它还附带 SDK 和一个完整的 Hello World 示例,作为编写自己应用的起点。它明确不是 NRO 或原生 ARM64 加载器、独立安装的游戏,也不是自定义固件。

工作方式

电脑托管应用库并维持桥接。应用逻辑在 compute shader 中运行,图形在 vertex/fragment shader 中由主机 GPU 渲染;应用提供 shader 和数据,而不是宿主 JavaScript。构建脚本只在你自己的 PC 上运行,安装包时不会执行它。应用放在宿主 apps/ 的直接子目录中,点击 Refresh 后出现;目录最多接受 32 个应用,无效文件夹会列在 catalog.rejected 中,但不影响有效应用。宿主会对 manifest 和资源做指纹校验,拒绝在扫描与启动之间发生变化的包,并在每次启动时重置应用状态。项目没有持久化或存档 API。参见包清单和 GPU 编程接口。

构建应用

SDK 生成器会复制可运行的 Hello World 源码,并拒绝覆盖已有文件夹。之后你编辑 app.json、三个 shader 和资源生成脚本,再用 Node 构建。生成的 SPIR-V、二进制和 PNG 文件应放入可分发包中;用户安装应用时不应需要编译。SDK 指南记录了输入辅助、运动、网络、NFC、振动和内存。输入包括手柄按键与摇杆、触摸(最多 16 个接触点),启动器本身还支持 Joy-Con 2 光学鼠标控制。Shader 以 1920×1080 渲染,没有应用可配置的纹理、混合、网格上传或 push constant,因此渲染只能程序化生成或从打包的像素数据读取。

要求与限制

仅支持 SmileBASIC 4.4.9 和 Switch 2 系统软件 23.0.1;桥接使用特定版本的地址和检查,其他版本不受支持。你需要一台网络可达的 Linux x86-64 宿主机、带 CircuitPython 的 Raspberry Pi Pico 2 W、Node.js 22+,以及带 Pillow、DejaVu Sans、spirv-val 和 glslangValidator 的 Python 3。Pico 设置涉及刷写固件和安装 Wi-Fi/配对配置;README 提醒妥善保管配对密钥和 settings.toml,维护访问时使用 GP0 跳线。必须允许 39380 和 39381 端口入站。参见要求和设置。

README 自身的警告很重要:风险自负,备份数据,并注意使用文件系统功能的应用可能修改或删除真实的 SmileBASIC 文件。原生会话失败后需重启主机;不要在同一应用进程中重复 REMOVE,也不要复用旧会话地址。桌面测试和 CI 无法验证 USB 键盘投递或主机执行。项目未授予整体许可证,因此发布带许可证的版本前需保留第三方声明并解决再分发权限。

HotRepo 点评

HotRepo 新项目榜样本在 2026-10-25 记录到 127 个总星标(JavaScript 类第 19 名);这并非每日增长量,且可比对日榜历史不足,无法判断势头。

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。