PocketCHIP : PC-6001VXのコンパイル

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

qt01

起動した!が!狭い…!

qt02

プロジェクトを選択しようとしてみたが

qt03

ファイルが見えない!

かなり無理だったので、コマンドラインから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

pc6001_01

おお、ROMの場所確認画面が出た、ということは無事にコンパイル&起動できました!

ここで「Yes」にして自分でディレクトリ選択しようとすると…

pc_6001_02

またこれだった!素直に、指定された位置に入れるのがいいですね。「~/.pc6001vx/rom/」に入れます。

そして、改めて起動…!

pc6001_03

きたー!

キーの反応があんまりよくなくて、1文字ずつグッと確認しつつ押していく感じになります。

pc6001_04

画面長押しでメニューが出ます。

テープデータを ~/.pc6001vx/tape/ に入れておいて、テープ読み込んでみます。

pc6001_05

テープを選択。

pc6001_06

やっぱ、これなんですけどね。

でも、ディレクトリにファイル1つだけであれば、ファイル選択にカレットを移して、カーソル上下すれば選択できます。ということで選択!

pc6001_07

cload からの run。(設定でScanline切りました。)

pc6001_08

じっくりと読み込みを待つ。

pc6001_09

!!

pc6001_10

動いたー!

pc6001_11

実際「動いたー!」て感じの動作です。画面書き換えは5秒間に1回ぐらいなので、ゲームを遊ぶことはできないですが、動くだけで楽しいー。


追記:エミュレータPC6001VX作者のeighttailsさんからコメントいただきました変更を行ったところ、かなり速く動作するようになりました!PC6001VX.pro を、下記のようにしました。

DEFINES += NOOPENGL
DEFINES += NOSOUND
DEFINES += NOAVI
DEFINES += NOMONITOR

 


秋川さん作の互換BASIC(http://homepage2.nifty.com/akikawa/basic.html)、
eighttailsさん作の互換CGROM(http://eighttails.seesaa.net/article/305067428.html)を用いての動作も大丈夫でした。こちらを使えば、PC-6001の実機をお持ちでない方も、動かしてみることが可能ですー。

pc6001_12

PocketCHIP : PC-6001VXのコンパイル” へのコメントが 3 点あります

  1. はじめまして。
    PC6001VXの作者のeighttailsと申します。
    P6VXに興味を持っていただいてありがとうございます。

    パフォーマンスが出ないということですが、
    PC6001VX.proファイルに
    DEFINES += NOMONITOR
    を追記してみてください。
    P6エミュレータにはデバッグ機能があり、1命令実行するごとにブレークポイントに引っかかるかどうかチェックしているのですが、これがかなり重いので、無効化すれば遅いCPUではそれなりの効果があります。(これでもエミュレーション本体が実速に追いつかない場合はFPSは上がりません)

    お手すきであれば試してみてください。
    ファイルダイアログは…。本来ディストリビューションが面倒見る所かと思いますが、環境変数とかQt側の設定を調べてみます。

    • 作者の方!ありがとうございます、試してみます!!

      • DEFINES += NOMONITORで、めちゃくちゃ速くなりました!キー入力もストレス無い感じです。