第 233 回 PTT のお知らせ


日時: 1997年 10月30日 (木) 18:30 から
場所: 東京大学教育用計算機センター4F 会議室
  地下鉄千代田線根津駅下車.綾瀬にむかっていちばん前の改札口を通って地
上に出る.右手すぐに"根津一丁目"という交差点が見えるので,そこを右折し
て(うなぎ屋と薬屋の間の道)坂を登る.信号の少し手前左にある東大の入り口
を入って直進するとつき当たり付近に大型計算機センターがあります.その建
物の4階です.のマ
ップを参考にして下さい. 通常の入口は7時にしまるので, それ以降に来るとき
は守衛さんのいる出入口で記帳をする必要があります. 

話者1: 寺田実(東京大学工学系研究科)
題目1: Emacs のための派手目の gdb モード
概要:
 Emacs には gdb (gud) モードといって, デバッガのためのフロントエンドが
あります. これはかなり熟練者むけなのでもうちょっとターゲットを広げると
ともに,
・なるべく多くの情報を自動表示
・疑似逆向き実行
などの特徴をもつもの(名前はまだない)を作りました.  その簡単な紹介と使
用経験, それからデモをします.

話者2: 尾上能之(東京大学工学系研究科)
題目2: PlayStationプログラミング
概要:
ゲームプログラマを養成する目的で,SCEからPlayStation(PS)上の開発キット
「ネットやろうぜ」が提供されている.我々はPSをグラフィック(2D,3Dなど)
やサウンド機能の優れたコンピュータであるとみなし,この「ネットやろうぜ」
を用いてPS上にプレゼンテーションシステムを作るという学生実験を行なった.
今回の発表では,そこで作成されたシステムを実演すると共に,PS上のプログ
ラミングにおける特徴や問題点などを紹介する.


第 233 回 PTTメモ


日時: 1997年10月30日(木) 18:30から
場所: 東京大学教育用計算機センター4F会議室
題目:
話者:
出席者: 梅村恭司(豊橋技科大), 和田英一(富士通研), 並木美太郎, 岩崎英哉, 岡村真一郎, 佐藤元信, 早川栄一(農工大), 佐野ちひろ, 阿部恵美子(津田塾大), 立山義祐(NEDO), 齊藤正伸, 小口和弘, 沖野直人, 多田好克, 清水了, 中村嘉志, 山田雄一郎, 田村友彦, 森本浩通, 海江田章裕, 南将朝, 衣笠友宣言(電通大), 河合泰彦(東芝), 佐々木崇郎(慶大), 石畑清(明大), 北折潤(電子航法研究所), 丸山一貴, 海田美香, 石田一博, 胡振江, 尾上能之, 寺田実, 田中哲朗(東大)
質疑応答1: 話者: 寺田実(東京大学工学系研究科)

題名: Emacs のための派手目の gdb モード

概 要:

Emacs には gdb (gud) モードといって, デバッガのためのフロントエンドが あります. これはかなり熟練者むけなのでもうちょっとターゲットを広げると ともに,

などの特徴をもつものを作りました. その簡単な紹介と使用経験, それからデ モをしました.

プロセスのメモリイメージをセーブしておいて, 本当に逆実行は できないかとの質問をいただきました. これについては, 僕がやっている方法とは全く異なっていて, 全く検討していないのが実情ですが, ある程度条件をつければ, 可能なような気もします. un-dump みたいにやるのでしょうかねえ. ただ, それが gdb の枠内でできるかどうかはかなり疑問.

もうひとつ, cont コマンドで実行を継続すると, 割り込みで停止させた場合に その履歴にギャップが生じてしまって, その先での逆実行ができなく なります.

これの改善策として, 本物の cont コマンドを使わず, step コマンドに 大きなステップ数を与えて実行させてはどうかとのアイデアをいただきました. しかし, その場合に, 何ステップ目で割り込まれたかを知ることができるか は不明です. まあソースに手を入れればいいのでしょうけれど...

おまけ:

その時に発表したシステムを以下のページで公開しています. 興味のある方はどうぞ. http://www.sanpo.t.u-tokyo.ac.jp/~terada/progs/mygdb.html


質疑応答2:
話者: 尾上能之 (東京大学工学系研究科)

題名:PlayStationプログラミング

概 要:

ゲームプログラマを養成する目的で,Sony Computer Entertainmentから PlayStation(以後PSと略)上の開発キット「ネットやろうぜ」が 提供されている.我々はPSをグラフィック(2D,3Dなど)やサウンド機能の 優れたコンピュータであるとみなし,この「ネットやろうぜ」を用いて PS上にプレゼンテーションシステムを作るという学生実験を行なった. 発表では,そこで作成されたシステムを実演すると共に, PS上のプログラミングにおける特徴や問題点などを紹介した.

