MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / memReset

Function memReset

pcsx2/Memory.cpp:1028–1160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1026}
1027
1028void memReset()
1029{
1030 // Note!! Ideally the vtlb should only be initialized once, and then subsequent
1031 // resets of the system hardware would only clear vtlb mappings, but since the
1032 // rest of the emu is not really set up to support a "soft" reset of that sort
1033 // we opt for the hard/safe version.
1034
1035 pxAssume( eeMem );
1036
1037#ifdef ENABLECACHE
1038 memset(pCache,0,sizeof(_cacheS)*64);
1039#endif
1040
1041 vtlb_Init();
1042
1043 null_handler = vtlb_RegisterHandler(nullRead8, nullRead16, nullRead32, nullRead64, nullRead128,
1044 nullWrite8, nullWrite16, nullWrite32, nullWrite64, nullWrite128);
1045
1046 tlb_fallback_0 = vtlb_RegisterHandlerTempl1(_ext_mem,0);
1047 tlb_fallback_3 = vtlb_RegisterHandlerTempl1(_ext_mem,3);
1048 tlb_fallback_4 = vtlb_RegisterHandlerTempl1(_ext_mem,4);
1049 tlb_fallback_5 = vtlb_RegisterHandlerTempl1(_ext_mem,5);
1050 tlb_fallback_7 = vtlb_RegisterHandlerTempl1(_ext_mem,7);
1051 tlb_fallback_8 = vtlb_RegisterHandlerTempl1(_ext_mem,8);
1052 iop_memory = vtlb_RegisterHandlerTempl1(_ext_mem,9);
1053
1054 // Dynarec versions of VUs
1055 vu0_micro_mem = vtlb_RegisterHandlerTempl1(vuMicro,0);
1056 vu1_micro_mem = vtlb_RegisterHandlerTempl1(vuMicro,1);
1057 vu1_data_mem = (1||THREAD_VU1) ? vtlb_RegisterHandlerTempl1(vuData,1) : 0;
1058
1059 //////////////////////////////////////////////////////////////////////////////////////////
1060 // IOP's "secret" Hardware Register mapping, accessible from the EE (and meant for use
1061 // by debugging or BIOS only). The IOP's hw regs are divided into three main pages in
1062 // the 0x1f80 segment, and then another oddball page for CDVD in the 0x1f40 segment.
1063 //
1064
1065 using namespace IopMemory;
1066
1067 tlb_fallback_2 = vtlb_RegisterHandler(
1068 iopHwRead8_generic, iopHwRead16_generic, iopHwRead32_generic, _ext_memRead64<2>, _ext_memRead128<2>,
1069 iopHwWrite8_generic, iopHwWrite16_generic, iopHwWrite32_generic, _ext_memWrite64<2>, _ext_memWrite128<2>
1070 );
1071
1072 iopHw_by_page_01 = vtlb_RegisterHandler(
1073 iopHwRead8_Page1, iopHwRead16_Page1, iopHwRead32_Page1, _ext_memRead64<2>, _ext_memRead128<2>,
1074 iopHwWrite8_Page1, iopHwWrite16_Page1, iopHwWrite32_Page1, _ext_memWrite64<2>, _ext_memWrite128<2>
1075 );
1076
1077 iopHw_by_page_03 = vtlb_RegisterHandler(
1078 iopHwRead8_Page3, iopHwRead16_Page3, iopHwRead32_Page3, _ext_memRead64<2>, _ext_memRead128<2>,
1079 iopHwWrite8_Page3, iopHwWrite16_Page3, iopHwWrite32_Page3, _ext_memWrite64<2>, _ext_memWrite128<2>
1080 );
1081
1082 iopHw_by_page_08 = vtlb_RegisterHandler(
1083 iopHwRead8_Page8, iopHwRead16_Page8, iopHwRead32_Page8, _ext_memRead64<2>, _ext_memRead128<2>,
1084 iopHwWrite8_Page8, iopHwWrite16_Page8, iopHwWrite32_Page8, _ext_memWrite64<2>, _ext_memWrite128<2>
1085 );

Callers 1

ResetMethod · 0.85

Calls 12

vtlb_InitFunction · 0.85
vtlb_NewHandlerFunction · 0.85
memMapPhyFunction · 0.85
memMapVUmicroFunction · 0.85
memMapKernelMemFunction · 0.85
memMapSupervisorMemFunction · 0.85
memMapUserMemFunction · 0.85
memSetKernelModeFunction · 0.85
vtlb_VMapFunction · 0.85
vtlb_VMapUnmapFunction · 0.85
CopyBIOSToMemoryFunction · 0.85

Tested by

no test coverage detected