Linux中國

《代碼英雄》第四季(4):軟盤 —— 改變世界的磁碟

本文是《代碼英雄》系列播客《代碼英雄》第四季(4):軟盤 —— 改變世界的磁碟音頻腳本。

導語:軟盤是計算機領域最偉大的突破之一。它以一種盛行幾十年的格式助推了軟體行業的發展。在某些情況下,它保存了曾經被認為是永遠失去了的珍寶。

軟盤出現之前,計算機背負著打孔卡和磁帶緩慢前行。Steven Vaughan-Nichols 描述了軟盤所帶來的巨大變化。Dave Bennet 解釋了對永久存儲(和便於郵寄)的需求,如何導致了第一批 8 英寸驅動器的出現。George Sollman 回顧了他是如何受命製造出更小的軟盤的,以及哪些意想不到的來源激發了他的下一個設計的靈感。而當 Sollman 把它展示給 自製計算機俱樂部 HomeBrew Computer Club 時,這一季的幾位常客請他展示更多的內容。接下來發生的事,就眾所周知了。

Matthew G. Kirschenbaum 指出,軟盤在一些意想不到的地方仍然在使用。Jason Scott 和 Tony Diaz 告訴我們他們是如何將一些源代碼從「跑腿網路」中帶到雲端的。

00:00:00 - Saron Yitbarek

Jordan Mechner 是個收藏愛好者。他是《 空手道 Karateka 》和《 波斯王子 The Prince of Persia 》等遊戲的開發者。他精心保存下了開發過程中的一切細節,比如日記、素描和情節提要等所有的一切。因此,當他找不到自己保存的某樣東西時,多少會讓他有點吃驚,而這也確實是一件大事。

00:00:26

早在 2002 年, Mechner 就在做《 波斯王子:時之沙 Prince of Persia: The Sands of Time 》的開發。程序員們希望將該遊戲的經典版本作為復活節彩蛋加入到他們的 PlayStation 2 版本中。因此,他們向他索要原始的源代碼。但是當 Mechner 查看他的歸檔時,他找不到這份源代碼了。他四處尋找。這份源代碼是在他的老舊 Apple II 上寫的,他肯定自己保存過的這些代碼,消失了。

00:00:58

快進 10 年。Mechner 的父親正在打掃房間,有一個看上去很破舊的鞋盒藏在壁櫥後面,裡面裝著一堆滿是灰塵的 3.5 英寸舊軟盤。其中一張被標記為「《波斯王子》的源代碼。版權所有 1989 年」,括弧里用全大寫字母寫著 「原版」 一詞。這份丟失了很長時間的代碼,終於被找到了。它在那個盒子里待了四分之一個世紀,然後像考古發現一樣被發掘出來。

00:01:36

但那是 2012 年。他要怎樣把信息從那些舊磁碟上取出來,數據是否還完好無損?事實上,現在去挽救他的工作已經為時已晚了嗎?

00:01:54

挽救(保存)我們的工作,現如今這個過程經常是自動發生的。隨著程序定期向雲端推送內容,我們再也無需費心去手動保存東西了。事實上,全新的一代人甚至不知道那個保存圖標表示什麼意思。旁註:這不是自動售貨機。

00:02:16

但是幾十年來,保存、存儲和傳輸我們的數據都必須使用某種物理介質。當個人計算機革命開始後(我們在有關 Altair 8800 的上一集中講過),有一項技術成為了保存的代名詞 —— 軟盤。如今看起來這是如此的簡單。但是軟盤改變了我們的歷史進程,因為它們幫助將 微型計算機 microcomputer 轉變成了 個人電腦 personal computer

00:02:50

我是 Saron Yitbarek。這裡是《代碼英雄》,一檔來自 紅帽 Red Hat 的原創播客節目。

00:02:58

讓我們暫且把 Jordan Mechner 發現軟盤的故事擱在一邊。我們之後會回過頭來談論它。首先,我想先了解一下軟盤最初是怎樣誕生的,以及近 40 年以來它是如何成為技術界如此至關重要的一部分的。

00:03:18

我們的第一站是 1890 年。在電子計算機出現之前,就已經有了機械的電子計算設備。數據輸入輸出的方法是通過一美元鈔票大小的打孔卡實現的。電子計算機在上世紀 50 年代問世時,IBM 用 80 列 12 行的打孔卡進行了標準化。所打的孔就會形成一種字元,沒有打孔則意味著另一種。

