ntr_bootrom/trunk/IrisMainp/IrisMon/IrisMonMemoryMap.h

83 lines
4.0 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//======================================================================
// IRISモニタプログラム用定義
//======================================================================
#ifndef _IRIS_MON_MEMORY_MAP_H
#define _IRIS_MON_MEMORY_MAP_H
#include "IrisMonTarget.h"
//----------------------------------------------------------------------
// メモリ・マップ
//----------------------------------------------------------------------
#define MON_DTCM 0x00800000 // モニタ用データTCM
#define MON_DTCM_END (MON_DTCM + 0x4000)
#undef DTCM
#define DTCM MON_DTCM // データTCM
#define MMEM_CHK_SIZE_READ_BUF (MAIN_MEM_END - 0x8) // メインメモリ・サイズチェック書き込みバッファ
#define MMEM_CHK_SIZE_WRITE_BUF (MAIN_MEM_EX_END - 0x8) // 読み込みバッファ
#define MON_PNA_DEFAULT 0x02000ec7 // PNAデフォルト値
#define MON_PNB_DEFAULT 0x02000f75 // PNB
#define MON_CPU_WRAM 0x03000000 // CPU内部ワークRAM
#define MON_CPU_WRAM_END (MON_CPU_WRAM + 0x01000000)
#define MON_WRAM EX_WRAM // ワークRAM全体
#define MON_WRAM_END MON_CPU_WRAM_END
#define MON_USR_BUF EX_WRAM // ユーザ領域
#define MON_USR_BUF_END (MON_CPU_WRAM_END - 4*32)
#define MON_SYS_BUF (MON_CPU_WRAM_END - 4*32) //システム領域
#define MON_SYS_BUF_END MON_CPU_WRAM_END
#define MON_FIQ_VECTOR_BUF (MON_CPU_WRAM_END - 4*6 ) // FIQ割り込み分岐アドレス
#define MON_INTR_VECTOR_BUF (MON_CPU_WRAM_END - 4*1 ) // 割り込み分岐アドレス
#define ROM_HEADER 0x08000004 // ROM内登録データ
#define MON_NINLOGO (ROM_HEADER + 0x0 ) // NINTENDOロゴ・データ
#define MON_FIQ_FLAG (ROM_HEADER + 0x9c - 4) // FIQフラグ
#define MON_KEY_GROUP_NO (ROM_HEADER + 0x9e - 4) // キーグループNo
#define MON_SOFT_NAME (ROM_HEADER + 0xa0 - 4) // ソフト名
#define MON_COMPLEMENT (ROM_HEADER + 0xbd - 4) // 補数チェック・データ
#define ICE_ROM0 0x09fe2000 //
#define ICE_ROM0_END 0x09fe4000
#define ICE_ROM1 0x09ffc000
#define ICE_ROM1_END 0x09ffe000
#define DACS_KEY_REG0 0x0bfe2000 - 32 // DACSキーレジスタ
#define DACS_KEY_REG1 0x0c000000 - 32
#define REG_PAUSE (REG_BASE + 0x300) //
#define REG_OBJ_CENTER (REG_BASE + 0x410) // OBJ中心位置
//----------------------------------------------------------------------
// メモリ・サイズ
//----------------------------------------------------------------------
#define ROM_HEADER_SIZE (0xc0 - 4 + OFFSET_MON_NINLOGO) // ROM内登録データ
#define MON_NINLOGO_SIZE (MON_SOFT_NAME - MON_NINLOGO) // NINTENDOロゴ・データ
#define ICE_ROM_SIZE 0x2000 //
//----------------------------------------------------------------------
// 登録データ・オフセット
//----------------------------------------------------------------------
#define OFFSET_MON_NINLOGO (MON_NINLOGO - MON_NINLOGO) // NINTENDOロゴ・データ
#define OFFSET_MON_FIQ_FLAG (MON_FIQ_FLAG - MON_NINLOGO) // FIQフラグ
#define OFFSET_MON_KEY_GROUP_NO (MON_KEY_GROUP_NO - MON_NINLOGO) // キーグループNo
#define OFFSET_MON_SOFT_NAME (MON_SOFT_NAME - MON_NINLOGO) // ソフト名
#define OFFSET_MON_COMPLEMENT (MON_COMPLEMENT - MON_NINLOGO) // 補数チェック・データ
#define OFFSET_REG_PAUSE 0x300 //
#define OFFSET_REG_OBJ_CENTER 0x410 // OBJ中心位置
#endif // _IRIS_MON_MEMORY_MAP_H