Name Last Update
..
CVS Loading commit data...
Makefile Loading commit data...
Makefile.dos Loading commit data...
Makefile.irix Loading commit data...
appgfxinit.c Loading commit data...
gfxinit.c Loading commit data...
graphic.c Loading commit data...
graphic.h Loading commit data...
main.c Loading commit data...
main.h Loading commit data...
midi.sbk Loading commit data...
readme.txt Loading commit data...
se.ctl Loading commit data...
se.tbl Loading commit data...
segment.h Loading commit data...
spec Loading commit data...
stage00.c Loading commit data...
wave.ctl Loading commit data...
wave.tbl Loading commit data...
このディレクトリはマイクロコードのFIFOバッファを変更するサンプルです。

同じ正方形を毎回25個書いて回転させています。
一秒に何コマ処理ができるかが、表示されます。

gspF3DEX2.fifo.oのFIFOバッファの下限である0x410より小さくすることはできません。
XBUSマイクロコードはFIFOバッファが0であると考えることができます。
FIFOバッファを減らすと、その領域はほかの用途に利用できます。
FIFOバッファを0x1400よりも下げていくとRSPの処理待ちが発生してしまうことが
わかります。

このサンプルで表示しているように巨大なポリゴンを表示する場合は、
XBUSマイクロコードが有利なため(FIFOバッファサイズが小さくても良いため)
一秒間に表示できるフレーム数はあまり変わりません。

このサンプルではFIFOバッファサイズを連続して変更しているときに
処理落ちしていますが、これはFIFOバッファを変更するたびに全ての
タスクが終了するまで一切の処理をしないようにしているためです。

操作方法は以下のとおりです。

Zトリガ            FIFOマイクロコードとXBUSマイクロコードを切り替えます。
Cボタンユニット上  FIFOバッファのサイズを0x10バイトずつ増やします。
Cボタンユニット右  FIFOバッファのサイズを0x10バイトずつ減らします。
Cボタンユニット左  FIFOバッファのサイズを0x100バイトずつ増やします。
Cボタンユニット下  FIFOバッファのサイズを0x100バイトずつ減らします。

Aボタン            押すたびに四角形の回転方向が変わります。
Bボタン            押している間、四角形の回転速度が上がります。