Commit graph

36 commits

Author SHA1 Message Date
Connor McLaughlin af5d49649c MDEC: Add option to use old conversion routines
That way texture packs for games which use MDEC for decoding
backgrounds will still be compatible.
2023-01-12 17:01:04 +10:00
Connor McLaughlin 3e0be0a577 MDEC: Tweak block timing further
Improves frame rate during animated backgrounds in Final Fantasy VII.
2023-01-12 16:48:34 +10:00
Connor McLaughlin 3acf569d67 DMA: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin 1bb321c41f MDEC: Don't round when texture replacements are enabled
This changes texture hashes, and people got annoyed :/
2022-12-27 22:17:58 +10:00
Connor McLaughlin 928dd0e665 MDEC: Fix Linux compiling 2022-12-21 17:30:22 +10:00
Connor McLaughlin 1c8ef86f12 MDEC: Convert to namespace 2022-12-20 21:18:30 +10:00
Connor McLaughlin 8ab46d0713 MDEC: Redo IDCT and conversion
RE2 backgrounds look better now (mainly due to the 24bpp->16bpp
conversion). Also implements signed output (untested).
2022-12-14 17:28:34 +10:00
Connor McLaughlin 8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin fd76f437b3 Core: Purge WITH_IMGUI define 2022-03-27 16:59:02 +10:00
Albert Liu 1f07ea6ecc MDEC: EOB is optional for complete blocks 2021-11-14 20:46:05 -08:00
Connor McLaughlin 48e55ab87b MDEC: Fix warnings in gcc debug build 2021-10-25 17:27:41 +10:00
Connor McLaughlin c6c67b7b27 ImGui: Remove close button from debug windows
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin 11992bde4e TimingEvents: Use function pointers instead of std::function 2021-01-10 01:45:07 +10:00
Connor McLaughlin 7c7145d1c5 MDEC: Handle invalid commands
Fixes panic in Formula 1.
2020-12-19 02:44:46 +10:00
Connor McLaughlin 50bcdc0abb MDEC: Adjust 16bpp timing
Fixes jittery movement in Parasite Eve II opening.
2020-12-09 20:29:32 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin 13e3095801 Core: Don't link to imgui for libretro core 2020-09-01 12:22:32 +10:00
Connor McLaughlin b6f871d2b9
JIT optimizations and refactoring (#675)
* CPU/Recompiler: Use rel32 call where possible for no-args

* JitCodeBuffer: Support using preallocated buffer

* CPU/Recompiler/AArch64: Use bl instead of blr for short branches

* CPU/CodeCache: Allocate recompiler buffer in program space

This means we don't need 64-bit moves for every call out of the
recompiler.

* GTE: Don't store as u16 and load as u32

* CPU/Recompiler: Add methods to emit global load/stores

* GTE: Convert class to namespace

* CPU/Recompiler: Call GTE functions directly

* Settings: Turn into a global variable

* GPU: Replace local pointers with global

* InterruptController: Turn into a global pointer

* System: Replace local pointers with global

* Timers: Turn into a global instance

* DMA: Turn into a global instance

* SPU: Turn into a global instance

* CDROM: Turn into a global instance

* MDEC: Turn into a global instance

* Pad: Turn into a global instance

* SIO: Turn into a global instance

* CDROM: Move audio FIFO to the heap

* CPU/Recompiler: Drop ASMFunctions

No longer needed since we have code in the same 4GB window.

* CPUCodeCache: Turn class into namespace

* Bus: Local pointer -> global pointers

* CPU: Turn class into namespace

* Bus: Turn into namespace

* GTE: Store registers in CPU state struct

Allows relative addressing on ARM.

* CPU/Recompiler: Align code storage to page size

* CPU/Recompiler: Fix relative branches on A64

* HostInterface: Local references to global

* System: Turn into a namespace, move events out

* Add guard pages

* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin e5f56fcd33 MDEC: Slightly reduce block timing
Fixes FMVs in Disney's Treasure Planet.

Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin d4ae0f13fe MDEC: Refactoring and fixes 2020-03-26 00:13:07 +10:00
Connor McLaughlin 82eb14efb1 Core: Apply DPI scaling to debug windows 2020-02-28 16:59:51 +10:00
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 2020-01-24 16:23:39 +10:00
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin 6f4cf7d5e3 System: Support changing BIOS path 2019-11-11 19:43:39 +10:00
Connor McLaughlin ed6d0e34de MDEC: Fix broken stats window 2019-10-26 13:31:45 +10:00
Connor McLaughlin a76ec6fc19 Compile fixes for GCC 2019-10-22 23:07:51 +10:00
Connor McLaughlin c8bbd25f59 MDEC: Refactor buffer handling, fixes FF9 FMVs 2019-10-18 23:52:52 +10:00
Connor McLaughlin ec8c5d4bb6 DMA: Batch multi-word transfers together 2019-10-13 16:48:11 +10:00
Connor McLaughlin 88ec178380 DMA: Refactoring, support split block transfers 2019-10-13 14:16:49 +10:00
Connor McLaughlin 2d9d999713 Add debug window for MDEC 2019-10-12 23:27:23 +10:00
Connor McLaughlin 2f8edd1812 MDEC: Only set DMA request when there is actually data to write 2019-10-08 19:27:22 +10:00
Connor McLaughlin c794d2911d MDEC: Support resumable decoding from partial transfers 2019-10-07 01:04:20 +10:00
Connor McLaughlin 751f348fd2 MDEC: Improve decoding 2019-10-05 22:21:31 +10:00
Connor McLaughlin bddbab9d60 Rename to DuckStation 2019-10-04 13:54:09 +10:00
Renamed from src/pse/mdec.cpp (Browse further)