网站深度测评
Gameboy Terminal Server (gbts)是什么网站?
Gameboy Terminal Server(gbts)是一个已停止维护的开源项目主页,托管在 SourceForge。它提供一套让 Nintendo Gameboy 充当其他系统(如 PC 或智能卡带)廉价智能显示屏的软件库与硬件方案。
它具体做什么
- Gameboy 端提供绘图原语:画图像、画线、设置字体、绘制比例文字。
- 支持缓存常用命令以提升速度,并带事件系统,例如“用户在 (x,y) 处按下 A 键”“定时器到期”。
- 事件可绑定到缓存的绘图命令,因此定时器到期就能触发画图形成动画,点击某个区域就能做 XOR 反馈。
- 与 PC 通信通过一块自制卡带实现,卡带含 64k flash、RS232 串口和简单的存储体切换器。
适合谁、什么情况下用
适合对 Gameboy 自制开发和嵌入式显示感兴趣的爱好者。比如需要把 Gameboy 当作某台 PC 或智能卡带的低成本的交互式显示终端时,可以参考它的库设计、卡带原理图和 PCB 文件(Protel 格式)。
当前状态
项目已不再活跃开发,仅作为对 gbdev 社区的服务保留在 SourceForge。原始版本基于 2.1.0 之前的 gbdk 和 maccer 构建,未在最新 gbdk 上测试。想修改或改进的人可联系 Michael Hope 获取 CVS 权限。
相关资源
- 硬件信息可参考 Reiner Ziegler 的 ReadPlus 页面。
- 下载区提供 0.50 初始版本、Protel 原理图与 PCB 库,以及 CVS 访问说明。
- 截图展示了多边形、图像、线条、旋转 XOR 圆和比例文字绘制,以及从 X Windows .bdf 字体直接绘制的客户端字体等演示。
gbts 如何让 Gameboy 作为 PC 的智能显示终端使用?
gbts 把 Game Boy 变成一块由 PC 驱动的智能显示屏:PC 端负责决策,Game Boy 端负责绘图和响应输入。
工作原理
- PC 通过专用卡带与 Game Boy 通信,卡带含 64k flash、RS232 串口和一个切换低 32k 页的 bank switcher。
- Game Boy 端运行一套绘图原语:“Draw image”“Draw line”“Set Font”“Draw proportional text”等,PC 只需下发这些命令。
- 常用命令会被缓存以提速;事件系统把“用户在第 (x,y) 处按下 A 键”“定时器到期”等事件回传给 PC。
- 事件可绑定到缓存的原语上,例如定时器到期就画一张图形成动画,或点击某个方框就 XOR 该区域,让用户立刻得到反馈,而下一步动作由 PC 客户端决定。
典型场景
- 用 Game Boy 当廉价智能显示终端,接在 PC 或智能卡带上,显示界面并接受按键。
- 需要本地即时反馈、但逻辑仍在 PC 侧的交互界面,例如可点击图标、菜单和闪烁时钟(原作者的演示里就包含这些)。
现状与上手条件
- 项目已不再活跃开发,停放在 SourceForge 供 gbdev 社区使用;想修改或改进可联系 Michael Hope 获取 CVS 权限。
- 最初用 2.1.0 之前的 gbdk 和 maccer 构建,未在最新 gbdk 上测试过——原作者认为这是个值得做的移植项目。
- 文档为 DocBook 风格 SGML;Debian Linux 有现成软件包可把它变得更有用。
- 硬件设计可参考 Reiner Ziegler 的 ReadPlus 页面;0.50 初始版本、Protel 原理图/PCB/库均可下载。
下一步 想复现这套终端,先取 0.50 版本和硬件图纸,按 ReadPlus 的资料做卡带,再决定是否把代码迁移到新版 gbdk。
gbts 的通信需要什么样的自定义卡带硬件?
gbts 通过一块自定义卡带与 PC 通信,卡带本身是软硬件方案的一部分,不是市面通用配件。
卡带的硬件构成(据项目页面)
- 64k flash
- RS232 串口
- 一个简单的 bank switcher,用于切换整个低 32k 页
它解决什么问题 Gameboy 被当作其他系统(例如 PC 或智能卡带)的廉价智能显示器。卡带负责 Gameboy 与 PC 之间的串口通信,并提供存储与分页能力,让客户端可以下发绘图、字体、事件等指令。
配套资料
- Protel 格式的原理图与 PCB 设计随项目提供
- 硬件设计最初由 Reiner Ziegler 完成,页面指向他的 ReadPlus 页面获取更多信息
适合谁动手 如果你打算复刻或改造 gbts,需要自己按这些图纸做板、焊 flash 和串口电路;项目已不再活跃开发,但源码与硬件资料仍托管在 SourceForge 上供 gbdev 社区使用。想参与改进可联系 Michael Hope 获取 CVS 权限。
gbts 的绘图原语和事件系统具体能实现哪些交互效果?
gbts 把 Gameboy 当作一块“便宜的智能显示屏”,绘图原语负责画,事件系统负责让画面回应操作,两者结合就能做出按键反馈、动画和菜单式交互。
绘图原语能做什么
- 提供“Draw image”“Draw line”“Set Font”“Draw proportional text”等基础命令。
- 支持旋转、XOR 填充的圆,以及按比例显示文字。
- 常用命令可以缓存,避免每次重画都重新发送,提升速度。
- 字体可直接读取 X Windows 的 .bdf 字体,在客户端侧绘制比例文字。
事件系统能实现的效果
- 事件类型包括“用户在 (x,y) 按下 A 键”“定时器到期”等。
- 事件可以绑定到已缓存的绘图原语上,例如定时器到期就触发绘制一张图,形成动画。
- 点击某个指定区域时可对该区域做 XOR,让用户立刻看到视觉反馈,而客户端再决定下一步动作。
组合起来的典型交互
- 点击图标:截图中“所有图标都可以点击”,配合事件与重绘实现按钮效果。
- 可点菜单:截图里的“Applications”菜单可被点击,说明事件能驱动菜单展开或切换。
- 定时闪烁:时间里的“:”按定时器闪烁,就是定时器事件触发重绘的动画效果。
- 即时反馈:点击后先 XOR 区域给出反馈,再等待客户端指令,适合响应要求快的界面。
适合谁用 如果你在用 PC 或智能卡带驱动 Gameboy 做显示终端,并希望它不只是被动显示、还能响应按键和定时器,gbts 的这套原语加事件机制就是为此设计的。项目已不再活跃开发,但源码和硬件资料仍留在 SourceForge 上,感兴趣的人可联系原作者获取 CVS 权限继续改进。
gbts 项目现在还能获取源码或参与改进吗?
可以获取源码,但项目已停止活跃开发。gbts 目前“parked up”在 SourceForge 上,作为对 gbdev 社区的服务保留;0.50 初始版本、Protel 原理图/PCB 和库文件都还能下载,CVS 也仍可访问。想参与改进的话,资料里给出的路径是联系 Michael Hope 申请 CVS 访问权限。
谁适合参与
- 想研究 Game Boy 作为外接智能显示终端的开发者。
- 对 GBDK、串口卡带、底层绘图原语和事件系统感兴趣的人。
- 愿意接手老代码、把它移植到新版 GBDK 的人。
具体可做的事
- 下载 0.50 版本和硬件设计文件,先跑通现有 demo。
- 用新版 GBDK 重新编译测试,原项目基于 pre 2.1.0 的 GBDK 和 maccer,未验证最新版。
- 改进文档,原文档是 DocBook 风格 SGML,在 Debian Linux 下有预构建包可转成更实用的格式。
- 硬件方面可参考 Reiner Ziegler 的 ReadPlus 页面,再结合随附的 Protel 原理图和 PCB 设计做复刻或改造。
需要注意
项目已不再主动维护,社区支持有限;参与前最好先确认自己是否具备 GBDK、串口硬件和 CVS 的基本使用经验。
gbts 是否兼容最新版本的 gbdk,如何用 gbdk 构建?
gbts 不兼容最新版 gbdk,也没有现成的构建流程。
兼容性
根据项目页面说明,gbts 最初是用 2.1.0 之前的 gbdk 版本构建的,并且没有用最新版 gbdk 测试过。项目本身已停止活跃开发,只是作为对 gbdev 社区的服务保留在 SourceForge 上。
所以现状是:
- 官方未验证与最新 gbdk 的兼容性;
- 用新版 gbdk 构建可能需要自己改代码;
- 页面把“用最新 gbdk 重新构建”列为“一个有意思的项目”,即尚未有人完成。
如何构建
资料只给出了这些线索,没有完整构建步骤:
- 原始构建工具链是 gbdk(pre-2.1.0)加 maccer;
- 文档用 DocBook 风格 SGML 编写,Debian Linux 上有预编译包可以把它转成更有用的格式;
- 源码通过 CVS 获取,需要联系 Michael Hope 申请 CVS 访问权限;
- 0.50 初始版本和 Protel 格式的原理图、PCB 布局及库文件均可下载。
如果你要尝试用新版 gbdk 构建,实际路径大致是:先取得 CVS 源码,再对照旧版 gbdk 与 maccer 的用法逐步迁移,并自行解决 API 或汇编语法差异。这类移植没有现成文档,需要一定的 gbdk 和 Game Boy 开发经验。
用户评价(0)