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

Function memMapVUmicro

pcsx2/Memory.cpp:381–404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

379
380
381void memMapVUmicro()
382{
383 // VU0/VU1 micro mem (instructions)
384 // (Like IOP memory, these are generally only used by the EE Bios kernel during
385 // boot-up. Applications/games are "supposed" to use the thread-safe VIF instead;
386 // or must ensure all VIF/GIF transfers are finished and all VUmicro execution stopped
387 // prior to accessing VU memory directly).
388
389 // The VU0 mapping actually repeats 4 times across the mapped range, but we don't bother
390 // to manually mirror it here because the indirect memory handler for it (see vuMicroRead*
391 // functions below) automatically mask and wrap the address for us.
392
393 vtlb_MapHandler(vu0_micro_mem,0x11000000,0x00004000);
394 vtlb_MapHandler(vu1_micro_mem,0x11008000,0x00004000);
395
396 // VU0/VU1 memory (data)
397 // VU0 is 4k, mirrored 4 times across a 16k area.
398 vtlb_MapBlock(VU0.Mem,0x11004000,0x00004000,0x1000);
399 // Note: In order for the below conditional to work correctly
400 // support needs to be coded to reset the memMappings when MTVU is
401 // turned off/on. For now we just always use the vu data handlers...
402 if (1||THREAD_VU1) vtlb_MapHandler(vu1_data_mem,0x1100c000,0x00004000);
403 else vtlb_MapBlock (VU1.Mem, 0x1100c000,0x00004000);
404}
405
406void memMapPhy()
407{

Callers 1

memResetFunction · 0.85

Calls 2

vtlb_MapHandlerFunction · 0.85
vtlb_MapBlockFunction · 0.85

Tested by

no test coverage detected