mirror of
https://github.com/rvtr/ctr_firmware.git
synced 2025-10-31 07:51:08 -04:00
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@192 b871894f-2f95-9b40-918c-086798483c85
141 lines
5.4 KiB
C
141 lines
5.4 KiB
C
/*---------------------------------------------------------------------------*
|
|
Project: CtrFirm - include - ctr - HW - ARM11
|
|
File: mmap_global.h
|
|
|
|
Copyright 2008 Nintendo. All rights reserved.
|
|
|
|
These coded instructions, statements, and computer programs contain
|
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
Company Ltd., and are protected by Federal copyright law. They may
|
|
not be disclosed to third parties or copied or duplicated in any form,
|
|
in whole or in part, without the prior written consent of Nintendo.
|
|
|
|
$Date:: $
|
|
$Rev$
|
|
$Author$
|
|
*---------------------------------------------------------------------------*/
|
|
#ifndef CTR_HW_ARM11_MMAP_GLOBAL_H_
|
|
#define CTR_HW_ARM11_MMAP_GLOBAL_H_
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
/*---------------------------------------------------------------------------*/
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
GLOBAL MEMORY MAP
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
//----------------------------- MAIN
|
|
#ifndef SDK_NE1EMU
|
|
#define HW_MAIN_MEM 0x20000000
|
|
#else // SDK_NE1EMU
|
|
#define HW_MAIN_MEM 0x80000000
|
|
#define HW_MAIN_MEM_NE1EMU_SIZE 0x10000000 // 256MB
|
|
#endif // SDK_NE1EMU
|
|
#define HW_MAIN_MEM_EX HW_MAIN_MEM_END
|
|
#define HW_MAIN_MEM_END (HW_MAIN_MEM + HW_MAIN_MEM_SIZE)
|
|
#define HW_MAIN_MEM_EX_END (HW_MAIN_MEM + HW_MAIN_MEM_EX_SIZE)
|
|
#define HW_MAIN_MEM_SIZE 0x04000000 // 64MB
|
|
#define HW_MAIN_MEM_EX_SIZE 0x08000000 // 128MB
|
|
|
|
#if !defined(SDK_MG20EMU) && !defined(SDK_NE1EMU)
|
|
//----------------------------- AXI-WRAM
|
|
#define HW_AXI_WRAM 0x1ff80000
|
|
#define HW_AXI_WRAM_END (HW_AXI_WRAM + HW_AXI_WRAM_SIZE)
|
|
#define HW_AXI_WRAM_SIZE 0x80000 // 512KB
|
|
|
|
//----------------------------- DSP-WRAM
|
|
#define HW_DSP_WRAM 0x1ff00000
|
|
#define HW_DSP_WRAM_END (HW_DSP_WRAM + HW_DSP_WRAM_SIZE)
|
|
#define HW_DSP_WRAM_SIZE 0x80000 // 512KB
|
|
|
|
//----------------------------- VRAM
|
|
#define HW_VRAM 0x18000000
|
|
#define HW_VRAM_END (HW_MAIN_MEM + HW_VRAM_SIZE)
|
|
#define HW_VRAM_SIZE 0x400000 // 4MB
|
|
|
|
#else // SDK_MG20EMU || SDK_NE1EMU
|
|
//----------------------------- AXI-WRAM
|
|
#define HW_AXI_WRAM (HW_AXI_WRAM_END - HW_AXI_WRAM_SIZE)
|
|
#ifdef SDK_MG20EMU
|
|
#define HW_AXI_WRAM_END HW_MAIN_MEM_END
|
|
#else // SDK_NE1EMU
|
|
#define HW_AXI_WRAM_END (HW_MAIN_MEM + HW_MAIN_MEM_NE1EMU_SIZE)
|
|
#endif // SDK_NE1EMU
|
|
#define HW_AXI_WRAM_SIZE 0x80000 // 512KB
|
|
|
|
//----------------------------- DSP-WRAM
|
|
#define HW_DSP_WRAM (HW_DSP_WRAM_END - HW_DSP_WRAM_SIZE)
|
|
#define HW_DSP_WRAM_END HW_AXI_WRAM
|
|
#define HW_DSP_WRAM_SIZE 0x80000 // 512KB
|
|
|
|
//----------------------------- VRAM
|
|
#ifdef SDK_MG20EMU
|
|
#define HW_VRAM 0x1e000000
|
|
#else // SDK_NE1EMU
|
|
#define HW_VRAM HW_IOREG_END
|
|
#endif // SDK_NE1EMU
|
|
#define HW_VRAM_END (HW_VRAM + HW_VRAM_SIZE)
|
|
#define HW_VRAM_SIZE 0x400000 // 4MB
|
|
|
|
#endif // SDK_MG20EMU || SDK_NE1EMU
|
|
|
|
//----------------------------- IOs
|
|
#ifndef SDK_NE1EMU
|
|
#define HW_IOREG 0x10000000
|
|
#else // SDK_NE1EMU
|
|
#define HW_IOREG HW_MAIN_MEM_EX_END
|
|
#endif // SDK_NE1EMU
|
|
#define HW_IOREG_END (HW_IOREG + HW_IOREG_SIZE)
|
|
#define HW_IOREG_SIZE 0x01000000 // 16MB
|
|
#define HW_REG_BASE HW_IOREG // alias
|
|
|
|
#define HW_AHBP_REG (HW_IOREG + 0x00100000)
|
|
#define HW_APB_REG (HW_IOREG + 0x00200000)
|
|
#define HW_AHBML_REG (HW_IOREG + 0x00300000)
|
|
#define HW_GPU_REG (HW_IOREG + 0x00400000)
|
|
#if !defined(SDK_MG20EMU) && !defined(SDK_NE1EMU)
|
|
#define HW_MPCORE_REG (HW_IOREG + 0x07e00000)
|
|
#else // SDK_MG20EMU || SDK_NE1EMU
|
|
#ifdef SDK_MG20EMU
|
|
#define HW_MPCORE_REG 0xff000000
|
|
#else // SDK_NE1EMU
|
|
#define HW_MPCORE_REG 0xc0000000
|
|
#define HW_NE1SYS_REG 0x18037c00
|
|
#define HW_NE1EXBUS_REG 0x1801a000
|
|
#define HW_NE1DDR2_REG 0x18021000
|
|
#endif // SDK_NE1EMU
|
|
#endif // SDK_MG20EMU || SDK_NE1EMU
|
|
#define HW_AHBP_REG_END (HW_AHBP_REG + HW_AHBP_REG_SIZE)
|
|
#define HW_APB_REG_END (HW_APB_REG + HW_APB_REG_SIZE)
|
|
#define HW_AHBML_REG_END (HW_AHBML_REG + HW_AHBML_REG_SIZE)
|
|
#define HW_GPU_REG_END (HW_GPU_REG + HW_GPU_REG_SIZE)
|
|
#define HW_MPCORE_REG_REG (HW_MPCORE_REG + HW_MPCORE_REG_SIZE)
|
|
#define HW_AHBP_REG_SIZE 0x80000 // 512KB
|
|
#define HW_APB_REG_SIZE 0x100000 // 1MB
|
|
#define HW_AHBML_REG_SIZE 0x40000 // 256KB
|
|
#define HW_GPU_REG_SIZE 0x100000 // 1MB
|
|
#define HW_MPCORE_REG_SIZE 0x20000 // 128KB
|
|
|
|
//----------------------------- System ROM
|
|
#ifdef SDK_MG20EMU
|
|
#define HW_BIOS_IMG 0xfffe0000
|
|
#define HW_BIOS 0xffff0000
|
|
#else // include SDK_NE1EMU
|
|
#define HW_BIOS_IMG 0x00000000
|
|
#ifdef SDK_NE1EMU
|
|
#define HW_BIOS 0x00000000
|
|
#else // SDK_NE1EMU
|
|
#define HW_BIOS 0x00010000
|
|
#endif // SDK_NE1EMU
|
|
#endif // include SDK_NE1EMU
|
|
#define HW_BIOS_END (HW_BIOS + HW_BIOS_SIZE)
|
|
#define HW_BIOS_SIZE 0x8000 // 32KB
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
#endif /* CTR_HW_ARM11_MMAP_GLOBAL_H_ */
|