Name Last Update
..
CVS Loading commit data...
bb Loading commit data...
include Loading commit data...
libultra Loading commit data...
libultra_d Loading commit data...
libultra_diag Loading commit data...
libultra_rom Loading commit data...
monegi Loading commit data...
nintendo Loading commit data...
shared Loading commit data...
GNUmakefile Loading commit data...
Makefile Loading commit data...
README Loading commit data...
libdefs Loading commit data...
librules Loading commit data...
	libultra ディレクトリの構成について


1. 構成の説明

このディレクトリの下は、下記のような構成になっています。

libultra/
libultra_d/
libultra_rom/

	ライブラリ(生成物)がつくられるディレクトリです。従来と変更あり
	ません。

monegi/
nintendo/

	それぞれ招布、任天堂が変更する "モジュール" がおかれているディ
	レクトリです。それぞれ他社のディレクトリの下のモジュールを変更
	してはいけません。

shared/

	任天堂が変更するか、招布が変更するか決定されていないディレクト
	リです。変更するには協議が必要です。


それぞれのディレクトリには、"モジュール"というサブディレクトリが存在し
ます。モジュールは現在('98/10/9)のところ、下記の通りです。


	ai/		AI の関数(ai の status register を読む等)
	audio/		オーディオライブラリ
	cache/		キャッシュ操作関係
	cont/		コントローラ関係
	convert/	仮想アドレス←→物理アドレス変換
	debug/		assert, profile 等
	eeprom/		EEPROM アクセス関数
	error/		エラーやフォルトに対応する関数
	exception/	例外ハンドラ等
	gbpak/		64GB パック
	gio/		gio バスをアクセスする関数
	gt/		ターボグラフィックスユーティリティ
	gu/		グラフィックスユーティリティ
	host/		hostio 関連
	libc/		ストリング関数、printf 等
	log/		ロギング関数
	message/	メッセージ関連関数
	motor/		振動パック
	pfs/		コントローラパック
	pi/		pi, epi
	rdp/		rdp の io 関連関数(status register を読む等)
	reg/		CPU のレジスター入出力関数
	rg/		リージョン関数
	rmon/		rmon
	rsp/		rsp の io 関連関数(status register を読む等)
	sched/		スケジューラ
	si/		si
	sprite/		スプライトライブラリ
	system/		64OS のイニシャライズ、preNMI 関連等
	thread/		スレッド操作関数
	time/		time, timer
	tlb/		TLB 関連関数
	vi/		vi
	voice/		音声認識


なお、これらの内、audio/, gt/, gu/, libc/, log/, rg/, rmon/, sched/,
sprite/ は、従来 PR/libultra/ の下にあった同名のディレクトリと同じです。
(ただし、sp/ は rsp と混同しやすいため、sprite/ と名前を変更しています。)

旧 io/ は、その機能に応じて、下記のように分割されました。

ai/        dp/        gio/       pfs/       si/        vi/
cont/      gbpak/     motor/     pi/        sp/        voice/
eeprom/


同様に、旧 os/ は、その機能に応じて、下記のように分割されました。

cache/      debug/      exception/  message/    system/     time/
convert/    error/      host/       reg/        thread/     tlb/



2. モジュールの移動

モジュールの移動(例えば、従来 nintendo/ にあったものを shared/ に移す、
等)に関しては、ディレクトリの移動だけでできます。モジュールの下の 
Makefile は書き換える必要はありませんが、移動元と移動先のディレクトリ
の Makefile(上記例で言うと、nintendo/Makefile と shared/Makefile) の 
SUBDIRS の定義だけは書き換える必要があります。

ディレクトリの移動に関しては、マスターに入ってディレクトリを mv する、
という方法よりも、きっちりと cvs におけるファイルやディレクトリの移動
方法(admin/doc/CVS_TIPS の2項目目を参照)にのっとった方がよいでしょう
(履歴が残るため)。