00:03:50

長期以來,這些打孔卡是數據輸入的主要方式。但是為更大、更複雜的程序處理數以百計的打孔卡非常麻煩。必須要有一種更好的方法來保存和傳輸數據。

00:04:08

緊接著是 20 世紀 50 年代問世的紙帶。要了解紙帶如何在個人計算機的起源中扮演了核心角色,請收聽我們的上一集節目。紙帶與打孔卡具有同樣的用於讀取數據的打孔方式。但是因為這都在一捲紙帶上,人們沒必要擔心卡片會混起來。它可以攜帶更多的數據,並且使用起來更快。但是隨著微型計算機容量的增加,存儲程序需要越來越多的紙帶。就像打孔卡一樣,紙帶最終遇到了它的瓶頸。

00:04:47

讓我們進入到磁帶階段。其關鍵成分是聚酯薄膜,一種堅韌、有彈性的材料,表面塗有磁性氧化物來使得磁帶能夠記錄。每盤磁帶的九條磁軌最多可以存儲 175 MB。這在上世紀 50 和 60 年代是一件大事。10.5 英寸捲軸的磁帶驅動器成了企業的標準配置。

00:05:11 - Steven Vaughan-Nichols

但是磁帶的問題在於,儘管其很方便將大量數據從一個位置移動到另一個位置,但要在磁帶上搜索以找到某些特定的東西著實不易。我們會使用磁帶在微型計算機和大型機上安裝軟體,但是對於小型便攜的數據或者涉及數據交互的事情,磁帶確實沒那麼好用。

00:05:40 - Saron Yitbarek

這位是 CBS Interactive 的特約編輯 Steven Vaughan-Nichols。當然,磁帶可以存儲更多的數據。但是它太大、太慢了。確實,這僅僅在大型機領域可行。又一次,需要有一個更好的存儲方法了。

00:05:58

更好的方法出現在 1956 年,當時 IBM 推出了其首個 磁碟驅動器 disk drive —— IBM 350 磁碟存儲單元。它是 305 RAMAC 大型計算機的組成部分,這台機器整整佔滿了一個房間。這位是前 IBM 磁碟和存儲產品工程師 Dave Bennet。

00:06:23 - Dave Bennet

存儲在核心內存中。事實上,RAMAC 中的磁碟存儲設備是第一個允許隨機訪問給定的記錄的存儲設備,而不是磁帶驅動器。

00:06:39 - Saron Yitbarek

很有趣。那款磁碟驅動器差點沒有問世,因為它威脅到了 IBM 的打孔卡生意。但是這個項目最終還是獲得了批准。問題在於,該驅動器包含由固體金屬製成的磁碟。RAMAC 重達一噸,它必須由叉車搬運,並且用大型貨運飛機運輸。這不是最方便的存儲方式,但除此之外,還有更好的解決方案。

00:07:10 - Dave Bennet

儘管 軟盤 floppy disk 最初是為了滿足一個新需求而開發的。原因在於有一種中間類型的存儲方式。最初的存儲方式是計算機代碼,然後是計算機內存,即工作內存。但是隨著 System 360 的出現,它們之間出現了一類新的內存,它們稱之為 固件 firmware 。在 System 360 中,有著獨特的各種形式的固件技術,要麼是一種特殊的打孔卡,要麼是一種所謂的 轉換器只讀存儲 transformer read-only storage

00:07:51

但是,新的需求是在半導體技術瞬息萬變的時代,從這些技術轉向半導體技術。這意味著在切斷電源後,半導體中所存儲的內容都會消失。因此,必須要有一種再次充入的方式,在電力恢復後將程序存回到內存中,以載入所謂的 微程序 micro program 中間存儲器 intermediate memory

00:08:28

對這種設備的需求是導致軟盤驅動器發展的原因。

00:08:37 - Saron Yitbarek

因此在 1967 年,一小隊由 David Noble 領導的工程師開始著手開發一款廉價的系統,用於將這些微程序載入到大型計算機。他們項目的代號是 「Minnow」。

00:08:53 - Dave Bennet

Noble 能想到的所有東西,包括各種形式的打孔卡、盒式磁帶,他都親自實驗了一遍。我不知道他還實驗過什麼。但是他想到了使用基於柔性磁碟的廉價磁碟驅動器,和成本非常廉價的只讀機制。

