Changes

Jump to navigation Jump to search
Line 138: Line 138:  
| 0x798 || 0x4 || Array count for the the following array.
 
| 0x798 || 0x4 || Array count for the the following array.
 
|-
 
|-
| 0x79C || 0x180 || Array data with the above count, each entry is 0xC-bytes. The emulator loads this from config array "Idle". +0 = u32 emu_pc_addr (config "JmpAddr"), +4 = u32 instruction_value (config "JmpInst"), +8 = u32 is_idle (config "IsIdle", 0x1 = enabled).
+
| 0x79C || 0x180 (0x20*0xC) || Array data with the above count, each entry is 0xC-bytes. The emulator loads this from config array "Idle". +0 = u32 emu_pc_addr (config "JmpAddr"), +4 = u32 instruction_value (config "JmpInst"), +8 = u32 is_idle (config "IsIdle", 0x1 = enabled).
 
|-
 
|-
 
| 0x91C || 0x4 || Array count for the the following array.
 
| 0x91C || 0x4 || Array count for the the following array.
 
|-
 
|-
| 0x920 || 0x500 || Array data with the above count, each entry is 0x14-bytes. +0 = u32 emu_pc_addr, +4 = u32 instruction_value, +8 = u8 flags. Flags: bit5 = read-Special, bit6 = n64CPU_CallLuaBeforeInst, bit7 = n64CPU_CallLuaAfterInst.
+
| 0x920 || 0x500 (0x40*0x14) || Array data with the above count, each entry is 0x14-bytes. The emulator loads this from config array "SpecialInst". +0 = u32 emu_pc_addr (config "Addr"), +4 = u32 instruction_value (config "Inst"), +8 = u32 flags. The emulator sets the flags to 0 by default, then compares config "Type" with various strings to determine the value. Flags: bit0 = Type "BreakLoop", bit5 = Type "LoadFrameBuffer", bit6 = Type "Lua_BeforeInst", bit7 = Type "Lua_AfterInst".
When loading a funcptr from +0x740, it will load a funcptr from +0x700 instead if there's a matching entry here which has bit5 set.
+
 
 +
When the config for {any of the previously mentioned Type strings} is set to value 1, the emulator will also enable the corresponding flags bit mentioned above. Likewise with config "Return", which sets flags bit8.
 +
 
 +
When the plugin loads a funcptr from +0x740, it will load a funcptr from +0x700 instead if there's a matching entry here which has bit5 set.
 
|-
 
|-
 
| 0xE20 || 0x4 || Array count for the the following array.
 
| 0xE20 || 0x4 || Array count for the the following array.
 
|-
 
|-
| 0xE24 || 0x8 || Array data with the above count, each entry is 0x8-bytes.
+
| 0xE24 || 0x80 (0x10*0x8) || Array data with the above count, each entry is 0x8-bytes.
 
|-
 
|-
 
| 0xEA4 || 0x4 || Set to 0 by default, then if available the emulator sets bit flags here depending on the content of the config for <code>"Cmp", "g_nN64CpuCmpTLBCheckLevel"</code>.
 
| 0xEA4 || 0x4 || Set to 0 by default, then if available the emulator sets bit flags here depending on the content of the config for <code>"Cmp", "g_nN64CpuCmpTLBCheckLevel"</code>.

Navigation menu