游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了( 二 )


游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
△就像这样 , 有一个扇区出现了问题
但人却可以轻易看出这些数据中的“规律” , 从而判断信号的状态 。
因此 , 用示波器将软盘中传输的模拟信号展示出来 , 再由人工进行解读 , 会是个更好的方法 。
于是Evans和Pemberton将示波器直接连上了软盘驱动器的测试点 , 看看软盘到底都输出了些什么信号 。
其中 , 输入信号会呈现一正一负两个波形 , 用来消除一部分噪声 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
从各种“年代久远”的软盘解读出的信号来看 , 难怪Greaseweazle这些设备读不出来……(连人也得仔细分辨一会儿)
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
接下来 , 就是处理这些神奇的波形了 。
为了更好地处理噪音、绘制信号图像 , Evans和Pemberton还用上了Audacity来处理模拟信号 。
Audacity是一个免费开源的音频分析和编辑工具 , 能够快速放大和检查波形 , 还具有多功能低通滤波器 , 以及直接绘图的功能 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
另外 , Audacity也支持CSV文件的导入 。
Evans和他的小伙伴还利用这样的音频工具搞出了新的衍生玩法……
比如将速度放慢100倍 , 听一听软盘记录的声音(软盘每转一次时间为0.2秒 , 该样本为20秒):
软盘录音方式.wav来自量子位00:0000:28
恢复出来的数据 , 效果还不错 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
但上面这些 , 还只能用于数据比较正常的信号 。
对于软盘本身有轻微损坏的信号 , 想要恢复就变得更困难了 。
软盘坏了怎么办?
要是软盘上有划痕 , 这部分的信号就会变得非常难以辨认 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
这是Evans和Pemberton还原的其中一个凹痕的信号 , 显然中间那部分 , 信号振幅(图中信号的强度)丢失得非常厉害 , 还自带噪音 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
其中一种方法是 , 多用几种不同的软盘驱动器试试 。
先用MF504C软盘驱动器过滤一下噪音:
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
好像效果不大 。
换上另一个TEAC软盘驱动器后 , 显示的信号更加给力了 , 但强度还是很小:
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
用肉眼分辨的话 , 难度还是太高了 。
鉴于此 , Evans和Pemberton又换上了TEC软盘驱动器 , 效果好多了 , 峰值也变得清晰可辨 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
除此之外 , 应对这类信号振幅丢失的情况 , 还有另一种方法:手工绘制修复 。
由于峰值缺失得实在太厉害 , 只能通过人为修复 , 绘制部分峰值信号 , 来解决强度过低的问题 。
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了
文章图片
但无论如何 , 这些信号都可以被修复 。
据作者介绍 , 上面这些办法100%可以恢复软盘中的数据 。
除非真的出现了不可抗力 。
例如 , 软盘的一部分被损坏得很彻底:
游戏|用示波器恢复软盘里的游戏 这个程序员大神的操作太硬核了


推荐阅读