Name Last Update
..
CVS Loading commit data...
Makefile Loading commit data...
Makefile.dos Loading commit data...
Makefile.irix Loading commit data...
README.TXT Loading commit data...
graphics.c Loading commit data...
localdef.h Loading commit data...
main.c Loading commit data...
picahigh.551 Loading commit data...
picalow.551 Loading commit data...
spec Loading commit data...
======================================

                    NINTENDO64 NuSytem sample

			highreso

                Copyright (C) 1997, NINTENDO Co,Ltd.

======================================

【1】はじめに
	これは、NuSystemのハイレゾモード、ローレゾモードを使う
	サンプルです。
	NINTENDO64は、ハイレゾモードをサポートしています。
	NuSystemは、nuGfxInit()を使った場合の初期設定がローレゾモードのため、
	ハイレゾモードに変更する場合、VIモードの変更と
	フレームバッファアドレスの変更、Zバッファアドレスの変更が必要です。
	さらに、オーディオヒープの位置も変更する必要があります。
	しかし、これらの変更は難しくありません。
	ハイレゾモードを使う場合や、ローレゾモードとハイレゾモードの
	両方を使う場合の参考にしてください。

【2】操作方法
	起動直後の画面は、ハイレゾモードになっています。
	コントローラの「A」ボタンを押すごとに、ハイレゾモードと
	ローレゾモードが切り替わります。

【3】メモリ配置
	このサンプルでは、ハイレゾモードとローレゾモードのアドレス配置は
	下の図のようになっています。

	ハイレゾ画面とローレゾ画面のメモリ配置図

                 ハイレゾ		    ローレゾ
     0x80000000 +---------+              +----------+
                | System  |              | System   |
     0x80000400 +---------+              +----------+
                |  Free   |              | Z-Buffer |
     0x80025A00 +---------+              +----------+
                |  Code   |              |  Code    |
                | & Data  |              |  & Data  |
                | & Heap  |              |  & Heap  |
     0x801BE000 +---------+              |          |
                |Z-Buffer |              |          |
                |FrameBuf |   0x8030F800 +----------+
                |         |              | FrameBuf |
                |         |              |          |
     0x80380000 +---------+              +----------+
                | Audio-  |              | Audio-   |
                |  Heap   |              |  Heap    |
     0x083FFFFF +---------+              +----------+


	ハイレゾ時は0x80000400-0x80024FFまでが空き領域になりますが
	この領域を空けたく無い場合はZ-Buffeをハイレゾとローレゾで
	動的に確保して割り当てれば良いです。
	ただしZ-BufferとFrameBufferは	
	RDRAMの別バンクに割り当てた方が良いです。
	(このサンプルは,ハイレゾ方のメモリ配置は良くないです。
	  その代わりヒープメモリの管理は楽になっています)

【4】その他
	画面表示ににはS2DEXマイクロコードのBG機能を使っていますが、
	思ったより時間がかかりますね。
	実際は、BG全画面描画するならフレームバッファのクリアは必要なく
	処理を省くことができます。もちろん、ハイレゾモードだとクリア時間も
	結構かかりますから、これは大きいですよ。