スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Raspberry Pi で X68000 エミュレータ PX68K を動かしてみる(その1)

そんな訳で、ちょっと流行遅れな気がしないでもないですが Raspberry Pi なるものを買ってみました。

せっかくなので2個買ってみたり。
ラズベリーパイが二つでラズベリいぃパイパ...失礼しました。
DSC_0188.jpg

一つは USB DAC をつないで Music Player に、一つはエミュレータ動かしたりして遊びたいなと。
このピンにファミコンのカセットを繋げて遊べるようになったりしないかしらん、と夢はひろがりんぐです。

で、まずはせっかくなので X68K エミュの PX68K をこの Raspberry Pi で動かしてみようかなと。
まずは SD カードに Raspberry Pi で動く Linux の Raspbian というのを転送。結構時間かかるな。
2013-09-25 版です。随分新しいですね。

転送が終わったので、適当にキーボードやらネットワークケーブルやらを探してきて接続。
キーボードはとりあえず Express サーバのを使う。でかい。
机の上は普段から整理整頓が必要ですな。何かをしようとすると、まず片付けをしないといけない。
DSC_0191.jpg

それでは、さっきの SD カードを...あ、あれ?
悲報、いなくなる SD カード。

しかたがないので別の SD カードに img を転送し直し。

それでは、SD カードを Raspberry Pi にさしてスイッチオン‼スイッチないですけどね。
おぉ、Linux 起動キター。
画面写真撮りたいけど、テカテカ液晶なので17歳の美少女が映り込んでしまうな。やめとこう。

なんか設定画面出たけど面倒なので飛ばす。
HDMI を切り替えて、Raspberry Pi と母艦の画面を行ったり来たりで面倒なので、母艦から ssh でログイン。

おー、そのままログインできる、楽ちん。

gcc も git もそのまま使えるな。すばらしい。

SDL の対応状況はどんなものでしょうと以下のコマンドを実行。

pi@raspberrypi ~ $ apt-cache search libsdl

お、SDL_gfx もあるね。最終的には OpenGL ES を使うようにしたいけど、まずは現状の Unix 版 px68k がそのまま動きそうな気配。

おもむろに SDL 開発環境と SDL_gfx 開発環境をインストロール!

pi@raspberrypi ~ $ sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev

ok。次に GitHub から px68k のリポジトリを取得。コマンドなんだっけ?あ git clone か。

pi@raspberrypi ~ $ mkdir src ; cd src ; git clone http://github.com/hissorii/px68k

んで ~/src/px68k ディレクトリができるので移動し、おもむろに make 。
ちなみにただコンパイルするだけなのでいきなり make ですが、バリバリソース改造するぜって方は事前に make depend して依存関係情報を Makefile にくっつけてください。

pi@raspberrypi ~/src $ cd px68k/
pi@raspberrypi ~/src/px68k $ ls
config.tmpl fmgen kaiseki.txt Makefile.psp readme.txt x68k
develop.txt icons m68000 px68k-android win32api xkeropi.man
doc Imakefile Makefile README.ja x11
pi@raspberrypi ~/src/px68k $ make
gcc -m32 -o x68k/adpcm.o -g -O0 -fno-strict-aliasing -DNO_MERCURY -I./x11 -I./x68k -I./fmgen -I./win32api `sdl-config --cflags` -c x68k/adpcm.c
cc1: error: unrecognized command line option ‘-m32’
make: *** [x68k/adpcm.o] Error 1
pi@raspberrypi ~/src/px68k $

実は Raspberry Pi 用に何日か前に Makefile を整理しといたけど、だめか。
あー、-m32 オプションで x86 用かな。削除。

一応、patchはこんな感じ。時間が9時間ずれるね。

--- Makefile.org        2013-10-24 12:46:13.415718726 +0000
+++ Makefile 2013-10-24 12:50:23.215097772 +0000
@@ -1,5 +1,5 @@
-CC = gcc -m32
-CXX = c++ -m32
+CC = gcc
+CXX = c++
CXXLINK = $(CXX)
RM = rm -f
TAGS = etags


再度 make 。

おー、ちょっと遅いけどコンパイルしてるぞ。当たり前だが。
3000円ちょいのハードでこれだけ動くのはすごいな。MPUコアのコンパイルはさすがにちょっと遅い。
でも一昔前のパソコンぐらいの性能ありそうだな。
おぉ、エラーで止まることなくコンパイル終わった。
とりあえずディスプレイを Raspberry Pi に切り替えて実行してみる!

うむ。とりあえずコピペできないので、以下の様に入力してみたが、画面が真っ黒になり、マウスカーソルが出て、そのまま。

cd src/px68k
./px68k

あれ、px68k のプロセス終了してるな。あー、BIOS とか フォントファイルとか用意してないや。とりあえず母艦の .keropi ディレクトリをそのまま転送。

pi@raspberrypi ~/src/px68k $ scp -r hissorii@192.168.1.82:~/.keropi ~

コンソールが真っ暗+マウスカーソルでどうしようもないので、電源ぶちで入れ直し。良い子はリモートログインして reboot してください。
.keropi ディレクトリとその中身は用意したので、再度 px68k を起動してみる。

おー、「ディスクから起動できません」画面キター。画面写真とりたいな。うーむ。
とりあえず X で飛ばせるかな。
母艦の Ubuntu Linux から、ssh -X pi@192.168.1.53 にて Raspberry Pi にログイン。-X がミソです。
おもむろに src/px68k/px68k ばきっ。すごい遅いな。あー px68k 2個目起動だからか?
キター。
px68k_rpi.png

えーっと、すごく分かりにくいですが、Raspberry Pi で起動した px68k の画面を、母艦の Mac mini の Windows 8.1 で動かしている VMware 上の Ubuntu Linux に飛ばして表示しています。
Raspberry Pi の px68k が X Window のクライアントとして動いている。母艦側の Ubuntu の X Server 側に画面だけ表示させている。
ってわかりにくいわ!!

直接 Raspberry Pi のコンソールの画面キャプチャできんのかね。

/dev/fb とかないん?おー /dev/fb0 あるね。これで画面データ取得して表示させればよいか。
とりあえず px68k を F12 でメニュー開いて 2枚とも終了。Raspberry Pi のコンソールに戻る。
SSH ログインしてる方のターミナルで以下の様にして、/dev/fb0 上の画面データをファイルに落とす。

cat /dev/fb0 > hoge.dat

母艦に転送して、さてこの raw データをどうやって表示させよう。
以前 bmp に変換するツールを作ったような気がするが、残っているかな。
...なさそう。

うむ、疲れたので今日はここまで。
続きは次回にしましょう。


Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://hissorii.blog45.fc2.com/tb.php/238-04df220f

«  | HOME |  »

プロフィール

ひっそりぃ

Author:ひっそりぃ
Twitter:@hissorii_com
GitHub:hissorii


月別アーカイブ


最新記事


カテゴリ



最新コメント


最新トラックバック




RSSリンクの表示


Amazon


QRコード

QRコード

Amazon


ブログランキング

ブログランキング【くつろぐ】
にほんブログ村 ゲームブログ×PlayNCBlogへ

メールフォーム

名前:
メール:
件名:
本文:


カウンタ


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。