0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

太牛了!大神用示波器恢复软盘里的游戏

Q4MP_gh_c472c21 来源:量子位 作者:量子位 2021-05-28 16:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

又到了考(bao)验(lu)阅(nian)历(ling)的时候了。

在80年代90年代,可是有不少宝贵的代码数据,都是存储在这样的载体之中的,比如DOS版的仙剑1。

辣么,如果现在有一张存储古早代码的软盘到了你手里,你该如何解开其中的历史秘密?要知道,在今天,你可能连读取软盘的设备都很难找到……

要是再磕了碰了,那就更完蛋了。

最近,vsftpd作者、Google Project Zero创始人Chris Evans大佬就遇到了这样的难题:

在和Phil Pemberton一起恢复存储在软盘中的几个古早游戏代码时,他们发现,部分软盘出现了不同程度的损坏,以致于直接用Greaseweazle这样的设备是无法读取的。

怎么办?大佬决心要搞出一个船新的方案,抢救宝贵历史代码。

设备也简单,就用万能的示波器

没错,就是那种用来测试电路、显示波形的仪器。

恢复出来的游戏代码竟然还能玩,而且界面显示清晰:

这波操作,看得网友直呼:数据考古不要太酷。

ee14b67e-be3a-11eb-9e57-12bb97331649.png

▍手敲0和1,100%恢复古早代码

软盘通常以模拟信号的方式存储数据。

这里面存储的模拟信号,用的是最原始的FM调制(频率调制)。

也就是说,它所存储的信号0和1,分别会以不同的波形频率表示。

ee2259c8-be3a-11eb-9e57-12bb97331649.png

△这代表的是00101100

以下面这段波形为例,单位周期下,在信号为0时,输出的频率是比较慢的;而当信号变成1时,频率就会突然变快。

ee2cdb78-be3a-11eb-9e57-12bb97331649.png

因此,只需要找到周期规律,就能判断一个周期里,信号代表的是0还是1。

但也不能仅仅看峰值来判断信号是否为1。例如,在这个周期里,就出现了一个“假峰值”,然而人工解读的结果还是0。

ee9cc488-be3a-11eb-9e57-12bb97331649.png

因为这个峰值其实是一个噪音,信号的整体趋势仍然是下降的,波形的频率本质上并没有变化。(但信号为1时,波形会呈现一个完整的周期,起始点和终点的值是非常接近的)

有网友给出了简单的判断方法:一个周期过去,如果信号值变化很大,则代表0;如果信号值几乎不变,则代表1。

eead2ba2-be3a-11eb-9e57-12bb97331649.png

据Chris Evans介绍,代表0的正弦波信号,是8μs一个周期;而代表1的正弦波信号,则是4μs一个周期。

这种情况下,用Greaseweazle等“现代设备”直接读取数据,会出现一个问题。

如果软盘中的数据,由于各种外部原因(时间久远、使用次数过多)出现了损坏,那么仅凭机器,是无法从这些带有大量噪音的数据中完成解读的。

eec1ef2e-be3a-11eb-9e57-12bb97331649.png

△就像这样,有一个扇区出现了问题

但人却可以轻易看出这些数据中的“规律”,从而判断信号的状态。

因此,用示波器将软盘中传输的模拟信号展示出来,再由人工进行解读,会是个更好的方法。

于是Evans和Pemberton将示波器直接连上了软盘驱动器测试点,看看软盘到底都输出了些什么信号。

其中,输入信号会呈现一正一负两个波形,用来消除一部分噪声。

从各种“年代久远”的软盘解读出的信号来看,难怪Greaseweazle这些设备读不出来……(连人也得仔细分辨一会儿)

ef2a071c-be3a-11eb-9e57-12bb97331649.png

接下来,就是处理这些神奇的波形了。

为了更好地处理噪音、绘制信号图像,Evans和Pemberton还用上了Audacity来处理模拟信号。

Audacity是一个免费开源的音频分析和编辑工具,能够快速放大和检查波形,还具有多功能低通滤波器,以及直接绘图的功能。

ef35d592-be3a-11eb-9e57-12bb97331649.png

另外,Audacity也支持CSV文件的导入。

