higan bsnes 遊戲模擬器的編譯和試玩

2021-08-31 09:23:24 字數 3373 閱讀 5060

higan 是一款開源的遊戲模擬器實現,這裡直接引用英文介紹:

higan (formerly bsnes) is a nintendo multi-system emulator that began development on 2004-10-14.

it currently supports the following systems:

nintendo game boy

nintendo game boy color

nintendo game boy advance

sega master system

sega game gear

sega mega drive

nec pc engine

nec supergrafx

bandai wonderswan

bandai wonderswan color

higan focuses on accuracy and clean code above all else. it never uses speed or compatibility hacks. as a result, the minimum system requirements are higher than with other emulators.

higan可以在ubuntu下編譯執行, 下面列出詳細過程.

step 1: 獲取原始碼

本測試使用的commid id號為: 23dd28952b20de9c47dd4619214019beaad2fc93

step 2: 安裝環境依賴檔案:

sudo apt-get install build-essential libgtk2.0-dev libpulse-dev \

mesa-common-dev libgtksourceview2.0-dev libcairo2-dev libsdl1.2-dev \

libxv-dev libao-dev libopenal-dev libudev-dev

step 3:

修改兩個個檔案,否則編譯不過

modified:   higan/gnumakefile

modified:   nall/random.hpp

gnumakefile:

higan支援兩個編譯目標,預設是bsnes, bsnes支援的遊戲檔案較少,不支援gba遊戲檔案. 所以這裡改為higan目標。

random.hpp:

刪除getrandom呼叫和標頭檔案引用,否則編譯不過。

diff --git a/nall/random.hpp b/nall/random.hpp

index 1684996..7d01f0f 100644

--- a/nall/random.hpp

+++ b/nall/random.hpp

@@ -8,7 +8,7 @@

#include

#if defined(platform_linux)

-  #include

+  //#include

#elif defined(platform_windows)

#include

#endif

@@ -38,7 +38,7 @@ protected:

#if defined(platform_bsd) || defined(platform_macos)

for(uint n : range(8)) seed = seed << 32 | (uint32_t)arc4random();

#elif defined(platform_linux)

-    getrandom(&seed, 32, grnd_nonblock);

+    //getrandom(&seed, 32, grnd_nonblock);

#elif defined(platform_windows)

step4:

編譯 higan:

執行 make -c higan/

編譯 icario:

執行make -c icario/

其中icario是乙個遊戲引導程式,用來載入遊戲檔案。 higan是模擬器本身可執行程式。

step 5 安裝:

執行make -c higan/ install

make -c icario/ install

step6 :設定環境變數:

預設情況下可執行檔案安裝在~/.local/bin,需要設定path環境變數導向這個位置.

在.bashrc末尾追加一行

export path=~/.local/bin:$path

step6: 安裝bios.rom

gba遊戲需要bios.rom檔案引導. 模擬器本質上是乙個虛擬機器,bios.rom用來引導虛擬機器到正確的工作狀態。

~/.local/share/higan/systems/game boy advance.sys/  目錄

~/.local/share/higan/systems/game boy advance.sys$ ls -l

total 20

-rw-rw-r-- 1 czl czl 16384 11月  9 10:57 bios.rom

-rw-rw-r-- 1 czl czl    68 11月  9 10:56 manifest.bml

step 7:

執行 higan命令,出現模擬器 gui 介面

step 8: 載入gba遊戲:

step9: 執行

step10: 設定gba遊戲rom路徑

有關遊戲模擬器

寫在前面 最近公司在做 gba的模擬器,順便找了點資料研究了一下。提起模擬器,愛好者們一定會想到 neoragex mame,n64 等著名遊戲機的模擬器。在這些模擬器上可以模擬一些功能強大的街機板,可以讓我們在自己的 pc上免費玩街機的遊戲。想起當初數著錢買遊戲幣的日子,真是乙個天堂乙個人間啊。玩...

模擬器不全屏 Mac原生遊戲模擬器

你是否想為自己的mac電腦安裝一款蘋果原生的遊戲模擬器呢?快來試試openemu for mac吧!openemu mac版是執行在mac平台的原生遊戲模擬器。openemu的遊戲主管介面直觀友好,即使是新手也能一眼看懂。把 rom 檔案拖拽進對應的頻道就能新增遊戲,雙擊右側主介面裡的遊戲封面開始玩...

街機遊戲模擬器 mame for linux

偶爾在linux裡也是要玩下遊戲的,裝乙個街機模擬器玩玩kof也不行噢。sudo apt get install xmame 修改sudo vi etc xmame xmamerc配置檔案,下面的路徑指向你實際的rom目錄 rompath usr share games xmame roms 比如執...