00:09:19 - Saron Yitbarek

Minnow 團隊希望能夠把他們的微程序郵寄到需要載入它的各個地方。因此這款用於發送該程序的產品必須足夠耐用,才能夠在不損壞其數據的情況下實現郵寄。這是某種外殼包裝方式。

00:09:38 - Dave Bennet

現在,為了使它能夠被郵寄,他們實際上必須要做的是,把它放進一個相當堅固的塑料容器里。實際上,他們會在磁碟還放在這個塑料容器(像一個信封、塑料信封)里的時候讀寫該磁碟。當磁碟上有塗層而且有一個剛性的磁頭時,必定會有磨損。而一旦有磨損,就會產生磨損顆粒。

00:10:06

他們所遇到的問題是,隨著磨損顆粒的堆積,會引起雪崩效應。這些顆粒會充當額外的磨料。然後很快,顆粒散在那裡,記錄軌道會被磨損,就不再能用了。

00:10:28

參與該項目的一個名叫 Herb Thompson 的傢伙非常聰明,他提出了一項方案,該方案基於 3M 賣給家庭主婦用於家具除塵的家用除塵織物。他在信封和磁碟之間放了這樣的一張布。這種材料吸收了磨損顆粒,並將其嵌入到除塵織物中,從而防止了雪崩效應,真正解決了這個問題。

00:11:00 - Saron Yitbarek

柔性 8 英寸聚酯薄膜磁碟,甚至可以稱它們為 軟盤 floppy disk 。它完全被裝在一個很薄但是很堅固的信封中,並帶有再利用的除塵裝置。總之,它很容易被拿起,也很容易郵寄。每張新的軟盤有 80 KB 的存儲容量,可以容納與 3000 張打孔卡相當的數據量。這是存儲容量上一個巨大的飛躍。

00:11:29

IBM 在 1971 年發布了他們的 8 英寸軟盤。Minnow 團隊做得很好,但他們不知道有多好。他們的突破即將演變成一種完全改變遊戲規則的技術。

00:11:49

IBM 的直接訪問存儲產品的負責人是一個名叫 Alan Shugart 的人。 Minnow 項目是他的寶貝。 Shugart 很有個性,天生具有企業家精神。他的日常制服是夏威夷襯衫,從來不穿夾克和領帶。在發布 8 英寸軟盤不久後,Shugart 離開了 IBM,並於 1969 年加入了 Memorex,然後在 1973 年成立了自己的公司 Shugart Associates,專門從事計算機外圍設備。

00:12:23

Don Massaro 從 IBM 就跟隨 Shugart,他成為了 Shugart Associates 的運營副總裁。在那工作了幾年之後,Massaro 收到了一個名叫王安的人的需求。他是 王安電腦公司 Wang Laboratories 的負責人,這是當時領先的計算機公司之一。王安想出了一種磁芯存儲器的方法,這是計算機在未來 20 年內使用的方法。

00:12:51

當 1975 年王安接觸 Massaro 時,他給了 Massaro 一個挑戰。當時 Shugart 的一名工程師 George Sollman 還記得這件事。

00:13:03 - George Sollman

王博士說:「我真的很想做小型商業系統和文字處理器,但是現在的磁碟驅動器 —— 你的 8 英寸大的磁碟驅動器太大了。我們需要幾個小型的存儲設備。它們可以被安置在 CRT 顯像管旁邊,但我們不能用 8 英寸大的,因為磁場會破壞圖像。」因此,他認為我們可以採用 8 英寸的軟盤並且把它縮小。我們知道必須設計出低成本而且可行的東西來。我們整理了一張普通老套的挂圖來描述它是什麼,然後拿回來和王博士見了面。王博士說:「我喜歡它,但是你不能在裡面使用交流電動機,因為這會扭曲圖像。」

00:13:52 - George Sollman

所以他說:「為什麼不找找看誰在製造磁帶機的電動機,比如通用汽車公司?」因此,我們回過頭來,實現了一些很小的電動機,這些電動機適合微型軟盤,可以驅動皮帶,並轉動軟盤。

00:14:10 - Saron Yitbarek

George Sollman 必須確定這種新軟盤的規格,它應該變得有多小,以及應該容納什麼。

00:14:19 - George Sollman

