2021年06月07日 作成
2025年01月07日 修正
Windows 上で NEC PC-9800シリーズのエミュレータによって MS-DOS を動作させることができるようになりました。ここでは、シングルボードコンピュータとしてよく使われている Raspberry Pi を使って NEC PC-9800シリーズの MS-DOS を動作させてみます。
Raspberry Piについて は、普段から Raspberry Pi 4 を、OS としては Ubuntu MATE を使用していますので、この環境において NEC PC-9800 シリーズのエミュレータを動作させてみます。
Raspberry Pi で「Neko Project II (NP2) 改変」を動かしているところ
導入するエミュレータは、「Neko Project 21/W」や「Xnp2(X Window System)」の成果を取り込み、Linux 上で動作できるようにした「Neko Project II (NP2) 改変」を使います。しかし、このエミュレータは Rasoberry Pi 用の実行形式プログラムが提供されていませんので、各自でコンパイルして導入する必要があります。
Neko Project II (NP2) 改変 http://domisan.sakura.ne.jp/article/np2kai/np2kai.html
Neko Project 21/W https://simk98.github.io/np21w/
Neko Project II http://www.yui.ne.jp/np2/
Xnp2(X Window System) https://nonakap.org/np2/
Raspberry Pi で動作する OS には色々ありますが、使い慣れている Ubuntu MATE を使います。
Ubuntu MATE の Download サイト https://ubuntu-mate.org/download/arm64
詳細なUbuntu MATEの導入方法については次のURLで説明していますので、そちらを参照してください。
Ubuntu MATE のおおまかな導入の流れは次のようになります。
ダウンロードサイトから ubuntu-mate-xx.xx-desktop-arm64-raspberry-pi.img.xz をダウンロードする(xx.xxはバージョンにより変化します)
圧縮/解凍プログラム「7-zip」で ubuntu-mate-xx.xx-desktop-arm64-raspberry-pi.img.xz を解凍する
解凍後の ubuntu-mate-xx.xx-desktop-arm64-raspberry-pi.img をそのまま SD カードに書き込むことのできる「Raspberry Pi Imager」や「Etcher」などを使用してマイクロ SD カードに書き込む
SD カードを Raspberry Pi に挿入し、起動する
以後は、表示される Ubuntu MATE のメッセージに従って、使用する言語、キーボード、Time Zone などを設定してください。
Ubuntu MATE を最新の状態にするために、次のコマンドを実行します。
$ sudo apt update
$ sudo apt upgrade
「Neko Project II (NP2) 改変」のソースプログラムは、git で管理されています。ダウンロードでも git を使いますので、git をインストールします。また、コンパイル時に autoconf というパッケージが必要になりますので、一緒にインストールしておきます。
$ sudo apt install git cmake autoconf ninja-build build-essential
その後、適当なディレクトリを用意して、そこにダウンロードします。ここでは、例として prog というディレクトリに git の clone コマンドを使用してソースプログラムをダウンロードします。ダウンロード後は、prog ディレクトリの中に NP2kai というディレクトリが作成され、その中にソースプログラムが展開されます。
$ mkdir prog
$ cd prog
$ git clone https://github.com/AZO234/NP2kai
ダウンロードしたソースプログラムの中の README.md にコンパイル方法が記述されていますので、参照してください。ここでは、Linux で使われているXウインドウシステム上で動作するプログラムを作成する方法を示します。
コンパイルする前にいくつかのライブラリが必要になりますので、インストールします。
$ sudo apt install libx11-dev
$ sudo apt install libglib2.0-dev
$ sudo apt install libgtk2.0-dev
$ sudo apt install libsdl2-dev
$ sudo apt install libsdl2-mixer-dev
$ sudo apt install libsdl2-ttf-dev
$ sudo apt install libsdl1.2-dev
$ sudo apt install libsdl-mixer1.2-dev
$ sudo apt install libsdl-ttf2.0-dev
$ sudo apt install libusb-1.0-0-dev
$ sudo apt install libfreetype-dev
$ sudo apt install libfontconfig1-dev
$ sudo apt install libssl-dev
その後、次のコマンドでコンパイルを行い、実行形式プログラムを作成するようにgithubには説明されています。
$ cd NP2kai
$ mkdir build
$ cd build
$ cmake .. -D BUILD_X=ON
$ make -j2
しかし、2024年12月時点ではcmakeコマンドでエラーになり、正常にコンパイルができません。cmakeコマンドを次のように変更して実行します。
$ cd NP2kai
$ mkdir build
$ cd build
$ NP2KAI_VERSION="ver.0.86" NP2KAI_HASH="rev.92" cmake .. -D BUILD_X=ON
$ make -j2
また、「Screen option」における「Enable PEGC plane mode」の設定がconfigファイルに反映されないようなので、NP2kai/x/ini.cの762行目の後に次の行を追加してコンパイルします。
{"USERAM_D", INITYPE_BOOL, &np2cfg.useram_d, 0}, /* 762行目 */
↓
{"USERAM_D", INITYPE_BOOL, &np2cfg.useram_d, 0},
{"USEPEGCP", INITYPE_BOOL, &np2cfg.usepegcplane, 0}, /* 追加 */
コンパイルが終わると、実行形式プログラム xnp21kai ができあがります。xnp21kai は PC-9821 シリーズのミュレータになります。適当なフォルダにコピーして使用してください。実行後にメニューの「About」をクリックすると次のように表示されるようになります。
Linux版np21kai
Windows版NP21/W
作成されたnp21kaiでは、メニューにデバッグ用の「DebugSS」が表示されます。個人的には必要ないので表示しないようにCMakelist.txtの605行目の「"SUPPORT_DEBUGSS"」を削除します。
list(APPEND NP2kai_OpenSSL_definitions "SUPPORT_OPENSSL" "SUPPORT_DEBUGSS")
↓
list(APPEND NP2kai_OpenSSL_definitions "SUPPORT_OPENSSL")
最近の「Neko Project II(NP2)改変」では、フォントROMを置く場所が変更になっており、FONT.ROMやBIOS.ROM、各種wavファイルは次のディレクトリに置きます。
~/.config/xnp21kai/
PC-9800 シリーズの MS-DOS プログラム(ハードディスク・イメージ)は、Windows の「 Neko Project 21/w 」で使っているものと同じものを使うことができますので、Windowsからコピーして使っています。
作成した xnp21kai をホームディレクトリ直下のディレクトリ ~/pc98/bin にコピーします。その後、次のコマンドでエミュレータを実行します。
$ cd ~/pc98/bin
$ ./xnp21kai
最初に起動したときは HDD のイメージファイルが指定されていませんので、メニューの「HardDisk 」をクリックして設定する必要があります。正常に起動すると、次のような画面になります。
また、エミュレータ内でマウスを使う場合は、「 Shift + F12 」キーを使うことにより ON/OFF することができます。
かな漢字変換を行うときには場合によって使い分ける必要があります。通常のDOS画面では「Ctrl + 変換」キーを使い、JUSTSYSTEMのアプリ(一太郎など)内では「変換」キーを使います。
以 上