思科模拟器32位_三款另类的68k Mac模拟器
之前說過兩個主流的68k Mac模擬器,Mini vMac和BasiliskII。不過它們都沒有真正的硬盤模擬,都是通過外置的軟驅接口連接的“硬盤”。那么這篇文章將介紹三款非主流的68k Mac模擬器 —— pce-macplus,SoftMac和FUSION PC。
pce-macplus是一款開源的68000 Mac的模擬器,可以說是目前最完整也是最難用的68000 Mac模擬器了。它支持SCSI硬盤的模擬,對8MHz 68000處理器速度的還原也比較準確,而且它可能是目前唯一可以啟動Macintosh Classic ROM中的System 6.0.3的模擬器了。缺點是它的配置文件看起來莫名其妙,而且文檔也只有寥寥數語,使用起來非常不方便。
SoftMac能模擬68000到68040的Mac,支持System 6,System 7和Mac OS 8系統,圖形化的配置界面,相對來說更容易使用,但這個模擬器的兼容性不是很好(應該說是很不好)。一是不兼容64位Windows,因此只能在32位Windows下運行。二是對Mac硬件的模擬可能也很不完善,經常出現崩潰的情況。(實話說,嘗試過N種不同的ROM,嘗試過N次安裝Mac OS,就很少出現成功的情況。)如果你想體驗Classic Mac的“炸彈”信息,以及Sad Mac,那么SoftMac是一個不錯的選擇。
FUSION PC最后更新于2000年,能夠模擬68030和68040處理器的Mac。但只能在DOS操作系統中運行,要求主機CPU至少為486。只支持Sound Blaster系列聲卡(及兼容卡)。FUSION在DOSBox中運行良好,只是速度較慢,畢竟有兩層模擬。如果有一臺古董電腦,并且聲卡兼容Sound Blaster也有DOS驅動的話,可以試試FUSION PC模擬器。
pce-macplus
先來看看pce-macplus這款最難用的Mac模擬器。
pce系列的模擬器不僅僅可以模擬68000處理器都Mac,還能模擬IBM PC和Atari ST機型。目前最新版本是0.2.2版,建議使用pce-0.2.2-macplus.zip壓縮包,這是Windows版的模擬器,里面有Macintosh Plus,Macintosh SE和Macintosh Classic三種機型的ROM以及System 7鏡像,還有一個工具磁盤,而且默認已經配置好了。
獲取pce-macplus:PCE - PC Emulator
Linux和Mac OS X用戶可參考此教程進行編譯和配置:http://www.toughdev.com/content/2016/11/pcemacplus-the-ultimate-68k-classic-macintosh-emulator/
pce-0.2.2-macplus.zip文件內容其中disk1.img是空白800K軟盤鏡像,hd1.img是System 7硬盤鏡像,hd2.img是工具磁盤鏡像。.cfg結尾的文件是已經寫好的機型配置文件,.bat文件是啟動模擬器的腳本文件,.dat是該配置文件對應的機型PRAM文件。三個目錄,bin目錄存放了模擬器程序和一些工具,doc目錄存放的是模擬器的文檔和說明,rom目錄中含有各Mac機型的ROM。
運行其中一個bat文件就可以啟動模擬器,默認是啟動hd1.img的System 7,可以按Ctrl-Alt釋放鼠標。如果需要自己創建磁盤鏡像并安裝系統,需要先了解一下模擬器配置文件。
pce的配置文件
建議在查看此節之前,先體驗一次默認設置下的pce-macplus模擬器。并簡單了解以下Macintosh Plus,Macintosh SE和Macintosh Classic機型的信息。
以下為配置文件詳解,重點的內容將以粗體標出,其余內容可以忽略。
pathpath = ""定義的是路徑,模擬器會在這些路徑中尋找ROM和磁盤鏡像。例如可以在pce的文件夾中創建一個叫“img”的目錄用于存放軟盤鏡像,就可以在配置文件中添加一行 path = "img"。
memtest = 0memtest = 0意思是跳過Mac啟動時的內存檢測,如果需要模擬得更真實些,可以把內存檢測打開,即把“0”改為“1”。
system {# The Macintosh model to emulate. Valid models are:# mac-plus: A Macintosh 128K, 512K, 512Ke or Plus# mac-se: A Macintosh SE or SE-FDHD# mac-classic: A Macintosh Classicmodel = "mac-plus" }system中的model = "mac-plus"指的是模擬機型為Macintosh Plus,當然如果需要模擬128K,512K和512Ke都可以使用“mac-plus”機型。如果要模擬Macintosh SE則改位“mac-se”,同理,“mac-classic”模擬的是Macintosh Classic。
cpu {# The CPU model. Valid models are "68000" and "68010".model = "68000"# The CPU speed multiplier. A value of 1 emulates a# 7.8336 MHz CPU. A higher value emulates a faster CPU# but also takes up more host CPU time. A value of 0# dynamically adjusts the CPU speed.speed = 0 }cpu中的model = "68000"指的是CPU為摩托羅拉68000,可以改為68010但Mac從沒用過68010處理器。speed = 0指的是自動調整模擬器速度。但這樣設置,在現代電腦上運行時,模擬的CPU會非常快。這個數值控制的是處理器的“倍頻”,如果需要較準確地還原模擬器CPU的速度,可以將它設置為“1”,即運行在1 x 7.8336 MHz。
# Multiple "ram" sections may be present. ram {# The base addressaddress = 0# The memory block sizesize = 4096K# The memory block is initialized with this value.default = 0x00 }ram中需要修改的一般只有size = 4096K這一項。這一項修改的是內存大小,單位為KB,但注意不要刪除了后面的字母K。
# Multiple "rom" sections may be present. rom {# The file from which the rom code is loadedfile = "mac-se.rom"# The base addressaddress = 0x400000# The rom sizesize = (system.model == "mac-classic") ? 512K : 256K# The memory block is initialized with this value.default = 0xff }rom {# This is the PCE extension ROM.address = 0xf80000size = 256Kfile = "macplus-pcex.rom"# The memory block is initialized with this value.default = 0xff }ROM選項不需要修改,除非你需要加載自己的ROM文件,或者ROM初始塊的位置。
terminal {driver = "sdl"# The terminal escape key. The default is "ESC".#escape = "CtrlRight"#escape = "ESC"#escape = "F12"#escape = "Menu"# The terminal scale factor. Only integral values are# allowed.scale = 1# The terminal aspect ratio.aspect_x = 3aspect_y = 2# Add a border around the imageborder = 0# Start in fullscreen mode.fullscreen = 0# The mouse speed. The host mouse speed is multiplied by# (mouse_mul_x / mouse_div_x) and (mouse_mul_y / mouse_div_y)mouse_mul_x = 1mouse_div_x = 1mouse_mul_y = 1mouse_div_y = 1 }同樣terminal里的選項一般也不需要修改。terminal定義的是輸出終端的類型,默認是SDL輸出,如果SDL不可用時會使用x11。其中 scale = 1 指的是窗口縮放比例為1x,可以改位其他的整數倍,比如改為2。fullscreen = 0指的是啟動時不進入全屏模式,如果改為1則啟動時全屏顯示。
sound {# Apply a low-pass filter with the specified cut-off# frequency in Herz. This is separate from the low-pass# filter in the sound driver. If the frequency is 0,# the filter is disabled.lowpass = 8000#driver = "null"#driver = "wav:wav=speaker.wav:lowpass=0:wavfilter=0"#driver = "oss:dev=/dev/dsp:wav=speaker.wav:lowpass=0:wavfilter=0"driver = "sdl:wav=speaker.wav:lowpass=0:wavfilter=0" }sound中有兩個設置。一個是lowpass = 8000,此選項是音頻輸出的低頻濾鏡,低于8000Hz的聲音將被過濾掉。如果不希望過濾掉8000Hz以下的聲音,可以將此值改為0。而另一個選項,driver = "sdl:wav=speaker.wav:lowpass=0:wavfilter=0",一般情況下不需要修改,默認是使用SDL輸出聲音。
rtc {# On startup the parameter RAM is loaded from this file. On# shutdown it is written back.file = "pram-mac-se.dat"realtime = 1# Set the startup disk to the ROM disk. This only works with# the Macintosh Classic ROM.romdisk = 0 }一般rtc里的內容也不需要修改。如果是模擬Macintosh Classic機型,希望從ROM中的磁盤啟動時可以將romdisk = 的值改為1。
sony {# The floppy disk insertion delay. Set this to:# 0: never automatically insert the disk# 1: have the disk inserted immediately on startup.# The System will then either boot from the disk or# eject it.# x: delay insertion by x (emulated) seconds.insert_delay = 15# The insertion delay can be set for each floppy disk# drive individually.#insert_delay_1 = 1#insert_delay_2 = 15#insert_delay_3 = 15 }sony中的選項,一般只有insert_delay = 15,意思是當模擬器啟動時,在(模擬器的)幾秒鐘之后再插入軟盤鏡像。默認值是15,意思是(模擬器的)15秒后才會插入軟盤。當然,15秒后,基本上機器已經判斷為是軟驅中沒有軟盤了,會自動從硬盤啟動。如果需要開機從軟盤啟動,可以將這個值改為1。如果是0,則不會在模擬器啟動時自動插入軟盤。
scsi {device {# The SCSI IDid = 6# The drive number. This number is used to identify# a "disk" section. The number itself is meaningless.drive = 128# The vendor and product strings are returned by# the SCSI Inquiry command.#vendor = "PCE "#product = "PCEDISK "}device {id = 4drive = 129}device {id = 2drive = 130} }scsi中定義的是SCSI硬盤的選項。這里默認定義了三個SCSI設備(device),其中第一個設備的SCSI ID = 6,這是Mac OS系統中檢測的SCSI設備ID,而它對應的驅動器號為128,這個drive = 128則是模擬器配置文件中的概念,在下文的disk部分會提到。 SCSI中的設置一般默認即可,不需要手動修改。
之后的serial和video選項都不需要改。直到翻到最后的disk部分。
disk {drive = 1type = "auto"file = "disk1.img"optional = 1 }disk {drive = 2type = "auto"file = "disk2.img"optional = 1 }disk {drive = 3type = "auto"file = "disk3.img"optional = 1 }disk {drive = 128type = "auto"file = "hd1.img"optional = 0 }disk {drive = 129type = "auto"file = "hd2.img"optional = 1 }disk {drive = 130type = "auto"file = "hd3.img"optional = 1 }這里定義了6個磁盤。每一個disk{ }頂一個是一個磁盤,里面都有drive = 表示驅動器號(模擬器里的概念),type = "auto"定義類型(這個不用管),file = "disk1.img"表示鏡像文件。 前三個disk{ }都是定義軟盤的,后面三個定義的是硬盤。optional = 0或1表示該磁盤是不是可選的磁盤,目前不清楚其作用。
如果定義的磁盤中file = 的文件不存在,則會忽略這個磁盤。即使optional = 0設置后還是會忽略。
這里需要修改的是file = "",改為實際的鏡像文件名稱。還要注意,標注了drive = 128的磁盤是SCSI 6, drive = 129是SCSI 4,而drive = 130是SCSI 2,這些是在上面SCSI部分就設置了的。
這里建議把鏡像文件都放在pce的目錄中,或者指定了path的目錄中。而且文件名也建議不要包含空格、中文和特殊符號等。
啟動pce
運行bat文件即可啟動pce模擬器。
左側為控制臺(monitor)窗口,右側為模擬器窗口。bat文件內容如下所示
binpce-macplus.exe -v -c pce-mac-se.cfg -l pce-mac-se.log -r其中binpce-macplus.exe指的是運行bin目錄下的pce-macplus.exe。
-v參數指的是詳細輸出。
-c pce-mac-se.cfg指的是加載pce-mac-se.cfg配置文件。
-l pce-mac-se.log指的是日志輸出到pce-mac-se.log文件。 (此處的"-l"是小寫的"L"而不是大寫的"i",這一點需要注意。)
-r指的是啟動后開始運行模擬器,如果不指定此參數,則啟動時模擬器不會開始運行,需要在控制臺(monitor)中輸入“g”命令才會運行。
如果是Macintosh Classic機型,也可以在 -r 參數前加上 -I rtc.romdisk=1 來從ROM磁盤啟動(注意"-I"是大寫的"i"而不是小寫的"L")。
如果需要釋放鼠標指針,默認設定是按Ctrl+Alt鍵。
pce的控制臺
如果要在模擬器中更換磁盤鏡像或進行其他一些操作,需要進入控制臺。方法是在模擬器窗口中按下Ctrl+` (即“~”鍵),然后切換到旁邊的控制臺窗口。此時模擬器會暫停運行。
進入控制臺后會看到一個“ - ”的提示符,此時就可以輸入命令了。
控制臺命令可以在docmonitor.txt文件中找到。其中最常用的還是m命令(message),給模擬器發送消息,這些消息其實也可以理解成是命令,具體可以參考docmessages.txt文件。
常用的控制臺命令有
- h 獲得幫助
- g 繼續運行模擬器
- m 給模擬器發送消息(命令)
- reset 重啟模擬器
- q 退出模擬器
而如果需要切換磁盤鏡像,則需要使用 m 命令為模擬器發送消息,如:
m emu.disk.insert 1:Install-1.imgemu.disk.insert指的是插入磁盤鏡像,1指的是驅動器1(配置文件中定義的軟驅1),Install-1.img是鏡像名稱。驅動器名稱和鏡像文件名用英文冒號隔開。
其中emu.disk.insert這條消息可簡寫成disk.insert或直接寫成insert,即命令為:
m disk.insert 1:Install-1.img 或 m insert 1:Install-1.img
到這里,是不是覺得比Qemu還難用?當然,使用m emu.disk.insert切換了磁盤鏡像之后,還需要執行
m mac.insert才能讓模擬器中的System認為磁盤已經插入了。
切換完磁盤,還需要執行 g 命令,讓模擬器繼續運行。在安裝系統時經常需要切換磁盤,可以用這種方法來完成安裝。
常用的模擬器messages(消息)
- m emu.disk.insert 驅動器號:文件名 ,將鏡像文件加載到驅動器。
- m emu.disk.eject 驅動器號(多個驅動器用英文冒號隔開), 彈出驅動器。
- m emu.disk.ro 驅動器號, 將驅動器中鏡像設置為只讀。
- m emu.disk.rw 驅動器號, 取消驅動器中的只讀設置。
- m mac.insert ,模擬Mac的插入磁盤動作(如果之前有一個驅動器圖標被拖拽到了廢紙簍,則重新掛載該鏡像。)
- m emu.reset ,重啟模擬器。
小結一下換盤步驟
確實,pce對用戶一點也不友好,又是一款典型的自由軟件。(嗯,本文作者確實對某些自由軟件有偏見。)
SoftMac
SoftMac下的System 7.6.1,無法運行MacBench 4。 SoftMac下的System 7.6.1,MacBench 1中的系統信息。SoftMac是Emulators Inc出品的一款Mac模擬器。雖然功能強大,但并不穩定。SoftMac模擬的68020到68040機器也有MMU(內存管理單元),但并不支持虛擬內存。
目前SoftMac不支持64位Windows系統。有興趣的讀者可以嘗試用虛擬機裝一個32位的Windows XP再運行SoftMac,也可以在老機器上運行。
需要注意的是,SoftMac的ROM文件建議放在同一個文件夾中,而且ROM文件名不宜太長(好幾次因為太長的文件名而無法加載)。
還要注意,當模擬器卡死時,標題欄會提示Not Running。
有時候模擬器甚至會直接崩潰,然后彈出Windows錯誤報告窗口。
SoftMac和Fusion都可以在這里下載到 Emulators Online - Free Downloads
SoftMac還有個9.0 Beta4版本(此版本已經不支持Win9x了):http://www.emulators.com/beta/GEM9BETA.ZIP
SoftMac支持的ROM(頁面最下面):http://www.emulators.com/softmac.htm
SoftMac官方的Mac OS 8安裝教程:http://www.emulators.com/docs/StpByStp.htm
E-Maculation上的教程:SoftMac 2008 Setup Guide
SoftMac的可執行文件說明:softmac.exe是基本的模擬器,沒有聲音支持;softmac2.exe是針對Pentium 4優化的版本,可以模擬聲音,也可以設置更高分辨率等等;softmac9.exe是SoftMac 9的Beta 4版本。如果有的系統或者鏡像在SoftMac2.exe下運行不正常,可以用SoftMac9.exe試試,反之亦然。
Fusion PC
相對于SoftMac,Fusion PC就穩定多了。同樣也有MMU(內存管理單元)的模擬,但也不支持虛擬內存。
DOSBox下用Fusion模擬器運行System 7.6.1,顯示MacBench 4的系統信息頁面。只是Fusion只能在DOS下運行,在Windows 9x下運行時容易出問題,在Windows 2000和32位XP下則基本無法運行。
FUSION支持的ROM(頁面最下面):http://www.emulators.com/softmac.htm
同樣,附上一個E-Maculation上的教程鏈接(在DOSBox下設置):FUSION Setup Guide
關于SoftMac和Fusion的內容,有可能以后會繼續更新。
總結
以上是生活随笔為你收集整理的思科模拟器32位_三款另类的68k Mac模拟器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fpga项目开发实例_深入浅出玩转FPG
- 下一篇: jar包打补丁 jar -uf_wind