gload.htm
3.85 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
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>
<BODY>
<P>
<B>gload(1P)<BR>
</B>
<P>
<B>関数名<BR>
</B>
<P>
gload
<P>
→ NINTENDO64開発システムのためのゲームローダ<BR>
<P>
<B>構文</B>
<P>
gload [-a "appstring"] [-f log format file] [-o rom
offset] [-n] [-V] [-v] [-s] [romImage filename] <BR>
<P>
<B>説明<BR>
</B>
<P>
<B>gload</B>はNINTENDO64開発ボード上の「カートリッジメモリ」の中にROMイメージをダウンロードするユーティリティです。
<BR>
<P>
これにより「ramrom」メモリとして参照が可能となります。なぜなら本来ROMカートリッジがゲームハードウェア上に常駐するはずの16MBの領域に、RAMメモリがあるからです。
<BR>
<P>
コマンドラインオプションは以下の通りです。<BR>
<P>
<B>-a <"application-argument-string"></B>
<P>
[-a]引数の後の引用符付きテキ<A NAME="OLE_LINK1"></A>スト文字列のascii内容が、RAMROM_APP_WRITE_ADDRの標準オフセット位置に、ramromメモリ中にロードされます。そしてそれは、<ultra64.h>がインクルードされる時に定義されます。
<P>
<B>-f <log format file> </B>
<P>
文字列フォーマットを指定する代替ファイルは、ロギングイベント(以下参照)に対応します。log
format fileがもし指定されないなら、<B>gload</B>がカレントディレクトリでlog.fmtファイルを探します。
<P>
<B>-o<rom offset> </B>
<P>
デフォルトのROMロード位置を無効にします(これは、SGI内部デバッグのために用意されたもので、一般のユーザのためのオプションではありません)。
<P>
<B>-s</B>
<P>
ロード、ゲーム開始後<B>gload</B>を終了します。
<P>
<B>-n</B>
<P>
ROMイメージをロード・実行せずにprintサーバ(<A HREF="../os/osSyncPrintf.htm">osSyncPrintf</A>(3P)等アプリケーションからの出力を受け取り、コンソールに出力する)だけ起動します。
<P>
<B>-V</B>
<P>
ベリファイモード: ダウンロードされたramrom領域をすべてベリファイします。
<P>
<B>-v</B>
<P>
冗長フラグを設定します。ramromメモリがリードバック、ベリファイされた時検出したエラーを出力します。
<BR>
<P>
<B>gload</B>は、デフォルトではゲームイメージをロードしたあと終了せずにサーバ(アプリケーションからのerror、printf、ロギングを受け取りコンソールに出力する)として動作します。<B>gload</B>は起動時にログ書式ファイル(デフォルトではlog.fmtファイル)を読み込み、そのファイルに定義された形式にしたがってイベントログコードとアーギュメントを展開して出力します。ログ書式ファイルの内容は下記形式の行の羅列になります。:
<BR>
<P>
<code> <printf-like format string><BR>
<P>
書式の記号列は"printf-like"ですが、"%ll"のような64のビット書式をサポートしていません。また浮動小数点書式を、2倍精度ではなく、単一の精度と解釈します。より詳しくは、<A HREF="../os/osLogEvent.htm">osLogEvent</A>(3P)を参照してください。
<BR>
<P>
デバッグバージョンのライブラリのため、デフォルトエラーハンドラもまた同様に、エラー文字列のフォーマッティングメカニズムを使います;この目的のためグローバル書式ファイル/usr/lib/PR/error.fmtを使います。
<BR>
<P>
<B>注意<BR>
</B>
<P>
それぞれのメモリイメージがロードされた後(ROMとアプリケーション引数)、<B>gload</B>がメモリをリードバックし内容をベリファイします。いったん両方のメモリイメージが個々にロードされれば、<B>gload</B>が戻ってきて、そしてメモリイメージのいずれもそれぞれもう1つと重ならないことを確認するため、もう一度それぞれのセクションの保全性をベリファイします。
<BR>
<P>
ramromメモリのread/writeはNINTENDO64カーネルにインストールされたデバイスドライバ経由で実行されます。/dev/u64とdev/u64_printの特殊なデバイスファイルに適切なread/writeパーミッションを設定しておかなければなりません。
<BR>
<P>
<B>参照<BR>
</B>
<P>
<A HREF="makerom.htm">makerom</A>(1P), <A HREF="../os/osExit.htm">osExit</A>(3P),
<A HREF="../os/osLogEvent.htm">osLogEvent</A>(3P), <A HREF="../os/osSyncPrintf.htm">osSyncPrintf</A>(3P)
<BR>
<P>
<B>ファイル<BR>
</B>
<P>
/dev/u64, /dev/u64_print, /dev/u64_logging, /dev/u64_fault, /usr/lib/PR/error.fmt
<BR>
</BODY>
</HTML>