我們所做的是,查看了當時所有的磁帶機,並計算了它們的平均尺寸。完成了全部的工作後,最終選擇了 5.25 英寸的軟盤尺寸。我們知道我們可能只有一次機會。我記得那是在王博士把 Don 和我拉進他辦公室時說的:「我給你們看一下,你們的磁碟驅動器裝在我們的新文字處理器上。」他們還想向我們訂購大量的磁碟驅動器,有 10000 個。因此這就好像,哇,我們成功了。

00:14:54 - Saron Yitbarek

現如今,在歷史上的技術傳說中,有關 5.25 英寸這一尺寸是如何形成的,有幾個不同的說法。一種說法是讓軟盤比口袋的尺寸大,以避免不幸的彎曲和折斷。最受歡迎的民間版本是,Al Shugart 在酒吧里喝了幾杯酒,然後當他弄髒了一塊恰巧 5.25 平方英寸的酒吧餐巾紙時,靈光一動。這位是 Teri Shugart,Al 的女兒。

00:15:26 - Teri Shugart

他喜歡喝酒,我可以告訴你的是,他所創辦的所有公司的大部分計劃都確實是在酒吧里做出的。因此,這件事並非不可能,實際上很可能就是這樣。

00:15:43 - Saron Yitbarek

但是,真正改變了 Shugart 和他團隊的遊戲規則的,坦率地說也是改變了所有計算機歷史的關鍵時刻,是 George Sollman 和 Don Massaro 決定在自製計算機俱樂部展示他們的 5.25 英寸軟盤。

00:16:00 - George Sollman

有一個自製計算機俱樂部的會議在斯坦福的線性加速器中心的會議室舉行,離我們住的地方大約有一英里。因此,我們帶了我們的微型軟盤過去並做了演示,觀眾里有個名叫 史蒂夫•沃茲尼亞克 Steve Wozniak 的傢伙,他想就我們的產品和我談談,並說:「我得讓某些人關注到它。」

00:16:24 - Saron Yitbarek

演示之後,George 和 Don 回歸了他們的常規事務,但是幾天後,在辦公室里,Don 把他叫到了一邊。

00:16:33 - George Sollman

並說道:「你是營銷人員,你應當保持前廳整潔,George。」然後我說:「嗯,Don 你想說什麼?」他說:「我們的前廳里有個流浪漢,我們應該把他弄出去。」所以我走了出去,和這個傢伙握了握手。他有著一雙最為銳利的眼睛,我又和他聊了一會兒,他的談話非常有趣,他說:「我想和你去實驗室看看 Steve 說的這個東西是什麼。」我不知道這樣是否合法,但他是我所遇到過的最有趣的人之一,很顯然他有著很高的智商和極大的好奇心,他就是 史蒂夫•喬布斯 Steve Jobs

00:17:19 - Saron Yitbarek

史蒂夫•喬布斯討厭蘋果早期計算機中的盒式磁帶驅動器。它們總是出現故障,要花很長時間大費周折獲取信息。對於 Apple II,他想要一個軟盤驅動器,史蒂夫•沃茲尼亞克想要製造它,但尺寸是關鍵因素。必須縮小軟盤的尺寸,從而使得這款計算機更能吸引消費者。因此,在 1997 年聖誕節假期的兩周時間裡,沃茲尼亞克靠著天天吃麥當勞開發了原型。在新的一年的 拉斯維加斯 Las Vegas 消費電子展 Consumer Electronics Show 之前及時完成了。

00:17:57

沃茲尼亞克很喜歡開發那款軟盤驅動器,並將其描述為他參與過的最好的工程。喬布斯僱傭了 Shugart 來製造 Apple 軟盤。Disk II 成為了 Apple 的主打產品,助推了 Apple II 計算機的銷售並改變了行業。這位是 Steven Vaughan-Nichols。

00:18:20 - Steven Vaughan-Nichols

如果你買了一台 Apple II,Disk II 是一個很快就會大受歡迎的選擇。確實,你可以將史蒂夫•喬布斯譽為將軟盤驅動器引入到個人計算機領域的人。人們正在運行名為 CPM 80 的操作系統,實際上還有數十家小型製造商和一些像 DEC 之類的大型製造商在製造 CPM 80 計算機,而所有這些計算機都使用 5.25 英寸的軟盤驅動器。然後,當 IBM 在 1981 年推出第一台 IBM PC 時,每個人都清楚這不再是一個業餘市場了。

