关于「文曲星」的一些记忆 (二)

关于「文曲星」的一些记忆 (一)

二、LAVA 篇

这回先说 LAVA, 这在星界是一个神奇的名词, 因为在 LAVA 出现之前, 我们只能玩到海量但简单的 GVBASIC 游戏, 或者是汇编做成的游戏 (几乎都是金远见自己做的, 毕竟太底层). 直到 Lee 的 LAVA 横空出世, 那些经典让人回味的游戏才如雨后春笋般冒了出来.

对于 LAVA 的历史, 我没有清晰地了解, 网路上也没有人整理. 似乎是在 Lee 先释出了 LAVA, 后来被文曲星收编成为内建功能, 后来出彩屏版文曲星时 LAVA 还升级成为支援彩色显示的 GVM2, 但此时文曲星大势已去, GVM2 再也不能像上一代那样名声大噪了.

文曲星

LAVA 为什么能火, 与 GVBASIC 和汇编相比不难得出结论. 维基百科有曰), LAVA 提供全面超越 GVBASIC 的图形支持, 图形处理速度也大大超过 GVBASIC , 跨平台是它最大的优点. 与 GVBASIC 相比, LAVA 的执行速度更快, 提供了更多的图形函数, 以及跨平台支持的文本、图形缓冲区访问; 与汇编相比, 引入了 C 语言的部分特性, 开发效率大大提高, LAVA 程序在 LAVA 虚拟机中执行, 因此不用编译为机器代码 (文曲星官方文档指出, LAVA 程序在电脑端伪编译后, 生成由一系列伪指令组成的 lav 文件), 以此实现了跨平台工作.

说说经典的游戏以及应用吧. 由于年代太久远, 只能依稀记得其中一些了, 例如蛙蛙大富翁、蛙蛙马戏团、神州、仙剑后传、魔塔、中国烟火、下 100 层等等. 不得不提的是, 文曲星上的游戏基本上都是星迷们自发无偿开发的, 几乎都没有什么商业利益的成分, 游戏内容也基本上搬用其它平台的经典游戏.

上面有几个游戏直到现在还比较有印象, 蛙蛙大富翁是「复刻」了大宇公司的大富翁 2, 蛙蛙马戏团则是红白机马戏团的翻版; 神州是采用一个 LAVA 平台上的 RPG 游戏引擎开发的 (高端吧, 连引擎都有), 这个引擎自带的素材中有口袋妖怪风格的图像, 因此很多以此制成的游戏最大特色便是画风很像口袋妖怪, 唯仙剑后传是个例外, 因为画面素材不是取自口袋妖怪, 而是取自仙剑 95 版…. 仙剑后传讲述的似乎是仙剑一完结后的一段剧情, 游戏画面虽不是 100% 还原 PC 版仙剑, 但地图都有用心做, 而战斗画面则真正的与 PC 版一致, 这让我很怀念; 魔塔这个游戏在当时很火, 其实我不是很喜欢玩 (因为是此类游戏的苦手…), 变种很多, 但主线剧情都是王子去魔塔营救魔王劫走的公主, 需要一层层的打妖怪、找钥匙、开门, 最后到达顶层达成营救目标; 中国烟火似乎是某个工作室的游戏, 这个工作室的游戏都很精致 (也许正是蛙蛙), 当时我以为这是原创游戏, 这款游戏的游戏方式与水管工相似, 只是将管道从左边连接到右边的烟火, 就能引燃烟火, 虽是黑白画面也能让人感觉很华丽; 下 100 层则是还原了同名 PC 游戏, 在有按键的小设备上玩这个游戏还是很爽的.

除了 LAVA 游戏之外, 还有一些不错的 LAVA 应用, 例如数学、物理的学习辅助工具、解压缩工具(°Д°)、音乐播放器(°Д°) (你能想象存储空间只有几兆字节, 还要放一首 WAV 格式的音乐进去的感受吗? ) 、电子书阅读器等等.

随着达人们对文曲星研究的不断深入, 后来甚至出现了灰度屏模拟技术, 这种技术通过某种手段 (也许是疾速刷新) 让黑白点阵屏拥有了 16 级灰度显示能力. 在这种技术的推动下, 运作于 LAVA 平台的灰度图片浏览器诞生了; 之后, 甚至出现了灰度游戏. 这已经是文曲星巅峰后期的事情了, 我也只玩到了一款山寨版口袋妖怪的预览版, 只能在第一个村子晃悠, 更不要说去抓神奇宝贝了, 但画面是真真的灰度, 确实让人耳目一新.

