以前「SHARP X68000」の専用エミュレータマシンとして「LattePanda」を試してみました。
「LattePanda」はx86系CPUのSBCなので処理能力が高くおまけにwindowsが動いて快適なのです。
その後「SHARP X1」専用エミュレータマシンとして用意した「raspi zero」に「X68000」の環境をつくって試してみましたが処理能力不足で見事失敗。
やはりシングルコアでpx68kを動かすのは至難の業のようです。
「LattePanda」のようなwindows環境でエミュレータが動くのは当然といえば当然。
非インテル系CPUのSBCでラズパイ以外の選択肢はないものかということで今回は「ROCK64」で試してみます。
ROCK64とは?
ROCK64はPINE64から発売されているARM系のSBC(シングルボードコンピュータ)。
ボードのスペックは
・CPU:RK3328 64ビット クアッドコアA53
・メモリ:1GB/2GB/4GB 1600MHz LPDDR3
インターフェースとして
・ディスプレイ出力:4K 60p対応 HDMI出力
・オーディオA/Vジャック
・1GbEtherNet
・USB2.0x2ホスト
・USB3.0x1ホスト
・IRレシーバー
・マイクロSDスロット
・DCジャック:内径1.35mm/外径3.5mm 5V3A以上
電源供給は日本国内ではあまり使われない外形φ3.5mmのDCジャック。
隣にフルサイズのHDMIコネクタとオーディオジャック。
LANコネクタの隣にUSB2.0と3.0のインターフェースコネクタが並ぶ。
ギガビットのLANポートはあるもののWiFiやBluetoothなどの無線機能はありません。
電源JACKやHDMIコネクタの反対側にはSBCらしくGPIOのピンヘッダが並んでいます。
グルっと周って電源ボタンとeMMCモジュールのコネクタ、隣にIRの受光LEDらしき素子があり。
ボードをひっくり返すとはんだ面にSDカードスロットがありました。
とてもコンパクトにまとめられたSBDで、汎用性はraspiよりも落ちるものの安価で高性能なARM系SBC。
名刺サイズの小さなSBC「ROCK64」。
メモリ1GBRAMのモデルなら4000円弱で入手できます。
ROCK64でpx68kを動かすとどうなるのか?
ROCK64用Lakkaイメージディスクを作成
ROCK64で動かすことのできるOSは結構たくさんあります。
検索「rock64 OS」
安定動作するかどうかは別にしてかなりの種類のOSが対応しているようです。
今回は目的が「X68000のエミュレータ」と限定的なので、OSはエミュレータに特化した「Lakka」を選択。
検索「rock64 Lakka」
ダウンロードした「.gz」形式のファイルを解凍して「.img」形式のファイルに。
「SDメモリカードフォーマッター」を使ってSDカードをフォーマット。
上記サイトからファイルをダウンロードしてwindowsにインストールして実行。
ドライブを選択し(間違えない事)クイックフォーマットでOK。
ドライブを絶対に間違えない事。※大事なことなので2回言いました
フォーマットしたSDカードに「balenaEtcher」を利用して書き込む。
「balenaEtcher」をダウンロードする。
実行形式(exe)ファイルがダウンロードできるので実行する。
イメージファイルを選択(先程回答した「.img」形式のファイル)
microSDドライブを選択(書き込み先を間違えない事)
Flash!ボタンを押して書き込み。
イメージファイルの書き込みが完了すると「Flash Complete!」の文字が。
Lakkaを起動&セットアップ
SBCボードのほかに用意するものは。
・MicroSDカード32GB
・電源5V/3A
先程作成した「Lakkaイメージ」のSDカードをROCK64のSDカードスロットに挿して起動。
すると。。。
あっさり起動。
まずは日本語表示にしよう。
setting > User > Language で「日本語」を選ぶ。
これであっさり日本語表示になる。
なにこのお手軽OS(笑)。
次にSSHを有効にしてwindowsパソコンからBIOSとディスクイメージを書き込みする。
設定 > Lakkaのサービス で「SSHを有効」と「SAMBAを有効」をONにする。
IPアドレスを調べる。
メイン > 情報 > インターフェース のところで有線LANのIPアドレスを調べる。(ROCK64に無線LANはない)
WinSCPで必要なファイルを転送
公式サイト:WinSCP
ダウンロードしてインストールしたらWinSCPを起動。
「セッション」→「新しいセッション」
ホスト名のところに先程調べた「ROCK64」のIPアドレスを入力する。
ユーザー名:root
パスワード:root
入力して「ログイン」
これでWinSCPで「RETROPIE」に接続できたのでフォルダに「X68000」の「BIOS rom」を保存。
Lakkaのフォルダ構成は「root」の下に「storage」があるので。
その下の「system」フォルダに下に「keropi」フォルダをつくってBIOS ROMを放り込む。
storage/system/keropi
BIOSは拡張子が「.dat」のもの。
シャープでは無償公開してくれているものもあるので実機から吸出しできない場合はそちらを利用させていただく手もある。
px68kのコアを読み込んで起動
全ての準備ができたので「Lakka」でコアを読み込んで実行すれば「px68k」が起動するはず。
ところがです。
「px68k」が起動でミスる。
BIOS画面は表示されているのでエミュレータは動いている。
CPUクロックの表示がおかしい、「51」ではなく「5|」。なんだこれ。
ディスクイメージが対応していないのかと、他のエミュレータで動作確認済みのいくつかのシステムディスクを試してみたけどどれもダメ。
なにが起こっているかわからないし情報もないので諦めて別の方法でエミュレータを導入することにします。
ROCK64にubuntuの導入
ARM系CPUのOSといえば「ubuntu」。
「ubuntu」を導入して「RetroArch」を動かそう。
ubuntuのセットアップ
検索「ROCK64 OS」
上記リンクより
「Ubuntu 18.04 Bionic LXDE Desktop Image [microSD / eMMC Boot] [0.8.3]」
これを導入します。
先程「Lakka導入」でやったのと全く同じ工程を繰り返すのです。
SDカードフォーマッターでSDカードをフォーマット。
ダウンロードしたイメージを「balenaEtcher」で書き込み。
ROCK64のSDカードスロットに挿入して起動。
「ubuntu」が立ち上がるのでrock64と入力してログイン。
「ubuntu 18.04」を選択してますが壁紙は「Debian」ですね。
RetroArchのセットアップ
「ubuntu」に「RetroArch」をセットアップするには。
ターミナルを起動して。
PPAを有効に
sudo add-apt-repository ppa:libretro/stable
新しいRetoroarchソフトウェアPPAをセットアップ
sudo apt update
アップグレード保留中のソフトウェア更新プログラムをインストール
sudo apt upgrade -y
Retoroarchエミュレーションアプリケーションをセットアップ
sudo apt install retroarch -y
ubuntuデスクトップを日本語化
全てのメニューが英語表示で少しわかりづらいので日本語化します。
ターミナルを起動。
日本語関連のパッケージをインストール。
sudo apt -y install language-pack-ja-base language-pack-ja ibus-mozc
システムの文字セットを日本語に変更。
sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE=”ja_JP:ja”
変更されたか確認。
echo $LANG
「ja_JP.UTF-8」と返ってくればOKです。
日本語入力をインストール。
sudo apt install fcitx-mozc
そしてubuntuをリブート。
これでデスクトップメニューが日本語になりました。
RetroArchを設定
レトロアーチを起動してみるとフォントが貧相だしメニューが日本語ではない。
オンラインアップデートでAssetsをアップデート。
「RetroArch」のメニューより、Online Updater > Update Assets
フォントが高精細化されて見た目が格段に綺麗になる。
続いて言語を日本語化する。
「RetroArch」のメニューより、settings > User > Language > 日本語
コア情報ファイルを更新。
「RetroArch」のメニューより、オンラインアップデート > コア情報更新
続いて目的のコアのダウンロード。
「RetroArch」のメニューより、コアのダウンロード > SHARP X68000
ここまででレトロアーチの設定は一旦完了。
次はBIOSファイルの転送。
SSHサーバーのインストール。
「ubuntu」のターミナルを起動。
$ sudo apt-get install openssh-server
起動しているかの確認は、
$ ps -ax | grep ssh
IPアドレスを調べる。
$ ip address
WinSCPを起動して新しいセッションで接続。
ホスト名:先程調べたROCK64のIPアドレス
ユーザー名:ROCK64
パスワード:ROCK64
入力したらログイン。
目的のフォルダが見つからないので検索「cores」。
らしきフォルダを発見。
「system」フォルダに「keropi」フォルダを作成してBIOSを放り込む。
「ubuntu」に戻って「RetroArch」を起動。
「RetroArch」のメニューから、コンテンツを読み込むでシステムディスクのイメージを選択。
Human68kが読み込まれてX68000が無事起動した。
けど読み込みがなんか遅い。
switchコマンドを実行。
やっぱりなんか重い。
これはもしかして・・・というやつかな?
メモリはデフォで2MBでした、最大の12MBにしておく。
単位はメガバイトですからね。(笑)
「BARADUKE」を起動してみる。
オープニング画面の表示すら時間がかかるのはたぶん気のせいだな。
無事起動。
・・・・・重い。ひじょーに重い。
「raspi zero」ほどじゃないにしてもカクカクのコマ送りでとてもじゃないがゲームがプレイできる状態ではない。
他のゲームを試すまでもなくここで心折れました。
これもお蔵入りかー。
結局OS2種類試してみたんだけど時間の無駄だった。
まあ、せっかくubuntu上にレトロアーチの環境ができたので他の利用方法を考えてみます。
PC-8801とかFM-7とか8ビット系のパソコン用に。。。
追記です。
試行錯誤した結果、なんとか「X68000」エミュレータをまともに動かすことができました。
コメント