00:19:04

這是一個真正的商業市場,而這將由新流行的 5.25 英寸軟盤驅動器驅動。

00:19:14 - Saron Yitbarek

軟盤和個人計算機革命是共生的。它們一個驅動著另一個,反之亦然。它們一起進化。由於有了軟盤,公司可以編寫程序,將程序複製到磁碟里,然後通過郵寄或在商店裡出售。它對早期個人電腦的作用就像應用商店對智能手機的作用一樣,為開發人員提供了便利。事實上,軟盤使得軟體行業成為可能,並且隨著這些軟體程序變得越來越大、越來越複雜,軟盤再一次發生了變化。1981 年, 索尼 Sony 推出了將軟盤縮小到 3.5 英寸的新版本。

00:19:59

較小的同類產品用硬塑料包裹,並內置金屬遮板,以防止灰塵進入。它們更加堅固,可以存儲更多的數據。有趣的是,儘管它們的外殼很硬,但它們仍被稱為軟盤,而當蘋果公司在 1984 年發布其新 Macintosh 計算機時,又一次使得 3.5 英寸軟盤成為新標準。

00:20:25 - Steven Vaughan-Nichols

好吧,我們都知道 史蒂夫•喬布斯 Steve Jobs 史蒂夫•沃茲尼亞克 Steve Wozniak 。像 Shugart 這些軟盤驅動器的創造者,卻不是家喻戶曉的名字,但是他們所做的工作絕對至關重要。如果沒有他們的話,個人計算機被採用的速度將會慢得多。我無法想像,如果沒有這些早期的驅動器,個人計算機革命會如何發生。它使得數據輸入輸出計算機比其它方式更容易。

00:21:06 - Saron Yitbarek

由於軟盤尺寸適中且易於分享,因此它們具有一種社交性,就像早期的社交媒體形式一樣。你可以和人們見面並交易軟盤。這是在人們可以輕鬆訪問數據機、互聯網尚未出現之前的事情。人們分享裝滿了程序的軟盤,就像分享裝滿 Cyndi Lauper 曲目的混合磁帶一樣。而且這種數據傳輸的方式甚至有個名字,即 跑腿網路 Sneakernet ,從字面上看,你必須用你的雙腳將數字信息從一台機器傳輸到另外一台,而人們在這些分享的磁碟上所存放的內容可以是任何東西,當然有軟體,但是還有更多,尤其是隨著新興的數字創作工具的出現。

00:21:55

Jaime Levy 是上世紀 80 年代後期那些新興的數字創作者之一。她如今是 南加州大學 the University of Southern California 的教授,也是《UX Strategy》的作者。

00:22:07 - Jaime Levy

我當然也認為這很神奇,你可以在軟盤上製作出互動式的、非線性的東西。我當時正在製作後來被稱之為 磁碟雜誌 diskzine 的雜誌。那是在桌面出版的同一時期。我想當時 PageMaker 已經問世。人們剛購買了 Macintosh,正逐漸被吸引到數字技術上來。

00:22:32 - Saron Yitbarek

此前從來都沒有人聽說過互動式的雜誌,甚至連 Jamie 也沒有,但是她結合了動畫、藝術、聲音以及互動式界面,並使得它們適合放在軟盤上。她製作了一堆副本,將它們打包並運送到了當地的一家書店。

00:22:48

在大多數情況下,人們沒有 Macintosh 甚至不能看它們的內容,他們不知道上面有什麼。所以我說,在這裡放 10 個副本,你拿一個回家看看,如果喜歡它的話,就把它們賣出去。他們會把它們放在前台,因為它們沒法很好地被放在架子上,然後立即就有人買了它們。只要有 Mac 的人走進那裡,看到這個東西只要 6 美元,他們就會說:「是的,我想要那東西。」

00:23:15

書店裡不斷售空。Jaime 收到了來自世界各地的來信,並且開始引起了全國媒體的注意。不久後,她通過郵購販賣她的磁碟來做生意。然後,她作為界面設計師的職業生涯開始了。她的故事是軟盤和跑腿網路力量的證明。曾經有一段時間,你可以使用單個 160 KB 的軟盤驅動器運行一個完整的操作系統,但是到了上世紀 90 年代中期,你需要多張軟盤才能運行任何東西,文件變得越來越大,而把軟盤從你的計算機來回放入和取出實在是很煩人。

