動態重編譯6502
⑴ 電腦軟體的發展史
電腦軟體的發展史
第一代軟體(1946-1953)
第一代軟體是用機器語言編寫的,機器語言是內置在計算機電路中的指令,由0和1組成。
第二代軟體(1954-1964)
當硬體變得更強大時,就需要更強大的軟體工具使計算機得到更有效地使用。匯編語言向正確的方向前進了一大步,但是程序員還是必須記住很多匯編指令。
第三代軟體(1965-1970)
在這個時期,由於用集成電路取代了晶體管,處理器的運算速度得到了大幅度的提高,處理器在等待運算器准備下一個作業時,無所事事。因此需要編寫一種程序,使所有計算機資源處於計算機的控制中,這種程序就是操作系統。
第四代軟體(1971-1989)
20世紀70年代出現了結構伍辯化程序設計技術,Pascal語言和Mola-2語言都是採用結構化程序設計規則制定的,Basic這種為第三代計算機設計的語言也被升級為具有結構化的版本,此外,還出現了靈活且功能強大的C語言。
第五代軟體(1990-至今)
第五代軟體中有三個著名事件:在計算機軟體業具有主導地位的Microsoft公司的崛起、面向對象的程序設計方法的出現以及萬維網(World Wide Web)的普及。
(1)動態重編譯6502擴展閱讀
依據許可方式的不同,大致可將軟體區分為幾類:
1、專屬軟體:
此類授權通常不允許用戶隨意的復散橘橘制、研究、修改或散布該軟體。違反此類授權通常會有嚴重的法律責任。傳統的商業軟體公司會採用此類授權,例如微軟的Windows和辦公軟體。專屬軟體的源碼通常被公司視為私有財產而予以嚴密的保護。
2、自由軟體:
此類授權正好與專屬軟體相反,賦予用戶復制、研究沖團、修改和散布該軟體的權利,並提供源碼供用戶自由使用,僅給予些許的其它限制。以linux、Firefox 和OpenOffice 可做為此類軟體的代表。
3、共享軟體:
通常可免費的取得並使用其試用版,但在功能或使用期間上受到限制。開發者會鼓勵用戶付費以取得功能完整的商業版本。根據共享軟體作者的授權,用戶可以從各種渠道免費得到它的拷貝,也可以自由傳播它。
4、免費軟體:
可免費取得和轉載,但並不提供源碼,也無法修改。
5、公共軟體:
原作者已放棄權利,著作權過期,或作者已經不可考究的軟體。使用上無任何限制。
⑵ 我下載了街機游戲的文件.但不知道用什麼模擬器來運行還有怎麼運行誰告訴下
模擬器
http://www.emu618.com/tools/arcade.htm 要用訊雷下才快
MAME是Multiple Arcade Machine Emulator,也就是"多類型街機模擬器"的簡稱,是一個DOS環境下的應用程序,由MAME小組開發。這是一個仍在不斷更新、完善的模擬器,也是一個模擬街機游戲數量最多的模擬器——到目前最新的.37 beta10 版本(2K1001)已超過2000個街機游戲,許多現在市面上已經絕跡的老游戲,已經和正准備在MAME上恢復青春。MAME走的是"多機種制霸"的路線,大肆入侵原來由Callus、NeoRage、Rage、Raine、M72、Shark等等貧機種模擬器所盤踞的領域,目前,已經模擬了以Z80族、6502族、6800族等8位CPU和以68K族等16/32位CPU為主處理器的多種街機基板,其中包括了大名鼎鼎的Capcom System 1和SNK MVS(Neo Geo)這樣的王牌16位基板,使得MAME成了Callus和NeoRage之外的又一頂尖選擇。自96年誕生以來,MAME在以Nicola Salmoria為主程序員的製作小組以及許多協力人員的共同努力之下,在各方面持續吸收先進技術,不斷進行版本更新,支持新的硬體,增加被模擬游戲的數量,為MAME成為模擬器王者奠定了堅實的基礎。
MAME主要是用C語言進行編程的,使用Allegro工具開發包。它還是模擬器界少有的完全開放源代碼的模擬器之一,任何人想對MAME進行修改的話,只要同意把自己所用的代碼公開,並遵循他們制定的規則(主要是:不得用於商業牟利等等),MAME小組就允許他對MAME加以改進並自由發行。基於這種特性,其他的程序員便可以自由的利用其源代碼為藍本編寫出各種增強版本的MAME,使它成為擁有最多變種的模擬器,比較著名的有:對應各種流行OS的如MacMAME、LinuxMAME、OS2MAME、RISCMAME、BeOSMAME、WindowsCEMAME(為各種PocketPC所用)等,即便在PC平台上,也有專為AMD、 PII、486以及P54C等各種CPU進行優化的版本,以及C語言、匯編語言兩個不同編譯核心的版本;有專門模擬NeoGeo的KBMAME(For IBM)、NeoMAME(For Mac),以及一些局部增強版的MAME,如提供按鍵連發功能的EmuPlus、圖像輸出功能增強的VsyncMAME、AdvanceMAME等;還有一個利用其源碼編寫的跨越家用機、早期8-16位電腦平台的多用模擬器MESS(反正核心都是68K、Z80、6502之類CPU的模擬);值得一提的是一個用在柯達DC220/260/265/290數碼相機上的版本MAMED,雖然我沒有用過這個相機版,詳細的情況還不是太了解,但是鑒於現在的FlashMemory卡容量越來越大,我想這個版本在游戲的存儲上應該沒有什麼問題(當然暫不包括NeoGeo類的超大游戲),如果再能增添手柄之類方便於控制的外設,或許相機版MAME能夠成為目前任何一款游戲掌機的勁敵——只是價格障礙實在太大;MAME team還發行一個名為MAME32的Windows版本,具備標準的GUI界面,大大方便了眾多初級玩家,同樣的,它也擁有支持TCP/IP協議的NETMAME32、非官方版本UOMAME32、多國語言提示的MAMELang、Neogeo專用增強版本NMAME32等多個變種。我現在介紹的就是新發行的官方版本MAME和MAME32,至於其他的衍生版,相信大家看完本文之後,一定會觸類旁通的。
一、 系統需求:
自然是越高級越好了,不過至少都要P166MMX/32M/Vesa2.0顯卡,這個級別的機器可以讓你的模擬器完美的運行所有8bit主CPU的街機游戲,但是對於以68K這樣的16bitCPU為主處理器的基板的模擬就差一點了,顯示幀速率在25-50fps左右,Neogeo類的大容量的游戲速度還更慢一些。雖然這樣的幀速率較街機標准60fps還有一定差距,但是馬馬虎虎也可以接受了。以目前的狀況來說,一台300Mhz+以上的100兆外頻CPU+64M內存就基本可以滿幀跑MAME所有的游戲了,如果你想在街機顯示器上使用MAME,那麼最好選用自帶VBE3.0的顯卡,SDD是沒有用的。此外,因為內存管理的原因,在純DOS下工作時,MAME需要調用一個保護模式下的管理軟體cwsdpmi.exe共同與之工作,我們必須將這個程序放在path指定的路徑之內。
二、 MAME的獲得與安裝:
作為一個完全免費的模擬器, MAME的各個版本基本上都是在網上以Zip文件形式發行的,我們可以去到其官方站點下載回來使用。當然了,對於這樣一個著名的模擬器,國內外許多大大小小的模擬器站點也都會提供相關下載,比如Emuhq、Classicgaming、Arcade@Home等,過去國內的模擬器站點一般只提供指向國外伺服器的下載鏈接,現在也都提供本地下載了。在一陣風的bleem!、impact等等的熱潮過後,MAME這個持續更新的老牌模擬器正逐漸為本土的玩家所重視,國內許多的站點已經同步提供新版本的MAME本地下載了。一些光碟雜志也會附帶有MAME,但時效性不強。
獲得MAME的Zip文件後,用Winzip之類程序將其解壓至你所指定的目錄,安裝就算完成了,如果你使用DOS版的PKzip來解壓,請記得加上 -d 參數以確保解壓後的目錄結構的准確性。MAME主目錄下有以下幾個目錄,用於存放相關數據:
<HI>存放游戲最高分存檔;
<SNAP>存放游戲抓圖,舊版本的抓圖目錄名為<PCX>,而MAME32的相同功能目錄過去名為<IMAGES>,自.37b5起改為與DOS版相同的<SNAP>了;
<INP>存放游戲紀錄;
<CFG>存放對應每一個已經運行過的游戲的配置文件;
<STA>存放游戲狀態數據;
<MEMCARD>NeoGeo游戲專用的虛擬記憶卡;
<ROMS>顧名思義,存放各種ROM的預設目錄;
<SAMPLES>存放游戲聲音采樣數據的目錄。
<NVRAM>存放有關基板參數設定的目錄,作用和基板上用於存放調試參數的SRAM是一樣的。
<FLYERS>MAME32專用,存放游戲海報圖像文件的目錄。
<CABINETS>MAME32專用,存放街機箱體照片圖像文件的目錄。
<ICONS>MAME32專用,存放游戲小圖標的目錄。
三、 ROM鏡像文件:
MAME只是一個模擬器程序,如果要玩被模擬的街機游戲,還需要這個游戲的ROM鏡像文件。通常,街機上的游戲文件都是放在諸如mask ROM(掩膜只讀存儲器)、EPROM/EEPROM(可擦寫存儲器)等半導體存儲器集成電路晶元當中並固定在基板上的——這種高速但昂貴的存儲方式至今未有太大改變——要把這些ROM晶元直接用於PC上當然不是很方便,於是便有人以專門的讀寫器將街機基板上每一顆ROM晶元內的內容全部拷貝出來,形成一一對應的電腦文件,這就是模擬器可用的ROM鏡像文件的由來,而進行這項工作的人就是受到我們廣大模擬器愛好者所尊敬的Dumper了;現在在互聯網上傳播的ROM鏡像一般都是經過壓縮打包的Zip格式,但我們在使用的時候不必將其解開——和其他模擬器一樣,MAME很早(從V.31開始吧)就支持Zip文件的直接內存展開操作了。這樣就大大節省了我們的存儲空間。為方便管理,我們最好把這些ROM文件放入專門的目錄。
平常我們在玩MAME的時候,可能會遇上這樣的問題:舊版本MAME用得好好的ROM文件,新版本的MAME卻給出"xxxx文件校驗錯誤、xxx文件未找到"這樣的提示並拒絕執行,或者勉強執行後,部分功能卻失效了之。這是怎麼回事呢?原來,除去ROM文件真的不存在、ROM路徑指向錯誤(下文祥述)之外,ROM的版本問題就是造成這種現象的主要原因。有的游戲ROM在拷貝的時候,由於mper自身的技術水平或所用讀寫器的限制,造成了部分數據丟失、錯誤或無法完全讀出,導致ROM鏡像殘缺。之後又有人重新製作,或修正,或補充,把過去錯誤的ROM版本補完。新版的模擬器當然要支持矯正了的ROM,所以舊的ROM就不能用了,解決的辦法就是更新你的ROM鏡像——當然了,使用舊版本的MAME也可以。下載站點我個人推薦Emuviews,這個站點的ROM分門別類擺放,非常齊全,而且幾乎都是更新版的,並隨著模擬器的更新不斷補充新的ROM,還有最重要的一個優點就是:下栽速度極快。另外還有一個我強烈推薦的MAME ROM專門站:www.mame.dk,該站內建ROM搜索引擎,這個搜索引擎可比emuviews的強多了,ROM數量可以說是最齊全的,速度也不錯,另外,該站對每一個ROM的描述也是非常的完備(現在,Emuviews也提供了類似mame.dk那樣的ROM下載、評價頁面了)。此外,網上還有其他專門的補完ROM站,讀者可在文末的MAME資源中查到。
順便提一句:MAME使用的各個ROM文件都是各個游戲公司的嘔心瀝血之作,版權也是屬於各自的製作公司的,如果你沒有對應的街機基板,擁有這些ROM是非法行為,這個原則大家一定要清楚。
四、 MAME主要配置參數:
既然是DOS下的應用程序,MAME不可避免的就需要用命令行的方式來啟動各種游戲和激活各項參數,呵呵,又回到了「遙遠」的DOS時代了……OK,言歸正傳,MAME的運行命令為:mame [游戲ROM名] [參數]
[游戲ROM名]這一項要求填入MAME規定的游戲名稱,實際上就是ROM的Zip文件名。MAME對游戲名的正確輸入要求較高,所以最好不要對下載的ROM文件進行改名操作。現在的MAME包含了一個ROM名比較程序來處理ROM名問題:當你輸入的游戲名不正確時,ROMCMP.EXE會在MAME的游戲名庫中找到一個最接近你所輸入文字的游戲名並執行之。對於第一次運行的ROM,MAME會出現一個版權提示,而那些游戲模擬程度上有些問題的ROM,則每一次運行都會提示該游戲部分功能不齊全,我們看完這些提示後,按照其要求順序按"O""K"(或者按方向鍵「左」、「右」亦可)兩個健就能繼續游戲了。和NeoRage一樣,如果需要運行NeoGeo的游戲的話,還必須擁有一個名為neogeo.zip的BIOS壓縮檔,其中包含neo-geo.rom、ng-sfix.rom、ng-sm1.rom、ng-lo.rom等幾個文件,這個壓縮檔可以在我的主頁上找到。我們最好把這個zip包放在MAME的<ROMS>子目錄當中。
MAME的各項參數都放在名為mame.cfg的配置文件中,這是一個由MAME自動生成的文件,由於MAME的每一次更新都可能對這個配置文件的語句做出修改,所以建議各位玩家不要把舊版本MAME使用的mame.cfg沿用到新的版本,因為這樣可能會導致MAME工作的不正常。另外,你也可以把參數加入命令行之內,雖然兩者的作用和句法基本是一樣的,但命令行參數的優先順序別高於配置文件,也就是說,對同樣的一個參數,MAME將執行命令行設定並忽略配置文件內的相同選項設定。下面就介紹一下MAME的幾個主要的配置命令:
[directory]欄,本欄目定義路徑,需要修改的只有一項:
rompath,預設配置是MAME所在路徑及其下的ROMS子目錄,當你的ROM還存在於另外的目錄時,可以採用追加的方式,例如:
rompath = .;ROMS;f:\download\emu\roms;f:\neogeo,追加的目錄之間用分號隔開即可,這樣MAME在執行時就會在指定的四個路徑范圍內搜尋ROM。
[config]欄,本欄是模擬器執行參數設定欄,主要參數解釋如下:
tweak = no 關閉非標准VGA模式,此為預設設定。MAME支持256x224、288x224、256x256、304x224、384x224之類的街機原始解析度,這些都是與電腦標准VGA模式不同的模式,如果你的顯示卡、顯示器支持這些tweaked解析度,可以將此選項設為yes,顯示速度會比VESA模式快一些。
scanlines = yes 打開隔行顯示模式;由於街機顯示解析度一般都比較低,打開這個類似於兩行畫面水平線之間插入一條黑線效果的選項,會讓你覺得PC上顯示的圖像不是太粗糙到難以接受,同時也有一種街機顯示器的感覺;基本上,這種隔行顯示模式是每一個低解析度游戲機(小於640x480)模擬器的預設設定,其中包括了絕大部分2D街機模擬器、FC模擬器、SFC模擬器、MD模擬器、PCE模擬器等,不過某些模擬器的隔行顯示圖像的場頻高達100Hz以上,比如Rage、NESticle(256x256模式),如果這個數值超過了你的顯示器的場頻允許范圍,那麼就不能實現隔行顯示,而會變成高亮度的、看起來象是被壓縮的畫面,甚至花屏、黑屏。如果出現這種情況的話,為了確保你的顯示器的安全,最好是把隔行顯示模式關閉。
stretch = yes 打開像素延展選項,使得顯示的畫面盡可能的大,會降低游戲速度,除非你的機器配置過低,否則不要關閉之;
vesamode = vesa3 選擇VESA畫面優化模式,由vesa1、vesa2b、vesa2l、vesa3等4 項可選,該用哪一項取決於你的顯卡自帶的VBE版本,對於新的顯示卡,比如Voodoo3、TNT2之類,可以選擇vesa3,若你的顯卡比較老(9750、765),則應該選擇vesa2b/vesa2l,超老的8900、3105就只能選vesa1了,實在不行的話還得需要SDD來驅動。
resolution = auto由模擬器自動選擇顯示解析度;我們可以把auto改為800x600或者1024x768來獲得接近滿屏的畫面,不過由於大部分街機游戲顯示解析度本來就很低,拉大之後你可能會覺得畫面更粗糙了;另外,更改成上述數字後,縱版游戲和解析度在300x200以上的橫版游戲的畫面反而變小了。
depth = 16 選擇16位顯示顏色深度,某些游戲需要16位高彩色才能正確顯示,比如NeoGeo類、Cave類等;有必要時可以把它降到8位色以提高游戲速度。
gamma = 1.0000000 設置伽馬系數,數字越大畫面越亮,可用熱鍵控制。
frameskip = auto 自動跳幀調節,適用於大多數機器,在低配置的機器上,若你覺得游戲太慢,可以在游戲中按F9鍵來加大跳幀數以取得較滿意的游戲速度。
註:所謂的跳幀(frame skip),就是減少單位時間內顯示的幀畫面,比如60fps(frames per second,意每秒鍾顯示連續的60幀靜止畫面)的畫面只顯示其中的一部分,也就是50fps、40fps甚至30fps的效果,這固然對提高顯示速度有益,但同時也會造成角色動作不連貫、畫面跳躍式進行的惡果,幾乎每一種模擬器都有這個可調節的選項。
soundcard = 1 音效卡選擇,數字表示:0-無聲,1-聲霸卡及兼容,3-Pro Audio Spetrum, 4-UltraSound Max,5-UltraSound,6-Windows Sound System,7-Ensoniq Soundscape,一般選1或6就行了,除非你用的是表列中別的音效卡。使用創新SB64PCI、SB128PCI 和 Ensoniq Soundscape PCI音效卡的用戶最好選 7。預設值為-1,即在初始化程序時列出音效卡類型供手動選擇。如果遇到音效卡實在無法通過MAME的辨認而又想玩游戲,只能選用0了。
ym3812opl = no 禁用SoundBlaster的OPL晶元來模擬YM3812 FM音源,雖然這兩者硬體100%兼容,模擬執行速度也加快,但打開這個選項會使音量控制失效。
samplerate = 44100 聲音采樣頻率選擇,可選11025、22050、44100三項,單位hz,數字越大,聲音還原越好,游戲速度也越慢,命令行簡寫為:sr。
samplebits = 16 聲音采樣深度,可選8、16位,效果同上一項,命令行簡寫為:sb。新版本的MAME去掉了這個選項,改為自動識別了。
stereo = yes 打開立體聲選擇,會降低游戲速度,本項自動對單聲道游戲無效。
volume = 0 音量衰減控制,可選數字是負值,單位是分貝,例如"volume -3"意為游戲音量降低3分貝,可在游戲時用鍵"~"直接調節,祥見下文第五部分。
mouse = yes 啟用滑鼠,用於光槍游戲的準星控制及"怒"類游戲的轉向控制。
ror/rol 屏幕右/左轉90度顯示,可使縱版游戲滿屏顯示
joystick = name 游戲控制器選擇,預設為:none 鍵盤控制,MAME支持的游戲控制器很多, name是它們的名字,分別為:
auto:自動檢測,只能測出標准2鍵、Creative眼鏡蛇、gamepad pro等少數種類的手柄,還是不要用這個選項的好;
standard:標准2鍵模擬式手柄 @1P
al:雙標准2鍵模擬式手柄 @2P
4button:標准4鍵模擬式手柄 @1P
6button:標准6鍵模擬式手柄 @1P
8button:標准8鍵模擬式手柄 @1P
fspro:CH flightstick PRO飛行搖桿 @1P
wingex:Wingman Extreme 飛行搖桿 @1P
wingwarrior:Wingman Warrior 手柄 @1P
sidewinder:微軟響尾蛇手柄 @4P
gamepadpro:Gravis gamepad pro手柄
grip:Gravis GrIP手柄
grip4:限定4軸向的Gravis GrIP手柄
/* 以下為並行列印口手柄,均易於自製,
sneslpt1:接在第一列印口的超級任天堂手柄 @4P
sneslpt2:接在第二列印口的超級任天堂手柄 @4P
sneslpt3:接在第三列印口的超級任天堂手柄 @4P
psxlpt1:接在第一列印口的SONY PS手柄 @4P
psxlpt2:接在第二列印口的SONY PS手柄 @4P
psxlpt3:接在第三列印口的SONY PS手柄 @4P
n64lpt1:接在第一列印口的任天堂64手柄 @2P
n64lpt2:接在第二列印口的任天堂64手柄 @2P
n64lpt3:接在第三列印口的任天堂64手柄 @2P
註:1、模擬式手柄初次使用或者出現方向混亂故障時可以在游戲中按Tab進入設定菜單調用Calibrate joystick功能進行校正,數碼式手柄則不會存在這種問題。
2、@1P表示只能單打,@2P表示可以雙打,@4P表示可以四打,未標注則為不祥。超任和PS的手柄理論上能達到5P的效果(我只試到了4P,未再繼續,呵呵)。
3、不直接支持創新公司的Cobra手柄(工作於數碼方式時)和並口土星手柄;MAME內建有對IF-SEGA的支持,這是一種專用的擴展卡,可以把世嘉土星手柄接到PC,過去處於起步時期的第一批3D圖形卡就把它跟著PC版的VR戰士、裝甲飛龍等游戲軟體一起捆綁銷售,現在已經看不到了。
4、PS al shock手柄的兩個模擬小搖桿亦可當作按鍵使用,左、右搖桿按下時分別被識別為L3和R3(用處不大)。
5、用於命令行時,語句可簡化為 joy。
6、使用並口手柄對游戲速度降低影響較大。大體上各種手柄的CPU佔用率由高到低依次為:PS、SFC、SS/MD、標准模擬式。
7、不支持異類手柄混用,但是可以手柄、鍵盤同時使用。
hotrod = no 鍵盤介面搖桿支持(就是在Emuviews主頁上打廣告那個雙人搖桿)設定,因為我們用不上,所以選no。
cheat = no 作弊功能開關,可以改成yes以打開它,最好配合作弊數據使用。
debug = no 除錯、調試模式開關,高級用戶選用,這個功能只有在源程序中打開debug選項才有用。
monitor = standard 設定顯示輸出類型,對於PC用戶選擇standard,另外還可以選擇以下設備:
ntsc:輸出至NTSC電視監視器
pal:輸出至PAL電視監視器
arcade:輸出至街機監視器
均需要特殊方式轉換信號及相關硬體支持,有興趣可參看下文第九節。
至於其他的欄目和選項,只要保留其預設設定即可。如果上面各項參數用於命令行,請在其之前加一個"-"號,同時可以把"="去掉,例如:
mame ddragon2 -joy psxlpt1 -soundcard 6 -resolution 800x600
由於MAME的使用顯得繁瑣了一些,也有不少方便對DOS比較陌生的玩家的MAME前端(front end)程序被開發出來,這些程序具備親和性較高的GUI圖形界面,配置菜單里基本上囊括了MAME的各個選項,一般玩家通過這些前端程序都能很方便的玩轉MAME了。由於我使用過的前端程序並不多(只有ArcadeOS一個,還是因為其無可替代的特殊功能採用的),所以對他們也不是很熟悉,傳說中arcade@home是比較好用的,大家可以去它的主頁http://arcadeathome.efront.com下載?..∮肕AME32好了。
五、 MAME32主要配置參數:
MAME32是使用DirectX SDK的WIN32應用程序,在使用上較MAME方便許多,另外還增加了一些MAME所不曾有的功能,但是在同等配置的機器上,MAME32的運行速度會比MAME慢一些,這種差別在低配置的機器上比較明顯,甚至會影響到游戲運行的流暢性。在軟體環境設置方面,我們通常需要更改的部分只有:
1、ROM路徑:進入options/directoies,點擊Insert按鍵,在跳出的對話框中選中你的ROM目錄,如有多個目錄,重復Insert,選好目錄後點OK退出到主界面,按F5鍵刷新一下,MAME就會在你所指定的所有ROM目錄內進行自動搜索,並在主窗口左方目錄樹available子項中顯示出可用的游戲了,雙擊該游戲名即可執行之,但若游戲名稱前的小圖標是一個紅叉的話,說明該游戲無法正常模擬。如果在你的ROM目錄當中增加入了新的ROM,你也需要刷新一下,否則不能運行你新加入的ROM文件;
2、使用手柄:進入options/default options/controllers菜單,復選Use joystick選項即可,MAME32支持所有兼容DirectInput界面的手柄。
3、畫面設定:預設配置下,MAME32使用的是和MAME同樣的全屏隔行顯示模式,若你想以窗口模式執行游戲,可以進入options/default options/display子菜單,將Full screen display選項禁止,再進入位於同層的Advanced菜單,禁止現存的scanlines選項,這樣就能得到較好的窗口顯示模式。在窗口模式下,由於使用到了Windows的相關優化效果,游戲畫面顯得比較柔和,不過游戲速度慢了一些……
4、優化設定:聲音:options/default options/sound,sound system選MIDAS, Sample rate選44100,Sample bit選16,FM synthesis打開(視你的音效卡效果而定)。圖像:options/default options/display,colors選16bit(與游戲本身的原始畫面色深有關),在全屏模式下工作時將Triple buffer打開。其他:options/default options/miscellaneous,打開Enable game cheats,並根據你的CPU特性決定是否將Disable MMX選項保留。
5、關於抓圖:MAME支持的游戲太多了,但並不每一個游戲都值得玩的,你是不是在下載某一個游戲之前想知道該游戲的大致內容呢?又或者,你想知道某一僅知其形不知其名的老游戲是否被MAME模擬了呢?這好辦,只要你找到MAME的游戲抓圖,把它們全部壓縮成一個名為snap.zip的文件,放入MAME32下的<snap>(MAME32.37b5起)子目錄當中,然後執行MAME32,當你用滑鼠單擊某一個游戲時,相關的抓圖就會顯示在最右邊的窗口中,這樣你尋找游戲不就做到有的放矢了嗎?MAME的抓圖文件可以到我的主頁去下載,EmuViews的ROM下載也配有抓圖,點擊每一個ROM前面的磁碟形圖標就可以查看。
6、 游戲版本:許多游戲都有美版、日版、全球版以及2P版、4P版、6P版之分,而某些ROM是多版合一的Merged Romset,如本站提供的《黑龍》,因為ROM名可以是統一的,所以在DOS下看不出來,而MAME32有顯示游戲的詳細信息的功能,其中就包括了版本號,這樣它可就幫了那些喜歡玩某一版本的游戲的玩家了。一般而言,除了文字顯示上的差異外,同一游戲的日版比美版難度更大一些。
7、聯網對戰:MAME32的源程序已經內建了通過TCP/IP規則來連線對戰的功能,但是可能因為這個功能比較簡陋,尚不能滿足MAME小組預期的要求,所以在官方版本中這個功能都未曾激活,但是有不少MAME32的非官方版本已經提供了這個功能。鑒於網路對戰越來越受大家的歡迎,我就簡單介紹一下如何使用:在支持TCP/IP協議的網路中找幾台機器,其中一台作為伺服器,首先運行windows系統自帶的IPCONFIG.EXE程序,找出本機的IP地址,並告訴想要聯機的朋友。接著運行MAME32,從File/Run network game...進入網路設定菜單,選中Server mode,改好你的Player's Network name(不改也行,就用預設的「MAME玩家」好了),在Number of players項中決定聯網的玩家數量,至於所有連線的玩家能否一起玩就要看所用的游戲了,然後點擊OK,等待其他玩家加入吧。伺服器設立好以後,在客戶機端也運行與伺服器相同版本的MAME32,同樣通過File/Run network game...,但是這次需要選擇Client mode,並在Network configration項中填入伺服器的IP地址,點擊OK按鈕就可以連上伺服器了,連入後在出現的對話窗口下方是一個聊天器,通過它可以跟連在線上的所有玩家通話。當所有玩家都已經正確連入後,就可以有伺服器端來決定玩什麼游戲了——客戶端只能提建議,呵呵。能夠聯網運行的游戲都會顯示在連通窗口的左方——不是所有的游戲都能用,比如KOF系列就不行。進入聯機游戲後,玩家要注意控制方面的問題:MAME32在聯機模式下,對於伺服器端和客戶端的控制設備ID未做修正(連通窗口中的Controls功能好像並無效果),如果各方都使用1P控制方式的話,那麼都在控制1P的活動,所以必須有一方改用2P、3P、4P……控制方式才能協同作戰,這一點比Callus95就差多了。在操作方法上,無論區域網還是互聯網都是一樣的,不過以我國目前的線路狀況來看,通過互聯網對戰還不是很現實……
MAME32的配置設定是存在注冊表當中的,當你的MAME32版本升級以後,第一次執行的時候程序會詢問是否以新版本的配置參數覆蓋原來的設定。和對mame.cfg的處理方法一樣:出於對模擬器正常運行的考慮,建議大家還是回答「Yes」——盡管這樣需要重新設定路徑、控制設備、輸入設備等等選項。
六、 MAME/MAME32熱鍵操作:
3/4:1P/2P投幣鍵;
1/2:1P/2P開始鍵,這樣的設定已經成為了除Callus/Impact外所有街機模擬器的標准,如果是4打類游戲,則1P/2P/3P/4P的投幣鍵改為5/6/7/8,按1/2/3/4或各人的開火鍵開始游戲——MAME自從.36RC1開始已經將這種4打類投幣開始鍵位作為初始設定。
P:游戲暫停;
Shift+P:游戲暫停,同時顯示下一幀;
F3:復位鍵;
F4:顯示游戲所用調色板,再按一次恢復游戲;
F9:動態跳幀調節鍵,跳幀數在auto、0、1、2、3……11之間循環;
F10:游戲速度調節,偶爾用來玩一下"超速版"游戲也不錯;
F11:F9、F10功能的狀態顯示開關,數據顯示在畫面右上角;
F12:抓圖,游戲抓圖以PNG格式儲存在子目錄當中;
~:控制台鍵(像Quakez一樣,呵呵),呼出菜單後,↑、↓鍵選擇功能,←、→鍵調節大小。可供調節的選項有:總音量,DAC數碼音效音量、FM音源音量、畫面Gamma和亮度等,也可以用手柄方向鍵來操作;
TAB:游戲配置鍵,在呼出的菜單中.
⑶ 操作系統的主要部件有哪些
"操作系統是控制其他程序運行,管理系統資源並為用戶提供操作界面的系統軟體的集合。操作系統(英語;Operating
System,簡稱OS)是一管理電腦硬體與軟體資源的程序,同時也是計算機系統的內核與基石。操作系統身負諸如管理與配置內存、決定系統資源供需的優先
次序、控制輸入與輸出設備、操作網路與管理文件系統等基本事務。操作系統是管理計算機系統的全部硬體資源包括軟體資源及數據資源;控製程序運行;改善人機
界面;為其它應用軟體提供支持等,使計算機系統所有資源最大限度地發揮作用,為用戶提供方便的、有效的、友善的服務界面。操作系統是一個龐大的管理控製程
序,大致包括5個方面的管理功能:進程與處理機管理、作業管理、存儲管理、設備管理、文件管理。目前微機上常見的操作系統有DOS、OS/2、UNIX、
XENIX、LINUX、Windows、Netware等。但所有的操作系統具有並發性、共享性、虛擬性和不確定性四個基本特徵。操作系統的型態非常多樣,不同機器安裝的OS可從簡單到復雜,可從手機的嵌入式系統到超級電腦的大型操作系統。許多操作系統製造者對OS的定義也不大一致,例如有些OS集成了圖形化使用者界面,而有些OS僅使用文本介面,而將圖形界面視為一種非必要的應用程序。操作系統理論在計算機科學中為歷史悠久而又活躍的分支,而操作系統的設計與實現則是軟體工業的基礎與內核。[編輯本段]分類目前的操作系統種類繁多,很難用單一標准統一分類。根據應用領域來劃分,可分為桌面操作系統、伺服器操作系統、主機操作系統、嵌入式操作系統;根據所支持的用戶數目,可分為單用戶(MSDOS、OS/2)、多用戶系統(UNIX、MVS、Windows);根據硬體結構,可分為網路操作系統(Netware、Windows NT、OS/2 warp)、分布式系統(Amoeba)、多媒體系統(Amiga);根據操作系統的使用環境和對作業處理方式來考慮,可分為批處理系統(MVX、DOS/VSE)、分時系統( Linux、UNIX、XENIX、Mac OS)、實時系統(iEMX、VRTX、RTOS,RT WINDOWS);
根據操作系統的技術復雜程度,可分為簡單操作系統、智能操作系統(見智能軟體)。所謂的簡單操作系統,指的是計算機初期所配置的操作系統,如IBM公司
的磁碟操作系統DOS/360和微型計算機的操作系統CP/M等。這類操作系統的功能主要是操作命令的執行,文件服務,支持高級程序設計語言編譯程序和控
制外部設備等。下面介紹一下操作系統的五大類型:批處理操作系統、分時操作系統、實時操作系統、網路操作系統、分布式操作系統。 1. 批處理操作系統
批處理(Batch
Processing)操作系統的工作方式是:用戶將作業交給系統操作員,系統操作員將許多用戶的作業組成一批作業,之後輸入到計算機中,在系統中形成一
個自動轉接的連續的作業流,然後啟動操作系統,系統自動、依次執行每個作業。最後由操作員將作業結果交給用戶。 批處理操作系統的特點是:多道和成批處理。2.分時操作系統
分時(Time
Sharing)操作系統的工作方式是:一台主機連接了若干個終端,每個終端有一個用戶在使用。用戶互動式地向系統提出命令請求,系統接受每個用戶的命
令,採用時間片輪轉方式處理服務請求,並通過交互方式在終端上向用戶顯示結果。用戶根據上步結果發出下道命。分時操作系統將CPU的時間劃分成若干個片
段,稱為時間片。操作系統以時間片為單位,輪流為每個終端用戶服務。每個用戶輪流使用一個時間片而使每個用戶並不感到有別的用戶存在。分時系統具有多路
性、交互性、「獨占」性和及時性的特徵。多路性指,伺時有多個用戶使用一台計算機,宏觀上看是多個人同時使用一個CPU,微觀上是多個人在不同時刻輪流使
用CPU。交互性是指,用戶根據系統響應結果進一步提出新請求(用戶直接干預每一步)。「獨占」性是指,用戶感覺不到計算機為其他人服務,就像整個系統為
他所獨占。及時性指,系統對用戶提出的請求及時響應。它支持位於不同終端的多個用戶同時使用一台計算機,彼此獨立互不幹擾,用戶感到好像一台計算機全為他
所用。常見的通用操作系統是分時系統與批處理系統的結合。其原則是:分時優先,批處理在後。「前台」響應需頻繁交互的作業,如終端的要求; 「後台」處理時間性要求不強的作業。3.實時操作系統
實時操作系統(RealTimeOperatingSystem,RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間內完成對該事件的處
理,並控制所有實時設備和實時任務協調一致地工作的操作系統。實時操作系統要追求的目標是:對外部請求在嚴格時間范圍內做出反應,有高可靠性和完整性。其
主要特點是資源的分配和調度首先要考慮實時性然後才是效率。此外,實時操作系統應有較強的容錯能力。4.網路操作系統 網路操作
系統是基於計算機網路的,是在各種計算機操作系統上按網路體系結構協議標准開發的軟體,包括網路管理、通信、安全、資源共享和各種網路應用。其目標是相互
通信及資源共享。在其支持下,網路中的各台計算機能互相通信和共享資源。其主要特點是與網路的硬體相結合來完成網路的通信任務。5.分布式操作系統
它是為分布計算系統配置的操作系統。大量的計算機通過網路被連結在一起,可以獲得極高的運算能力及廣泛的數據共享。這種系統被稱作分布式系統
(DistributedSystem)
。它在資源管理,通信控制和操作系統的結構等方面都與其他操作系統有較大的區別。由於分布計算機系統的資源分布於系統的不同計算機上,操作系統對用戶的資
源需求不能像一般的操作系統那樣等待有資源時直接分配的簡單做法而是要在系統的各台計算機上搜索,找到所需資源後才可進行分配。對於有些資源,如具有多個
副本的文件,還必須考慮一致性。所謂一致性是指若干個用戶對同一個文件所同時讀出的數據是一致的。為了保證一致性,操作系統須控制文件的讀、寫、操作,使
得多個用戶可同時讀一個文件,而任一時刻最多隻能有一個用戶在修改文件。分布操作系統的通信功能類似於網路操作系統。由於分布計算機系統不像網路分布得很
廣,同時分布操作系統還要支持並行處理,因此它提供的通信機制和網路操作系統提供的有所不同,它要求通信速度高。分布操作系統的結構也不同於其他操作系
統,它分布於系統的各台計算機上,能並行地處理用戶的各種需求,有較強的容錯能力。[編輯本段]功能操作系統的主要功能是資源管理,
程序控制和人機交互等。計算機系統的資源可分為設備資源和信息資源兩大類。設備資源指的是組成計算機的硬體設備,如中央處理器,主存儲器,磁碟存儲器,打
印機,磁帶存儲器,顯示器,鍵盤輸入設備和滑鼠等。信息資源指的是存放於計算機內的各種數據,如文件,程序庫,知識庫,系統軟體和應用軟體等。資源管理
系統的設備資源和信息資源都是操作系統根據用戶需求按一定的策略來進行分配和調度的。操作系統的存儲管理就負責把內存單元分配給需要內存的程序以便讓它
執行,在程序執行結束後將它佔用的內存單元收回以便再使用。對於提供虛擬存儲的計算機系統,操作系統還要與硬體配合做好頁面調度工作,根據執行程序的要求
分配頁面,在執行中將頁面調入和調出內存以及回收頁面等。處理器管理或稱處理器調度,是操作系統資源管理功能的另一個重要內容。在一個允許多
道程序同時執行的系統里,操作系統會根據一定的策略將處理器交替地分配給系統內等待運行的程序。一道等待運行的程序只有在獲得了處理器後才能運行。一道程
序在運行中若遇到某個事件,例如啟動外部設備而暫時不能繼續運行下去,或一個外部事件的發生等等,操作系統就要來處理相應的事件,然後將處理器重新分配。
操作系統的設備管理功能主要是分配和回收外部設備以及控制外部設備按用戶程序的要求進行操作等。對於非存儲型外部設備,如列印機、顯示器等,它們可以直
接作為一個設備分配給一個用戶程序,在使用完畢後回收以便給另一個需求的用戶使用。對於存儲型的外部設備,如磁碟、磁帶等,則是提供存儲空間給用戶,用來
存放文件和數據。存儲性外部設備的管理與信息管理是密切結合的。信息管理是操作系統的一個重要的功能,主要是向用戶提供一個文件系統。一般
說,一個文件系統向用戶提供創建文件,撤銷文件,讀寫文件,打開和關閉文件等功能。有了文件系統後,用戶可按文件名存取數據而無需知道這些數據存放在哪
里。這種做法不僅便於用戶使用而且還有利於用戶共享公共數據。此外,由於文件建立時允許創建者規定使用許可權,這就可以保證數據的安全性。程序控制
一個用戶程序的執行自始至終是在操作系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序後就將該程序連同對它執行的要求輸
入到計算機內,操作系統就根據要求控制這個用戶程序的執行直到結束。操作系統控制用戶的執行主要有以下一些內容:調入相應的編譯程序,將用某種程序設計語
言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啟動,按用戶指定的要求處理執行中出現的各種事件以及與操作員聯系請示有
關意外事件的處理等。人機交互操作系統的人機交互功能是決定計算機系統「友善性」的一個重要因素。人機交互功能主要靠可輸入輸出
的外部設備和相應的軟體來完成。可供人機交互使用的設備主要有鍵盤顯示、滑鼠、各種模式識別設備等。與這些設備相應的軟體就是操作系統提供人機交互功能的
部分。人機交互部分的主要作用是控制有關設備的運行和理解並執行通過人機交互設備傳來的有關的各種命令和要求。早期的人機交互設施是鍵盤顯示器。操作員通
過鍵盤打入命令,操作系統接到命令後立即執行並將結果通過顯示器顯示。打入的命令可以有不同方式,但每一條命令的解釋是清楚的,唯一的。隨著計算機技術的
發展,操作命令也越來越多,功能也越來越強。隨著模式識別,如語音識別、漢字識別等輸入設備的發展,操作員和計算機在類似於自然語言或受限制的自然語言這
一級上進行交互成為可能。此外,通過圖形進行人機交互也吸引著人們去進行研究。這些人機交互可稱為智能化的人機交互。這方面的研究工作正在積極開展。[編輯本段]操作系統大全早期操作系統(專利保護)TRS-DOS,ROM OS's TI99-4 Commodore PET,64,和 VIC-20, 第一套IBM-PC 蘋果電腦 Sinclair Micro和QnX等 非Unix商業操作系統CPM操作系統 MP/M-80 UCSD P-system Mini-FLEX SSB-DOS CP/M-86 DR-DOS FreeDOS MS-DOS PC-DOS Mach 由卡納尼基梅隆大學研究 L4微內核 第二代微內核 CHORUS Choices Multics OS-9 NSJ Netware:一種網路伺服器操作系統 Unix及類似系統A/UX(Apple UNIX) Unix 微軟Xenix ChorusOS Cromix UNIflex OS-9 IBM的AIX BSD FreeBSD NetBSD OpenBSD DragonFly BSD PC-BSD Digital UNIX,即之後康柏Tru64 DNIX HP的HP-UX GNU/Hurd SGI的IRIX Inferno Linux(或稱GNU/Linux) Mac OS X MenuetOS Minix OSF/1 Plan9 SCO的SCO UNIX Sun的SunOS,即之後的Solaris System V Ultrix UniCOS 麒麟操作系統(Kylin),由國防科技大學、中軟公司、聯想公司、浪潮公司和民族恆星公司五家單位合作研製的伺服器操作系統 OS/390 z/OS Syllable 其他AcornArthur ARX RISC OS RISCiX AmigaAmigaOS Atari STTOS MultiTOS MiNT 蘋果電腦(Apple/Macintosh)Apple DOS ProDOS Mac OS Mac OS X Mac OS X 10.4 TigerMac OS X 10.5 LeopardMac OS X 10.6 Snow Leopard (Alpha)pink OS BeOS A/UX BeBeOS BeIA Digital/康柏(Compaq)AIS OS-8 RSTS/E RSX-11 RT-11 TOPS-10 TOPS-20 VMS(後更名為OpenVMS) IBMOS/2 AIX OS/400 OS/390 VM/CMS DOS/VSE VSE/SP VSE/ESA OS/360 MFT MVT SVS MVS TPF ALCS z/OS PC-DOS pink OS 微軟(Microsoft)MS-DOS Xenix Microsoft Bob 基於MS-DOS操作系統的Windows Windows 1.0 Windows 2.0 Windows 3.1 Windows 95 Windows 98 Windows ME Windows NT Windows NT 3.5 Windows NT 4 Windows 2000 Windows XP Windows XP SP1Windows XP SP2Windows XP SP3Windows XP Media Center Edition Windows XP Home Edition Windows XP Tablet PC EditionWindows XP Professional Windows XP Professional x64 Edition Windows Server 2003 Windows Server 2003 64-bit Edition Windows Vista Windows Vista SP1Windows Vista Home Basic Windows Vista Home Premium Windows Vista Business Windows Vista Ultimate Windows Vista Enterprise Windows Vista Starter Windows Server 2008Windows Server ""Longhorn"" Web x86Windows Server ""Longhorn"" Web x64Windows Server ""Longhorn"" Standard x86Windows Server ""Longhorn"" Standard x64Windows Server ""Longhorn"" Enterprise x86Windows Server ""Longhorn"" Enterprise x64Windows Server ""Longhorn"" Datacenter x86Windows Server ""Longhorn"" Datacenter x64Windows 7Windows Server 2008NovellNetWare Unixware SUSE Linux NeXTNEXTSTEP(即之後的Mac OS X) Plan 9 Inferno Prime ComputerPrimos 西門子BS2000 - 用於西門子公司的大型主機。 SINIX(也稱Reliant UNIX) - 用於西門子公司的UNIX電腦系統。 個人電子助理(PDA)操作系統Palm OS Pocket PC EPOC Microsoft Windows CE Linux 智能手機操作系統Windows Mobile系列 Embedded Linux由Montavista創造,在Motorola's A760,E680等機型上使用 Mobilinux由Montavista創造 Symbian OS系列 Android(Google手機操作系統)其他操作系統動態可擴展操作系統 MIT的Exo Kernel 華盛頓大學的 SPIN 哈佛大學的 VINO illinois大學的Choices ReactOS[編輯本段]歷史
各類平台上操作系統的功能演化綜觀電腦之歷史,操作系統與電腦硬體的發展息息相關。操作系統之本意原為提供簡單的工作排序能力,後為輔助更新更復雜的硬
件設施而漸漸演化。從最早的批次模式開始,分時機制也隨之出現,在多處理器時代來臨時,操作系統也隨之添加多處理器協調功能,甚至是分布式系統的協調功
能。其他方面的演變也類似於此。另一方面,在個人電腦上,個人電腦之操作系統因襲大型電腦的成長之路,在硬體越來越復雜、強大時,也逐步實踐以往只有大型
電腦才有的功能。總而言之,操作系統的歷史就是一部解決電腦系統需求與問題的歷史。1980年代前Maurice Vincent Wilkes,微程序的創建者
IBM
System/360,大型主機的經典之作第一部電腦並沒有操作系統。這是由於早期電腦的建立方式(如同建造機械算盤)與效能不足以執行如此程序。但在
1947年發明了晶體管,以及莫里斯·威爾克斯(Maurice V.
Wilkes)發明的微程序方法,使得電腦不再是機械設備,而是電子產品。系統管理工具以及簡化硬體操作流程的程序很快就出現了,且成為操作系統的濫觴。
到了1960年代早期,商用電腦製造商製造了批次處理系統,此系統可將工作的建置、調度以及執行序列化。此時,廠商為每一台不同型號的電腦創造不同的操作
系統,因此為某電腦而寫的程序無法移植到其他電腦上執行,即使是同型號的電腦也不行。到了1964年,IBM
System/360推出了一系列用途與價位都不同的大型電腦,而它們都共享代號為OS/360的操作系統(而非每種產品都用量身訂做的操作系統)。讓單
一操作系統適用於整個系列的產品是System/360成功的關鍵,且實際上IBM目前的大型系統便是此系統的後裔;為System/360所寫的應用程
序依然可以在現代的IBM機器上執行!OS/360也包含另一個優點:永久貯存設備—硬碟驅動器的面世(IBM稱為DASD(Direct
access storage
device))。另一個關鍵是分時概念的建立:將大型電腦珍貴的時間資源適當分配到所有使用者身上。分時也讓使用者有獨占整部機器的感覺;而
Multics的分時系統是此時眾多新操作系統中實踐此觀念最成功的。1963年,奇異公司與貝爾實驗室合作以PL/I語言建立的
Multics[1],是激發1970年代眾多操作系統建立的靈感來源,尤其是由AT&T貝爾實驗室的丹尼斯·里奇與肯·湯普遜所建立的Unix
系統,為了實踐平台移植能力,此操作系統在1969年由C語言重寫;另一個廣為市場採用的小型電腦操作系統是VMS。80年代第
一代微型計算機並不像大型電腦或小型電腦,沒有裝設操作系統的需求或能力;它們只需要最基本的操作系統,通常這種操作系統都是從ROM讀取的,此種程序被
稱為監視程序(Monitor)。1980年代,家用電腦開始普及。通常此時的電腦擁有8-bit處理器加上64KB內存、屏幕、鍵盤以及低音質喇叭。而
80年代早期最著名的套裝電腦為使用微處理器6510(6502晶元特別版)的Commodore
C64。此電腦沒有操作系統,而是以一8KB只讀內存BIOS初始化彩色屏幕、鍵盤以及軟碟機和列印機。它可用8KB只讀內存BASIC語言來直接操作
BIOS,並依此撰寫程序,大部分是游戲。此BASIC語言的解釋器勉強可算是此電腦的操作系統,當然就沒有內核或軟硬體保護機制了。此電腦上的游戲大多
跳過BIOS層次,直接控制硬體。