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

 Raspberry Pi 3 Model BのRaspbian Stretch LitePX68Kを動かしてみた。基本的にはPX68Kのドキュメント(readme.txtとdevelop.txt)に書いてある通りに作業した。
 PX68Kに必要なSDL 1.2、SDL_gfx 1.2と、gitをインストールして、PX68Kのソースを取得、ソースディレクトリに移動してビルドする。

sudo apt-get install -y libsdl1.2-dev
sudo apt-get install -y libsdl-gfx1.2-dev
sudo apt-get install -y git
git clone https://github.com/hissorii/px68k
cd px68k
make

 何故か-m32オプションが認識できないと表示されてビルドが失敗する。

gcc -o x68k/adpcm.o -m32 -g -O0 -fno-strict-aliasing -DUSE_SDLGFX -DNO_MERCURY -DPX68K_VERSION=0.15 -I./x11 -I./x68k -I./fmgen -I./win32api `sdl-config --cflags` -c x68k/adpcm.c
gcc: error: unrecognized command line option ‘-m32’
Makefile:112: ターゲット 'x68k/adpcm.o' のレシピで失敗しました
make: *** [x68k/adpcm.o] エラー 1

 原因はMakefileで-m32オプションを付加する箇所の判定処理が間違っていることだった。Makefileを修正してから再度ビルドすると今度は成功した。

sed -i -e 's/ifeq/ifneq/' Makefile
make

 PX68Kの動作にはBIOS ROMイメージCG ROMイメージが必要なので、それぞれダウンロードする。展開に必要なlhasaとunzipをインストールして、ROMイメージを展開し、ホームディレクトリに.keropiディレクトリを作成して、そこに配置する。

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

 試しにHuman68kを動かしてみる。Human68kのディスクイメージをダウンロードして展開したら、PX68Kでディスクイメージを指定して起動する(ディスクイメージを指定せずに起動することも出来る)。

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

 PX68Kの表示解像度は800×600だけど、X68000のデフォルトの解像度は768×512なので、右側が32ドット、下側が88ドット空いた状態で表示される。

 PX68Kが起動している状態でF12キーを押すと、PX68Kのメニューが表示される。リセットや終了、ディスクイメージの入れ替え等が行える。再度F12キーを押すとメニューを閉じる。

 今回は下記手順でインストールしたraspi2pngを使ってSSH接続した状態で「raspi2png -p screenshot.png」のようにしてコンソール画面をキャプチャした。

sudo apt-get install -y libpng12-dev
sudo apt-get install -y git
git clone https://github.com/AndrewFromMelbourne/raspi2png.git
cd raspi2png
make
sudo make install