English
★INDEX
▲
|STN-5
|STN-6
|STN-9
|STN-18
|STN-19
|STN-21
|STN-22
▼
STN-18
システムプログラムに関する使用制限
発行番号: | STN-18 |
発 行 日: | 95/01/20 |
メディア: | ●共 通 | ○CD-ROM | ○カートリッジ | ○その他 |
関 連: | ●プログラム | ○ハード | ○マニュアル | ○ツール | ○ゲーム | ○バグ | ○その他 |
情報区別: | ●新 規 | ○変 更 | ○追 加 |
重 要 度: | ●厳 守 | ○推 奨 | ○参 考 | ○その他 |
添付資料: | ●無 | ○有 |
件名補足: | SYS_SETSINT()関数のスレーブCPUからの使用制限 |
内 容
SYS_SETSINT()関数をスレーブSHから使用した場合、ベクタ番号Numで示すスレーブ
用ベクタテーブルの該当ベクタには、正しいデフォルト値が書き込まれません。
このようにアドレスを0で指定するデフォルトの登録方法は、スレーブSHから行わな
いでください。
なお、マスタSHからマスタ用、スレーブ用ベクタテーブルを操作するのは問題ありま
せん。また、これについてスレーブ用ベクタをデフォルト登録に戻す必要があれば、
以下の方法で処理してください。
■操作方法
- ●スレーブSHが、スレーブ用ベクタを独自に操作する場合
- スレーブSHプログラムが、ワークRAMに常駐するようなケースで、スレーブが
自から状況に応じて割り込み処理を使い分ける場合は、初めに(デフォルトを取得可能な時点)で、
- func_org = SYS_GETSINT(Num);
- により変数に保存し、目的の処理ルーチンを登録,更新した後、
- SYS_SETSINT(Num, func_1st);
:
SYS_SETSINT(Num, func_2nd);
:
- デフォルトに戻すには、初めのアドレスを登録します。
- SYS_SETSINT(Num, func_org);
- ●マスタSHがスレーブ用ベクタを操作する場合
- スレーブSHプログラムがステージ毎に読み換えるようなケースで、マスタが
スレーブON/OFFを頻繁に行う場合は、マスタがスレーブをONする前または
OFFの後で、スレーブ用ベクタを初期化すれば良いので、マスタSHから前述の
タイミングで、
- SYS_SETSINT(Num+0x100, 0);
- を実行する。
なお、ベクタ番号に0x100を加えることにより、マスタSHからスレーブ用
ベクタを操作する方法は、通常の処理ルーチン登録にも行えます。
以上
★INDEX
▲
|STN-5
|STN-6
|STN-9
|STN-18
|STN-19
|STN-21
|STN-22
▼
Copyright SEGA ENTERPRISES, LTD., 1997