README.TXT 2.63 KB
======================================

                    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全画面描画するならフレームバッファのクリアは必要なく
	処理を省くことができます。もちろん、ハイレゾモードだとクリア時間も
	結構かかりますから、これは大きいですよ。