00:23:57

1998 年,iMac 成了第一款不帶軟盤驅動器的個人計算機,這是一個不祥之兆。當數據機變得越來越好,互聯網更加易於使用,人們從軟盤轉移到了更新的存儲技術,比如 CD ROM,從 CD 我們又轉到了 DVD、SD 卡、USB 快閃記憶體驅動器。回過身來,我們的身後有一整個廢棄的存儲技術墳墓。現如今,我們有了雲。可憐的老軟盤,它們不再有機會了。但是,重要的是,軟盤仍然苟延殘喘。它們有持久的生命力。首先,仍然有供初學者使用的「保存」圖標。

00:24:43

人們仍然有著裝滿了它們的鞋盒。實際上,事實證明,軟盤是最具彈性的技術之一。你可能會驚訝地發現它們仍然被用來維護 美國洲際彈道導彈系統 the US Intercontinental Ballistic Missile System 等遺留機器。直到最近,該系統一直依賴於 8 英寸的軟盤驅動器。 Matthew Kirschenbaum 是 馬里蘭大學 the University of Maryland 的英語和數字研究教授。

00:25:17 - Matthew Kirschenbaum

因此,有一個關於美國空軍從其核指揮和控制系統中逐步淘汰 8 英寸軟盤的故事正在流傳。伴隨著的是人們在導彈發射井中將軟盤插入某種老式大型計算機中的照片。我認為著實令人驚訝,因為看到某些東西,比如核武器仍然通過 8 英寸軟盤控制著。政府、軍方最終將淘汰這些系統。我當然認為那是一件好事,但也要記住,作為存儲介質,軟盤往往非常耐用且具有彈性。它們的面積密度低,這意味著與當今的硬碟驅動器相比,它們相對粗糙或低保真。實際上,這使得它們更具彈性,也更可靠。由於年代久遠,它們也是那些計算機系統的過時之處。具有諷刺意味的是,它們可以更好地保護我們免受當今以病毒、黑客攻擊和類似形式出現的網路威脅。人們所使用的術語是「 氣隙 air gap 」,軟盤沒有以任何方式連接到互聯網,並且可以將其視為非常理想的安全功能。即使這使得人們有些許不安。但它們被使用了這麼長時間,並不完全是沒道理的。

00:26:53 - Saron Yitbarek

當然。現在看軟盤,它們看起來很脆弱,而且有點兒可笑,但是藉助正確的設備,幾十年前的磁碟如今仍然可以被讀取。誰知道在那些數據被檢索時能發現什麼樣的寶藏呢。

00:27:09 - Matthew Kirschenbaum

幾年前,有新聞說發現了十幾張 Andy Warhol 的圖片。實際上這些圖片是 20 世紀 80 年代 Andy Warhol 在一台 Amiga 計算機上創造的。

00:27:26

他得到了一台 Amiga,並進行了實驗,開始將其用於他的一些藝術作品,所得到的圖像被保存到位於 匹茲堡 Pittsburgh Warhol 博物館的軟盤上。 卡內基·梅隆大學 Carnegie Mellon University 的一個團隊搶救了這些文件,所以現在我們又有 Andy Warhol 的十幾件藝術品。

00:27:53 - Saron Yitbarek

說到寶藏,是時候了解一下 Jordan Mechner 和他丟失多年的源代碼到底發生了什麼了。前情回顧, Jordan 丟失了《 波斯王子 Prince of Persia 》的源代碼。多年之後,他的父親在壁櫥後面發現了一個鞋盒,裡面裝著一堆滿是灰塵的 3.5 英寸軟盤。其中一張被標記為「源代碼」,但是源代碼真的在那張磁碟上嗎?他能夠恢復他《 波斯王子 Prince of Persia 》作品嗎?

00:28:23

為了找到答案,我們和 Jordan 招募的拯救源代碼小組的兩個成員進行了交談。Jordan 聯繫的第一個人是 Jason Scott,他是 互聯網檔案館 Internet Archive 的放養檔案管理員。

00:28:38 - Jason Scott

這可能行得通,但也可能不行,但是你總是希望能對最壞的結果做好準備。我認識一個人,他的名字叫 Tony,而 Tony 與蘋果公司的關係非常密切。他對他們無所不知。我稱他為「Apple II 耳語者」。

