![見出し画像](https://assets.st-note.com/production/uploads/images/107307339/rectangle_large_type_2_9af54a8030c755ab346d63c8f96091c4.jpeg?width=1200)
Raspberry Pi ZeroでPC-9801を遊ぶ!
どうも僕です。
以前、Windows10でPC9801エミュ「Neko Project II」を遊んでみました。
ふと、
Raspberry Pi Zeroでも
PC9801エミュが遊べないかな~って思いまして・・・。
ネットを探したところ、やっぱり記事がありました。
ただ、如何せん記事の内容が古い(2017年の6年前)です。
きっと、リンク切れやライブラリなどが淘汰されているだろうなぁっと。
ただ、上手くいくのかはわからないけど、
Raspberry Pi ZeroでPC9801を動かしてみたい!
Raspberry Pi Zeroに
PC9801エミュ「Neko Project II(NP2)For Raspberry Pi」の
インストールを挑戦してみよう!
![](https://assets.st-note.com/img/1685861792932-JtbtGq5tqQ.png?width=1200)
Raspberry Pi OS Liteの構築
Raspberry Pi OS Liteのインストール
PI Imager*をダウンロードしよう。
*SDカードにOSイメージを展開するツールです
今回使うライブラリ「SDL12-kms-dispmanx」は、
Raspberry Pi OSの中でも
2世代前の古いバージョン「buster」にしか対応していない。
だから、
古いバージョンのOSイメージを以下からダウンロードしよう。
ファイルは「2023-05-03-raspios-buster-armhf-lite.img.xz」です。
ダウンロードできたら、
Pi Imagerを起動します。
![](https://assets.st-note.com/img/1698545282488-8RBrLfxtnd.png?width=1200)
RaspberryPiデバイスは「RASPBERRY PI ZERO」を選択し、
さらにOSは「カスタムイメージを使う」を選択して
![](https://assets.st-note.com/img/1698545355260-0Us5z8zbm0.png?width=1200)
イメージを選ぶでは上記でダウンロードしたOSイメージ「2023-05-03-raspios-buster-armhf-lite.img.xz」を選択しよう。
![](https://assets.st-note.com/img/1698545379963-xu7p53X9u6.png?width=1200)
ストレージはMicroSDカードをPCに挿して*、
*自分はMicroSDカードをUSB変換するアダプタでPCに認識させてます
![](https://assets.st-note.com/img/1698545531567-B4HT6vn2iL.png?width=1200)
Pi Imagerのストレージでは上記のUSB変換アダプタを指定します。
*自分の場合はUSBメモリとしてPCは認識してます
![](https://assets.st-note.com/img/1698545451161-ZOMUMIkpxt.png?width=1200)
「次へ」を押すと
カスタマイズ設定する?って聞いてくるので「いいえ」で。
![](https://assets.st-note.com/img/1698545678419-UIX8KLsOyg.png?width=1200)
「はい」を押す。
![](https://assets.st-note.com/img/1698545739664-dQsteX4KIf.png?width=1200)
しばらく待つと、
SDカードへの書き込みが終わるので「続ける」ボタンを押す。
![](https://assets.st-note.com/img/1698561611594-bzG2bxH2Xm.png?width=1200)
SDカードをRaspberry Pi Zeroに挿して
![](https://assets.st-note.com/img/1686219806128-2CNqqW8s9d.png?width=1200)
Raspberry Pi Zeroを起動しよう。
*PI OS LiteのOSユーザは「pi」、パスワードは「raspberry」
![](https://assets.st-note.com/img/1686219806255-JN1Jp7eNLC.png)
Raspberry Pi OS Liteの初期設定
PI OS Liteの初期設定として以下を実施すること。
・「WiFi」の設定
・「SSH」の有効化
・「キーボード」の日本語キーボードへ変更
・「自動ログイン」の有効化
以下のコマンドで上記の4つの設定を入れよう。
sudo raspi-config
![](https://assets.st-note.com/img/1698562730701-o7UQwX7bXI.jpg?width=1200)
まずWifi設定
[1 System Options]からの[S1 Wireless LAN]設定へ
![](https://assets.st-note.com/img/1698562730755-AOB9SzXqdo.jpg?width=1200)
JP Japanを選んで
![](https://assets.st-note.com/img/1698562731096-YJw33ODra5.jpg?width=1200)
Okで
![](https://assets.st-note.com/img/1698562730738-vkor2ZuPw2.jpg?width=1200)
SSID入れて
![](https://assets.st-note.com/img/1698562730094-c0dlBapEKO.jpg?width=1200)
パスワードいれてOkね
![](https://assets.st-note.com/img/1698562729001-O1SqSedACZ.jpg?width=1200)
SSH有効設定
[3 Interface Options]からの[P2 SSH]
![](https://assets.st-note.com/img/1698562730784-wiT1FCqEbB.jpg?width=1200)
Yesで
![](https://assets.st-note.com/img/1698562730699-3OTFJAhEaQ.jpg?width=1200)
Okで
![](https://assets.st-note.com/img/1698562730872-SqSkgqshF8.jpg?width=1200)
キーボード設定
[5 Localisation Options]からの[L3 Keyboard]
![](https://assets.st-note.com/img/1698562730455-IfiCQUoR94.jpg?width=1200)
Generic 105-key PC (intl.)を選んで
![](https://assets.st-note.com/img/1698562730215-0tldInkko7.jpg?width=1200)
Otherで
![](https://assets.st-note.com/img/1698562731183-2VVJ6LlJKy.jpg?width=1200)
Japaneseで
![](https://assets.st-note.com/img/1698562731080-ZSR4h3RH98.jpg?width=1200)
Japanese-Japanese(OADG 109A)を選び
![](https://assets.st-note.com/img/1698562730764-U0mMVbU953.jpg?width=1200)
defaultで
![](https://assets.st-note.com/img/1698562730341-ul5Qg72bAA.jpg?width=1200)
No compose keyで
![](https://assets.st-note.com/img/1698562731004-UXrkRR5cGQ.jpg?width=1200)
自動ログイン
[1 System Options]からの[S5 Boot / Auto Login]を選び、
![](https://assets.st-note.com/img/1698562730454-bEaa5SuHpT.jpg?width=1200)
B2 Console AutoLoginを選ぶ。
![](https://assets.st-note.com/img/1698562731003-JMdHLEQv8m.jpg?width=1200)
4つの設定が出来たら、SSHによるリモートで設定しよう。
(その方が本記事からコピペできて楽だからね)
その前に以下コマンドでIPは調べよう。
ip a
TeraTermでPI OS Liteに接続しよう。
![](https://assets.st-note.com/img/1686219768364-mMqhD4XVPk.png)
![](https://assets.st-note.com/img/1686221057592-SF5Z1O9mDf.png?width=1200)
Raspberry Pi OS Liteのチューニング
このままだとコンパイルが遅いので、CPUのオーバークロックをしよう。
以下コマンドでOS起動設定ファイルを編集しよう。
sudo nano /boot/config.txt
以下を追記しよう。(#arm_freq=800の下に追記)
arm_freq=1000
force_turbo=1
over_voltage=8
core_freq=500
sdram_freq=530
over_voltage_sdram=1
over_voltage_sdram_c=7
over_voltage_sdram_i=7
over_voltage_sdram_p=8
![](https://assets.st-note.com/img/1686219768500-CTT27FMTW2.png?width=1200)
ctrlキー+Xでエディタを終了し、必ずYesで上書きしよう。
さらにOSを再起動しよう。
sudo reboot
再起動が終わったら、TeraTermで接続しよう。
NP2 for Raspberry Pi(np2pi)の構築
SDL12-kms-dispmanx のインストール
以下コマンドを実行して
インストール可能なパッケージの「一覧」を更新する。
sudo apt-get update
![](https://assets.st-note.com/img/1698576923110-W6d7CZelvZ.png?width=1200)
以下コマンドを実行して
音源ライブラリをインストールする。
sudo apt-get install libasound2-dev
![](https://assets.st-note.com/img/1698576943520-XVw2CywCy0.png?width=1200)
以下コマンドを実行して
gitコマンドをインストールする。
sudo apt-get install -y git
![](https://assets.st-note.com/img/1698576991593-bh1vrWp71H.png?width=1200)
以下コマンドを実行してソースを取得する。
cd ~
git clone https://github.com/vanfanel/SDL12-kms-dispmanx.git
![](https://assets.st-note.com/img/1698577088560-LwSe3P5u3F.png?width=1200)
マウスカーソルが黒四角になっちゃう問題があるので
ソースを直接修正する。
ところでnp2piのメニュー表示時のマウスカーソルが黒四角になるのはバグなんだろうか? 何かファイルが足りてない? あとキーボードのリピートが効かないのも気になる。 pic.twitter.com/PyNOcxC3QK
— よしだまき (@suiseikobo) January 13, 2014
以下コマンドでソースを編集する。
cd ~
nano SDL12-kms-dispmanx/src/video/SDL_cursor.c
642行目の「return」の前に「//」を追加する。(コメントアウト)
![](https://assets.st-note.com/img/1686221799186-fLaJYz5F03.png?width=1200)
![](https://assets.st-note.com/img/1686221823799-Q9d8dgjrAW.png?width=1200)
644行目の「/*」を削除する。(コメント削除)
![](https://assets.st-note.com/img/1686221850626-kIokdI0taM.png?width=1200)
![](https://assets.st-note.com/img/1686221866618-ZABHGve6ev.png?width=1200)
671行目の「*/」を削除する。(コメント削除)
![](https://assets.st-note.com/img/1686221884632-zSgjQrIeQ7.png?width=1200)
![](https://assets.st-note.com/img/1686221899977-Sja5x0ruaa.png?width=1200)
ctrlキー+Xでエディタを終了し、必ずYesで上書きしよう。
さて、以下のコマンドでコンパイルしよう。
cd ~
cd SDL12-kms-dispmanx
./MAC_ConfigureDISPMANX.sh
make clean && sudo make install
![](https://assets.st-note.com/img/1686223285778-0sXOpxOEfi.png?width=1200)
SDL_ttf のインストール
以下のコマンドを実行しよう。
cd ~
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.1.tar.gz
tar xzf freetype-2.9.1.tar.gz
pushd freetype-2.9.1
./configure
make
sudo make install
sudo cp builds/unix/freetype-config /usr/bin
popd
cd ~
wget https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz
tar xzf SDL_ttf-2.0.11.tar.gz
cd SDL_ttf-2.0.11
./configure && make && sudo make install
sudo /sbin/ldconfig
![](https://assets.st-note.com/img/1698535798954-nAb5qxOUDm.png?width=1200)
np2pi のコンパイル
以下のコマンドを実行しよう。
cd ~
git clone https://github.com/irori/np2pi.git
cd np2pi/sdl
make -f makefile.rpi
![](https://assets.st-note.com/img/1686225023416-4cQYrXjdyI.png?width=1200)
np2piのメニュー用のフォント
以下のコマンドを実行しよう。
cd ~
sudo apt-get install ttf-sazanami-gothic
![](https://assets.st-note.com/img/1698586468658-bIh8Pim6K9.png?width=1200)
生成したメニュー用のフォントをコピーする。
cd np2pi/bin
ln -s /usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf default.ttf
![](https://assets.st-note.com/img/1698586448033-VsPTTBza9Q.png?width=1200)
np2piの自動起動を設定
nano ~/.bashrc
![](https://assets.st-note.com/img/1686225159461-LaMJHtA6xc.png?width=1200)
一番下に以下のように記述しよう。
cd ~/np2pi/bin/
./np2
![](https://assets.st-note.com/img/1685880045006-v4PakDv2Mv.png?width=1200)
PC9801のソフトウェアを配置
以下コマンドでフォルダを作っておく。
mkdir ~/np2pi/bin/soft
![](https://assets.st-note.com/img/1686225355284-linGlgRAyI.png?width=1200)
WinSCPを使って
PC9801ソフトウェアのFDDイメージファイルを転送しよう。
まず、ログインして
![](https://assets.st-note.com/img/1686225440732-VHXwmBfLHc.png?width=1200)
上記で作成したフォルダ「/home/pi/np2pi/bin/soft」の中に
ソフト名のフォルダを作って、
PC9801のFDDイメージファイルを転送しよう。
![](https://assets.st-note.com/img/1686225501484-zDzCuavc8y.png?width=1200)
![](https://assets.st-note.com/img/1686225579527-deea3DUijQ.png)
![](https://assets.st-note.com/img/1686225613612-PXgj2jTpKe.png)
FDDイメージファイルを転送しよう。
![](https://assets.st-note.com/img/1686225629811-KXEfw4nWvr.png)
転送できました。
![](https://assets.st-note.com/img/1686225716439-up8pD5RDPs.png?width=1200)
PC9801のサウンドカード有効化
TeraTermではなく、Raspberry Pi Zero 実機で直接操作しよう。
![](https://assets.st-note.com/img/1686226074340-UlyYhtL2pm.png)
Raspberry Pi Zeroを再起動し、エミュが起動するのを確認する。
![](https://assets.st-note.com/img/1686226152144-QpliYSq6i6.png?width=1200)
起動を確認したら、F11を押すとメニューが出てくる
![](https://assets.st-note.com/img/1686226211199-PEStzYEnVW.png?width=1200)
キーボードのENDキー押しながら、メニューのEmulate>Resetしよう。
![](https://assets.st-note.com/img/1686226246839-G5m8RpYZic.png?width=1200)
「ディップスイッチ2の設定」を選んで、
「メモリスイッチ」を選び、「保持する」を選択する。
![](https://assets.st-note.com/img/1686227084658-2VgzdCnv57.png?width=1200)
終了を選択し、
今度はメインメニューの「メモリスイッチの設定」を選択する。
![](https://assets.st-note.com/img/1686227409231-mbj7nLRqip.png?width=1200)
さらに「拡張ボード」を選択。
![](https://assets.st-note.com/img/1686227436748-N6oF54GQqH.png?width=1200)
「サウンドボード」で「使う」を選択する。
![](https://assets.st-note.com/img/1686227115634-3ZKq0QiHLk.png?width=1200)
ESCで拡張ボードのメニューを抜けて、switch set. MENUを終了し、
さらに終了を選択してシステムセットアップメニューを抜けよう。
PC9801のBGM遅延を解消
np2piのデフォルト設定だと、BGM遅延が気になります。
メニューのEmulateからConfigureを選び、
SoundグループのBufferを100msに設定すると緩和できます。
メニュー>Emulate>Configureを選び、
![](https://assets.st-note.com/img/1701492111285-sPfeM81NeT.png?width=1200)
SoundのBufferを一番左へと小さくし、
(最小は100msみたい)
![](https://assets.st-note.com/img/1701492148968-45UcklRv7r.png?width=1200)
OKボタンを押そう。
![](https://assets.st-note.com/img/1701492247113-CeXCyG1zmC.png?width=1200)
さぁ遊んでみよう!
TeraTermではなく、Raspberry Pi Zero 実機で直接操作しよう。
自動起動するはずなので再起動してみよう。
sudo reboot
おぉ~きた~~~!
![](https://assets.st-note.com/img/1686203818913-Df3xsJLjWX.png?width=1200)
F11キーを押してメニューを出そう。
FDD1にゲームディスクを入れて再起動してみる。
![](https://assets.st-note.com/img/1686203850655-7LWyp60G8p.png?width=1200)
きたーーー!
楽しい!
(*・ω・)(*-ω-)(*・ω・)(*-ω-)ウンウン♪
![](https://assets.st-note.com/img/1686203971694-mSfnklhcPT.png?width=1200)
気になるのは、
たまにBGMに「ガガッ」ってノイズが入るくらいですね。
(オープニングなどのBGMが始まりで必ずガガッ・・って)
今回は以上です。
では、また!
この記事が気に入ったらサポートをしてみませんか?