mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
74 lines
3.5 KiB
C
74 lines
3.5 KiB
C
//======================================================================
|
||
// 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) // PAUSE
|
||
#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 // PAUSE
|
||
|
||
|
||
#endif // _IRIS_SUBP_MON_MEMORY_MAP_H
|