mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-19 18:03:10 -05:00
feat: collect files for the september profiles
This commit is contained in:
1 parent
3e028a5ed9
commit
6148ab2e55
158 files changed
+106001
-526
No files matched your search
@@ -0,0 +1,67 @@
|
||||
--- **CPU** provides access to read/write operations on the emulated CPU's general purpose registers (GPRs).
|
||||
---
|
||||
--- The CPU that is targetted by these functions is the one being emulated on the current caller thread. Because of that,
|
||||
--- these functions can not be run on threads that are not emulating CPUs, as it may result in undefined behaviour.
|
||||
-- @module cpu
|
||||
|
||||
cpu = {}
|
||||
|
||||
local ffi = require("ffi")
|
||||
|
||||
pcall(ffi.load, 'native-lib', true)
|
||||
|
||||
ffi.cdef([[
|
||||
uint32_t eka2l1_cpu_get_reg(const int idx);
|
||||
uint32_t eka2l1_cpu_get_cpsr();
|
||||
uint32_t eka2l1_cpu_get_pc();
|
||||
uint32_t eka2l1_cpu_get_sp();
|
||||
uint32_t eka2l1_cpu_get_lr();
|
||||
|
||||
void eka2l1_cpu_set_reg(const int idx, uint32_t value);
|
||||
]])
|
||||
|
||||
--- Read value of register from R0 - R15.
|
||||
-- @param idx The index of the register (0 - 15). Value outside the given range may produce undefined behaviour.
|
||||
-- @return The value currently stored in the targetted register.
|
||||
function cpu.getReg(idx)
|
||||
return ffi.C.eka2l1_cpu_get_reg(idx)
|
||||
end
|
||||
|
||||
--- Read the CPSR register value.
|
||||
-- @return CPSR register value.
|
||||
function cpu.getCpsr()
|
||||
return ffi.C.eka2l1_cpu_get_cpsr()
|
||||
end
|
||||
|
||||
--- Get the current program counter (PC) of the CPU.
|
||||
---
|
||||
--- This call is identical to **cpu.getReg(15)** *(PC is R15)*
|
||||
-- @return Register PC's value
|
||||
function cpu.getPc()
|
||||
return ffi.C.eka2l1_cpu_get_pc()
|
||||
end
|
||||
|
||||
--- Get the current stack pointer (SP) of the CPU.
|
||||
---
|
||||
--- This call is identical to **cpu.getReg(13)** *(SP is R13)*
|
||||
-- @return Register SP's value
|
||||
function cpu.getSp()
|
||||
return ffi.C.eka2l1_cpu_get_sp()
|
||||
end
|
||||
|
||||
--- Get the current stack pointer (LR) of the CPU.
|
||||
---
|
||||
--- This call is identical to **cpu.getReg(14)** *(LR is R14)*
|
||||
-- @return Register SP's value
|
||||
function cpu.getLr()
|
||||
return ffi.C.eka2l1_cpu_get_lr()
|
||||
end
|
||||
|
||||
--- Set value of register from R0 - R15.
|
||||
-- @param idx The index of the register (0 - 15). Value outside the given range may produce undefined behaviour.
|
||||
-- @param val The value that is to write to the destinated register.
|
||||
function cpu.setReg(idx, val)
|
||||
return ffi.C.eka2l1_cpu_set_reg(idx, val)
|
||||
end
|
||||
|
||||
return cpu
|
||||
Reference in new issue
Block a user