New Release for the PSX core (Patreon)
Content
Hi everyone,
I worked a lot on the DMA accuracy improvements over the last week and it finally is in a state where I feel it's good to release it.
It contains the new filtering, 24 Bit rendering and those accuracy improvements and fixes. You find the full list of changes below.
The DMA changes are not fully done yet, but only few points remain. I already have all tests written that I want to write and "only" have to adjust the core to fulfill these.
As it turned out, there was a surprise when doing the DMA tests, that was not discovered(or at least not fully) before and not implemented by any emulator yet. I will do a full article about it in the next days.
For now, I hope you enjoy the new release. Have fun!
--------------------
new features:
- bilinear texture filter (plus settings for 2D detection and filter strength)
- 24bit rendering
- 8 Mbyte RAM option(mostly for homebrew)
fixes/changes:
- CPU: implement partial cache line fetch for BIOS
- DMA: fixed a bug where the DMA would read up to 4 additional words from RAM in background that are never used
- DMA: fixed a bug where DMA would fetch more words than required when sdram performs refresh
- ressource reduction of savestate logic for several submodules
accuracy improvements:
- DMA and CPU can now run in parallel
- SDRAM: change 8 word burst to 4*2 word bursts to allow for unwrapped page reads for DMA
- Memory: corrected uncached instruction fetch timing
- Memory: corrected bios instruction fetch timing
- CPU: back-to-back read timing corrected: 1 cycle faster unless special conditions are hit
- DMA: allow for early DMA stop when last word is transferred from ram to device -> 2 cycles less DMA overhead
- DMA: moved IRQ to trigger 1 cycle earlier
- DMA: start SDRAM reading earlier -> 1 cycle less overhead
- DMA: use data from SDRAM directly without FIFO for MDEC and GPU -> 2 cycles less overhead
- DMA: allow to read DMA over full page instead of 4 word boundary (average 1.5 cycles less overhead -> matching PSX test)