Commit graph

249 commits

Author SHA1 Message Date
Connor McLaughlin a3446b8275 SPU: Implement ADSR 2019-10-11 16:05:34 +10:00
Connor McLaughlin 3912e0e8d6 SPU: More implementation work 2019-10-11 13:24:48 +10:00
Connor McLaughlin 135e282f8d common: Add sync-to-audio support 2019-10-11 13:24:41 +10:00
Connor McLaughlin f852b8dd90 Further work on SPU implementation 2019-10-11 02:20:21 +10:00
Connor McLaughlin bc51cc6d7d common: Add AudioStream class 2019-10-11 02:20:10 +10:00
Connor McLaughlin 14d32c882a DMA: Kick start transfers on master enable 2019-10-11 02:18:16 +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 75eee533df CDROM: Add missing state save 2019-10-08 19:26:58 +10:00
Connor McLaughlin d373b5d3a9 Timers: Fix oneshot/toggle modes 2019-10-08 18:21:15 +10:00
Connor McLaughlin c794d2911d MDEC: Support resumable decoding from partial transfers 2019-10-07 01:04:20 +10:00
Connor McLaughlin caec927a98 GPU: Implement GetGPUInfo subcommands 02-05h 2019-10-06 23:12:17 +10:00
Connor McLaughlin 5627955900 GPU: Two-pass rendering for B-F transparency 2019-10-06 13:09:04 +10:00
Connor McLaughlin 7254d48835 GPU: Pull page attributes from GPUSTAT if texturing is not enabled 2019-10-06 00:37:53 +10:00
Connor McLaughlin b7209eafb1 GPU: Fix out-of-bounds read in GP1(10h) 2019-10-06 00:37:31 +10:00
Connor McLaughlin 24bda8f659 GPU: Flush rendering before filling rectangle 2019-10-05 23:31:19 +10:00
Connor McLaughlin e286d6389c GPU: Flush rendering when drawing offset changes 2019-10-05 23:29:36 +10:00
Connor McLaughlin 2a0483f571 GPU: Flush rendering when drawing area changes 2019-10-05 23:28:34 +10:00
Connor McLaughlin bc8e035e37 GPU: Implement texture window 2019-10-05 23:27:48 +10:00
Connor McLaughlin f59d35023c GPU: Stub out more commands 2019-10-05 22:22:49 +10:00
Connor McLaughlin 751f348fd2 MDEC: Improve decoding 2019-10-05 22:21:31 +10:00
Connor McLaughlin ec85ae7a40 Bus: Properly handle byte/word reads of DMA registers
Fixes FF7 locking up on game start.
2019-10-05 16:29:16 +10:00
Connor McLaughlin 73ab741d4c Frontend: Fix invalid FPS values when loading state 2019-10-05 16:29:00 +10:00
Connor McLaughlin 20a011a074 CDROM: Improve timings 2019-10-05 16:07:15 +10:00
Connor McLaughlin ebe44ccc0b GPU: Fix broken VRAM->CPU transfers at >1x resolution scale 2019-10-05 15:15:00 +10:00
Connor McLaughlin 7f8c7aa71c GPU: Invalidate VRAM read texture when recreating framebuffer 2019-10-05 15:05:46 +10:00
Connor McLaughlin e1578ad063 GPU: Fix initial resolution scale not applying 2019-10-05 15:05:30 +10:00
Connor McLaughlin 1998a74ff4 GPU: Fix warnings in RGB24 shader 2019-10-05 14:52:52 +10:00
Connor McLaughlin e80775ed82 Frontend: Fix invalid FPS showing when reset 2019-10-05 14:50:23 +10:00
Connor McLaughlin ae260b924c GPU: Use GL_DRAW_FRAMEBUFFER binding instead of GL_FRAMEBUFFER 2019-10-05 14:48:41 +10:00
Connor McLaughlin 88d59a774f Frontend: Fix broken fast-forward 2019-10-05 14:43:24 +10:00
Connor McLaughlin 431313156a GPU: Fix invalid rectangle passed to glScissor 2019-10-05 14:36:48 +10:00
Connor McLaughlin c2baa7e834 GPU: 24-bit display depth support 2019-10-05 12:31:48 +10:00
Connor McLaughlin 64aa3f56c3 GPU: Fix transparency mode update not being applied 2019-10-05 00:01:45 +10:00
Connor McLaughlin 6541c82071 GPU: Use 12-bit int (sign plus 11 bits) for vertex position
Fixes whacky polygons in Crash 2 and logo in Crash 1.
2019-10-04 23:48:31 +10:00
Connor McLaughlin a9313b2958 GPU: Fix transparency not being enabled in shader 2019-10-04 23:31:26 +10:00
Connor McLaughlin 27bc65fc2a GPU: Use BitField sign extending for position 2019-10-04 23:21:20 +10:00
Connor McLaughlin e7d68ba304 common/BitField: Support sign extension 2019-10-04 23:20:42 +10:00
Connor McLaughlin 004c22f031 Frontend: Prevent drawing imgui into the vram texture 2019-10-04 22:27:18 +10:00
Connor McLaughlin 4fa79f1503 GL: Eliminiate most redundant state setting calls at draw time 2019-10-04 22:10:43 +10:00
Connor McLaughlin 8987fa93c2 GPU: Set line width at higher internal resolutions 2019-10-04 21:08:53 +10:00
Connor McLaughlin d3ecad391d Frontend: Move fullscreen to settings menu 2019-10-04 20:49:43 +10:00
Connor McLaughlin 162a0df922 Frontend: Display emulation speed 2019-10-04 20:48:29 +10:00
Connor McLaughlin 4d22bec8fd GPU: Add some missing state reset 2019-10-04 20:34:29 +10:00
Connor McLaughlin 4422fb0545 CPU: Memory access timings 2019-10-04 20:30:54 +10:00
Connor McLaughlin fd1c4f1457 Bus: Calculation of memory timings for external devices 2019-10-04 19:41:18 +10:00
Connor McLaughlin 0b46a8cfc4 CDROM: Implement GetlocP/GetlocL commands 2019-10-04 19:05:19 +10:00
Connor McLaughlin bbe1fc062f GTE: Implement OP 2019-10-04 17:50:05 +10:00
Connor McLaughlin 7c600ed6fa GTE: Implement CDP 2019-10-04 17:38:31 +10:00
Connor McLaughlin b133f96c24 GTE: Implement CC 2019-10-04 17:35:01 +10:00
Connor McLaughlin 13389caa60 GTE: Implement NCS/NCT 2019-10-04 17:26:56 +10:00
Connor McLaughlin 6a7ed5d8bc GTE: Fix NCDS 2019-10-04 16:14:49 +10:00
Connor McLaughlin 4a4af8d0ca GTE: Fix DCPS/DCPT 2019-10-04 16:06:47 +10:00
Connor McLaughlin 98dc15cd17 GTE: Fix DCPL 2019-10-04 15:58:52 +10:00
Connor McLaughlin 55aefa2f27 GTE: Implement INTPL 2019-10-04 15:35:48 +10:00
Connor McLaughlin 1aa846e0f8 CPU: Clean up exception disassembly dumping 2019-10-04 15:35:39 +10:00
Connor McLaughlin 8362b8e43b UI: Beginning of customizable settings, debug menu 2019-10-04 15:00:32 +10:00
Connor McLaughlin 15f75a89ac Frontend: Window icon and title 2019-10-04 14:24:52 +10:00
Connor McLaughlin bddbab9d60 Rename to DuckStation 2019-10-04 13:54:09 +10:00
Connor McLaughlin 92ec5a0a14 CPU: Handle reserved instructions/bus errors 2019-10-04 13:41:12 +10:00
Connor McLaughlin 01ad2fa5b6 HostInterface: Replace psxexe extension check with psexe 2019-10-04 13:38:54 +10:00
Connor McLaughlin 74d51c80fc CPU: Implement TAR COP0 register 2019-10-04 02:48:19 +10:00
Connor McLaughlin eddd2c1990 CPU: Correct bits for CAUSE.CE, EPC for fetch 2019-10-04 02:27:34 +10:00
Connor McLaughlin 48563c74cf GPU: Implement resolution scaling 2019-10-03 16:46:13 +10:00
Connor McLaughlin 1f6130f04a CPU: Restore faster IPS 2019-10-03 16:45:54 +10:00
Connor McLaughlin 40dceacc7c CDROM: Detection of XA audio sectors 2019-09-30 20:02:38 +10:00
Connor McLaughlin 8b4ec87055 CPU: Support printing instruction operands when tracing 2019-09-30 17:32:58 +10:00
Connor McLaughlin 65c9dfa4fd Bus: Handle unaligned writes to DMA 2019-09-30 17:21:57 +10:00
Connor McLaughlin 68883168cd MemoryCard: Fix reading in games 2019-09-30 14:22:57 +10:00
Connor McLaughlin 1667da66dd Pad: Fix loading save state issues with memory cards 2019-09-30 14:22:30 +10:00
Connor McLaughlin 9fc608aa34 MemoryCard: Save state support 2019-09-30 01:59:35 +10:00
Connor McLaughlin 623b9996c7 MemoryCard: Formatting 2019-09-30 01:53:47 +10:00
Connor McLaughlin f3663fa018 GTE: Implement GPF instruction 2019-09-30 01:13:56 +10:00
Connor McLaughlin 53ff458754 CDROM: Don't crash when booting the BIOS without media 2019-09-30 01:08:17 +10:00
Connor McLaughlin c4574027e0 CDROM: Save sector buffer to state 2019-09-30 01:07:57 +10:00
Connor McLaughlin 71022e9cca Implement memory cards 2019-09-30 01:07:38 +10:00
Connor McLaughlin 314fad27f1 SDL: Fix flickering outside of display area 2019-09-29 18:11:38 +10:00
Connor McLaughlin e8fc05fef5 MDEC: More implementation work 2019-09-29 18:11:18 +10:00
Connor McLaughlin a23a353dbb FIFOQueue: Add PopRange 2019-09-29 18:11:07 +10:00
Connor McLaughlin 9ee8c0194e StateWrapper: Add std::array overload 2019-09-29 18:05:22 +10:00
Connor McLaughlin a48b856a62 Skeleton for MDEC 2019-09-29 12:51:34 +10:00
Connor McLaughlin d47717fdd6 SDL: Add hotkeys (F1-F8) for loading/saving state 2019-09-28 16:21:24 +10:00
Connor McLaughlin e11d98e5e0 StateWrapper: Fix FIFO corruption on loading 2019-09-28 16:21:09 +10:00
Connor McLaughlin c32dc917ff GTE: NCCS/NCCT tests passing 2019-09-28 15:45:50 +10:00
Connor McLaughlin 1a30815109 GTE: GPL instruction passing tests 2019-09-28 15:25:07 +10:00
Connor McLaughlin 8841934009 GTE: Fix MVMVA flags due to missing 43-bit-sign-extend 2019-09-28 15:19:35 +10:00
Connor McLaughlin d3893bc9f2 CPU: Make it run a bit faster, but needs proper timings 2019-09-28 01:43:10 +10:00
Connor McLaughlin 9d7fb64cdf SDL: Default to vsync, tab to disable 2019-09-28 01:31:08 +10:00
Connor McLaughlin a216c8414c GTE: Implement GPL instruction 2019-09-28 01:28:09 +10:00
Connor McLaughlin 8aed0cc174 SDL: Display internal FPS/VPS seperately 2019-09-28 01:09:58 +10:00
Connor McLaughlin 1400534127 GPU/SDL: Correct aspect ratio when displaying 2019-09-28 00:53:11 +10:00
Connor McLaughlin 5184ad9d8b GPU: Fix line rendering with larger coordinates 2019-09-28 00:36:30 +10:00
Connor McLaughlin da0ad66080 GTE: Implement DPCL instruction 2019-09-27 23:44:33 +10:00
Connor McLaughlin a479d820d4 CPU: Delay interrupts if the instruction in the pipeline is a TE instruction 2019-09-27 23:43:52 +10:00
Connor McLaughlin e8cd174732 GTE: Implement DPCT 2019-09-27 22:57:07 +10:00
Connor McLaughlin fc74d08641 GTE: Add some missing flag clear/updates 2019-09-27 22:48:56 +10:00
Connor McLaughlin 390639e795 GPU: Implement line rendering 2019-09-27 22:45:57 +10:00
Connor McLaughlin f2a3629016 GPU: Support displaying only active region 2019-09-27 22:10:25 +10:00
Connor McLaughlin c0a3a4176d GPU: Enable batching of polygons with the different texture pages 2019-09-27 21:20:35 +10:00
Connor McLaughlin 69f6788f9f GPU: Show stats from previous frame if no rendering occured 2019-09-27 21:20:20 +10:00
Connor McLaughlin c02cbc57e8 GPU: Properly handle semitransparent pixels 2019-09-27 17:40:26 +10:00