用 PyPy tool chain 寫的 Game Boy 模擬器 PyGirl
說明
- 不是我寫的
- 實在太缺乏說明,唯一一條 Issue 是請作者加 README,所以我嘗試寫些筆記幫助安裝和執行
YouTube
下載
需求
資源
心得
- 開一個新資料夾 C:\temp,把下載的東西全部丟進去,總共四個資料夾
C:\temp\pypy-2.5.1-src
C:\temp\pypy-lang-gameboy-410e34ee2cff
C:\temp\rsdl-0.4.2
C:\temp\SDL-1.2.15
- 把 cartridge.py 裡面的
from pypy.rlib.streamio import open_file_as_stream
改成
from rpython.rlib.streamio import open_file_as_stream
- 把 gameboy_implementation.py 裡面的
from pypy.rpython.lltypesystem import lltype, rffi
改成
from rpython.rtyper.lltypesystem import lltype, rffi
- 把 gameboy_implementation.py 裡面的
from pypy.rlib.objectmodel import specialize
改成
from rpython.rlib.objectmodel import specialize
- 在 cmd 視窗裡執行以下四行指令
set PYTHONPATH=C:\temp\pypy-lang-gameboy-410e34ee2cff;C:\temp\pypy-2.5.1-src;C:\temp\rsdl-0.4.2
set SDL_PREFIX=C:\temp\SDL-1.2.15
cd C:\temp\pypy-lang-gameboy-410e34ee2cff\pygirl
pypy targetgbimplementation.py
- 這個模擬器執行的比我的 Atari 2600 模擬器平順很多,雖然有些地方還是有點微妙的 lag
回顧
- 我犯了一個很嚴重的錯誤,上面的執行方式只是在 PyPy 上跑,所以速度才會怪怪的。如果使用 RPython 的話,速度完全正常。所以這代表單純只是我的 Atari 2600 模擬器寫的爛
- RPython 請把最後一行指令改成底下這兩行
pypy C:\temp\pypy-2.5.1-src\rpython\translator\goal\translate.py targetgbimplementation.py
targetgbimplementation-c.exe
沒有留言:
張貼留言