README.jp 13.9 KB

本パッチは現時点で 2.0I の ultra.dev に施された全てのバグの修正、および 
新機能の追加をするものです。なお、これらの修正時にどのファイルが変更され
たかについては、Changefiles.jp を参照してください。

本パッチをあてることにより、下記の変更がなされます。

98/10/21
        * 64GBパックのコネクタチェック関数 osGbpackCheckConnector()で
          接触不良時にハングアップしてしまうことがあるというバグを修正
          しました。

        * コントローラパック関数 osPfsInitPak(), osPfsRepairId() の仕
          様を変更しました。振動パックや 64GBパックが接続されていたと
          き、今までは PFS_ERR_ID_FATAL というエラーが返ってきましたが、
          PFS_ERR_DEVICE が返るようにしました。
          詳しくは DOC_cpak.jp を参照してください。特に、コントローラ
          パックと振動パック等、複数の種類のパックを使用する場合には、
          非常に重要な変更となりますので、必ずお読みください。

        * コントローラパック関数 osPfsInitPak(), osPfsRepairId() の仕
          様変更にともない、サンプルプログラム motortest を変更しました。

        * コントローラパックからデータ読み込み中にコントローラパックが
          抜かれた場合、ごくまれに、抜かれたことが検出できないという問
          題がありました。この不具合を修正しました。

#ifndef PC
        * 64DD に関連して、makerom に機能が追加されました。詳しい記述は
          64DD のパッチの README.jp をご覧下さい。なお、64DD を使用しな
          い場合はこの変更は影響ありません。makerom のバージョンは 2.4 
          になっています。

        * オーディオツール vadpcm_enc で、ソースファイル(aiff)内に特定
          チャンクが無い場合、出力ファイル(aifc)内の同チャンク情報が不
          定値になるバグを修正しました。

#endif
        * オーディオライブラリのソースのコンパイル時、Warning が出るバ
          グを修正しました。

        * ライブラリのソースファイル中の関数 assert() のコールを、#ifdef
          _DEBUG - - #endif でくくりました。

        * OS の割り込みマスク処理に存在していたバグが修正されました。従
          来は、グローバルイントマスクの変更中に割り込みがかかり、他のス
          レッドに処理が移り、そこでもグローバルイントマスクの変更が行わ
          れた場合、その変更が有効にならない場合がありました。

        * Pi/EPi の Raw 関数が OS の内部関数に変更されました。詳しくは 
          DOC_piraw.jp を参照してください。

        * サンプルプログラム中の Pi 関数が全て EPi 関数に変更されました。
          また、Pi の Raw 関数も Raw でない関数に変更されました。

#ifndef PC
        * 一部のサンプルを除き、サンプルプログラムにおいてコンパイル時に 
          make FINAL= とすると、実機の Nintendo64 で動作する形式のロムイ
          メージファイルが作成できるようになりました。また、この変更にと
          もない、/usr/src/PR/demos/README_DEMOS.jp も変更しましたので、
          ご覧下さい。
#else
        * 一部のサンプルを除き、サンプルプログラムにおいてコンパイル時に 
          make FINAL=YES とすると、実機の Nintendo64 で動作する形式のロ
          ムイメージファイルが作成できるようになりました。また、この変更
          にともない、/usr/src/PR/demos/README_DEMOS.jp も変更しましたの
          で、ご覧下さい。
#endif

        * サンプルプログラム soundmonkey の DMA コールバックルーチンが、
          RAM 上にすでにデータがあるにもかかわらず、ロムからの無用な DMA 
          をすることがある、という不具合があったので、playseq の DMA コー
          ルバックルーチンと同じものを使用するように変更しました。

        * サンプルプログラム playseq において、デファインに応じて物理ボ
          イス数を 16 か 32 かを切り替えることができるように変更しました。
          詳しくは /usr/src/PR/demos/README_DEMOS.jp を参照してください。

        * rmon 関連のコードをサンプルプログラムから除去しました。

        * osInitialize におけるクロックレートの変更機能が削除されました。
          詳しくは DOC_clock.jp を参照してください。

#ifndef PC
        * 上記クロックレートの変更機能削除にともない、makerom の -C オプ
          ションが削除されました。

