gbts 包含哪些软件库和硬件设计资料?

gbts(Gameboy Terminal Server)是一套把任天堂 Gameboy 当作其他系统(例如 PC 或智能卡带)廉价智能显示屏的方案,由 Michael Hope 在 Invention City 委托下开发。它同时包含 Gameboy 端的软件库和一套定制卡带的硬件设计资料,但项目已不再活跃开发,目前只是放在 SourceForge 上供 gbdev 社区使用。

软件侧:Gameboy 端提供什么

gbts 在 Gameboy 一侧提供了一组绘图原语和配套机制:

  • 绘图原语:Draw image、Draw line、Set Font、Draw proportional text 等。
  • 命令缓存:对频繁使用的命令做缓存以提升速度。
  • 事件系统:向上层传递诸如「用户在 (x,y) 处按下 A 键」「定时器到期」这类事件。
  • 事件与缓存原语的绑定:事件可以挂到已缓存的绘图原语上。例如定时器到期触发一次图像绘制,从而形成动画;在指定区域内点击可以对该区域做 XOR,让用户在客户端决定下一步之前就得到即时反馈。

与 PC 的通信通过定制卡带完成。

硬件侧:定制卡带的设计资料

卡带本身由三部分组成:

组成 说明
64k flash 存储用
RS232 串口 与 PC 通信
简单 bank 切换器 切换整个低 32k 页

随项目提供的硬件资料包括 Protel 格式的原理图和 PCB 设计。硬件相关的更多信息,原页面指向 Reiner Ziegler 的 ReadPlus 页面。

文档与下载

  • 文档用 DocBook 风格的 SGML 编写;Debian Linux 中有现成软件包可以把它转成更实用的格式。
  • 可下载内容包括:0.50(初始)版本、Protel 原理图 / PCB 布局 / 库、CVS 访问方式,以及 gbdk。

开发状态与依赖

  • gbts 已不再活跃开发,仅作为对 gbdev 社区的服务保留在 SourceForge 上。
  • 如果有人想修改或改进 gbts,可以联系 Michael Hope 获取 CVS 访问权限。
  • 它最初使用 2.1.0 之前的 gbdk 构建版和 maccer 构建,未在最新版 gbdk 上测试过——原页面把「用新版 gbdk 重新构建」列为一件有意思的事。

演示与来源

项目附带几个演示,用于展示库的能力,它们都只是外壳程序:

  • 一个演示展示多边形、图像、线条、旋转并 XOR 的圆,以及比例字体绘制。
  • 一个演示展示比例字体、客户端字体直接从 X Windows 的 .bdf 字体绘制。
  • 最终演示中所有图标都可点击,「Applications」菜单可点击,时间里的「:」由定时器控制闪烁。

参与人员:Pascal Felber 发起项目,Reiner Ziegler 完成最初的硬件设计,Michael Hope 编写软件并制作硬件,Invention City 提出构想。

如果你打算用 Gameboy 做智能显示终端,且能接受基于旧版 gbdk 的代码库和需要自行打样的 Protel 硬件资料,gbts 提供了完整的软硬件起点;如果希望有活跃维护或现成可买到的卡带,这个项目并不满足。

gbts.sourceforge.net