電子ガジェットいろいろ

電子系のガジェットやアプリ開発等の話題を書いてます

Raspberry Pi で X68000 (RetroPie不使用)

Raspberry Pi用のX68000型ケースを前から持ってたのですが、ずっと放置していました。

やっと前からやりたかったX68000エミュレータ専用環境を作ったので、手順をメモとして置いておきます。

RetroPieへインストールする記事はよく見ますが、今回は最小限の環境を作りたかったので、Raspberry Pi 3 Model BへRaspbian Buster Liteをインストールした環境で構築しました。

Raspbian Buster Liteの場所

Download Raspbian for Raspberry Pi

環境構築

ここではX68000エミュレータpx68kの環境を構築する手順を書いていきます。OSのインストールやネットワーク等のOS環境の手順は省略します。
ユーザは'pi'でログインしていることを前提で進めます。

前準備

SDL 1.2、SDL_gfx 1.2、gitをインストールします

sudo apt-get install -y libsdl1.2-dev
sudo apt-get install -y libsdl-gfx1.2-dev
sudo apt-get install -y git

ZIP形式とLHA形式ファイルの展開のため、unzipとlhasaをインストールします。

sudo apt-get install -y unzip
sudo apt-get install -y lhasa

px68kの構築

px68kはpiユーザのホーム以下のpx68kディレクトリ(/home/pi/px68k)へインストールすることを想定して進めます

cd
git clone https://github.com/hissorii/px68k
cd px68k
make

いくつかワーニングが表示されましたが、無事に動作しているようです。

BIOSファイル配置

実行にはiplrom.datとcgrom.datが必要。
色々なサイトを参考にX68000 LIBRARYXM6 Pro-68kから拝借

wget http://www.retropc.net/x68000/software/sharp/x68bios/X68BIOSE.LZH
lhasa x X68BIOSE.LZH iplrom.dat
mv iplrom.dat ~/.keropi/iplrom.dat
chmod 644 ~/keropi/iplrom.dat
wget https://mijet.eludevisibility.org/XM6%20Pro-68k/XM6%20Pro-68k%20DLL%20Package.zip
unzip "XM6 Pro-68k DLL Package.zip" CGROM.DAT
mv CGROM.DAT ~/.keropi/cgrom.dat
chmod 644 ~/keropi/cgrom.dat

動作確認

X68000 LIBRARYからHuman68kのディスクイメージを取得して起動してみます。

wget http://www.retropc.net/x68000/software/sharp/human302/HUMN302I.LZH
lhasa x HUMN302I.LZH human302.xdf
chmod 644 human302.xdf
./px68k human302.xdf

これで起動出来たら、ひとまず構築成功です。


自動起動

X68000エミュレータ専用環境が目的なので、電源ONしたら自動的にpiユーザでログインしてpx68kの起動までできるようにしたいです。

今回はRaspbian Buster Liteが前提なのでCUIログインです。
CUIログイン時にpiユーザで自動ログインするように設定します。

/etc/systemd/system/getty.target.wants/getty@tty1.serviceファイルを編集する。

sudo vi /etc/systemd/system/getty.target.wants/getty@tty1.service

編集内容(ExecStartの定義を書き換える)

ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM

自動起動は普通に.bashrcの最後に追記しました

vi ~/.bashrc

追加コマンド

cd px68k
./px68k

これで電源を入れたらRaspbian起動後、自動的にpiユーザでログインしてpx68kが実行されます。

[F12]でメニューを開いてディスクの入れ替えや、リセット、終了を行うことができます。

最後に

Raspberry Pi 2 Model Bでも試してみましたが動作が遅く、Raspberry Pi 3 Model B以上が良いと思います。

HELMETS ミニチュアケース X68000 for RaspberryPi 2/3 [ ブラック ] MONAC-002

HELMETS ミニチュアケース X68000 for RaspberryPi 2/3 [ ブラック ] MONAC-002