#endif
        * リセット時の preNMI の取り逃しを防ぐために以下の変更が行われま
          した。

          (1)preNMI の発生の有無を osInitialize 内でチェックし、preNMI 
             が発生していた場合には osInitialize 内でプログラムが停止す
             るようにosInitialize が変更されました。
 
          (2)preNMI の発生の有無を osSetEventMesg が OS_EVENT_PRENMI に
             対して行われた場合にチェックし、preNMI が既に発生していた場
             合にはメッセージを送るように osSetEventMesg が変更されまし
             た。

          今回の変更により、preNMI が発生したにも関わらず、メッセージを
          取り逃すことは無くなりました。
          ただし NMI の発生が遅くなるわけではないので、起動時になるべく
          早く preNMI ルーチンを起動する必要はあります。

        * osGetMemSize のメモリー確認ルーチンが変更されました。
          従来は、拡張メモリ領域の特定アドレスに対して特定のデータを書き
          込み、そのデータがそのデータが書き込まれているかどうかで拡張メ
          モリの存在を確認していました。今回のバージョンでは、一旦データ
          を書き込んだ後、書き込んだデータを変更することが出来るかどうか
          で判断するようになりました。これにより、拡張メモリ領域を読み込
          んだ際に、拡張メモリが存在しないのにたまたまテスト用のデータが
          読み込まれてしまう可能性が無くなりました。

        * osCartRomInit() 関数は、従来はこの関数がはじめて呼ばれた際は、
          取得した設定値にしたがって PI バスのアクセススピードを変更して
          いましたが、二回目以降はアクセススピードは変更されませんでした。 
          今回これを変更し、はじめて呼ばれた場合も設定値を変更しないよう
          にしました。この変更にしたがって DOC_handle.jp の最後の部分も
          修正しましたので、参照してください。

        * 例外ハンドラーにおいて、Int1 が発生するような外部機器(64DD 等)
          が接続されていない場合に Int1 が発生した場合、誤動作してしまう
          という不具合を修正しました。本来はあり得ないことですが、念のた
          めの修正です。

        * F3DEX2 シリーズマイクロコードのバージョンが 2.06 になりました。
          詳しくは /usr/src/PR/doc/gfxucode.F3DEX2/README.jp を参照して
          ください。

#ifdef SGI
        * patchNg980810 の変更時に、patchNg980708 ですでに libleo にも
          入れるように変更していた一部の 64DD 関連のオブジェクトファイ
          ルを、libultra から削除しましたが、その記述が 98/08/10 の 
          README.jp に入っていませんでした。削除したファイルは、
          driverominit.o, leodiskinit.o, leointerrupt.o の3つです。
          これらは今は libleo に組み込まれています。
#else
        * patchNg980708 ですでに libleo にも入れるように変更していた一
          部の 64DD 関連のオブジェクトファイルを、libgultra から削除し 
          ました。削除したファイルは、driverominit.o, leodiskinit.o,
          leointerrupt.o の3つです。これらは今は libleo に組み込まれ
          ています。
#endif

#ifdef SGI
        * これまで、IRIX 6.X マシンでは /usr/src/PR/libsrc/conv がコンパ
          イルできませんでしたが、できるようになりました。これは、
          conv/Makefile の LLDOPTS を
                LLDOPTS=-L$(ROOT)/usr/lib/PR -B static
          から
                LLDOPTS=-L$(ROOT)/usr/lib/PR
          と変更したためです。-B static というオプションは、ライブラリと
          して .a (スタティックなライブラリ)をリンクしなさい、というオプ
          ションですが、このオプションをつけると IRIX 6.X マシンではうま
          くコンパイルができないことから、今回はずすことになりました。は
          ずしたことによって、IRIX 6.X でもコンパイルは通るようになりま
          すが、その結果できたツール類は別のバージョンの OS 上では動作し
          ない可能性があるので、注意してください。これは、ライブラリとし
          て .so (シェアードオブジェクト)を使用しているからです。リリー
          スしている rgb2c や flt2c などではこの問題を回避するため、-B
          static オプションをつけ、IRIX 5.3 マシンでコンパイルしたものを
          配布しています。

        * 前回のパッチで、下記のファイルがインストールされていませんでし
          た。今回のパッチではきちんとインストールされます。
                /usr/src/PR/README.jp
                /usr/src/PR/demos/gbpak/Makefile
                /usr/src/PR/demos/gbpak/kfont.c
                /usr/src/PR/demos/gbpak/mes.c
                /usr/src/PR/demos/gbpak/mes.h

#endif
98/08/28
#ifdef SGI
        * libultra_d において、osViSetSpecialFeatures 関数に 
#else
        * libgultra_d において、osViSetSpecialFeatures 関数に 
#endif
          OS_VI_DITHER_FILTER_OFF を指定しようとした場合、このビットの
          みを指定するとうまく動作したのですが、他のビットを何か一つで
          も同時に立てて指定するとうまく動作しない、という不具合があり
          ました。修正しました。

        * 音声認識システム用サンプル voice を下記のように変更しました。
                (1) エラーコードをそのまま表示していたのを、エラーコー
                  ドに対応したメッセージを表示するようにしました。
                (2) 音声認識システム、および、標準コントローラを、どの
                  コントローラポートに接続していても動作するように変更
                  しました。
                (3) ウォーニングが1つしか表示されていたなかったのを、
                  4つまで表示するように修正しました。
                (4) サンプルの説明ドキュメント README.jp を追加しました。

98/08/10
        * 音声認識システム用ライブラリが追加されました。これにともない、
          音声認識システム用サンプル voice が追加されました。

        * 64GBパック用サンプル gbpak で、拡張 RAM アクセス後、ステータ
          ス OS_GBPAK_RSTB_DETECTION をチェックするように変更しました。

        * 一回目の osCartRomInit()実行前に 64DD のイニシャライズ関数を
          実行していた場合、うまくハンドラが取得できないという不具合を
          修正しました。詳しくは DOC_handle.jp を参照してください。

