概要
ProDG for PlayStation®2 は、PlayStation®2 ゲームの開発とデバッグが可能な完全機能を搭載した SN Systems のツール パッケージです。
コンポーネント、機能、特長
本製品は、ビルド ツール (アセンブラ、C/C++ コンパイラ、Emotion Engine (EE) および IOP 用のリンカー)、ソース レベルの専用の高速デバッガー、実行ファイルのロードと実行およびターゲット ステータスのモニタリング用のターゲット マネージャ、Microsoft Visual Studio 6.0 と .NET Integration (オプション) で構成されています。
更新情報 (v3.1)
このバージョンでは、多くの新機能が追加され、またバグも修正されています。
- Debugger - ProDG では、逆アセンブリ ペインに EE パイプライン アナライザ (ProDG Plus) が追加され、リソースの使用状況に関する情報とストール情報を確認できるようになりました。 リソース使用状況情報には、オプコードに必要な CPU リソースが表示されます。ストール情報には、ストールしたクロックの数の概算とその理由が含まれます。この数値が概算となっているのは、デバッガーがキャッシュ ミスに関する情報を持たず (すべての読み込みはキャッシュからのものとみなされる)、実際には、異なるストールの影響はさらに複雑なものとなっているためです。
- Debugger - ソース、ウォッチ、ローカル、TTY の各ペインにタブが追加されました。タブ数のデフォルト値とヒストリのエントリは、「設定」メニューで変更できます。
- Debugger - VU デバッギングが大幅に改良されました。EE ソース ウィンドウでダブルクリックして VSM ファイルを読み込むことにより、DMA 処理される前に VU コードで [D] ビット ブレークポイントをセットできるようになりました。
- Debugger - ドラッグ&ドロップ機能が改良され、TTY ペインやレジスタ ペインからのドラッグが可能になりました。
- ProView for PlayStation 2 - ProDG Plus ライセンスを使用し、当社アーティストのプレビュー ツール ProView をダウンロードして使用することできます。
- アーティスト、テスター、レベル デザイナー用のカスタム ツールやプラグインを開発できます。
以下のコンポーネントをクリックすると、主な機能が表示されます。機能をクリックすると、その特長が表示されます。
- 基本機能
- テクニカルサポート
電子メールや電話によるテクニカル サポートは、直接日本事務所が対応します。Web サイトの開発者用テクニカル サポート エリアでは、技術情報、FAQ、ダウンロード、製品アップデート、ドキュメント、サンプル コードを、24 時間年中無休でご利用できます。
- 日本語ローカライズ機能を搭載
ProDG for PlayStation®2 パッケージは、日本語にローカライズされているため、実行する言語モードが判定されます。デバッガー、リンカーアセンブラの各ダイアログ、エラー メッセージ、ツール チップは、使用している言語で表示されるため、国際的な開発チームにとって理想的な環境となります。
- ビルド ツール
- コンパイラ (EE と IOP) - PlayStation 2 専用に強化された C/C++ ビルド ツール
当社では、VU0 の内部レジスタ セットの自動割り当てを可能にするパッチや拡張された演算関数など、GNU ビルド ツールを大幅に最適化し、PlayStation®2 ゲームの開発を強力に支援します。また、R5900 MMI 命令と 128 ビット データにも追加対応しています。
- リンカー (EE と IOP) - 高速な専用のデータ ストリッピング機能と DLL 機能
SN Systems がゲーム開発用に特別に設計した PS2LD は、数多くの特別機能を搭載した非常に高速なリンカーです。このリンカーは、関数機能やデータ ストリッピング機能も搭載しており、使用されていないコードや不必要なコードを ELF ファイルから削除できるため、ファイル サイズが小さくなり、ロード時間も短縮されます。PS2DLLlk では、状況によってプログラムを部分的にメモリにロード/アンロード可能にする DLL ファイルの作成が可能になっているため、32 MB のメモリを最大限活用できます。
- アセンブラ (EE、IOP、VU0/1) - Emotion Engine、IOP、VU 専用の各アセンブラ
PlayStation®2 ハードウェアの各種プロセッサ専用に SN が開発したこれらのアセンブラは、高速でパワフル、および柔軟性が高いものとなっています。これらのアセンブラは、GNU ベースのアセンブラと比較して非常に高速であると同時に、互換性も保たれています。このため全体的なビルド時間が短縮でき、コードもコンソール上で高速に動作します。
- Compiler Driver - PS2CC によるビルド プロセスの完全コントロール
ビルド オプションは、PS2CC Compiler Driver から簡単に設定できます。ビルドは make ファイルなしで行うことができ、プロジェクトごとの設定がシンプルな 1 つの INI ファイルに保存されるため、ビルド環境全体を簡単にバックアップまたは転送することができます。これにより、コンパイラ、リンカー、アセンブラ、およびコマンドライン オプションの切り替えが簡単にできます。
- デバッガー
- 完全カスタマイズ可能なマルチ ウィンドウ デバッガー (カラー コード対応)
デバッグ情報をプロセッサ別に論理的に整理することにより、画面を有効に使用できます。
- EE、IOP、VU の各プロセッサに完全対応 (VU0、VU1)
デバッガーは、PlayStation®2 の全プロセッサ (VU プロセッサを含む) のソース レベルの single-step、step-over、step-into、run to cursor、およびブレークポイントに対応しています。
- VU ソース レベルの高度なデバッガー
ビルド時のプログラム ソース、アップロードされた DMA チェーン、マイクロコード ソースでの柔軟な VU D ビット ブレークポイント設定が可能です。
- DMA/VIF パケットおよび VU マイクロコード ブレークポイントを含む高度な DMA ペイン
DMA チェーン エラーのリアルタイム チェックおよび DMA ハードウェア ブレークポイントを搭載し、DMA チャンネル レジスタ、タグ、VIF パケットが表示されます。このペインは、VIF0、VIF1、GIF、IPU、SIF0、SIF1、SIF2、SPR の各情報の検証に使用します。D ビット ブレークポイントが 100% 検出されるため、信頼のおける DMA デバッグが可能です。
- DMA パケットの詳細分析
チェーン全体を解析してエラーを検出、またはエラーをひとつずつチェック可能。
- PlayStation 2 EE プロファイラ
EE タイムも最も使用している関数が表示されるため、プログラムのパフォーマンス概要を把握できます。

