将“太空侵略者”的类似物压缩到1 KB(1978年原始价格为8)



该游戏在很大程度上受到太空侵略者的启发,是为ATtiny2313从零开始编写的,并发送给了最近在Hackaday举行的1千字节竞赛

将这样的游戏放在1024个字节中并不容易。 但是作者决定开发一款功能全面的游戏,包括评分,声音和VGA视频输出,分辨率为640x480,频率为60 Hz。

当然,所有代码都完全用汇编器编写,并且为了生成声音和视频,对其进行了编程以获取准确的时间间隔。

定时器中断符合VGA水平同步的要求,并且由于帧速率是通过将水平线除以整数而获得的,因此两种同步都可以置于一个中断处理过程中。 为此,该过程将准确地计算周期。

31.5 kHz的线路频率采用与接收声音相同的步骤。

中断处理过程占用了90%的计算机时间,因此所有游戏​​逻辑都是在返回光束期间计算的。 几个状态机控制角色的移动,确定导弹的位置等。

一个小的字符生成器用于存储用于显示乐谱的字体以及图块和精灵。

在材料接收结束前几个小时,代码已准备就绪并发送给了比赛。 一切都在其中实现了。 生成标准VGA信号(尽管实际分辨率远低于640x480-“巨大的正方形像素”),可通过SNES的游戏手柄或带有三个Clock,Latch,Data信号及其克隆的克隆进行控制,动作流畅,而不是出于熟悉而跳动与原版一样,在熟悉度,评分,周期性变化方面...



相同的游戏手柄:



您也可以制作相同的设备,并播放1千字节的“太空侵略者”模拟游戏。 组装电路(未显示20 MHz的石英,连接到引脚4和5,右上角的连接器用于编程器)。 作者声称他在凌晨4点在智能手机上绘制了这张图,然后立即将其发送到了比赛中。 当然,视差适配器是可选的,您可以仅使用VGA连接器。



使用适配器时,设备如下所示:



使用AVR Studio或GCC编译源代码( 程序标头文件 ),或仅填充附加的HEX文件 -速度更快,但您将无法深入研究代码。 您可以亲眼看到一个大小为1千字节的“太空侵略者”类似物是现实。

Source: https://habr.com/ru/post/zh-CN446984/


All Articles