98/07/08
        * osInitialize()を下記のように変更しました。
                (1) osInitialize 内部で、TLB の unmap をするようにしま
                  した。
                (2) ノイズバグに対応するため、osAiSetFrequency()に相当
                  する処理を内部で行なうようにしました。

#ifdef SGI
        * spec ファイル中でウェーブ名を指定しなかった場合、makerom が
          コアダンプして終了していたバグを修正し、エラーメッセージ(no
          wave name specified)を出力するように変更しました。バージョン
          は 2.3 になります。

#endif
        * /usr/src/PR/demos/README_DEMOS.jp に onetri-fpal に関しての
          記述を追加しました。

        * F3DEX2 シリーズマイクロコードのバージョンが 2.05 になりました。
          詳しくは /usr/src/PR/doc/gfxucode.F3DEX2/README.jp を参照して
          ください。

98/06/10
        * 64GBパック用ライブラリが追加されました。これにともない、64GB
          パック用サンプル gbpak が追加されました。

        * コントローラパックのアクセス時に CRC エラーが発生したときの
          リトライの処理の不具合が修正されました。

        * MPAL で n_audio マイクロコード使用時に、リセットボタンを押す
          とアプリケーションが停止する不具合が修正されました。詳しくは
          DOC_prenmi.jp を参照して下さい。

        * F3DEX2 シリーズマイクロコードのバージョンが 2.04 になりました。
          詳しくは /usr/src/PR/doc/gfxucode.F3DEX2/README.jp を参照して
          ください。

        * 3D マイクロコード上でスプライトを擬似的に処理するための SP ラ
          イブラリ を F3DEX/F3DEX2 マイクロコードでサポートしました。
          F3DEX/F3DEX2 と同様にマクロ F3DEX_GBI/F3DEX_GBI_2 を定義するこ
          とで SP ライブラリが使用可能になります。

        * gbi.h, gs2dex.h, gt.h, gzsort.h の先頭で、ultratypes.h をイン
          クルードするようにしました。これは、これらのファイルで u32 等
          の型を使用しているからです。

#ifdef PC
        * HostIO関数 uhGload()関数で、正常に実行できないときがあるとい
          う不具合が修正されました。

#endif

98/04/23
        * 64DD 用の ISR(Interrupt Service Routine) が変更されました。
          64DD 開発時にのみ関係のある変更です。

        * PI バスの設定において、ソフト的に把握しているバススピードを、
          実際に RCP のレジスタから読んでくるようにしました。潜在バグの
          フィックスです。

        * F3DEX2 シリーズマイクロコードを追加しました。詳しくは
          /usr/src/PR/doc/gfxucode.F3DEX2/README.jp を参照してください。
          バージョンは 2.02 になりました。

        * S2DEX マイクロコードの gSPBgRectCopy 命令において、幅の狭いフ
          レームに対する描画処理が正常に機能しなかったバグを修正しました。
          バージョンは 1.07 になりました。また、この修正は S2DEX2 (F3DEX2
          シリーズに付属)にも施しました。


98/03/05
        * /usr/src/PR/README.jp が変更されました。パッチに関するドキュメ
          ントを /usr/src/PR/doc の下に格納することに変更になったからで
          す。

        * PAL モードで全画面に表示を行うために FPAL モードと
          osViExtendVStart が追加されました。詳しくは DOC_fpal.jp を参
          照してください。

        * FPAL モードと osViExtendVStart のサンプルとして onetri-fpal 
#ifdef SGI
          が追加されました。このサンプルでは "make FPAL=" で make を実行
#else
          が追加されました。このサンプルでは "make FPAL=YES" で make を実行
#endif
          した場合には FPAL モードでの表示が、単に make を実行した場合に
          は osViExtendVStart で 32line が追加された場合の表示(解像度320
          x 272)が行われます。

#ifdef SGI
        * Partner 用 ROM イメージファイル・ロード関数 uhGload() で、引数
          にファイル名を指定しても、そのファイル名が有効にならず、必ず、
          "rom" というファイルをロードしてしまうバグを修正しました。

#endif
        * SI関数(コントローラパック関数や振動パック関数等)を見直し、処
          理を高速化しました。

        * コントローラパックのゲームノート作成・削除時の、データ領域の0
          クリアを止めました。

        * コントローラパックの Inode領域が壊れていたとき、ミラーInode か
          ら正しく修復できていなかった不具合を修正しました。

        * 関数 osEepromProbe()の直後に、関数 osContStartQuery() と関数
          osContGetQuery()を呼んだとき、正しい値が返らなかった不具合を修
          正しました。

        * サンプルの nosPak の参考用の C のソースに間違いがあったのを修
#ifdef SGI
          正しました。また、C のソースから libnos*.a を作成するための
#else
          正しました。また、C のソースから libgnos*.a を作成するための
#endif
          Makefile を追加しました。