mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 18:25:35 -04:00
a1165d51b7
Full recompilation pipeline working: - Recompiler emits 799 functions (46k instructions) from SCPH1001.BIN - Tail-call trampoline in dispatch loop prevents stack overflow - Timer registers (3 counters, mode, target) implemented - Interrupt check at labels + dispatch boundaries with vblank scheduling - SYSCALL 1/2/3 (Enter/ExitCriticalSection, ReturnFromException) handled - EPC correctly set from SYSCALL instruction address BIOS boot reaches first GPU hardware access: UNIMPLEMENTED MMIO READ32 (GPUSTAT) @ 0x1F801814 Phase 3 (Sony logo) starts here: GPU, DMA, display pipeline. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
586 B
C
28 lines
586 B
C
#ifndef PSXRECOMP_V4_TIMERS_H
|
|
#define PSXRECOMP_V4_TIMERS_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define TIMER_BASE 0x1F801100
|
|
|
|
void timers_init(void);
|
|
|
|
/* MMIO read/write for 0x1F801100..0x1F80112F.
|
|
* Accepts 16-bit or 32-bit access (caller zero-extends). */
|
|
uint32_t timers_read(uint32_t addr);
|
|
void timers_write(uint32_t addr, uint32_t value);
|
|
|
|
/* Advance all timers by the given number of CPU cycles.
|
|
* Called once per frame (cycles ~= 33868 for NTSC). */
|
|
void timers_tick(int cycles);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* PSXRECOMP_V4_TIMERS_H */
|