原始的“太空大战!” 在虚拟DEC PDP-1上运行

2020-12-20 05:37:58

这是在HTML5 / JavaScript中模拟的虚拟DEC PDP-1,其运行最早的已知数字视频游戏" Spacewar!"的原始代码。如果有的话,请使用游戏手柄或操纵杆(当前仅适用于Chrome和Firefox,请参见下面的说明)来获得真实的游戏玩法-该游戏最初是使用自定义控件框进行的。

太空大战! 1961年由Martin Graetz,Stephen Russell和Wayne Wiitanen构思。它首先由Stephen Russell,Peter Samson,Dan Edwards和Martin Graetz以及Alan Kotok,Steve Piner和Robert A Saunders于1962年在PDP-1上实现。 –太空大战!属于公共领域,但此信用条款必须与程序的所有分布式版本一起提供。

Norbert Landsteiner的这项实施,www.masswerk.at,2012-2016年。基于Barry Silverman,Brian Silverman和Vadim Gerasimov的仿真代码。扩展了仿真代码,以支持一些其他指令和辅助硬件。特别是移位/旋转指令和算术运算已被重写,现在包括自动硬件乘法/除法选项的仿真。此外,还添加了周期计数以获取准确的时间和帧速率。在重现原始CRT显示器的外观和传达其独特体验方面,有些重要性。此外,添加了一个初始屏幕,并且有多个版本的原始代码可供播放。有关详情,请参见下文。有关在此仿真器上运行的其他一些交互式程序,请访问www.masswerk.at/minskytron。

运行Spacewar的HTML5 / JavaScript中的原始PDP-1仿真!由Barry Silverman,Brian Silverman和Vadim Gerasimov撰写,网址为:http://spacewar.oversigma.com/html5/。

大家都知道,正常的操作时间是从凌晨0点到下午12点(" 24/7")!

(您可以仅通过在页面右上角的选项菜单中选择"超空间锁定"来禁用原始的LEFT + RIGHT超空间操作,以支持使用单键命令。单键操作也可能是对于自定义操纵杆映射很有用。)

访问"感应开关/设置"对话框以选择国家或非标准键盘布局。某些键盘可能无法一次读取所有键,在这种情况下,请使用备用触发键(" 4"和" 0")。

游戏手柄/游戏杆:如果该游戏表明浏览器支持游戏手柄,则该游戏将在初始屏幕上显示一条消息。一些游戏手柄可能需要特殊的连接模式,例如将其切换为“直接模式”。要获得接近原始的体验,请使用模拟摇杆:左转一圈(左/右),右转一圈用于推力(向下)和超空间(向上)。还支持数字摇杆和D-pad。任何主要按钮都应像火一样起作用。左肩纽扣是超空间,右肩纽扣是火。按下键盘的Tab键以交换打击垫和飞船的分配。单击此处以查看游戏手柄映射。

触摸控件:对于具有触摸功能的设备,将显示带有街机风格按钮的特殊控件(使用横向方向;通过其船上图标拖动控件以将其移动到方便的屏幕位置)。

该仿真正在运行原始游戏的各种版本,包括原始纸带的二进制副本和真实代码清单的新组合。程序作为虚拟纸带(RIM模式:Read In Memory)加载到模拟的DEC PDP-1的存储器中。

,Spacewar的最终版本!由原始程序员(史蒂夫·罗素(Steve Russell)和欣厄姆研究所太空战争研究小组的其他成员)留下,以原始形式和修改后的版本在此展示一次,以显示放大的图形和效果,以利于小屏幕。此外,存在较早和较晚的版本,例如(J.M. Graetz在“太空战争的起源”中描述的程序)和(在升级的硬件中添加次要功能和兼容性)的一些示例。最后,还有一个特殊版本的Spacewar 3.1,展示了“太空之风”。影响。

(请注意,标题屏幕是由模拟器生成的,而不是原始游戏的一部分。)

低分辨率,以512 x 512像素绘制,为原始显示的50%。为了将可见分辨率提高到超过浏览器中显示元素所提供的物理分辨率,采用了特殊的子像素渲染。结果与原始显示器的视觉分辨率非常接近(如果不是更好的话):尽管显示器的分辨率为1024 x 1024,但每个轴上只有512个点可解析。肉眼(DP-35-2 / PDP-1使用手册/第3部分; 1971年12月;第5页)。比较这些当代照片:[1] [2] [3]。

高分辨率,以原始1024 x 1024 px绘制,显示元素缩放为50%。

Warning: Can only detect less than 5000 characters

Warning: Can only detect less than 5000 characters

该代码在用JavaScript模拟的DEC PDP-1中执行(基于Barry Silverman,Brian Silverman和Vadim Gerasimov的代码,后者在1997年也做了Java实现,该代码是周围任何PDP-1仿真器的基础)。对JS仿真代码进行了部分重写,并进行了增强,以支持其他硬件,例如纸带阅读器,更高版本的PDP-1的乘/除选项或测试字,还向仿真中添加了一些其他指令。并且某些代码(例如移位/旋转操作,算术逻辑,开关,标志或I / O操作)已重新实现。添加了实时时间,以基于周期计数实现真实的仿真速度。除了PDP-1感官开关的支持以外,它还可以控制某些游戏。行为,还提供了提取和修改游戏的基本常量(设置参数)的规定(请参见屏幕右上方的选项菜单可访问的工具菜单)。 (2012年-2015年N.L.)

DEC PDP-1于1959年推出,是首批仅使用核心存储器和传输器的商用机器之一。它的时钟速率为0.2 MHz(每秒增​​加100,000次),并以18位字运行。标准内存为4 K 18位字(expa

......