00:28:59 - Saron Yitbarek

通過一個長期運行的 IRC 頻道,Jason 找到了 Tony Diaz,並招募了他來擔任這份工作。 Jordan 邀請了這對計算機考古學家到他位於 Hollywood Hills 的家中。Tony 將一堆裝備裝進了卡車的後部,準備從 Oceanside 長途開車到洛杉磯。

00:29:19 - Tony Diaz

我拿了幾套閑置的 Apple IIe 系統,打包裝箱,各種東西裝滿了半個皮卡車斗,並且還有用於讀取困難的軟盤的改裝磁碟驅動器和各種類似的工具。磁碟驅動器控制器的功能有所不同,還有一些更為現代化的計算機上的東西,有些可以幫助處理軟盤(如果有必要的話)。是的,把它們全部裝載起來然後上路。

00:29:43 - Saron Yitbarek

在 Jordan 的起居室里。Tony 建立了一個令人印象深刻的由老式 Apple II 計算機和 3.5 英寸磁碟驅動器組成的陣列。然後 Jordan 把一個裝在塑料袋裡的鞋盒拿了出來,就彷彿它是個聖杯一樣。這個聖杯周圍有橡皮筋,以防止鞋盒蓋子掉落。

00:30:03 - Tony Diaz

我曾多次遇到這種情況,剛剛打開舊的磁碟盒,它們都有同樣的那種霉味。我不知道該怎麼說,這很難描述,但是對於那些曾經在海軍艦船上的人來說,它們氣味相同,和你去到飛機後面聞到的都一樣。軟盤有它自己的獨特的,那個詞怎麼說來著,光澤。

00:30:25 - Saron Yitbarek

Tony 取出了幾個磁碟,看看它們的狀況。如果需要的話,他準備著取下保護套,並用 Joy 洗碗皂清洗它們。這些磁碟已經很久沒有轉動過了。因此,他把手指放在中間,搖晃了一下並旋轉了一下,以檢查是否發霉。然後他和 Jason 分成了兩隊。

00:30:49 - Jason Scott

我要去做 磁通量讀數 flux reading ,也就是磁信息,從軟盤上拉取下來每一個磁性波動信息,這會產生非常巨大且難以解碼的軟盤鏡像。這樣的想法是,如果發生其他任何錯誤或者我們在某種單一方式受到阻礙,那麼未來我們能夠使用這些信息。

00:31:16

Tony 知道這些磁碟上的信息是什麼,他在計算機上使用實用工具來讀取磁碟,就像早在 1990 年時候那樣,這些數據對他來說是有意義的。我們去找那些很明顯是標準文件副本的磁碟。試圖確保在我們知道面對的是什麼之前,我們不會處理任何只有單張的磁碟。這些最初的簡單磁碟上的一些是諸如 《Death Bounce》之類的東西。這是他製作的一款從未問世的遊戲,還有 Asteroids Clone。它們能運行,我們能夠在機器上玩它們,他看著他幾十年來都沒想起來過的遊戲,它們正運行良好。

00:32:06 - Saron Yitbarek

到目前為止,一切都很順利。現在輪到被標記著《 波斯王子 Prince of Persia 》的那張磁碟了。Tony 開始分析它,並且意識到它是一個硬碟驅動器的備份,被分成了五份放在了五張軟盤裡。他需要把整個東西重新整合在一起。

00:32:23 - Tony Diaz

因此,要想還原這些鏡像,你必須有一個與寫入時大小相同的硬碟驅動器卷。當然,我帶來了硬碟,但是怎麼可能正好有完全相同的大小呢?因為你並不見得總能這麼巧。沒關係,我將在我的卡上創建了一個 10M 的分區,並製作了這些磁碟的副本,然後告訴它是從 10M 的驅動器上進行的備份。我們繼續還原它,然後得到了一個完美的硬碟驅動器,裝滿了待查看的源代碼文件。

00:32:50 - Saron Yitbarek

重大的發現出現在當他們完成了第一個目錄並查看文件的時候。

00:32:55 - Tony Diaz

