Piece
piece-me

中古の P/ECE 本体(付属CDなし)を買ったら

P/ECE を中古で付属品なしで買ったときに、とにかくゲームを遊べるようになるまでの手順。

macOS や Linux 勢は MacOSXでP/ECEにアプリ転送 を参照。


前提条件


  • P/ECE 実機

  • Windows 10 x86/x64


箱の中身

本来は箱説付きで買うと以下のものが入っているはずです。初回生産版は違うかもしれないけど持ってないので不明。


  • P/ECE 本体

  • ソフトウェア CD-ROM(開発環境・デバイスドライバ)

  • 取扱説明書(CD ケースに入っている)

箱の中身

付属の CD がある場合は 64bit版Windows 10で、P/ECEを使う手順 を参照することで最新の環境にまで整備できます。ただし、文中の「デバイスドライバのインストール」でデバイスドライバの署名検証を無効化していてセキュリティ上懸念がある1 ため、デバドラインストールについては本記事を参照することをお勧めします。

付属 CD にはデバイスドライバが入っているため、CD がないと P/ECE の接続さえできなさそうですが、そもそも 当時のデバイスドライバは現在の Windows ではもう使えない ため、CD があってもなくてもネット上にある代替ドライバを使ってインストールを進めることになります。


開発環境アップデートの入手

付属の CD には開発環境一式が含まれているため、中古で付属品なしの本体を買った場合は実機アプリの開発をすることはできませんが、開発環境のいくつかのファイルはアップデートが出ているために入手することができます。開発環境全体の再現はできませんが(例えばコンパイラは CD がないと手に入らない)、システムアップデートツールやフラッシュメモリイメージファイルなどの重要なファイルが入手できるため、中古で買った P/ECE のシステムアップデートや、ファイルシステムが破損している場合の修復を行うことができます。

P/ECE 公式のダウンロード の「最新版システム&追加アプリ」から、PieceSystem ver1.xx を順番にダウンロードします。

C:\usr\piece というディレクトリを作り、ここにアップデートを 古い順番で 展開していきます。正しく展開できれば c:\usr\piece\app とか c:\usr\piece\bin というディレクトリができるはずです(v1.20 だけ piece ディレクトリを掘ろうとするので中身を移動する)。

以下のような内容のファイルを作り、エクスプローラからダブルクリックして開き、レジストリ項目を追加します。この項目は開発環境が自身のインストール先を知るために使っています。


piece-installdir.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\AQUAPLUS\PIECE]
"InstallDir"="c:\\usr\\piece"



デバイスドライバのインストール

これからインストールする P/ECE 用デバイスドライバは、(純正とは異なり)ドライバ自体としては WinUSB 汎用ドライバフレームワークを利用しています。このため、ドライバのインストールとしてよくやる「.inf ファイルを右クリック→インストール」とか「デバイスマネージャからドライバの更新」などの流れはありません。かわりに以下のようにインストールします。

本家のドライバやその他の互換ドライバが入っているときは、P/ECE を接続した状態でデバイスマネージャを開き、デバイスを削除します。デバイスを削除する際に「このデバイスのドライバーファイルも削除します」にチェックしておきます。

P/ECE を USB 接続し、Zadig をダウンロードして実行します。すると以下のように PIECE PME-001 が選択されているはずです。

2018-09-24.png

WinUSB が選択されていることを確認して、Install Driver を押します。 The driver was installed successfully と出れば成功です。


pieceif.dll の置き換え

P/ECE との通信に対応した PC 側アプリは、デバイスドライバを直接利用せずに pieceif.dll というライブラリを通じて通信することになっています。純正の pieceif.dll は純正のドライバに対応した専用のものであり、互換ドライバであればそれ用の pieceif.dll が提供され、開発環境やアプリ添付のものを置き換えて使うことになります。

上記 Zadig でインストールしたドライバに対応する pieceif.dll が、拙作 pieceif-libusb です。WinUSB による汎用ドライバを libusb 経由でアクセスします。

Releases ページ から pieceif-libusb_######.zip をダウンロードして展開すると、 pieceif.dlllibusb-1.0.dll が出てきます。 これらを C:\usr\piece\bin に上書きコピーします。

今後 P/ECE 関係の PC 側アプリで純正の pieceif.dll を同梱もしくは必要としている場合は、このように pieceif-libusb バージョンで上書きして配置することで動かせるようになります(P/ECE 開発環境にも数か所に pieceif.dll が分散している)。


WinIsd の実行

P/ECE を接続した状態で C:\usr\piece\bin\WinIsd.exe を実行します。

WinIsd 起動

作業フォルダ で PC 側のディレクトリを指定すると、PC 作業フォルダ情報 のリストに PC 側のファイルがリストされます。P/ECE へ転送したいファイルを選択して を押すことで P/ECE へ転送されます。

P/ECE での実行ファイル形式は拡張子 .pex です。たとえば 作業フォルダC:\usr\piece\app\ojyo と指定し、 ojyomini.pex で転送すると、P/ECE の画面に「お嬢魔女ミニ」が選べるようになっているはずです。アプリによっては .pex 以外のファイルも転送しなければいけないかもしれません。そのアプリのドキュメントに書いてあるはずです。

P/ECE 側にある startup.pex は電源投入直後のメニュー画面を担当するアプリです。ほかのアプリで上書きすると電源投入時にそのアプリが起動するようになります。


実機基本操作


START 長押し

システムメニューを開く

START+SELECT 長押し

現在のアプリを終了してメニューに戻る

とりあえずここまで進めればネット上のアプリをインストールして遊ぶことができます。

現在でもアプリを公開しているサイトについては↓コメ欄で。





  1. ドライバ開発者がこの設定を使うならともかく、セキュアブートを無効化しなければならないなど、特定のデバイスを使うために一般ユーザに使わせる設定ではない