Evans和他的小伙伴还利用这样的音频工具搞出了新的衍生玩法……

比如将速度放慢100倍,听一听软盘记录的声音。恢复出来的数据,效果还不错。

ef51e7d2-be3a-11eb-9e57-12bb97331649.png

但上面这些,还只能用于数据比较正常的信号。

对于软盘本身有轻微损坏的信号,想要恢复就变得更困难了。

▍软盘坏了怎么办?

要是软盘上有划痕,这部分的信号就会变得非常难以辨认。

这是Evans和Pemberton还原的其中一个凹痕的信号,显然中间那部分,信号振幅(图中信号的强度)丢失得非常厉害,还自带噪音。

ef898f52-be3a-11eb-9e57-12bb97331649.png

其中一种方法是,多用几种不同的软盘驱动器试试。

先用MF504C软盘驱动器过滤一下噪音:

ef9a585a-be3a-11eb-9e57-12bb97331649.png

好像效果不大。

换上另一个TEAC软盘驱动器后,显示的信号更加给力了,但强度还是很小:

efc6eb36-be3a-11eb-9e57-12bb97331649.png

用肉眼分辨的话,难度还是太高了。

鉴于此,Evans和Pemberton又换上了TEC软盘驱动器,效果好多了,峰值也变得清晰可辨。

efdcdc20-be3a-11eb-9e57-12bb97331649.png

除此之外,应对这类信号振幅丢失的情况,还有另一种方法:手工绘制修复。

由于峰值缺失得实在太厉害,只能通过人为修复,绘制部分峰值信号,来解决强度过低的问题。

efeaf97c-be3a-11eb-9e57-12bb97331649.png

但无论如何,这些信号都可以被修复。

据作者介绍,上面这些办法100%可以恢复软盘中的数据。

除非真的出现了不可抗力。

例如,软盘的一部分被损坏得很彻底:

这种情况下,软盘数据就彻底没办法恢复了。

所以,家里有“上古宝物”的小伙伴,一定要保护好自己的软盘!

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    54

    文章

    9012

    浏览量

    153293
  • 噪音
    +关注

    关注

    1

    文章

    170

    浏览量

    24453
  • 软盘
    +关注

    关注

    0

    文章

    20

    浏览量

    10667
  • csv
    csv
    +关注

    关注

    0

    文章

    39

    浏览量

    6216