在这之后的发展, 由于我的文曲星不慎损坏, 已经没有再关注了.

三、汇编篇

前面说过, 文曲星里的汇编应用基本上是金远见自己做的, 也许他们自己做了编译器也不一定 (或者真是一点一点的用汇编写出来的? ).

在汇编应用中, 最有影响力应该是下面几个: LAVA 解释器、SYSTOOLS、超级玛丽.

LAVA 解释器自不必说, SYSTOOLS 也是一款神奇的应用. 在 SYSTOOLS 出现之前, 如果我们要向文曲星传送文件, 需要使用金远见开发的专用传输程序, 能够传输的文件类型、传送文件的目标都受限制 (就像苹果公司的 iTunes ( ´∀`)σ); SYSTOOLS 就赋予了使用者完全掌控文曲星的能力, 能够传输任何文件到任何位置, 简直神器.

而超级玛丽, 也是旷世奇作, 这是一款完完全全移植于红白机同名作的游戏, 似乎出自 LAVA 的作者 Lee 之手. 这个游戏移植工作据说极为繁琐, 这里有 Lee 写出的一套流程:

  1. 把 FC 游戏的 ROM 文件中的程序部分反汇编;
  2. 把反汇编的程序中的数值标号换成名字标号;
  3. 把程序中所有对零页「$00-$3f」寻址的指令的地址改到别的地方;
  4. 去掉游戏中的发音程序;
  5. 把对 IO 的操作用文曲星程序模拟出来;
  6. 把 FC 游戏的 ROM 文件中的字模部分由 88 点阵压缩成53;
  7. 把程序和压缩的字模组织好, 加上文件头 (对于有些文曲星还要加密).

即便对着这套流程, 也没有见过更多游戏被移植到文曲星( ・ิω・ิ).

四、最终篇

总结的话, 就贴上某论坛某成员关于文曲星程序员去向的发言, 以此怀念逝去的文曲星吧:

  • 冰魄组件——很早期的 basic 程序员算是自制游戏的开创者之一, 也很早就没做了, 我也不熟;
  • xuhonghai——早期的汇编程序大师, 很多中期的汇编程序员都是看他的教材学会汇编的. 最早的非官方 bin 文件就是由他通过 GVBASIC 的漏洞来实现的. 至今还能在百度文库上搜到他的汇编教程, 学习汇编入门其实也算很不错的教材了;
  • SUN——香港某数据库公司的资深程序员, 算是当之无愧的大师级人物, 基本后面 Basic 能够出现那么多游戏都是因为他的 Basic+ 增加的那 3 个指令才得以实现. WQXHEX 工具, 基本文曲星汇编程序员必须安装的工具, 后面还公布了他的花指令写法, 对反编译保护有很大的帮助, 后面移植过不少 APPLE II 上的游戏. 基本是个很低调的人;
  • Lee——最早假装自己是个女的, 后来被人识破发现是个大叔, 最大贡献是移植了 FC 的超级玛丽和研发了 LAVA. 不过这人品有点问题, 喜欢别人追捧, 从来不公布自己的源代码和研究成果 (当时文曲星编程界基本是处于一个大家完全公开代码一起研究的一个状态.), 后来加入过一段时间 GGV (文曲星的公司), LAVA 后来被联想的某款手机使用过.
  • Fantasy DR——最早制作出给文曲星制作 RPG 游戏的 PC 端制作工具, 神州的作者之一. 后来在上海 UBI 工作;
  • Lendy——实现了在文曲星的黑白 2 色屏幕上看 16 级灰度图片的功能, 也实现的 WAV 声音格式的播放. 后来在腾讯工作;
  • 曾半仙——拆机狂人, 基本帮我们弄清楚了文曲星的所有硬件结构, 后来和点虫虫实现了文曲星删除词典增加容量的功能. 后来在 9U 做工程师去了, 现在似乎在做 Android 版的文曲星模拟器;
  • 点虫虫——精通汇编, 和曾半仙一起实现了文曲星删除词典增加容量的功能. 后来在某中学当老师;
  • QIQI——最开始利用一些系统函数做过一些小软件, 性格同 Lee 吧, 很喜欢别人吹捧自己, 印象中没做出过什么特别的贡献, 做过一些音乐播放工具, 后来据说去了 360, 在多个论坛和人对喷技术问题还出过一次名;
  • EPC——后期的游戏程序员, 后期有做过不少很不错的游戏, 可惜我不是很熟;
  • Isword——同上.