Macintosh模擬器心得(三)
BasiliskII與SheepShaver篇
BasiliskII是68k Mac模擬器,能運行的系統與Mini vMac有一定的交集,比如說都能運行7.x系統,但Basilisk II不支持System 6,而Mini vMac不支持System 7.6。相對於Mini vMac, BasiliskII有硬碟和光碟機的模擬,但對於軟碟機模擬來說卻顯得不是那麼靈活。BasiliskII雖然能運行Mac OS 8.0/8.1,但由於當時Mac OS 8主要是為Power Macintosh設計的,體驗起來自然不如SheepShaver模擬的好,當然SheepShaver也支持7.5.3-7.6.1版本的系統。一般,SheepShaver更多地還是用來模擬Mac OS 8和9。
BasiliskII和SheepShaver都是由E-Maculation社區支持的。現在,這兩個模擬器的使用方法也非常相近,連配置程序都幾乎一樣。BasiliskII和SheepShaver對Windows的兼容良好,但這兩款模擬器的代碼已有十來年未曾有實質的更新,在Linux和Mac OS X系統中運行可能存在一些問題,尤其是SheepShaver。
準備材料
特別感謝E-Maculation社區,以下模擬器程序幾乎全部出自此社區。
對於Windows用戶來說,以下鏈接是必要的
- BasiliskII主程序(及配置程序,HFV Explorer,SDL.DLL,CD/網卡驅動程序,文檔和ROM等) (備用鏈接);
- BasiliskII主程序最新版本(解決64位Windows下的CD訪問問題,下載後解壓將BasiliskII.EXE至之前文件解壓出的文件夾中替換原有的BasiliskII程序);
- 較早前的BasiliskII 142版(可選,無JIT):2008年編譯版 或 2001年原版 ;
- SheepShaver主程序(及配置程序,HFV Explorer,SDL.DLL,驅動,ROM,文檔等);
- SheepShaver最新版本(解決64位Windows下的CD訪問問題,下載後解壓將EXE文件至之前文件解壓的文件夾中,與原有的主程序同級,或替換原有的SheepShaver.exe);
- GTK+ 2運行庫(BasiliskII及SheepShaver的配置程序需要)。
更多下載信息,參閱:SheepShaver下載頁面以及BasiliskII下載頁面
對於Linux用戶來說,可以參考此頁面下載編譯好的二進位,但更建議自行編譯
- SheepShaver下載頁面;
- BasiliskII下載頁面。
對於Mac OS X用戶來說, 這些鏈接是必要的
- BasiliskII(主程序與配置程序);
- SheepShaver 2014年2月編譯版(要獲取ROM可下載前文Windows版本)
- SheepShaver 64位版本(Mac OS X 10.7以上可選此版本);
- 配置文件編輯器(僅32位)。
更多下載信息,另可參閱SheepShaver下載頁面 ,SheepShaver 64位下載頁面以及BasiliskII下載頁面。
配置Basilisk II和SheepShaver
打開SheepShave GUI或BasiliskII GUI,這就是圖形化配置程序,也可以參考後面部分的介紹來手動編輯配置文件。
各版本的配置程序均大同小異,SheepShaver和BasiliskII的配置程序也幾乎一樣,部分選項有些差異。在配置程序中默認可以看到Volumes、 Graphics/Sound、Keyboard/Mouse、Serial、Network、Memory/Misc,JIT Compiler這幾個標籤,分別可以設置磁碟、圖形與聲音、滑鼠鍵盤、串口、網路、內存及雜項、JIT編譯器。一般最常用到的設置就是磁碟、圖形與聲音、內存及雜項。
在Volumes標籤中,最上面的部分便是模擬器的硬碟列表。點擊Add按鈕可以添加現有磁碟,Create按鈕可以創建空白磁碟,選中列表裡的磁碟後點Remove可以刪除。Windows版的配置程序,打開文件或保存文件的對話框可能需要多加摸索才能掌握。創建磁碟鏡像也可以用HFV Explorer和bximage來創建,使用配置程序創建的磁碟最大2G,使用bximage可以創建更大的鏡像,但不要大於4GB否則可能無法識別。
Boot from標籤則是設置啟動順序, 默認的「Any」是從列表中第一個可以啟動的磁碟啟動,還可以設置為從CDROM啟動。(注意,如果是SheepShaver且使用的ROM是New World ROM,則設置CDROM啟動也不會從CDROM啟動。) CD-ROM Drive框可以在下拉菜單中選擇系統光碟機,或者在輸入框中輸入光碟鏡像(ISO和toast格式)的地址。而「Enable 『My Computer』 icon on your Mac desktop(external file system)」可以將本機的磁碟映射到模擬器系統的桌面,方便文件交換。
在將Mac OS文件拷貝到主機時,要注意data fork和resource fork,一般一個應用程序或是字體,資源都會存放在resource fork中,如果只拷貝了data fork中的數據那麼很可能這個文件會不可用。所以在將Mac OS中的一些資源拷貝出來時,可以用MacBinary或者Stuffit將文件的data fork和resource fork數據編碼/壓縮到一個文件中,這樣交換文件時便不會丟失resource fork的數據。
在Graphics/Sound標籤中,Video Type選項可以切換Window(窗口)和Fullscreen(全屏)模式,Window Refresh Rate設置的是窗口模式的刷新頻率(建議設置在60Hz),Width和Height設置的是水平和垂直解析度。SheepShaver的這個標籤里還有「QuickDraw Acceleration」選項來啟用QuickDraw API的加速,但BasiliskII中沒有這個選項。如果選了Disable Sound Output,那會關閉聲音模擬。
Keyboard/Mouse標籤可以設置使用自定義鍵盤映射文件,也可以改變滑鼠滾輪的行為。 例如默認的「Cursor Up/Down」是模擬上下鍵,默認翻三行,也可以設置成是按PageUp和PageDown鍵。一般默認即可。
Serial標籤可以映射本機COM口設備,一般很少用到。
Network標籤可以設置聯網方式, Basilisk II Router方式在SheepShaver中可以設置但並不起作用。Basilisk II Slirp方式與前一種類似,都是NAT類型的,但此種方式聯網在Windows和Linux系統下極不穩定,在模擬器中打開瀏覽器上網時極有可能崩潰。如果Windows客戶端安裝了Ethernet驅動,列表中會顯示出可以橋接的網路適配器,但此驅動不兼容64位系統,而且現有的64位版本由於沒有數字簽名,只能在Windows的驅動測試模式下使用。一般來說,不要指望在模擬器中上網,一是不穩定,二是老Mac OS的瀏覽器太老,不兼容現代的網頁標準,甚至一些https網站也因證書問題無法訪問。
Memory/Misc標籤。SheepShaver和BasiliskII的這個標籤有一些區別,在於BasiliskII可以選擇 Mac Model ID,也就是機型差別。Mac Iici機型用於模擬7.x系統,不能啟動Mac OS 8.1,而Quadra 900機型主要用於模擬System 7.5到8.1系統。 而其他的設置都是一樣的,比如MacOS RAM Size可以設置模擬器內存大小,單位是MB。ROM File欄中可以輸入或選擇ROM文件的地址。 一般還會選上「Ignore Illegal Memory Access」選項來允許Mac OS程序的一些非法內存訪問請求。關於SheepShaver的ROM, 在提供的Windows版本中有「Mac_OS_ROM」和「Mac_OS_ROM_oldworld」兩種ROM。主要在於前者(New world ROM)只能啟動Mac OS 8.5和更新版本的Mac OS,要模擬7.5.3到8.1系統,需要使用「Mac_OS_ROM_oldworld」。一般來說用oldworld ROM可能更穩定一些。具體可參閱Wikipedia中關於New World ROM和Old World ROM的文章。
JIT標籤在SheepShaver和BasiliskII中有較大的區別, 一般這個標籤使用默認設置即可。啟用JIT編譯器可以允許模擬器緩存一些編譯好的指令以加快模擬速度,類似於Java的JIT。但有些Mac OS的程序或遊戲在啟用JIT後會表現得不正常,遇到這樣的程序,再關閉這個選項也不遲。
設置完畢之後,點擊Start按鈕來啟動模擬器。
Windows版本如果遇到這個提示,可以將模擬器目錄下的CD-ROM Driver目錄中的cdenable.sys文件複製到系統盤WindowsSystem32Drivers目錄下, 64位系統不能使用這個驅動,但複製到WindowsSysWOW64driversm目錄下可以避免每次開啟模擬器都顯示的這個提示。
一般用Mac OS的安裝光碟來啟動模擬器。
如果創建的是空鏡像,Mac OS啟動後會提示初始化鏡像。如果是Basilisk II,要在這個磁碟中安裝系統就要選擇Mac OS標準格式,雖然Mac OS 8.1及以後的系統可以選擇Mac OS擴展格式,但這種格式只在SheepShaver中可作為啟動磁碟。完成之後運行安裝器再安裝系統既可。 安裝完系統在模擬器中關機,再運行設置程序,將啟動磁碟從CD-ROM改成Any即可體驗Mac OS系統了。
如果安裝的系統是Mac OS 8.x和Mac OS 9,系統第一次運行時會彈出設置助理來幫助用戶設置Internet和文件共享。 但在模擬器中,設置助理在配置共享時會卡死整個模擬器,因此退出設置助理即可。
手動編輯配置文件
如果沒法運行配置文件編輯器,或者想修改一些配置程序中不能修改的設置,就可以手動編輯配置文件。在Mac OS X中,如果系統無法運行32位應用程序,那配置文件編輯器將無法運行。這時候如果運行64位的SheepShaver,會發現SheepShaver圖標在Dock上出現後馬上消失。這是因為沒有配置文件,沒有指定ROM的位置,模擬器無法運行。 在第一次運行SheepShaver時,程序會自動創建配置文件,在Windows系統中,配置文件就在程序目錄下,叫做sheepshaver_prefs,沒有擴展名,而Linux和Mac OS X下配置文件都是在用戶目錄下,名稱為 .sheepshaver_prefs,編輯此文件即可。在Mac OS X中,將Finder設置成顯示隱藏文件即可看到此文件,使用系統的文本編輯工具就能夠編輯。BasiliskII的配置文件也大同小異,文件名稱是basiliskii_prefs。
配置文件的格式較為簡單,每一行第一個詞就是一項設置。
例如第一行disk E:Sheepshaverxxxxx.dsk就定義了一個磁碟, 第二行的cdrom也是同理。在配置文件中可以在第一個disk後面另起一行,再以disk xxxx的格式來定義另一個磁碟。也可以用floppy項目來定義軟盤,如果存在可啟動的軟盤,只會從軟盤啟動。
screen項目,格式screen win/800/600指的是窗口模式,解析度為800x600,如果改為screen dga/0/0會以最大解析度啟動,但並不推薦如此設置,要設置全屏建議加上解析度,例如screen dga/1920/1080。
而rom E:SheepShaverMac_OS_ROM_oldworld一行表示的是ROM的位置,可以自行定義。在Mac OS X中需要定義了有效的ROM之後才能啟動模擬器。
bootdrive 0 定義的是從第幾個驅動器啟動,默認即可。
bootdriver -62,與之前的參數很像,但這是設置從光碟機還是硬碟啟動。 當後面的只為-62時表示從光碟機啟動,改為0就是從硬碟啟動(相當於配置程序中的「Any」選項) 。
還有noclipconversion false選項,設置是否同步剪貼板。如果發現Windows版本SheepShaver運行中文Mac OS 9時, 文本編輯器輸入的文字是亂碼時,可以將false改為true以停止剪貼板的同步。
enableextfs true控制的是將「我的電腦」或者是*nix系統的「/」映射到模擬器。相應的項目, extdrives CDEFGHIJKLMNOPQRSTUVWXYZ 指的是映射哪些磁碟,如果是Linux或Mac OS X,默認看到的是extdrives /,將根分區映射到模擬器。
這些設置是較常用的,其他一些設置,高級用戶看到其項目名就能得出其功能。
常見問題
- 安裝鏡像是無法啟動的,如何安裝?
有時候下載到的磁碟鏡像無法啟動,例如System 7.5和7.6有些磁碟鏡像或ISO並沒有包含系統文件夾,無法啟動。這時候,最簡單的方法是在安裝好的系統中,把系統安裝到另一個硬碟上,比如創建兩個硬碟鏡像,第一個鏡像先安裝好Mac OS 8.x或者9.0系統,再啟動到系統,運行安裝程序。如果系統版本不符,可以找同版本系統的英文版先安裝。其次,還可以使用DiskTools軟盤啟動模擬器,這類軟盤帶有基本系統和磁碟工具,啟動後運行安裝器,目前有System 7的DiskTools盤和Mac OS 8.5的DiskTools盤。(注意System 7的磁碟只能在BasiliskII中以Mac Iici機型啟動,Mac OS 8.5的磁碟只支持SheepShaver。)再編輯配置文件,添加floppy項目。例如在BasiliskII中安裝中文版7.5.3,從WinWorldPC下載的CH006-0125.iso是不可啟動的磁碟。 設置機型為Mac Iici 以啟動System 7的DiskTools磁碟。系統啟動完畢後初始化硬碟,運行光碟機中的系統安裝器。由於是英文系統不帶中文字體和必要的擴展,安裝器的界面是亂碼。點擊紅筆圈出來的按鈕切換磁碟,直到切換到硬碟,再點擊標粗的按鈕即可安裝。
安裝完畢後編輯配置文件,刪除floppy項目即可。再次啟動模擬器就進入了系統。
2. SheepShaver運行Mac OS 8.5/8.6和Mac OS 9時沒有聲音
如果是Mac OS 8.5/8.6,在newworld rom下安裝完系統發現沒有聲音。可以在系統安裝盤 – Apple Extra – 聲音控制板文件夾中打開聲音控制板,在「提示音」下拉菜單中點擊「聲音出口」,再選擇「內建」即可。
如果是9.0.4系統,運行在Oldworld ROM時同樣可能沒有聲音。解決方法是,在蘋果菜單中找到控制板,打開「功能管理程序」,把功能擴展列表中的「Apple Audio Extension」前面的勾去掉,再重啟系統即可。
3. 在模擬器中上網
如果用的是SheepShaver或新版本的BasiliskII,在配置文件Network標籤中,把Ethernet interface改為BasiliskII Slirp即可。如果是Mac OS X版本,可能配置程序的Ethernet Interface選項是個輸入框,輸入slirp即可。
但Slirp方式在Windows和Linux版本中極不穩定,使用IE和Netscape時極易讓整個模擬器崩潰。要瀏覽網頁建議使用Classilla 9.3.2版本,但由於證書過舊,可能無法訪問一些https站點; Classilla 9.3.3解決了證書問題,但同樣會使模擬器崩潰。並且Mac OS中的瀏覽器太老,即使能瀏覽網頁,在現代網頁面前也顯得無能為力,通常排版是亂的,很多內容還無法顯示。
關於Slirp模式下的IP地址設置, 在模擬器系統的控制板中找到TCP/IP,將Ethernet(乙太網)的IP設置為10.0.2.5,子網掩碼設置為255.255.255.0,網關(路由器)設置為10.0.2.2,DNS伺服器設置為10.0.2.3。
如果需要一個不讓模擬器崩潰的模擬器環境,可以在Mac OS X 10.6到10.9(新系統中未測試)中使用SheepShaver或者BasiliskII並使用Slirp方式聯網。
Windows的BasiliskII 142版本的Router方式聯網也比較穩定,但SheepShaver和新版BasiliskII不能使用這種方式。 具體IP地址設置如下:
IP地址: 192.168.0.4
子網掩碼:255.255.255.0
網關(路由器):192.168.0.1
DNS使用公共DNS即可(例如著名的8.8.8.8等)。
4. 如何合法地取得ROM和Mac系統
現在這些老Mac的ROM和系統軟體已經屬於abandonware(被遺棄的軟體)了。只不出於商業目的,沒有人會追究責任。當然,如果需要合法取得ROM,要先擁有一台老Mac電腦,用諸如「Copy ROM」的軟體將系統的ROM導出,再拷貝出來給模擬器使用,可參閱此教程(英文)。蘋果給老機型提供過固件更新,將這些固件更新程序里包含的ROM提取出來也是「合法」的,可以參閱此教程(英文)。
而老Mac系統軟體,其實曾經在蘋果更新伺服器上就有部分完整版的系統提供過,例如7.5.3英文版系統(可用於Mini vMac/BasiliskII和Sheepshaver),以及簡體中文6.0.7系統。
解壓這些磁碟鏡像可以用Windows版的Stuffit Expander。
5. 更多的資源
軟體資源可以上Macintosh Garden,Macintosh Repository。 關於模擬器的更多教程,可以去Emaculation網站的Guides區。
一些個人收集到的中文版(和部分英文)的系統軟體: https://pan.baidu.com/s/1hsBOdgS
本文採用知識共享署名-相同方式共享 4.0 國際許可協議進行許可,作者:子虛。
推薦閱讀: