README_DEMOS_64DD.jp
5.1 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
このドキュメントにはサンプルプログラムについての説明が記述されています。
サンプルプログラムの make 時には以下の点に注意してください
○各サンプルプログラムでは、引数なしで make を実行するとデバッグ情報を
含んだロムイメージファイルが作成されます。このロムイメージファイルはデ
バッガ上でのみ動作し 実機の Nintendo64 上では動作しません。
#ifdef SGI
「make FINAL=」のように、引数に FINAL= をつけて make を実行すると、実
機の Nintendo64 で動作する形式のロムイメージファイルが作成されます。こ
のロムイメージファイルはデバッグ情報を含まないため、PARTNER-N64 等の一
部のデバッガでは正常に動作しません。
#else
「make FINAL=YES」のように、引数に FINAL=YES をつけて make を実行する
と、実機の Nintendo64 で動作する形式のロムイメージファイルが作成されま
す。このロムイメージファイルはデバッグ情報を含まないため、PARTNER-N64
等の一部のデバッガでは正常に動作しません。
#endif
○各サンプルプログラムは、Texture/ ディレクトリ下のファイルに依存して
います。サンプルプログラムを移動する場合には注意してください。
#ifdef SGI
また、サンプルプログラムをmakeする際には、まず Texture/ ディレクトリ
をコンパイルした上でサンプルプログラムをコンパイルしてください。
#endif /* SGI */
以下に各サンプルプログラムの機能・特色を説明します。
ddspgame:
64DD のサンプルプログラムです。画面表示を行いながら、ディスク
関数の呼び出しを行い、そのエラー結果と、対応したエラーメッセージ
を、64DD 内蔵 ROM フォントを用いて表示するというものです。
コンパイル後、PARTNER-N64 のコマンドウィンドウで "l (デバッグ
情報ファイル名)" を実行することで、動作させることができます。
#ifdef SGI
デフォルトではディスク起動のプログラムとなっています。カセット
起動にするには、"make START_FROM_CASSETTE=" と make をしてくださ
い。
#else
デフォルトではディスク起動のプログラムとなっています。カセット
起動にするには、"make START_FROM_CASSETTE=YES" と make をしてく
ださい。
#endif
64DD プログラミングマニュアル第10章に記載のエラー処理シーケ
ンスにのっとって作成されています。シーケンス中の「異常終了」が発
生した場合は、以降の処理を行わないようになっています。
コマンド実行時や実行後に画面の下部に表示される数字は、発生した
エラー番号をあらわしています。これはゲームプログラムでは表示して
はいけないことですが、サンプルということで、現在どんなエラーが発
生しているかをモニターするために表示しています。
ddspgame/README.jp にも説明がありますので、参照してください。
reboot:
再立ち上げシーケンスのサンプルプログラムです。カートリッジにロー
ドした topgun から、あらかじめディスクに書かれた onetri を再立ち
上げします。
#ifdef SGI
make を実行すると reboot/ 下に dwrite, rom, reboot,
onetri.rom, hello.rom, fat が作成されます。fat は 被起動ゲームの
サイズと格納位置の情報、dwrite はディスクデータ書きこみ用のバッ
チファイル、reboot は rom(トップガン)のデバッグ情報ファイルで
す。PARTNER-N64 のコマンドウィンドウで「<dwrite」でディスクにデー
タを書きこんだ後、「l reboot」「g」を実行してください。
#else
make を実行すると reboot/ 下に dwrite, topgun.n64, reboot.out,
onetri.n64, hello.n64, fat が作成されます。fat は 被起動ゲームの
サイズと格納位置の情報、dwrite はディスクデータ書きこみ用のバッ
チファイル、reboot.out は topgun.n64 のデバッグ情報ファイルです。
PARTNER-N64 のコマンドウィンドウで「<dwrite」でディスクにデータ
を書きこんだ後、「l reboot」「g」を実行してください。
#endif
実行後、topgun の画面が表示されますので、A ボタンを押してくだ
さい。再立ち上げを実行するかどうか確認するメニューが表示されます。
ここで OK を選んで A ボタンを押すことにより再立ち上げが実行され
ます。
なお、ディスク単体での立ち上げを行う場合は PARTNER-N64 のコマ
ンドウィンドウで「resetdd」「g」と入力します。この場合、このサン
プルではシンプルなメッセ−ジが表示されます。
reboot/ 下のディレクトリ構成は以下のようになっています。
ddproc/
DD 処理シーケンスとディスク処理、メッセ−ジ表示用関数等のモジュー
ルです。以下の三つのアプリケーションで共通して使われます。DD 処
理シーケンスは 64DD プログラミングマニュアル第10章に記載のエラー
処理シーケンスにのっとって作成されています。シーケンス中の「異常
終了」が発生した場合は、以降の処理を行わないようになっています。
topgun/
カートリッジから起動するゲームです。onetri を再立ち上げします。
onetri/
被起動ゲームです。topgun から再立ち上げされます。dwrite によっ
てディスクの LBA 50 を先頭に書きこまれます。
hello_world/
ディスクの先頭に書かれるゲームです。
makefat/
指定ファイルのサイズと指定した格納位置をファイルに出力するプロ
グラムです。このサンプルでは fat というファイルに onetri のデー
タサイズとディスク内での格納位置を出力しています。この fat は
dwrite によってディスクの LBA 49 に書きこまれ、topgun によって参
照されます。
再立ち上げの概念、並びに実行方法について詳しくは 64DD プログラ
ミングマニュアル第15-1章「再立ち上げ」を御覧下さい。