Linuxで動作するPC-6001のエミュレータが公開されていますので、コンパイルしてみます。
(公開されている互換ROMでの動作可能でしたので、PC-6001実機持ってない方も動かしてみることが可能です。)
PC6001VX(808 Midwayさん)
http://eighttails.seesaa.net/
ソースPC6001VX_2.30.0_src.tar.gz (最新があればそちら)をダウンロード、ReadMe 開発者情報に従い、ビルド環境を作ります。
apt-get install build-essential libx11-dev mesa-common-dev libsdl2-dev qtcreator qt5-default qtmultimedia5-dev libqt5x11extras5-dev libqt5multimedia5-plugins libavformat-dev libavcodec-dev libswscale-dev
makeとコンパイラも必要です。
sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++
ReadMe 開発者情報で指定してあるツールをapt-get installして、GUI開発環境のQtCreator を起動すると…。
qtcreator
起動した!が!狭い…!
プロジェクトを選択しようとしてみたが
ファイルが見えない!
かなり無理だったので、コマンドラインからqmakeを使うことにしました。
qmakeは、*.pro ファイルから Makefile を生成してくれるツールだそうです。ソースの PC6001VX.pro のあるディレクトリで
qmake PC6001VX.pro
で、Makefileが生成されます。qmakeする前に、PC6001VX.pro を編集して、必要のない機能を外しておきましょう。ムービー生成機能に必要なヘッダが揃ってなかったのと、OpenGLは対応してないんじゃないかと思うのと、申し訳ないけど音は後回しにさせてもらって、
DEFINES += NOOPENGL DEFINES += NOSOUND DEFINES += NOAVI
ここのコメントを外してから qmake しました。Makefileができたら、
make
です。けっこう時間かかります(20~30分)。ちなみに、コマンドライン関連の作業は、SSH経由でPCから広々と作業しております。
コンパイル完了したら起動!起動は実機端末から!
./PC6001VX
おお、ROMの場所確認画面が出た、ということは無事にコンパイル&起動できました!
ここで「Yes」にして自分でディレクトリ選択しようとすると…
またこれだった!素直に、指定された位置に入れるのがいいですね。「~/.pc6001vx/rom/」に入れます。
そして、改めて起動…!
きたー!
キーの反応があんまりよくなくて、1文字ずつグッと確認しつつ押していく感じになります。
画面長押しでメニューが出ます。
テープデータを ~/.pc6001vx/tape/ に入れておいて、テープ読み込んでみます。
テープを選択。
やっぱ、これなんですけどね。
でも、ディレクトリにファイル1つだけであれば、ファイル選択にカレットを移して、カーソル上下すれば選択できます。ということで選択!
cload からの run。(設定でScanline切りました。)
じっくりと読み込みを待つ。
!!
動いたー!
実際「動いたー!」て感じの動作です。画面書き換えは5秒間に1回ぐらいなので、ゲームを遊ぶことはできないですが、動くだけで楽しいー。
追記:エミュレータPC6001VX作者のeighttailsさんからコメントいただきました変更を行ったところ、かなり速く動作するようになりました!PC6001VX.pro を、下記のようにしました。
DEFINES += NOOPENGL DEFINES += NOSOUND DEFINES += NOAVI DEFINES += NOMONITOR
PC6001VXについて、作者のeighttailsさんからコメントいただきました!指定の変更したら、PocketCHIPでのPC6001動作がかなり速くなりました! pic.twitter.com/prL6iyX3QX
— Nochi (@shikarunochi) 2016年8月28日
秋川さん作の互換BASIC(http://homepage2.nifty.com/akikawa/basic.html)、
eighttailsさん作の互換CGROM(http://eighttails.seesaa.net/article/305067428.html)を用いての動作も大丈夫でした。こちらを使えば、PC-6001の実機をお持ちでない方も、動かしてみることが可能ですー。
はじめまして。
PC6001VXの作者のeighttailsと申します。
P6VXに興味を持っていただいてありがとうございます。
パフォーマンスが出ないということですが、
PC6001VX.proファイルに
DEFINES += NOMONITOR
を追記してみてください。
P6エミュレータにはデバッグ機能があり、1命令実行するごとにブレークポイントに引っかかるかどうかチェックしているのですが、これがかなり重いので、無効化すれば遅いCPUではそれなりの効果があります。(これでもエミュレーション本体が実速に追いつかない場合はFPSは上がりません)
お手すきであれば試してみてください。
ファイルダイアログは…。本来ディストリビューションが面倒見る所かと思いますが、環境変数とかQt側の設定を調べてみます。
作者の方!ありがとうございます、試してみます!!
DEFINES += NOMONITORで、めちゃくちゃ速くなりました!キー入力もストレス無い感じです。