発表はまず,PSのハードウェアとしてのスペックについて触れた後, 「ネットやろうぜ」システムの構成について説明した.このシステムは, ホストマシン(PC/AT互換機)とPSを専用ケーブルでシリアル接続する ことにより,開発からデバッグ,テストランまでの操作を一貫して ホストマシン上で行なえるようになっている.

プログラミングはC言語で行ない,PS用のオブジェクトコードを 生成する専用gccや,gdb,makeなどの各種ツールが提供されている. またグラフィックやサウンドのデータはPS専用のフォーマットを用いる 必要があるが,一般的なデータ形式から専用形式へのコンバータも 開発キットに含まれているので問題はない.

我々の研究室では,学部4年生の前期の実験としてこの「ネットやろうぜ」を 用いて,マルチメディアプレゼンテーションシステムの作成を試みた. 最初はテキスト,グラフィック(2D,3D),サウンドを扱えるような システムにする目標をたてたが,実験の残り時間が少なくなるにつれて 何度も仕様変更を繰り返した結果,最終的にはテキストと2Dグラフィックを 画面に半分ずつ表示するシステムをなんとか完成させた.各画面はハイパー テキスト構造になっていてコントローラからの指示により画面間の移動が 可能であるが,リンク先を示す各ボタンの位置/数は固定されているなど, 今後改良する点はまだまだ残されている.

後期は学部3年生の実験として,3次元空間におけるオブジェクトの 移動プログラムを作らせている.こちらは既存のサンプルプログラムを 基に,コントローラからの入力に応じてオブジェクトを平行/回転移動 させるもので,実験は現在も引き続き行なわれている.

購入後半年間利用した感想としては,添付されるマニュアルだけでは わからないことが多いということである.開発言語はCであるが, K&Rのような一般的なCの知識ではなくPS専用に準備された数多くの関数を 使いこなすための知識が必要とされ,これは経験以外では得ることが できないためである.このプログラミングにおける障壁に加え, PS上でゲームを作ることができるという甘い言葉に誘われて, 一般的なCの知識さえ持ち合せないプログラミング初心者がこの 「ネットやろうぜ」を購入し挫折するという例が数多くあるそうである.

このようにSony Computer Entertainmentからの情報は不足気味であるが, 情報公開のための手段としてWWWとNetNewsが用意されている. ここにはプログラミングに必要なデータ構造の詳細や新しい開発ツール などが随時アップデートされているのに加えて,他の「ネットやろうぜ」 会員が作成したプログラムやプログラミング上のノウハウが蓄積されて いるので,これらを有効に活用すると良い.

まとめとしては,現在の所実験で作成したプログラムは,まだPSのもつ 性能を活かしきれていない点から十分に活用できているとは言い難いが, プログラミングの結果がビジュアルに体感できるという面白さも 手伝ってか学生にはまずまず好評のようである. 「ネットやろうぜ」についての情報は以下のURLから辿ることができる. 中には会員のみ参照できるページもあるが,概要について知るには 十分であろう.

質疑応答:

Q1. PTTの発表を,作成したプレゼンテーションシステムで 行なわなかったのは何故?
A1. PSのメモリ2MBという制限により,作成したシステムでは 総ページ数が7ページまでのプレゼンテーションしかできないためです. この問題を解消するために,PSからPC側のHDDを参照できるような ツールを使えば,必要なデータをPSのメモリに転送しなくて 済むようになるので,ページ数の制限はなくなるものと思われます.

Q2. 「ネットやろうぜ」で利用できるライブラリ関数は, どの程度のことができるか? それは使いやすいか?
A2. 市販されているソフトの開発はより高機能な開発環境を用いて 行なわれているので「ネットやろうぜ」で開発するのは不可能ですが, ゲームプログラマのみが必要とするような機能以外の処理は だいたい行なえるものと思います.ただそのライブラリ関数の 使い勝手は悪く,添付のライブラリリファレンスでは実用例が まったく無いので関数を使用するには試行錯誤が要ります.

Q3. 今の実験以外に「ネットやろうぜ」を活用する予定はあるか?
A3. 卒論のテーマとして,既存のアプリケーションのPSへの移植を 考えていますが,その実現できる可能性を調査している段階です. 他に有効な活用方法がありましたら教えてもらえると幸いです.