README 2.73 KB

	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項目目を参照)にのっとった方がよいでしょう
(履歴が残るため)。