mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-26 08:51:05 -04:00
ee149581aa
* feat: implement memory card IOP * feat: IOP trace * feat: move IOP logic to ps2xIOP refactor: small refactor on audio api on runtime
45 lines
1.6 KiB
C++
45 lines
1.6 KiB
C++
#ifndef PS2_SYSCALLS_H
|
|
#define PS2_SYSCALLS_H
|
|
|
|
#include "ps2_runtime.h"
|
|
#include "ps2_call_list.h"
|
|
#include <mutex>
|
|
#include <atomic>
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
#include <string>
|
|
|
|
std::string translatePs2Path(const char *ps2Path);
|
|
|
|
extern std::atomic<int> g_activeThreads;
|
|
|
|
inline std::mutex g_sys_fd_mutex;
|
|
|
|
namespace ps2_syscalls
|
|
{
|
|
#define PS2_DECLARE_SYSCALL(name) void name(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
PS2_SYSCALL_LIST(PS2_DECLARE_SYSCALL)
|
|
#undef PS2_DECLARE_SYSCALL
|
|
|
|
void iDeleteSema(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
void EnableIntcHandler(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
void DisableIntcHandler(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
void EnableDmacHandler(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
void DisableDmacHandler(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
|
|
bool dispatchNumericSyscall(uint32_t syscallNumber, uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime);
|
|
void dispatchDmacHandlersForCause(uint8_t *rdram, PS2Runtime *runtime, uint32_t cause);
|
|
void initializeGuestKernelState(uint8_t *rdram);
|
|
void TODO(uint8_t *rdram, R5900Context *ctx, PS2Runtime *runtime, uint32_t encodedSyscallId);
|
|
void notifyRuntimeStop();
|
|
void joinAllGuestHostThreads();
|
|
void detachAllGuestHostThreads();
|
|
void EnsureVSyncWorkerRunning(uint8_t *rdram, PS2Runtime *runtime);
|
|
uint64_t GetCurrentVSyncTick();
|
|
uint64_t WaitForNextVSyncTick(uint8_t *rdram, PS2Runtime *runtime);
|
|
void WaitVSyncTick(uint8_t *rdram, PS2Runtime *runtime);
|
|
}
|
|
|
|
#endif // PS2_SYSCALLS_H
|
|
|