是的,就是它。Merlin 文件,它們都以 「.s」 結尾,還有 OBJ 文件,用於編譯或彙編時 —— 都在這裡了。哦,我的天哪,它有如此之多的不同版本,我們不得不把這些弄清楚,但是所有人的頭基本上都轉向了右後方的顯示器和計算機上,多少有點兒沉默,好吧,讓我們來瞧瞧這上面有什麼?那個呢?我記得這個。

00:33:20 - Jason Scott

當他開始這麼做,並且我們開始滾動瀏覽那張磁碟上的文本文件,Jordan 立即識別出來它們是他的原始源代碼。因此,即使我們知道我們有了重大發現,我們也還是繼續瀏覽所有的磁碟,以確保我們不會錯過一些其他的版本。在我們發現的東西中,有《波斯王子》中其他正在進行的工作,他曾嘗試過不同的圖形等等。

00:33:48 - Saron Yitbarek

令人驚訝。當團隊看到可識別的源代碼文件那一刻,長長地鬆了一口氣。《波斯王子:時之沙》已經從時間的流沙中獲救。不過他們的工作還沒有完全完成。

00:34:09 - Saron Yitbarek

Jason 將搶救回來的代碼上傳到了 GitHub,世界各地的粉絲立刻就能獲取到它。這件事的消息已經散布出去,人們登錄並等待著。

00:34:22 - Tony Diaz

我們那天的主要目的是儘快將其上傳到 GitHub 上的一個倉庫里。我們一直都連接在同一個 IRC 聊天室,有各種各樣的人問我們問題。「這是什麼?你看到的是什麼?你獲得了什麼?」而且我們在進行時得到了現場反饋。

00:34:38 - Jason Scott

曾開發過《 毀滅戰士 Doom 》和《 雷神 Quake 》的 John Romero 說,他在看源代碼時學到了一些技巧,而其他一些人當然完全搞不懂他們在看什麼,因為在 20 世紀 80 年代後期所寫的代碼和今日相比相當不一樣。事實上他逐個位元組地移動內存,試圖清理空間以使得「精靈」看起來像預期的一樣。那是完全不同的一個世界。

00:35:09 - Saron Yitbarek

自從 2012 年那重大的一天以來,《波斯王子》的源代碼一直被研究、分享、評論和珍藏。這裡是 Matthew G. Kirschenbaum 的一些總結。

00:35:23 - Matthew Kirschenbaum

這是另一個例子,有關我們會認為是數字文化、有點像當今藝術作品的方式,我們當下的創造性表達方式。很多東西都被鎖在了這些陳舊過時、滿是灰塵的軟盤裡,但是憑藉一點運氣和工程學工作,發生了一些我們如何把東西弄回來的非常了不起的故事。

00:35:49 - Saron Yitbarek

如今,「保存」圖標是我們中的一些人離軟盤最近的地方,但是當你們看到它時,我希望你們能夠記住,它是這段神奇歷史的一部分,我們不應該將其視為理所當然。這是一段有關分享和拯救我們所創造的東西的歷史,一段有關保存的歷史。

00:36:09 - Saron Yitbarek

代碼英雄( Command Line Heroes )》是紅帽( Red Hat )的一檔原創播客節目。請到 redhat.com/commandlineheroes 查看我們的軟盤研究筆記。順便說一句,如果我們保存了這一集(大約 51.5 MB ),我們估計它會佔用 36 張 3.5 英寸的軟盤。我是 Saron Yitbarek,直到下一次,繼續寫代碼吧。

附加劇集

從打孔卡和紙帶到軟盤並不是簡單的事情。聽聽王安的故事,他推動了計算機存儲技術的發展。

什麼是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特別興趣小組 Special Interest Group ,LCTT SIG 是針對特定領域、特定內容的翻譯小組,翻譯組成員將遵循 LCTT 流程和規範,參與翻譯,並獲得相應的獎勵。LCRH SIG 是 LCTT 聯合紅帽(Red Hat)發起的 SIG,當前專註任務是《代碼英雄》系列播客的腳本漢化,已有數十位貢獻者加入。敬請每周三、周五期待經過我們精心翻譯、校對和發布的譯文。

歡迎加入 LCRH SIG 一同參與貢獻,並領取紅帽(Red Hat)和我們聯合頒發的專屬貢獻者證書。

via: https://www.redhat.com/en/command-line-heroes/season-4/floppies

作者:Red Hat 選題:bestony 譯者:JonnieWayy 校對:wxy

本文由 LCRH 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國