1981年我在TRS-80上写了一个游戏,40年后,我想让它重新运行起来

简介: 1981年我在TRS-80上写了一个游戏,40年后,我想让它重新运行起来

image.png

终于盼来了七天小长假!

不知道大家都有些什么安排,快给只想回家躺平的文摘菌支支招~

image.png

今天,文摘菌给大家介绍的,或许会成为假期安排的灵感之一呢。

俗话说,码农不是一蹴而就的。

在大家变成大佬之前,估计也受过不少折磨,做过不少训练,甚至也写过一些程序(bug)。如今过去了这么长时间,有没有想过回过头来重新看看那些古早的代码,或者让它重新运行起来?

一位叫做Mad Ned的博主就遇到了这样的情况。

在打扫房子的一次偶然情况下,他翻到了一本1982年的杂志Popular Computing,里面的文章就远程信息处理和可视计算进行了介绍。

不过,相较于这本稀有的杂志本身,夹在书页间的两页点阵打印纸吸引了他的注意。

image.png

整体看上去,这就是一个BASIC程序,他的第一印象是从杂志上输入的内容,或者是杂志的副页,毕竟这在当时还是相当普遍的。

但细看第一行后,他震惊了,这竟然是他自己写的:

1 CLS: REM BREAKER BALL CREATED AND WRITTEN BY NED UTZIG 1/1/81 FOR TRS-80 MODEL 1 16K LEVEL II COMPUTERS (ON DISK)

虽然对这段代码没有特别具体的记忆,但是他记得在十几岁的时候,的确有在学习编程,并且也试着为TRS-80编写游戏,虽然关于游戏的部分也完全忘记了。

随后在好友的激励下,博主毅然决定,复活这段代码,让游戏重新运行起来。

image.gifimage.png

把纸质代码加载到TRS-80模拟器上

首先需要解决TRS-80的问题。

TRS-80微型计算机系统是1977年推出的台式微型计算机,这是最早大规模生产和大规模销售的零售家用电脑之一。

TRS-80内置了Zilog Z80处理器,4KB DRAM标准内存,ROM中的浮点I级BASIC语言解释器,每行64字符的视频显示器,起始价格为600美元

image.png

就是这么一台“古董机”,要真正入手的话除了在eBay上买一台,就要从真正的收藏家那里入手了。

不过好在,现在有一个很好的TRS-80模拟器,叫做trs80gptrs80gp几乎支持所有早期的TRS-80型。


运行环境的问题弄清楚了,现在最麻烦的问题是,把打印出来的代码敲到电脑上去。

对于这个问题,当然可以老老实实逐字逐行地敲上去,但是不用点现代方法似乎有点不对劲了。于是拍了一些代码的照片,尝试通过谷歌相册中内置的光学字符识别(OCR)来实现。

但最终的识别效果如下图所示:

image.png

为了改善这个结果,他多次调整了照明光线,以消除热点和阴影,最后得到了这样的结果:

image.png

再通过一些简单的编辑,终于可以把代码加载到trs80模拟器中了,但问题还没结束,仍然存在很多奇怪的随机字符,这也导致了运行时出现很多问题。

这时他才意识到,他可能还需要重新学习使用TRS-80调试器

image.png

用bug堆出的游戏,还带有明显的街机风格

游戏里有一个盒子,里面有一个1像素的小球跳来跳去,你需要用一个垂直块来引导球摧毁一堵墙。

然后,小球也会射出小箭,由于小球不停弹跳,你可以把这些箭射回去。

image.png

这个游戏机制有点像Space Invaders或者Galaxian,但玩法又有点像Breakout,emmm……

image.png

不过,从结果来看,这个游戏算是成功运行了。

但游戏里还是有一些bug,比如会一直移动,或者无法在移动时射箭。这个盒子体积太小,而且似乎也没有派上什么用场,整体更像是一个未完成的概念。这也让文摘菌想起那个用bug堆出来的的马里奥视频

不过,对于当时还只有17岁的青少年来说,没有去只是复制一个游戏,而在提出一些新的想法和创意,这点就值得称赞了。

最让人吃惊的是,当你在游戏里死了的时候,屏幕上方会跳出一个横幅,写着“哈哈哈”,然后系统会进入自我播放的“演示模式”,就和很多街机游戏一样。

image.png

可能是受到“荼毒”太深,代码中甚至有很大一部分都是关于横幅的演示模式。

通过代码实现与过去的交流

根据博主自述,尽管有时候会有不耐烦的情绪出现,但让40年前的代码“死而复生”,确实是一件令人快慰的事,他也在这些旧代码中找到了自己很多年轻时的影子。

和很多人一样,现在要写一个这样的程序,哪怕是在TRS-80上,写出的代码可能都会更有条理,也更紧凑,当然bug也会少很多。

