Atelier Iris gets further in its movie but still runs out of data; GTA 3, disturbingly, loops
Fixed DVD reads/seeks being 6x as slow
Added logging toggle for main IPU file
Made some changes to fast boot emulation, which stops God of War from hanging on SCEA screen
Added WriteConfig stub (allows BIOS to reach browser)
Added PSMCT16Z texture format
Reverted CYCLES_PER_FRAME speedhack
Fixed some GS register writes and added missing DISPFB2 and XYZF3
Added Filling Writes to VIF
Fixed MARK command
Added VIF_CODE (read by Gran Turismo 4)
Added DADDI EE OP
Properly Added GS Vsync IRQs
Added some VU/VIF memory reads
Added UNPACK functionality according to PS2 Auto Tests
Tidied up a bunch of VU operations and added a CLIP flag pipeline to FMACs
Fixed link addresses on VU branch in branch delay slot
Fixed a chain mode bug in SPR
Altered DMA so the TADR properly follows MADR in CNT mode, also prepared for DMA Stall addresses on Dest Chain mode
Corrected SIF0 DMA register usage
Added run cycles to VIF for future situations where the CPU may have stalled
Adjusted VIF loop so we don't need double versions of VU waiting and VIF Stalls
Properly Added GS Vsync IRQs
Added some VU/VIF memory reads
Added UNPACK functionality according to PS2 Auto Tests
Tidied up a bunch of VU operations and added a CLIP flag pipeline to FMACs
Fixed link addresses on VU branch in branch delay slot
Fixed a chain mode bug in SPR
Altered DMA's so the TADR properly follows MADR in CNT mode, also prepared for DMA Stall addresses on Dest Chain mode
Corrected SIF0 DMA register usage
Added run cycles to VIF for future situations where the CPU may have stalled
Adjusted VIF loop so we don't need double versions of VU waiting and VIF Stalls
* use ldexp in LOD calculation
precalculate interpolations in render_sprite
* add precision to render_sprite, loop unswitching
* loop unswitching for render_triangle
fix precision on render_sprite
reduce math needed on LOD calculation
* use ints instead of uints, use 16 extra bits of precision instead of 8
* fix Q
Added basic handling of VPU_STAT
Change COP2 to use normal pipelining instead of just flushing
Added VIF UNPACK MODE support
Tweaked VU Execution so it cannot start one while one is already running
Added updating of VU Status register
Added FSAND, MULAq VU OPs
Properly clamped VU results
Added VU stalling for Q based commands and WAITQ gets priority over upper instruction
Fixed bug in LQD VU OP
This allows us to get rid of the previous hack for Atelier Iris, which is somewhat good as this one is generic.
Why have this hack? FMVs are only a secondary consideration compared to getting the rest of the emulator functional. Once the core emulation is good, we can work on perfecting movie playback.