PISTORMを動作させるには目下、Emu68と今回のようなソースコードからコンパイルする2通りの方法があります。個人的な感想を述べれば、Emu68の方が簡単ですね。
これをRaspberry Pi ImagerでSD cardに先ほどダウンロードしたZIPファイルを指定して書き込みます。
具体的にはCHOOSE OSで「カスタムイメージを使う」を選択してSD cardに書き込みします。 なお、その際にSSHとWiFiの設定は済ませておいた方が便利です。後でもそれらの設定はできるのですが、Pi2WにUSBキーボードを接続しないといけません。そのUSBケーブルもMicroUSB変換しないとPi2Wに接続できません。そしてRaspberry Piの方に先ほど書き込みの終わったSD Cardを挿入してWindowsマシンとUSBケーブルで接続します。 あらかじめWiFiを設定しているとPi2Wはブート時に自動的にWiFiに接続されるのでSSHでホストマシンから操作できます。なおPi2WのIPアドレスを調べるには"Advanced_IP_Scanner"などを使うといいです。Windows10上のSSHクライアントはTeraTermを使いました。
Pi2Wにログインし以下の入力をします。
sudo apt-get update
sudo apt-get install git libsdl2-dev
git clone https://github.com/captain-amygdala/pistorm.git pistorm
cd pistorm
make
エラーが出ていなければ、"emulator"という実行ファイルができているはずです。
次にOPENOCDのINSTALL
sudo apt-get install openocd
OPENCDでは無くてOPENCOCDですので。これを勘違いして1月程悩みました。
その後
./flash.sh
sudo ./emulator
で動作するようなります。ただそれではAMIGAの起動時にPISTORMが起動しないので自動起動するように設定します。
sudo vim /etc/systemd/system/pistorm.service
に以下の内容を書き込みます。
[Unit]
Description=PiStorm emulator
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/home/pi/pistorm/emulator
WorkingDirectory=/home/pi/pistorm
[Install]
WantedBy=multi-user.target
ここまででも、エミュレーターとして動作するのですが、設定ファイル(default.cfg)に便利な設定をしてしてゆきます。ここでもかなり悩みました。まず、default.cfgがありません。それにはamiga.cfgというファイルがありますので、これをコピーします。
cp amiga.cfg default.cfg
この設定では同じディレクトリーにkick.romが無いといけないので、kickstartファイルを入手出来ない場合は、上記の設定内容を書き換えるか、設定してはいけません。 個人的にはAmigaForeverからkickstart ROMファイルを購入しました。AmigaForeverは、2025年6月頃に最新のアップデートがあったようで、最新版を入手しました。 ところがdefault.cfgを作ってからpistormがうまく動作しなくなりました。なので、その内容を調査してみました。すると
map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart
の行をコメントアウトして
#map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart
とするとpistormが動作するようになりました。
この行が何をしているかというとkick ROMファイルを参照して、OSを起動しようとしている箇所です。これで何日か悩みました。 でkick.romファイルが壊れているという結論になりました。そこで某所からダウンロードしたkickstart_2.0.romファイルなるものを使いました。 すると再びpitormが動作開始しました。なおPi2Wにkick.romファイルを転送するには初めてWinSCPを使いましたが、これは便利ですねぇ。 Pi2Wのpistormディレクトリに転送したkickstart_2.0.romファイルの名称をkick.romに変更します。
mv kickstart_2.0.rom kick.rom
ここで簡単にAmigaOSの説明をしますとkickstartというのはMS-DOSのようなものです。まあOSです。そしてその上に乗っかるのがWorkBenchです。これはMS-DOSの上に乗っかったWindowsという例えでしょうか。まあGUI-interfaceですね。でAmigaOSには世代がありまして、
最初のAmiga1000には
kickstart1.2
次の世代Amiga500,Amiga2000には
kickstar1.3
という具合です。ですのでAmiga500などが新しいOSを使おうとするとkickstart2.xなりのROMチップを海外から個人輸入しないといけませんでした。それを思うとネットからダウンロードしたファイルを使えるのですから便利になりました。