relnotes20I.jp
12.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
12/15 リリース RELEASE NOTES
===============================
概要:
-----
今回の Ultra 64 のリリース(RCP 2.0 用バージョン2.0I) は、2.0H
以降にリリースされた様々のパッチを含んでいます。
#ifdef SGI
2.0Cリリースにおいて説明した、R4300 CPUの乗算の不具合に注意し
てください。この不具合を解消するには、IRIX5.3に含まれているパッ
チをインストールする必要があります。簡単な説明を後述の付録Aで行っ
ています;より詳しいパッチインストール指示は、そのパッチに添付さ
れるリリースノートで説明しています(このパッチはこのテープにも含
まれています)。
#endif /* SGI */
/usr/src/PR の下のディレクトリ構成が一新され、デモソフトは
/usr/src/PR/demos にインストールされることになりました。その他の
詳しい構成に関しては、/usr/src/PR/README.jp を参照してください。
各デモソフトの説明は /usr/src/PR/demos/README_DEMOS.jp を参照し
てください。
また、インストール前には /usr/src/PR を全て消去しておくことを
お勧めします。これにより、古いディレクトリと新しくインストールさ
れたディレクトリが混在し、分かりにくくなることを事前に防ぐことが
できます。
/usr/src/PR/demos/README_DEMOS.jp および、/usr/src/PR/demos/
の下のいくつかのサンプルデモのディレクトリにある README 内に、
"gload" を実行する、というような記述がありますが、これは Indy +
開発ボード の開発環境におけるプログラムの実行方法です。PARTNER
を使用されている方は、PARTNER におけるプログラムの実行方法にした
がって実行してくださるようお願いします。
#ifdef SGI
インストール時にコンフリクトが起き、「パッチが依存しているため
に古いバージョンを消去できない」と出ることがあります。そのときは
「パッチも消去する」を選んでください。
#else
2.0H では 64DD 開発環境が含まれていました。今回の 2.0I では
64DD 開発環境は別パッケージとなりました。
環境変数設定バッチファイル setup.bat が変更されました。ライブ
ラリ用のバッチファイル setuplib.bat と、exeGCC 用のバッチファイ
ル setupgcc.bat の2つが追加され、setup.bat ではこの2つのバッチ
ファイルを呼ぶように変更しています。
デモソフトの Makefile の書式を変更しました。SGI のものに近い
形になりました。また、exeGCC Ver.1.2 以降のデバッグ情報圧縮機能
に対応しました。これにともない、ultra/include/make 以下のファイ
ルが一新されました。
ultra/usr/include/以下のヘッダファイルが整理されました。
・削除されたヘッダファイル
ultra/usr/include/bstring.h
math.h
svr4_math.h
tinymon.h
・内容が変更されたヘッダファイル
ultra/usr/include/assert.h
#endif
新しい機能:
-----------
新しいスプライトマイクロコード S2DEX を追加しました。機能、使
用法については /usr/src/PR/doc/gfxucode.S2DEX にあるドキュメント
を参照してください。これは 2.0H に対するパッチとして配布していた
S2DEX マイクロコードの Release 1.06 と同じものです。これまで供給
してた Sprite2D マイクロコードと S2DEX マイクロコードには互換性
はありません。ご注意ください。
新しいデモソフト:
-----------------
gs2dex
S2DEX マイクロコードのサンプルプログラムです。 コントローラ 1
を使用します。
#ifdef SGI
*このプログラムのコンパイルには perl が必要です。
IRIX の CD にある以下のパッケージをインストールしてくだ
さい。
eoe2.sw.gifts_perl (IRIX 5.3 の場合)
eoe.sw.gifts_perl (IRIX 6.X の場合)
#endif /* SGI */
eeptest
EEPROM 用のチェックプログラムです。EEPROM に対して WRITE/READ
を行い、正しく読み書きできるかチェックします。16K-EEPROM に対応
しています。
sramtest
SRAMのサンプルプログラムです。実行には256KbitsのSRAM基板が必要
です。実行結果はosSyncPrintfでターミナルに返されます。
変更されたデモソフト:
---------------------
motortest
振動パックを止める場合に、osMotorStop()を3回コールするように
変更しました。
nosPak
コントローラパックメニューのサンプルライブラリ(libnos_jpn.a,
libnos.a)が以前のものでは最初から用意されていました。これを、
lib/ で make を行うことによって、ライブラリを作成するように変更
しました。
#ifdef PC
上記の変更にともない、ultra/usr/lib にあったサンプルライブラリ
libnos*.a、及び、ultra/usr/include/PR にあったヘッダファイル
lisnos.h, ncode.h を削除しました。
#endif
また、従来のコントローラパックメニュープログラムでは、メニュー
内部で画面モードの設定を NTSC 用に行なっていました。そのため、
NTSC 以外のモードでは使用できませんでした。今回、NTSC 以外のモー
ドでもコントローラパックメニューを使用できるようにするため、画面
モードの設定をメニュー内で行なうのを止めました。つまり、コントロー
ラパックメニューを呼ぶ前には、画面モードの設定を行う必要がありま
す。
コントローラパック・メニューでコントローラパック・ライブラリの
バージョンを表示するように変更しました。自作のコントローラパック・
メニューにおいても、必ず、バージョン番号は表示するようにお願い致
します。
#ifndef SGI
overlay
現在、PCではマルチウェーヴに対応していないため、削除しました。
#endif /* not SGI */
pfs
画面表示の文字の誤りを修正しました。また、コントローラパックの
ガイドラインに添った仕様に変更しました。
L、Rボタンによるゲームノートのページ数変更の機能を削除しました。
nnsample1,2
RDP FIFO バッファサイズの誤りを修正しました。また、rmon を使用
する場合は、USE_RMON を指定するように変更しました。
修正された問題点:
-----------------
AUDIO
osAiSetNextBuffer() 関数において、RCPのバグに関する補正を修正
しました。今まではDMA元の最終アドレスが bXX10 0000 0000 0000 の
場合にバグが発生すると判断していたものを bXXX0 0000 0000 0000 の
ときに発生すると判断し、回避するように変更しました。
GRAPHICS
Sprite2D マイクロコードにおいて Yield 処理が正常に行なわれなかっ
たバグを修正しました。 以前は naudio マイクロコードと組み合わせ
た場合にこの障害が起こっていました。
F3DEX マイクロコードの gSP1Quadrangle でフラットシェードを使用
したときに正常に動作しない場合がありました。gbi.h が修正されてい
ます。
OS
以前の OS では、osMotorInit()を呼ばずに、osMotorStart() や
osMotorStop()を呼んだときの動作は不定となっていました。今回、この
ような場合、PFS_ERR_INVALID というエラーを返すように変更しました。
#ifndef SGI
osContGetReadData()で 1-コントローラのデータが壊れて、正しいデー
タが読めないときがあった。
#endif /* not SGI */
osEepromLongRead() 内で、一回の読み込みごとに CPU タイマを使用
して 15ms 待っていた部分を削除しました。15ms 待つ必要があるのは、
Write 時だけで、Read 時は不要のためです。
osPfsInitPak()の返り値で、コントローラパックを抜き差ししても、
PFS_ERR_NEW_PACK が返らないときがあるという不具合を修正しました。
他のポートのコントローラでコントローラパックを抜き差しした場合に
このような不具合が発生していました。
1Mコントローラパック(開発途中版)の使用時に、osPfsDeleteFile()
でゲームノートを削除しようとしたときに、他のゲームノートも消して
しまう不具合が修正されました。ちなみに、通常の 256Kのコントロー
ラパック使用時には、以前から問題ありませんでした。
また、この不具合が修正されたコントローラパック・ライブラリを使
用していることがはっきりとわかるように次の仕様の追加をしました。
コントローラパック・ライブラリのバージョンを示す OS_PFS_VERSION
を追加しました。各ゲーム・アプリケーションの中のコントローラパッ
ク・メニュー中では、必ずこのバージョンを表示するよう、お願い致し
ます。
OS_PFS_VERSION は 16bitの値です。上位 8bit が、バージョン番号
の整数部分、下位 8bit が小数部分となっています。例えば、
OS_PFS_VERSION の値が 0x0200 とすると、コントローラパック・ライ
ブラリのバージョンは 2.0 となります。使用例としては、付属のサン
プル nosPak をご参照ください。
osEPi(Raw)ReadIo(), osEPi(Raw)WriteIo()を使用した際に、PI バス
の設定値が引数で与えたハンドラの通りに変更されないという不具合が
修正されました。
マクロ定義で括弧が抜けている部分があったのを修正しました。
マクロ OS_CYCLES_TO_*SEC, OS_*SEC_TO_CYCLES の定義を、オーバー
フローしにくくなるように変更しました。
ヘッダファイル os.h 中で、 osViRepeatLine()の extern 宣言が、
osRepeatLine()となっていたのを修正しました。
SEGMENT_NUMBER の値がアドレスの上位 8bitだったのを、そのうちの
上位 4bitを無視するように変更しました。このため、KSEG0,1 のアド
レスを入れても誤動作しないようになりました。
Partner で hostio を使用した場合、データが届いていないときに、
スレッドがポーリングで待たされてしまうという問題点を修正しました。
osUnmapTLBAll() を使用した際、本来ならエントリ0 - 30 を unmap
すべき(エントリ31 はシステムが使用します)ところを、エントリ1 -
31 を unmap してしまう、という不具合がありました。修正されていま
す。
2.0H の例外ハンドラでは、64DD のプログラムで使用するグローバル
変数領域を上書きしてしまう不具合がありました。修正されています。
osDestroyThread() に存在しないスレッド(例えば既に destroy した
スレッド等)を指定してコールした場合、暴走するという不具合を修正
しました。そのような場合、何もせずに返るようになりました。
TOOL
拡張された機能:
---------------
AUDIO
GRAPHICS
OS
EEPROM関数が 16K-EEPROM に対応しました。
osGetMemSize() 関数が追加されました。これは、RDRAM の拡張メモ
リ領域の一部に実際にアクセスしてみて、メモリー拡張パックが挿さっ
ているかどうかを確認するためのものです。64DD のゲームで使用して
ください。今までにあった、osMemSize との違いは、これは変数であり、
起動時に得られた RDRAM のサイズが格納されているのに対し、
osGetMemSize() はコールされた時点でアクセス可能かどうかを調べに
行くところです。
osEPiLinkHandle() 関数が追加されました。これはハンドラ取得関数
を自分で作成する際に使用します。詳しくはサンプルデモ sramtest を
参照してください。
今後サポートされない機能:
-------------------------
osPfsReSizeFile() 関数が削除されました。
注意点:
-------
ドキュメント:
-------------
ドキュメント類は情報の追加と整理を行っています。
----------------------------------------------------------------------------
警告:
----------------------------------------------------------------------------
グラフィックス:
---------------
オーディオ:
-----------
OS:
---
デモ:
-----
ツール:
-------
デバッガ:
---------
----------------------------------------------------------------------------
資料A
----------------------------------------------------------------------------
以前のリリースから認識しておく必要のあった重要な注意:
----------------------------------------------------------
#ifdef SGI
アプリケーション'spin'を実行するためには‘sgitcl’が必要です。
このツールはIRIX5.3のディストリビューションCDに含まれていますが、
便宜上このリリースにも含められています。あなたが NINTENDO64 ソフ
トウェア開発環境をデフォルトのまま、インストールする時にはインス
トールされません。
システムにはIRIXパッチpatchSG0001118をインストールする必要があ
ります。このパッチは、R4300問題を回避するために、あなたのCコン
パイラとアセンブラをフィックスするものです。このパッチは便宜上こ
のリリースにも入っています。NINTENDO64ソフトウェア開発環境をデフォ
ルトでインストールした場合にはこれはインストールされません。イン
ストール指示の詳細は patch1118/patchSG0001118/relnotes/ch1.z を
見てください。
注:インストールする際にはこのパッチを選択する必要があります。
‘inst’のデフォルトインストールではパッチはインストールされませ
ん。ですから、このパッチがインストールされるよう明示的に示さなけ
ればなりません。(より詳しい情報はinstのオンラインマニュアルにあ
ります。)
#endif /* SGI */
#ifdef SGI
----------------------------------------------------------------------------
資料 B
----------------------------------------------------------------------------
makerom 変更履歴
----------------
06/10/97
ver1.1a
* IRIX 6.X 対応版
* Partner差分転送対応版
06/13/97
ver1.42beta
* ver1.1aにあったバグを修正したbeta版
07/10/97
ver.2.0
* IRIX5.3,IRIX 6.X 対応版
* Partner差分転送対応版
09/30/97
ver.2.1
* 高速化のため、アルゴリズムを見直し
(評価版、限定リリース)
10/13/97
ver.2.2
* 若干の高速化アルゴリズム修正
(OS2.0Iリリース版)
#endif /* SGI */