* refactor: from guest threads to EE scheduler
* feat: bad wip mpeg fix for code veronica
* feat: cheap copy from host
feat: small perf o vsync tick
* feat: added EE clock Hz
fix: fix MPEG out of sync with new EE refactor
* fix: fix lotr tests
* fix: fix cri dtx loading
fix: fix wrong mmi instruction translation
fix: fix thread info params
feat: added EE timers decoder and consumer
feat: split SFI and IOP memory to prevent collision and overrides
* feat: revert wrong changes
* refactor: from guest threads to EE scheduler
* feat: bad wip mpeg fix for code veronica
* feat: cheap copy from host
feat: small perf o vsync tick
* feat: added EE clock Hz
fix: fix MPEG out of sync with new EE refactor
* fix: fix lotr tests
* feat: implement fix and changes based on dark cloud report
fix: fix GS AFAIL for RGB/alpha/Z, ZMSK
fix: fix VU1 flags mask and pipeline
fix: small VU1 cache fix
feat: __ct__, __sinit_ are not sillent stubs anymore
* feat: fix song JP pulling
* feat: sound update for lotR
* feat: prevent guest execution to be very slow
* fix: small gs size bug
* feat: refactor VU
fix: fix cliping and other issues on gs
fix: fix wrong vu0 register on recompiler
* fix fix ACC scheduler stall
feat: remove unused test
fix: .fix overflow e underflow on FMAC
* feat: small setting for windows test
* feat: added guestBranchKind enum to categorize branch types
feat: added missingFunctionPolicy enum to define behaviors for missing function scenarios
refactor: added handle guest branches and report missing functions
feat lookupFunction to utilize new dispatch logic and improve error handling for unregistered functions
* fix: fix test conflict
* feat: added debug sound driver logs
* feat: emmiter for return
* feat: added recompiler reporter
feat: added strict diagnostics flag for heavy debug calls
* feat: staticc table insted of hashmap for runtime
* feat: back file to ignore
* feat: explode code across helpers and classes
* feat: update codegen test
feat: better guest nop check
* feat: fix link problem on linux
* feat: fix Segmentation fault
* feat: added recompile replace for DMA and MMIO
feat: added a clean memory helpers
feat: use memory helpers across the project
feat: fix ucrt on msvc
* feat: undo messup merge
* feat: added guestBranchKind enum to categorize branch types
feat: added missingFunctionPolicy enum to define behaviors for missing function scenarios
refactor: added handle guest branches and report missing functions
feat lookupFunction to utilize new dispatch logic and improve error handling for unregistered functions
* fix: fix test conflict
* feat: added debug sound driver logs
* feat: emmiter for return
* feat: added recompiler reporter
feat: added strict diagnostics flag for heavy debug calls
* feat: staticc table insted of hashmap for runtime
* feat: back file to ignore
* feat: explode code across helpers and classes
* feat: update codegen test
feat: better guest nop check
* feat: fix link problem on linux
* feat: fix Segmentation fault
* feat(recomp): Reduce recompiler output memory usage
Stream output generation, add low-memory config controls, and avoid
pathological indirect-jump switch expansion in generated C++.
Low-memory mode now avoids retaining per-instruction disassembly strings
while still emitting asm comments during output generation. Output workers
are bounded/configurable, combined output is streamed, and decoded buffers
are released after generation.
Also document the new output memory settings.
* fix(recomp): added tests for unregistered JR/JALR, updated fallback logic to cover JR/JALR, moved Rabbitizer formatting into R5900Decoder
* feat: remove memory and pad from stub section
* feat: add support for resume entry targets in CodeGenerator (this allow jumps in address outside function)
feat: refactor entry point discovery one more try to reduce big generated file
* feat: optmizations for release build
* feat: remove unused file
* feat: added some test cases for code gen
* feat: added log macro and remove win specific code
* feat: refactor runtime folder structure
feat: added reset sound driver RPC state and compatibility layout
feat: rename and added new test
feat: update RPC calls to use defined constants
feat: added more PSMC(16, 32)
feat: change cd read to try find the asset ignoring case sensitive
fix: fix some render problems
feat: add logs on pad
feat: added more RPC handles
* feat: added game override for code veronica
* feat: apply vita patch
* feat: flags to disable build
* feat: fix merges
feat: break a lot of tests
* feat: better throw error on empty cd path
feat: remove recompiler unusde function
feat: apply missing patch
* feat: gamedp is now part of lib
feat: missing file
* feat: small cleanup
* feat: missing vita changes
* feat: fix more merge
* feat: fix tests
* feat: last missing feature
* feat: added missing import
* feat: rename test local functions
* feat: init syscall on ps2 list
* feat: added DMA helpers
* feat: faster builds
feat: more implement for darkcloud
* feat: back missing file
* feat: added missing includes
* feat: remove test
* feat: missing include
* feat: read register funtion
* feat: build fix
* feat: force exit on detach thread
* fix: CRITICAL fix on code gen on generating BEQ translation, I added a small yeld because goto could spin forever and monopolize guest execution
* feat: add scratchpad alias base and improve scratchpad address handling
* feat: added debug logging on GifArbiter for submit and drain operations
* feat: add interrupt and thread management syscall implementations
fix: change some IDs calls to match ps2sdk
* feat: added vif1 logs
* feat: added logs on gs gpu
feat: added performLocalToLocalTransfer to GS emulation path for TRXDIR = 2. (emulates the PS2 GS “copy this rectangle from one place in VRAM to another”)
* feat: added PSMT8 and refactor PSMT4
* feat: some identation on vu1
feat: added some logs on vu1
* feat: added GuestExecutionScope to temporarily stop owning guest execution, then restore it exactly as it was.
feat: added vsync wizardry
feat: added some regression test
* fix: fix gs logger
* feat: remove extra logs I think they will help no one
feat: move join all threads to prevent the app to get stuck on close, but now it random crash on closing
feat: one more small test on psmt4 to try fix ghosting on re code veronica
* feat: added a small case for exporter from ghidra for metal slug 3
* feat: added ugly code to pass on test
* docs: deprecate the local analyzer workflow in favor of Ghidra
feat: improve the Ghidra exporter for stripped games and internal entry points
fix: correct FindAddress behavior in the runtime
fix: emit missing delay-slot code in recompiler edge cases
feat: add SetSyscall support from @Whoneon
feat: add dispatchSyscallOverride support from @Whoneon
fix: fix Unmatched '{' due to missing newlines from issue #96
feat: delete python ghidra script I never updated it anyway
feat: added a lot more of regression test
feat: added a lot of logs to help debug on runtime
fix: fix wrong syscall ID on runtime
* feat: small fixes on code gen
* feat: added code gen test
* feat: rename IOP
* fix: fix special case on JR
feat: added code generator test
* feat: ps2 logs now need special macros
* feat: a lot of regressions test
feat: use test to fix bugs on runtime
fix: fix incorrect instructions on code generator
feat: added missing decode on r5900 decoder
feat: added scissor on rasterizer
* feat: better ghidra plugin analyzer
fix: fix real bug on function finding on elf analyzer
* feat: some logs on GS
feat: added more syscalls stubs
feat: added more ps2 stubs
* feat: added missing stub
* feat: basic gs
feat: basic rasterizer
fix: a lot of fixes to runtime stubs
feat: basic vif intercepter
feat: return "ok" for some stubs
feat: disassembly code as comment
fix: fix code gen instructions set
fix: again jump
feat: remove unused macro
fix: fix some problematic macros
feat: track delayslots on runtime
and many more
* feat: added missing files
* fix: fix instruction test
* feat: split runtime code in small files to be easy to develop
* feat: split stubs in inl files
* feat: function auto link function treat functions with underscore as same as without underscore
* feat: remove underscore prefix from stubs
* fix: added missing header include for gcc
* fix: small thread fix on syscalls
fix: fix incorrect VU translations (they was using wrong register)
* feat: added authoritative system for function extraction, this will prevent functions overlap when we have debug symbols
* Add missing VU0 Special1 macro translations
* Fix VU0 macro decode and field ops
Align Special2 decoding with fhi_flo, implement VCLIPw/VABS, and fix field variants (VADDx/VSUBx/VMULx). Keep C++17 compatibility by replacing unordered_set::contains and remove dead ADDIU return. Update Special2 metadata for VWAITQ.
* vu0: complete macro mappings and add coverage test
* review: clean up vu macro handling
* fix: restore C++20 contains in code generator
* fix: correct VU0 Special2 instruction encoding in decoder test
---------
Co-authored-by: Antonio Guastella <antonioguastella@energine.it>
Co-authored-by: Ranieri <ran-junior@hotmail.com>
fix: patching NOP things that code gen already know how to handle
feat: added a bug on JAL/J/JAR code gen
feat: enhanced tom file
fix: fix memory layout for ps2 macros
feat: added a lot of not working garbabe to runtime (fix later)
feat: some code organization
feat: added new tests
feat: update readme
* refactor: update function name checks to use contains method
* refactor: update code generation to use static_cast
* refactor: made member methods const
* refactor: made range-based loop
* refactor: make one variable constructor explicit
* refactor: remove redundant else
* refactor: turn includes to forward declarations
* refactor: brace placements turned into allman style