打造復古電腦的互動體驗(上)– NeXTSTEP、DOS 的時空漩渦垂死掙扎

打造復古電腦的互動體驗(上)– NeXTSTEP、DOS 的時空漩渦垂死掙扎

繼《大橋 1988:自由年代》後,去年(2022)底 Digiwave 展覽的第一關(Scene 1)也要打造一個復古的場景。之前做的復古電話自然而然就上場了,除了電話外,還有許多其他復古的元素,例如點陣印表機、收音機、映像管電視和復古電腦等,其中,復古電腦是花了比較多心思與時間製作的,本文記錄了打造的過程。

2014 年我們 21 樂團第一次正式演出時,我就一直想要有一個復古的 BBS 體驗,但當時弄了太多東西,沒空可以把它實現,這個想法就一直藏在我心中,直到確認了 Digiwave Scene 1 的復古場景,這個想法又再度浮現。可惜,在我生出這座體驗的過程中,我發現我已經找不到當年月光森林的程式碼了,猜想它是在我碩班畢業,轉換 joba.cc 的某一次遺失了。我還有印象我架了台 svn 放 code,但我可能在移機時忘記了它的存在,所以也忘了轉移備份 svn 裡所有的東西。

體驗原型

一開始腦中構思的畫面,展覽會場中的這一個場景,有個桌子擺了一台 CRT 螢幕的電腦,鍵盤當然要是機械的,內容則是 80x24 的 terminal,可以登入一個 BBS 站,站裡的內容都是跟這一場體驗有關的東西;在這美好的幻想裡,會場的這台電腦,裡面的內容會在每次清場時還原,但現實中會有個真的站是可以連的,大家可以上去 post 東西。

而有連上這個 BBS 的媒介肯定要是個復古的東西,例如電腦跑的是 NeXTSTEP,裡面也可以放一些東西跟故事有關,例如使用者名稱(username)或系統內的一些檔案。製作初期沒有非常明確是哪一個年代,我們曾經討論過是 80 或 90 年代的房間,我後來就一直是以 94-96 年間為目標。

NeXTSTEP

這一切實在是太好玩了,我馬上想要嘗試安裝 NeXTSTEP。我記得小時候在政大計中弄畢業紀念光碟時瞥見過一台黑色的 NeXTSTEP,當時還太小其實不知道它跟蘋果有什麼關係,只覺得這台好酷,也依稀記得馬兒(marr)跟我介紹過它。在過去的幾年間,我曾經看過有人在網路上放資源讓它在 VM 裡跑起來,所以我初步覺得這是可行的,就動手做了實驗。

Adafruit 的網站直接來了一篇 Build your own NeXT with a virtual machine,滄者極限的論壇也有人發表相關的文章《試用 NeXTSTEP 3.3》,但我主要是跟著 OPENSTEP Installation Guide 上的教學,照著做應該是沒有什麼問題就可以把它跑起來了。

去年在執行 Digiwave 這個案子時,事情爆量且時間太趕,所以我沒有好好地留太多當時實驗的文件,OPENSTEP 的測試也只能憑記憶回想。網路搞好弄了一點時間,最後開 terminal 起來 telnet 是可以通的,我記得我還有嘗試要在上面跑瀏覽器,但最後碰到最大的問題是它沒有辦法顯示中文,研究了一番 [1] [2] 發現 NeXTSTEP 的字型的格式和現在的差距太大,如果真的要硬幹可能花太多力量與時間。另外,在 NeXTSTEP 裡面倒底要怎樣可以做出一個可以讓觀眾順利體驗的東西,是要硬寫一支 NeXTSTEP 的程式?還是該怎麼做?我覺得這整件事情都太費工,不可行,NeXTSTEP 最後作罷,出局。

在研究 NeXTSTEP 的過程中,看到很多愛好者的資源,NEXTSTEP and OPENSTEP Resource Page 有蠻多資訊,www.nextcomputers.org 裡的 NeXT File Archive 好像寶藏一樣,看到 /NeXTfiles/Software/OPENSTEP/Apps/Internet/WWW/Web Browsers 有 Lynx 和 Omniweb,就在想是不是真的可以跑得起來;另外,我找到了 Black Hole, Inc. 這間公司,竟然還有在賣 NeXTSTEP 3.3 跟 OpenSTEP 4.2,實在是太酷了,而它現在的官網也還有在賣一些舊的硬體。

DOS Emulator

NeXTSTEP 的實驗研究到一半時,隱約覺得不可行,所以連線的另一個媒介就想使用記憶中的 NCSA Telnet,因此我開始找了一堆 DOS 模擬器來,確實都可以跑起來,還玩了幫忙維護這些模擬器的愛好者包進去的復古遊戲。但要它可以連上網際網路、執行 Telnet 連上 BBS 就是個問題了,我當時沒有成功地跑起來;而另一個非常大的問題就是倚天中文。DOS 模擬器嘗試的時間沒有到太長,我就直接放棄了。

其實在這個時候,PM 已經有一點著急了。這只是 Scene 1 的其中一小座互動,我們要打造 Digiwave 的四個場景,外加中控等系統。在最糟的情況下,用 Unity 或網頁前端快速的模擬一個復古的體驗就行了,但是我想我內心還是有這麼強的「工程師的浪漫」,我仍然想要打造一個 authentic 的復古電腦體驗。雖然說截至目前文中打造進程的部份,根據過去的記錄,我只花了大約三小時的時間,但我想一定是我有漏記時數!

Linux

試了 NeXTSTEP 跟 DOS,除了上述的種種問題外,我認為最無法控制的,是無法讓程式卡在 Virtual Machine 的 Guest OS 裡。我需要這個東西像 Kiosk 機台一樣,只能在我們限定的範圍使用。只要使用者有可能跳出來到 Host OS,我認為這條路就是不可行的。不死心的我,就把腦筋動到不透過 Virtual Machine,而是原生的把 Linux 直接裝在電腦硬體上。

一想到原本設定的年代,我最初想安裝的是 Slackware。然而,這次我沒那麼衝動了,畢竟時間真的非常有限。所以,我稍微查看了一下,決定不安裝 Slackware,反而看看能不能安裝一個舊版本的 Debian。同時我也確定遺失 BBS 的程式碼,因此體驗的方向也改向再簡單一些,只需要使用 username / password 登入(Linux),然後體驗一下終端機程式即可。不過這個部分就留到下一篇文章再來介紹。

[1] Tell me more about NeXTstep fonts
[2] Fonts FAQ - Next Info