コードの調整後は、見やすいプロファイル ペインにフィードバックが即座に表示されます。
- スレッド情報を表示するカーネル ペイン
カーネル ペインには、PlayStation®2 ハードウェア上で実行されているすべてのスレッド情報が表示されます。カーネル画面は、EE と IOP の両プロセッサに用意されており、スレッドとセマフォ データを表示することができます。IOP カーネル ペインでは、Event、Message Box、V Pool、F Pool も表示できます。
- シンプルなプロジェクト ナビゲーションを搭載したワークスペース ペイン
ワークスペース ペインには、ELF ファイルのファイル、関数、グローバル、クラス定義への簡単なアクセス方法が用意されています。この機能をソース コードの検索パスと組み合わせることにより、ビルド担当者や設定を問わず、ソース コードに関連する任意のアイテムをデバッグできます。
- 条件式/カウント式ブレークポイントに対応
条件式ブレークポイントでは、コード内でブレークをトリガする特殊条件を使用できるため、デバッグの支援となります。また、カウント式ブレークポイントを使用することにより、指定した回数ブレークポイントがトリガされた際に、コードの実行を一時停止することができます。
- ソース/逆アセンブリ ペインのミックス モード
ミックス モード ペインでは、ソース コードの形式を簡単に切り替えることができます。コードの逆アセンブリがオリジナルのソース行にインターリーブされるソース、逆アセンブリ、ミックス モードを表示できます。
- カスタム テンプレートを含むレジスタ ペイン
レジスタ ペインでは、ハードウェア レジスタをカスタム レイアウトで表示することができるため、好みの環境で作業することができます。プロファイルは、DMA コントローラ、GIF インターフェイス、IPU、タイマー、VIF0/1 DMA レジスタを対象としており、PlayStation®2 内の任意プロセッサの利用可能なレジスタの表示をカスタマイズするとこができます。
- 標準の数式
標準数式は、文字列パターンを記述するための一般的な方法で、デバッガー内での検索に使用できます。
- 柔軟なペイン/ウィンドウ システム
CPU レジスタ、メモリ、逆アセンブリ、ソース、ローカル変数、ウォッチ ポイントは、複数を同時に表示できます。このレイアウトは自由に保存し、必要に応じて呼び出すことができます。
- 各種ペイン間でのセーブとロード
多くのペインには、情報ブロックをディスクにセーブまたはディスクからロードする機能が用意されています。この機能を使用することにより、ゲームの状態を簡単に復元、または異なるハードウェア上でのメモリを比較することなどができます。
- ユーザー設定可能なショートカットとカラー設定
デバッガーのキー マップは、自由に変更できます。Visual Studio および SN (SDevTC 製品を使い慣れたれたユーザー用または別プラットフォームで ProDG を使用しているユーザー用) には、キー マップが用意されています。テキストのフォント、サイズ、カラーは、各ペインに対して設定できます。
- ポップアップ式の数式評価機能
デバッガーのソース ペインには、フローティング式の評価機能が用意されています。テキストや選択項目にカーソルを合わせると、対象アイテムの評価や値がツールチップ上に瞬時にポップアップ表示されます。
- 高速なアップデートと表示
SN デバッガーは、業界最速レベルのパフォーマンスで動作し、ペインはリアルタイムにアップデートされ、single-step の速度もクラス最高となっています。
- 統合された TTY ペイン
各種 TTY ストリームからの Printf および Debug メッセージが表示され、ANSI カラーリングにも対応しています。
- 業界標準の ELF ファイル形式を使用
デバッガーは、ELF 標準形式で使用される STABS デバッグ情報を認識できるため、標準のツールを使用して Linux でビルドされたファイルと 100% 互換性があります。
- Microsoft Visual Studio .NETとの統合
上記の機能とVisual Studio .NET (2003) との統合は、Add-ins およびAppwizards を使用して行います。以下の機能が用意されています。
- プロジェクトは、Visual Studio IDE を使用してビルド、編集、管理できます。
VSI では Visual Studio にツール バーがインストールされ、ProDG ビルド環境を Visual Studio で使用できるようになります。Visual Studio で使用できるすべての純正機能 (Source Safe controls など) は、PlayStation®2 プロジェクトで使用できます。
- IDE と ProDG Debugger との強力な統合
ビルド後、ProDG Debugger でのゲームの実行やデバッグを Visual Studio から行えます。ブレークポイント (条件情報を含む) は IDE とデバッガーとの間で自動的に転送され、デバッガーのソース ペイン内のファイルは、デバッガー内から Visual Studio で開くことができます。
コンパイラとリンカーのエラーや警告は Visual Studio 形式で出力されるため、出力ウィンドウでビルド エラーをダブルクリックすると、Visual Studio エディタでソース ファイルが開いて該当する行が表示されます。
- ProDG ビルド ツールの統合
ツールチェーンのコマンドライン スイッチ、Debugger/ELF 用のコマンドライン引数、ファイル サービング用のパスはすべて、Visual Studio .NET の設定ダイアログ ボックスで設定できます。
- 柔軟なプロジェクト設定
VSI .NET は、各設定ごとのプロパティに対応しており、デバッグとリリース ビルドに対してそれぞれ異なるリンカー スクリプトを使用することなどが可能です。
- ソース参照と Intellisense
Visual Studio に搭載されているソース参照機能と Intellisense は、Win32 ビルドの場合と同様に、PlayStation®2 プロジェクトで使用できます (C/C++ ソースの編集時)。
- プロジェクトの依存性
C、C++、アセンブラの各ファイルに対して、ビルド処理中に完全なソース依存性チェックが行われます。
- ターゲットマネジャー
- 実行ファイルの読み込みと実行
実行ファイルの読み込みと実行を行うためのシンプルなインターフェイス。複数モジュールのプリロードに対応。
- すべての開発用ハードウェアを PC から管理
LAN で認識されている PlayStation®2 開発用ツールを管理。ハードウェアのステータスと接続中のユーザーも表示されます。
- 総合的で安全なカーネル フラッシュ機能
すべての PlayStation®2 開発用ハードウェアを 1 箇所からアップデートできるため、Linux PC を別途用意する必要はありません。
- 名前付きパイプを含む完全なファイル サービング機能
ファイル サービング機能では、PlayStation®2 開発用ハードウェア上で実行されているアプリケーションから、ホスト PC 上のファイルにアクセスできます。また、ゲームのデータを PC から直接読み込むことができるため時間とリソースを節約でき、PlayStation®2 開発用ハードウェアからは、ファイル情報 (サイズやアクセス時間など) に直接アクセスできます。
さらに、名前付きパイプに対応したことにより、アプリケーションとホスト PC との間で双方向通信チャンネルが実現します。これにより、PlayStation®2 開発用ハードウェアを PC から制御するためのソフトウェアを記述することが可能になります。
- TTY 出力ペイン
PlayStation®2 開発用ハードウェアからの出力は、用意されているストリームまたはユーザーが選択した形式で表示できます。また、ANSI カラーリングに対応しているため視認性も向上し、バッファ サイズも変更できるため、出力を保存してテスト記録および分析に使用することもできます。
- ターゲットマネジャー Software Development Kit (SDK)
SDK では、アプリケーションやプラグインから ターゲットマネジャー の機能にアクセスできます。このため、テスト済みの ターゲットマネジャー にターゲット通信をまかせて、アプリケーション開発に集中できます。
必要システム構成
- 対応するOS:Windows 2000/XP
- Sony Computer Entertainment PlayStation 2 Development Tool DTL-T10000/DTL-T15000.
- Network card.
価格
詳細な情報は、contact@snsys.com までご連絡下さい。