原文标题:太硬核了!大神用示波器恢复软盘里的游戏

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    泰克示波器TBS1052C如何恢复出厂设置

    泰克示波器TBS1052C作为一款高性能的数字存储示波器,广泛应用于电子测试和信号分析领域。当设备出现配置混乱、系统故障或需要清除用户设置时,恢复出厂设置是一种有效的解决方案。本文将详细介绍如何操作
    的头像 发表于 07-09 14:39 608次阅读
    泰克<b class='flag-5'>示波器</b>TBS1052C如何<b class='flag-5'>恢复</b>出厂设置

    Lakka 和 树莓派 打造终客厅游戏机!

    尽管现代树莓派单板计算机(SBC)的规格有大幅提升,但它们的性能仍不足以在4K分辨率下以60帧每秒(FPS)的速度运行3A级PC游戏。不过,那些老派游戏——尤其是为老式游戏机设计的
    的头像 发表于 05-27 15:35 700次阅读
    <b class='flag-5'>用</b> Lakka 和 树莓派 打造终客厅<b class='flag-5'>游戏</b>机!

    普源示波器MSO8204如何恢复出厂设置

    、系统故障或设备转让等原因,需要将其恢复到出厂设置。本文将详细介绍普源示波器MSO8204的恢复出厂设置方法,并涵盖操作步骤、注意事项及后续配置等内容,帮助用户安全、高效地完成该过程。   一、
    的头像 发表于 05-26 17:07 1199次阅读
    普源<b class='flag-5'>示波器</b>MSO8204如何<b class='flag-5'>恢复</b>出厂设置

    示波器测量传感器的放大电路及供电

    传感器放大电路的测量传感器信号一般都比较小,示波器直接测量可能难以检测,但传感器的主板上面都有信号放大部分,找到这个放大器的输出端,示波器就可以测量这个被放大后的信号。1X的探头,
    的头像 发表于 05-19 13:24 617次阅读
    <b class='flag-5'>用</b><b class='flag-5'>示波器</b>测量传感器的放大电路及供电

    Keysight是德示波器从低频到赫兹的全频段测量解决方案

    在电子测量领域,示波器作为信号分析的核心工具,其性能边界始终与科技发展同步演进。从音频信号的毫赫兹频段到赫兹通信的亚毫米波频段,不同应用场景对示波器的带宽、采样率、动态范围提出了差异化需求。作为
    的头像 发表于 05-12 15:28 1090次阅读
    Keysight是德<b class='flag-5'>示波器</b>从低频到<b class='flag-5'>太</b>赫兹的全频段测量解决方案

    拯救老数据:树莓派打造软盘档案机!

    大卫·克鲁克斯在树莓派的官方杂志第150期上报道GrahamHooley将一台旧软盘复印机改造成了一台归档机器,这使保存旧文件变得轻而易举。正如许多计算机档案管理员所证实的,软盘无法永久保存。虽然
    的头像 发表于 04-22 16:02 548次阅读
    拯救老数据:<b class='flag-5'>用</b>树莓派打造<b class='flag-5'>软盘</b>档案机!

    一不小心发现示波器的秘密!它与万表只差这点

    直流电源输出电压之后,几百块钱的万表就能测试,那为什么还要配备示波器呢?因为示波器可以观察输出信号的波形,比如直流电源输出的最终端,可以
    的头像 发表于 04-09 17:34 1040次阅读
    一不小心发现<b class='flag-5'>了</b><b class='flag-5'>示波器</b>的秘密!它与万<b class='flag-5'>用</b>表只差这点

    是德科技发布全新采样示波器

    是德科技(NYSE: KEYS)宣布推出两款用于1.6T光学收发器测试的新示波器:单光通道DCA-M和双光通道DCA-M采样示波器。这些仪器专为满足1.6T收发器光学测试的严格要求而设计,具有高光学
    的头像 发表于 03-27 17:37 975次阅读

    示波器的性能术语(下)

    01示波器的性能术语-波形捕获速率等波形捕获速率所有示波器都会眨眼睛。也就是说,它们会每秒睁开眼睛多少次,来捕获信号,其间则会闭上眼睛。这就是波形捕获速率,波形/秒(wfms/s)表示。采样率表明
    的头像 发表于 03-17 11:40 1011次阅读
    <b class='flag-5'>示波器</b>的性能术语(下)

    ads1293EVM通过usb连接到电脑上,示波器看DRDYB的波形的时候有问题是为什么?

    这个板子的时候,通过usb连接到电脑上。然后用示波器看DRDYB的波形的时候,电脑上运行的软件出现这个问题。这是因为什么。 麻烦各位大神指点一下。
    发表于 01-13 07:45

    SqlServer数据恢复—SqlServer数据库数据恢复案例

    一块硬盘上存放的SqlServer数据库,windows server操作系统+NTFS文件系统。由于误操作导致分区损坏,需要恢复盘里的SqlServer数据库数据。
    的头像 发表于 01-09 11:15 750次阅读
    SqlServer数据<b class='flag-5'>恢复</b>—SqlServer数据库数据<b class='flag-5'>恢复</b>案例

    示波器与万表的使用区别 示波器测量频率的方法

    示波器与万表的使用区别 示波器 示波器是一种用于观察和分析电信号波形的仪器。它能够显示电压随时间变化的图形,因此非常适合于观察周期性信号、瞬态信号以及复杂的波形。
    的头像 发表于 12-06 09:48 2100次阅读

    使用示波器分析波形的技巧 如何设置示波器的触发功能

    。 2. 连接示波器 探头连接 :使用适当的探头将信号源连接到示波器的通道上。确保探头的接地夹子连接到信号源的地线上,以减少噪声。 通道选择 :根据需要观察的信号,选择合适的通道。 3. 设置触发功能 触发功能是示波器分析波形的
    的头像 发表于 12-06 09:47 4711次阅读