win32: memView - add Firmware view
This commit is contained in:
parent
b3b782f810
commit
2aeafe654e
|
@ -34,12 +34,13 @@ typedef u32 HWAddressType;
|
||||||
|
|
||||||
enum RegionType {
|
enum RegionType {
|
||||||
MEMVIEW_ARM9 = 0,
|
MEMVIEW_ARM9 = 0,
|
||||||
MEMVIEW_ARM7
|
MEMVIEW_ARM7,
|
||||||
|
MEMVIEW_FIRMWARE
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MemViewRegion
|
struct MemViewRegion
|
||||||
{
|
{
|
||||||
char name[8]; // name of this region (ex. ARM9, region dropdown)
|
char name[16]; // name of this region (ex. ARM9, region dropdown)
|
||||||
char longname[16]; // name of this region (ex. ARM9 memory, window title)
|
char longname[16]; // name of this region (ex. ARM9 memory, window title)
|
||||||
HWAddressType hardwareAddress; // hardware address of the start of this region
|
HWAddressType hardwareAddress; // hardware address of the start of this region
|
||||||
unsigned int size; // number of bytes to the end of this region
|
unsigned int size; // number of bytes to the end of this region
|
||||||
|
@ -49,6 +50,7 @@ const HWAddressType arm9InitAddress = 0x02000000;
|
||||||
const HWAddressType arm7InitAddress = 0x02000000;
|
const HWAddressType arm7InitAddress = 0x02000000;
|
||||||
static const MemViewRegion s_arm9Region = { "ARM9", "ARM9 memory", arm9InitAddress, 0x1000000 };
|
static const MemViewRegion s_arm9Region = { "ARM9", "ARM9 memory", arm9InitAddress, 0x1000000 };
|
||||||
static const MemViewRegion s_arm7Region = { "ARM7", "ARM7 memory", arm7InitAddress, 0x1000000 };
|
static const MemViewRegion s_arm7Region = { "ARM7", "ARM7 memory", arm7InitAddress, 0x1000000 };
|
||||||
|
static const MemViewRegion s_firmwareRegion = { "Firmware", "Firmware", 0x00000000, 0x40000 };
|
||||||
|
|
||||||
typedef std::vector<MemViewRegion> MemoryList;
|
typedef std::vector<MemViewRegion> MemoryList;
|
||||||
static MemoryList s_memoryRegions;
|
static MemoryList s_memoryRegions;
|
||||||
|
@ -72,6 +74,9 @@ u8 memRead8 (RegionType regionType, HWAddressType address)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_DumpMemBlock(ARMCPU_ARM7, address, 1, &value);
|
MMU_DumpMemBlock(ARMCPU_ARM7, address, 1, &value);
|
||||||
return value;
|
return value;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
value = MMU.fw.data[address];
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -93,6 +98,9 @@ u16 memRead16 (RegionType regionType, HWAddressType address)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_DumpMemBlock(ARMCPU_ARM7, address, 2, (u8*)&value);
|
MMU_DumpMemBlock(ARMCPU_ARM7, address, 2, (u8*)&value);
|
||||||
return value;
|
return value;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
value = *(u16*)(&MMU.fw.data[address]);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -114,6 +122,9 @@ u32 memRead32 (RegionType regionType, HWAddressType address)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_DumpMemBlock(ARMCPU_ARM7, address, 4, (u8*)&value);
|
MMU_DumpMemBlock(ARMCPU_ARM7, address, 4, (u8*)&value);
|
||||||
return value;
|
return value;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
value = *(u32*)(&MMU.fw.data[address]);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -159,6 +170,9 @@ void memWrite8 (RegionType regionType, HWAddressType address, u8 value)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_write8(ARMCPU_ARM7, address, value);
|
MMU_write8(ARMCPU_ARM7, address, value);
|
||||||
break;
|
break;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
MMU.fw.data[address] = value;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,6 +186,9 @@ void memWrite16 (RegionType regionType, HWAddressType address, u16 value)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_write16(ARMCPU_ARM7, address, value);
|
MMU_write16(ARMCPU_ARM7, address, value);
|
||||||
break;
|
break;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
*((u16*)&MMU.fw.data[address]) = value;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,6 +202,9 @@ void memWrite32 (RegionType regionType, HWAddressType address, u32 value)
|
||||||
case MEMVIEW_ARM7:
|
case MEMVIEW_ARM7:
|
||||||
MMU_write32(ARMCPU_ARM7, address, value);
|
MMU_write32(ARMCPU_ARM7, address, value);
|
||||||
break;
|
break;
|
||||||
|
case MEMVIEW_FIRMWARE:
|
||||||
|
*((u32*)&MMU.fw.data[address]) = value;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,6 +224,7 @@ CMemView::CMemView()
|
||||||
{
|
{
|
||||||
s_memoryRegions.push_back(s_arm9Region);
|
s_memoryRegions.push_back(s_arm9Region);
|
||||||
s_memoryRegions.push_back(s_arm7Region);
|
s_memoryRegions.push_back(s_arm7Region);
|
||||||
|
s_memoryRegions.push_back(s_firmwareRegion);
|
||||||
}
|
}
|
||||||
|
|
||||||
PostInitialize();
|
PostInitialize();
|
||||||
|
|
Loading…
Reference in New Issue