最关键的是,从这些旧代码中也可以看出这位博主的创造力,在这点上可能码农们都一样,喜欢创造东西,也渴望这些东西能够得到别人的喜爱。

“复活”一段代码并没有带来实质性的创造,但在这个过程中,成功运行与否倒是其次,得以与过去的某种思想和习俗进行交流,把一段段代码变成有生命的回忆,这才是最值得回味的。

那为何不趁着7天小长假,来尝试着“复活”一下过去的代码呢?可能还有小惊喜在等着被发掘呢~

相关文章
|
5月前
|
机器学习/深度学习 Python
浅析线性回归、线性神经网络、Logistic/Softmax回归
线性回归通过最小二乘法或梯度下降等优化线性目标函数,是机器学习基石。其演进催生感知器、逻辑回归与Softmax分类——三者本质均为凸的线性判别模型,统一于“输入加权求和+非线性输出校正”范式。(239字)
271 5
|
8月前
|
IDE 编译器 开发工具
嵌入式开发必备!Keil uVision5 C51 V9.61 安装激活 + 汉化完整教程, 含(Keil MDK 5.39)
Keil C51 V9.61是一款专用于8051系列单片机的集成开发环境,支持主流厂商芯片,集编辑、编译、仿真于一体,基于μVision5平台,操作便捷。提供C编译器、汇编器、调试器等全套工具,适用于嵌入式开发。附带安装与激活教程,可实现汉化界面,提升使用体验。(237字)
12051 9
|
2月前
|
人工智能 自然语言处理 IDE
Qoder——来自阿里的Agentic 智能体编程平台,Qoder-Teams-Credits费用300元/月,功能及使用场景全解析
Qoder是阿里云推出的Agentic智能体编程平台,支持自然语言交互、全栈开发与多语言智能问答。集成LLM,Qoder官网:https://t.aliyun.com/U/58ZleE 可理解上下文、自动生成代码/测试、解释逻辑,并提供IDE、CLI、JetBrains插件等多种接入方式,显著提升开发效率与代码质量。
2517 7
|
3月前
|
人工智能 自然语言处理 数据可视化
阿里云百炼上线DeepSeek-V4:API 价格与官网一致,百万Tokens输入最低1元、输出最低2元
阿里云百炼正式推出DeepSeek-V4系列模型,包含DeepSeek-V4-pro和DeepSeek-V4-flash两款,全模型享受低至4.5折优惠,API价格与DeepSeek官网一致,百万Tokens输入最低1元、输出最低2元。该系列模型覆盖全面、成本优化显著且使用便捷,支持跨模型使用,承诺消费越高、周期越长,折扣越大。活动提供多种包月、包季套餐及特惠价格,满足不同用户需求,助力企业和开发者轻松实现AI落地,广泛应用于电商营销、广告创作、短剧漫剧、AI Coding、智能客服及AI办公等领域。
|
安全 Android开发 iOS开发
深入探索Android与iOS的差异:从系统架构到用户体验
在当今的智能手机市场中,Android和iOS无疑是最受欢迎的两大操作系统。本文旨在探讨这两个平台之间的主要差异,包括它们的系统架构、开发环境、安全性、以及用户体验等方面。通过对比分析,我们可以更好地理解为何不同的用户群体可能会偏好其中一个平台,以及这些偏好背后的技术原因。
|
3月前
|
负载均衡 关系型数据库 应用服务中间件
网站搭建好后采用高可用集群方案(Nginx 负载均衡 + 双机热备)实现网站稳定运行
网站建设好后,部署在云服务器上,网站的稳定运行直接关第到网站在搜索引挚排名中的表现,如果服务器中途崩溃,流量会被搜索引挚处罚, 最严重的结果就是网站流量给清零,这可不是站长们想要的结果,下面就详细说明通过负载均衡 + 双机热备方案实现网站稳定运行:
|
3月前
|
数据采集 人工智能 监控
快速接入小红书API,市场趋势与热点预测
小红书API+AI已成2026年品牌营销与内容电商核心基建,支持竞品监测、舆情预警、趋势预测等全场景合规数据采集;多模态生成、预测型AI与垂直领域模型加速商业化落地,SaaS工具、代运营、技术基建成三大机遇。(239字)
|
9月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
人工智能 自然语言处理 Java
快速带你上手通义灵码 2.0,体验飞一般的感觉
通义灵码个人版为开发者免费提供智能编码能力,专业版限免期内开放更多功能。使用需先注册阿里云账号,支持JetBrains IDEs、Visual Studio Code等开发工具。以Visual Studio Code为例,安装插件并登录后即可体验其强大功能。通义灵码2.0在代码生成、需求理解及单元测试自动化等方面有显著提升,支持多语言和复杂场景,大幅提高开发效率。
236373 39
快速带你上手通义灵码 2.0,体验飞一般的感觉
|
IDE 开发工具 iOS开发
Python的IDE选择
【7月更文挑战第4天】Python的IDE选择
654 59