Mac上でエミュレータを落としてゲームをLuaスクリプトから操作するぞ!!

はじめに

突然ですが、先日(といっても数年前に)こんな記事が話題になりました。
「いっちょやるかぁ〜」とローカルにエミュレータをinstallし立ち上げようとしてもそれはwin用のパッケージ...
brewからでもinstallしてもdebug toolがいまいち。というよりrom実行中にluaスクリプトの読み込み/実行ができなかった。
ということでwin用のエミュレータをmac上でここ実行しluaスクリプトでスーパーマリオしちゃうところまでの覚書を残す

アジェンダ

  • wineのinstall
  • エミュレーターのinstall
  • romのinstall
  • luaのinstall
  • luaでスーパーマリオを動かす

wineのinstall

win用のappを動かすためにwineをinstallします。installはこちらから
いろんな広告の罠をかいくぐりながら目的のWine_1.8-rc4をinstallしてください。

dmgファイルがinstallできたら実行してほいほい進んでください。メニューバーにワインマークが出てきたらちゃんとinstall出来ています。

エミュレーターのinstall

ROMを読み込んでゲームを実行するのためエミュレーターのfceuxをinstallします。installはこちらから
install後にzipを開いてexeファイルを実行します。(ダブルクリックの実行でwine経由でアプリが立ち上がると思います。)

Romのinstall

ROMを調達しましょう。(NESファイルです)

luaのinstall

luaスクリプトを使いたいのでinstallします。installはbrewでやっちゃいましょう

luaでスーパーマリオを動かす

まず、読み込むluaスクリプトを作成します。以下のスクリプトはただ、マリオが右に突っ走ります。

RAM mapは以下を参考
http://datacrystal.romhacking.net/wiki/Super_Mario_Bros.:RAM_map

while true do
  joypad.set(1, {right=true})
  emu.frameadvance()
end 
  • ROMを開く
    file -> open ROM
  • lua スクリプトを読み込む
    file -> lua -> New Lua Script Window -> Run

Refer

http://qiita.com/amasaku/items/41c0c091acead78f99ed
http://www.fceux.com/web/download.html
http://gigazine.net/news/20150616-mari-o/
http://www.nakatayuki.com/archives/1062304183.html