ntr_bootrom/trunk/IrisSubp/IrisSubpMon/IrisSubpMonMemeoryMap.h

74 lines
3.5 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-SUBPメモリマップ定義
//======================================================================
#ifndef _IRIS_SUBP_MON_MEMORY_MAP_H
#define _IRIS_SUBP_MON_MEMORY_MAP_H
#include "IrisSubpMonTarget.h"
//----------------------------------------------------------------------
// メモリ・マップ
//----------------------------------------------------------------------
#define MON_CPU_WRAM CPU_WRAM // CPU内部ワークRAM
#define MON_CPU_WRAM_END (MON_CPU_WRAM + 0x18000)
#ifdef ENABLE_DEBUGGER_ON_4MB
#define MON_MMEM_LOAD_LIMIT (MAIN_MEM_END - (0x100000 + MROM_PAGE_SIZE - 1))
#else
#define MON_MMEM_LOAD_LIMIT (MAIN_MEM_END - (0x40000 + MROM_PAGE_SIZE - 1))
#endif
#define MON_WRAM_LOAD_LIMIT (MON_CPU_WRAM_END - (0x8000 + MROM_PAGE_SIZE - 1))
#define MON_DBG_LOAD_LIMIT (MAIN_MEM_EX_END - (0x40000 + MROM_PAGE_SIZE - 1))
#define FLH_MMEM_LOAD_LIMIT (MAIN_MEM_EX_END - (0x1000 + 0x20)) // LZで17バイト余分に展開する場合への対応
#define FLH_WRAM_LOAD_BASE (MON_CPU_WRAM + 0x2200) // セキュアワーク領域の保護
#define FLH_WRAM_LOAD_LIMIT (MON_CPU_WRAM_END - (0x400 + 0x20)) // LZで17バイト余分に展開する場合への対応
#define PNA_INDEX (ROM_HEADER_BUF + 0x12) // PNAテーブル・インデックス
#define MMEM_CHK_SIZE_READ_BUF (MAIN_MEM_END - 0x6) // メインメモリ・サイズチェック書き込みバッファ
#define MMEM_CHK_SIZE_WRITE_BUF (MAIN_MEM_EX_END - 0x6) // 読み込みバッファ
#define AGB_ROM_HEADER 0x08000004 // AGB-ROM内登録データ
#define MON_NINLOGO (AGB_ROM_HEADER + 0x0 ) // NINTENDOロゴ・データ
#define MON_FIQ_FLAG (AGB_ROM_HEADER + 0x9c - 4) // FIQフラグ
#define MON_KEY_GROUP_NO (AGB_ROM_HEADER + 0x9e - 4) // キーグループNo
#define MON_SOFT_NAME (AGB_ROM_HEADER + 0xa0 - 4) // ソフト名
#define MON_COMPLEMENT (AGB_ROM_HEADER + 0xbd - 4) // 補数チェック・データ
#define AGB_DACS_KEY_REG0 0x09fe2000 - 32 // DACSキーレジスタ
#define AGB_DACS_KEY_REG1 0x0a000000 - 32
#define REG_PAUSE (REG_BASE + 0x300) //
#define REG_BIOS_PROTECT_ADDR (REG_BASE + 0x308) // BIOSプロテクトアドレス
//----------------------------------------------------------------------
// メモリ・サイズ
//----------------------------------------------------------------------
#define BIOS_SIZE 0x4000 // システムROM
#define ROM_HEADER_SIZE (0xc0 - 4 + OFFSET_MON_NINLOGO) // ROM内登録データ
#define MON_NINLOGO_SIZE (MON_SOFT_NAME - MON_NINLOGO) // NINTENDOロゴ・データ
//----------------------------------------------------------------------
// 登録データ・オフセット
//----------------------------------------------------------------------
#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 //
#endif // _IRIS_SUBP_MON_MEMORY_MAP_H