DOC_brake.jp 2.54 KB

        LeoSpdlMotor 関数に関する仕様の変更


1.今回のパッチの目的

        今回のパッチは LeoSpdlMotor 関数に新たに LEO_MOTOR_BRAKE モード
        を付け加えるためのものです。


2.LeoSpdlMotor 関数の変更について

        従来の LeoSpdlMotor 関数では mode として LEO_MOTOR_ACTIVE,
        LEO_MOTOR_STANDBY, LEO_MOTOR_SLEEP の3つのモードが指定可能でし
        た。今回の仕様変更により新たに LEO_MOTOR_BRAKE モードの指定が可
        能になります。
        LEO_MOTOR_BRAKE を指定した場合、ドライブはディスクを急停止し、ス
        リープモードへ移行します。

        LeoSpdlMotor で BRAKE モードを指定して強制的にディスクを停止させ
        た場合と、指定せずに自然に停止(あるいはSLEEPモードを指定して停止)
        させた場合では以下のような違いがあります。

        (BRAKE モードを指定した場合)
          ・ディスクはすぐに(平均:1.5秒  最大:3秒)停止します。
          ・ディスクが停止する際に強制停止によるカチャという小さな音が発生
            します。
        (通常の停止または SLEEP モードを指定した場合)
          ・ディスクの停止までには時間(平均:3秒  最大:6秒)がかかります。
          ・ディスクが自然に停止するのを待つため、停止時にほとんど音が発
            生しません。


3.BRAKEモードの使用法について

        例えばゲーム中にディスクを入れ替える必要がある場合、現在回転して
        いるディスクを急速に止める必要が出てきます。BRAKEモードはこのよ
        うな場合に有効です。
        逆に普通にゲームが進行している場合には、ディスク停止時の音の発生
        や停止までに再びリード・ライトが起こる可能性がある点等から、むし
        ろリード・ライトの終了による自然な形の停止の方が有効です。


4.今回のパッチの注意点

        今回のパッチを使用する際に注意する必要があるのは、今回の変更が
        新しいタイプのドライブでのみ有効であるという点です。
        LEO_MOTOR_BRAKE モードは98年になってから販売・配布された新仕様の
        開発用ドライブでのみ有効です。97年に販売・配布された開発用ドライ
        ブでは常に強制停止が行われるため、 LEO_MOTOR_BRAKE モードを指定し
        た場合でも LEO_MOTOR_SLEEP モードを指定した場合と同じ動作になりま
        す。(ただし最も古いタイプのドライブでは、強制停止ではなく、逆に常
        にディスクが停止するのを待つ形になっています)。
        新・旧のドライブの見分けは LeoInquiry 関数の drive を調べることで
        も可能です。新ドライブではこの値が0x14に、旧ドライブでは値が0x4に
        なっています。
        なお、市販の量産用ドライブではすべてのドライブが新仕様の BRAKE 
        モード対応のドライブとなります。
        古いドライブを使用している環境下で今回のパッチをあてたとしても、
        モード指定に意味がないだけで問題等は発生しません。