Connor McLaughlin
8b9d44f4dc
System: Use game code for automatic region detection
2019-12-05 17:09:10 +10:00
Connor McLaughlin
eeea5125f7
CPU: Use pending ticks as downcount comparison
...
Saves a few cycles decrementing the downcount.
2019-12-05 16:28:46 +10:00
Connor McLaughlin
0171dc4241
CPU/Recompiler: Prevent vixl from using scratch registers
...
This took too long to find that it was trashing one of our register
cache values. Let it abort instead, until we use the base assembler
instead of the macro assembler.
2019-12-05 02:03:01 +10:00
Connor McLaughlin
914abe64c1
CPU/Recompiler: Extend sign for add/sub/cmp immediates in AArch64
2019-12-05 02:02:23 +10:00
Connor McLaughlin
8c33163ef1
Android: Add type to game list (disc/psexe)
2019-12-04 21:54:14 +10:00
Connor McLaughlin
dec475db62
GameList: Support homebrew/psexe files
2019-12-04 21:12:50 +10:00
Connor McLaughlin
2c645d9e93
JitCodeBuffer: Use __builtin___clear_cache instead of __clear_cache
...
The former exists on Android.
2019-12-04 20:33:02 +10:00
Connor McLaughlin
baaa94d4c1
CPU/Recompiler: Instruction parity between x64 and AArch64
2019-12-04 19:52:56 +10:00
Connor McLaughlin
f49216f5f8
CPU/Recompiler: Implement most instructions for AArch64
2019-12-04 01:50:59 +10:00
Connor McLaughlin
e518cbfffb
CPU/Recompiler: Fallback-all-instructions working in AArch64
2019-12-03 20:45:14 +10:00
Connor McLaughlin
98e67616ec
JitCodeBuffer: Flush cache after committing code on ARM CPUs
...
ARM's instruction and data caches are not coherent, so we need to flush
before executing to ensure there's no stale data left over.
2019-12-03 20:21:32 +10:00
Connor McLaughlin
bbe1cb5fe9
CPU: Preparations for AArch64 recompiler
2019-12-03 01:31:49 +10:00
Connor McLaughlin
efb8033d48
HostInterface: Fix for gcc < 8
2019-12-03 01:29:26 +10:00
Connor McLaughlin
45fc19fd05
GPU: Only latch texpage/mode on polygon/set draw mode
...
Driver seems to draw an off-screen polygon to set up the parameters,
instead of the set draw mode command.
Fixes broken sprites in Driver/Driver 2.
2019-12-02 17:04:26 +10:00
Connor McLaughlin
a3f2286bdb
CDROM: Hack to set subq position before seek instead of after
...
I assume this should be set throughout the seek to the current disc
position, but since we're only updating at the end of the seek, this'll
do.
Fixes music looping in Spyro.
2019-12-02 17:02:59 +10:00
Connor McLaughlin
adc3a2fac1
Android: Support GLES3 and hardware renderers
2019-12-01 21:57:27 +10:00
Connor McLaughlin
299ee05cd9
HostInterface: Move OSD messages to base class
2019-12-01 21:33:56 +10:00
Connor McLaughlin
0a6b913536
HostInterface: Move performance counters to base class
2019-12-01 21:29:09 +10:00
Connor McLaughlin
abfa531648
GameList: Add disc size
2019-12-01 19:52:00 +10:00
Connor McLaughlin
ea52b9e8aa
GameList: Support parsing Redump.org dat files
2019-12-01 19:52:00 +10:00
Connor McLaughlin
04c70b3118
Add initial game list class implementation
2019-11-29 23:46:11 +10:00
Connor McLaughlin
3b11d936df
Common: Add a basic ISO reader class
2019-11-29 23:36:25 +10:00
Connor McLaughlin
ea0b13a05c
More changes to accomodate Android - imgui/host display
2019-11-28 23:32:57 +10:00
Connor McLaughlin
f11d357ab9
Compile fixes for Android
2019-11-28 01:55:33 +10:00
Connor McLaughlin
457743e109
Common/CDImage: Fix double increment of sectors_read
2019-11-28 01:55:09 +10:00
Connor McLaughlin
aec01d3890
Bus: Reduce RAM write delay
2019-11-27 00:01:47 +10:00
Connor McLaughlin
519dbc818d
CPU/CodeCache: Fix DMA writes not invalidating code blocks
...
Fixes Crash Team Racing and Spyro in Cached Interpreter/Recompiler
modes.
2019-11-26 19:45:38 +10:00
Connor McLaughlin
771a151567
GPU/OpenGL: Use CopyImageSubData for VRAM copies
...
Not correct with regard to the mask bit handling, but better than
blitting.
2019-11-25 00:27:23 +10:00
Connor McLaughlin
22e8b6b0a7
System: Fall back to software when D3D11 selected on Linux
2019-11-25 00:24:22 +10:00
Connor McLaughlin
0bc7333e6e
GPU/OpenGL: Set GLSL version string dynamically
...
Rather than hardcoding to 3.3.
2019-11-25 00:17:17 +10:00
Connor McLaughlin
db0d11c2ff
GPU/HW: Cull primitives larger than 1024x512
2019-11-24 23:46:33 +10:00
Connor McLaughlin
024ed01bbb
GPU/HW: Set alpha to mask bit setting
2019-11-24 23:30:35 +10:00
Connor McLaughlin
bc5a247a4b
GPU/HW: Use dual-source blend to split alpha and mask
2019-11-24 23:28:01 +10:00
Connor McLaughlin
9d6d00480c
GPU: Implement mask bit handling in software renderer
...
Still needs implementation in the hardware renderers.
2019-11-24 18:47:42 +10:00
Connor McLaughlin
6c6bf8714c
CPU/Recompiler: Only check interpreter load delay when it's dirty
2019-11-24 16:51:08 +10:00
Connor McLaughlin
e3965d9be3
CPU/Recompiler: Fix b{ltz,gez}al when using a load delayed register
2019-11-24 16:47:21 +10:00
Connor McLaughlin
8c5fcc8f48
CPU: Fix more load delay slot issues
...
Fixes Spyro again. b{ltz,gez}(al)? disabled in the recompiler until
issues are fixed.
2019-11-24 01:11:51 +10:00
Connor McLaughlin
897e75fa8e
CPU/Recompiler: Fix code generation crash on Linux
2019-11-23 21:38:38 +10:00
Connor McLaughlin
889bd73ac8
CPU: Add settings for execution mode
2019-11-23 20:22:09 +10:00
Connor McLaughlin
b8de55b9b8
CPU/Recompiler: Implement simple block linking
2019-11-23 19:56:19 +10:00
Connor McLaughlin
201be8aa9c
CPU: Fix interpreter speed regression from recompiler
...
Seems the logging prevented ExecuteInstruction() from being inlined.
2019-11-23 19:49:44 +10:00
Connor McLaughlin
5d0a6f88ad
CDROM: Header valid/playing should not be set on SeekL
...
Fixes Syphon Filter locking up on boot.
2019-11-23 19:13:50 +10:00
Connor McLaughlin
9da4e642af
CMake: Include SDL2 module in-tree
2019-11-23 19:07:54 +10:00
Connor McLaughlin
bb4ef2103e
GPU: Fix dump vram-to-cpu copies
2019-11-23 19:07:17 +10:00
Connor McLaughlin
da69085b3c
CPU/Recompiler: Implement nor
2019-11-23 12:53:44 +10:00
Connor McLaughlin
2f3107216a
CPU/Recompiler: Implement syscall/break
2019-11-23 12:51:17 +10:00
Connor McLaughlin
d2d0d5287b
CPU/Recompiler: Implement slt/sltu/slti/sltiu
2019-11-23 01:20:59 +10:00
Connor McLaughlin
bdc47319dc
CPU/Recompiler: Remove unused variable
2019-11-23 00:45:46 +10:00
Connor McLaughlin
e2850b5a6c
CPU/Recompiler: Implement and/or/xor
2019-11-23 00:41:25 +10:00
Connor McLaughlin
a9cbc08890
CPU/Recompiler: Cleanup/combine shift immediate/variable
2019-11-23 00:35:32 +10:00
Connor McLaughlin
5b745864e3
CPU/Recompiler: Implement sub/subu
2019-11-23 00:30:47 +10:00
Connor McLaughlin
f14ad1d3c4
CPU/Recompiler: Implement add/addu/addi
2019-11-23 00:26:56 +10:00
Connor McLaughlin
641e68db95
CPU/Recompiler: Implement b{gez,ltz}(al)?
2019-11-23 00:25:51 +10:00
Connor McLaughlin
167e2a3454
CPU/Recompiler: Implement j/jal/jr/jalr/beq/bne/bgtz/blez
2019-11-22 21:41:10 +10:00
Connor McLaughlin
ff398a3f77
Revert "Frontend: Swap L1/R1 and L2/R2 bindings"
...
This reverts commit a25fe54a4b
.
2019-11-22 18:28:41 +10:00
Connor McLaughlin
11966e4caf
CPU/Recompiler: Write exception exits to far code buffer
...
Keeps the hot path nice and clean.
2019-11-22 18:01:28 +10:00
Connor McLaughlin
7b0978119b
CPU: Only write exceptions to log when logging
2019-11-22 17:54:06 +10:00
Connor McLaughlin
f46160ac46
CPU/Recompiler: Implement mult/multu
2019-11-22 16:45:13 +10:00
Connor McLaughlin
e5c0d28fdc
CPU/Recompiler: Implement mfhi/mthi/mflo/mtlo
2019-11-22 10:53:54 +10:00
Connor McLaughlin
51a873e58d
CPU: Expand register file to include hi/lo/pc/npc
2019-11-22 10:53:54 +10:00
Connor McLaughlin
330d512831
CPU: Write exceptions to trace log
2019-11-22 10:53:15 +10:00
Connor McLaughlin
9e82afac7b
CPU/Recompiler: Support block revalidation instead of flushing
2019-11-22 00:32:40 +10:00
Connor McLaughlin
7aafaeacbc
CPU/Recompiler: Implement lb/lbu/lh/lhu/lw/sb/sh/sw instructions
...
Currently not passing CPU tests when combined with lwl/lwr.
2019-11-21 23:34:04 +10:00
Connor McLaughlin
9e3bb62216
CPU/CodeCache: Fast path for self-linking blocks
2019-11-20 01:19:03 +10:00
Connor McLaughlin
09de3819eb
CPU/Recompiler: Implement sra/srav instructions
2019-11-20 01:00:31 +10:00
Connor McLaughlin
4f436461ff
CPU/Recompiler: Combine shift instructions
2019-11-20 01:00:31 +10:00
Connor McLaughlin
51600c5bc0
CPU/Recompiler: Implement andi/xori, combine BitwiseImmediate
2019-11-20 01:00:31 +10:00
Connor McLaughlin
6157aa9d21
CPU/Recompiler: Implement srlv/srrv instructions
2019-11-20 00:32:41 +10:00
Connor McLaughlin
82cbb6e1b8
CPU/Recompiler: Implement srl instruction
2019-11-20 00:21:02 +10:00
Connor McLaughlin
5217088d82
CPU: Refactor load delay handling
...
Now works when mixing interpreter and recompiler code.
2019-11-20 00:15:15 +10:00
Connor McLaughlin
1d6c4a3af1
CPU: Basic recompiler implementation for x64 (lui, ori, addiu)
...
Disabled by default.
2019-11-19 20:38:05 +10:00
Connor McLaughlin
b9089cac95
System: Fix EXE loading again
2019-11-18 21:03:48 +10:00
Connor McLaughlin
19062e11b5
Revert "Bus: Relax memory timing"
...
This reverts commit b5c799ba81
.
2019-11-17 22:11:16 +10:00
Connor McLaughlin
38d0f46063
Frontend: Fix some GPU settings not saving to ini
2019-11-17 22:10:55 +10:00
Connor McLaughlin
48e3683d20
HostInterface: Fix load state on boot not loading state
2019-11-17 19:41:25 +10:00
Connor McLaughlin
1f4dbd1060
Frontend: Implement D3D<->GL renderer switching
2019-11-17 19:37:10 +10:00
Connor McLaughlin
d1f7ad2512
HostInterface: Fix display classes not getting destructed
2019-11-17 19:36:56 +10:00
Connor McLaughlin
55550798e4
Frontend: Call timeBeginPeriod() to increase timer resolution
...
Hopefully will prevent FPS fluctuations due to sleep variation.
2019-11-17 01:47:52 +10:00
Connor McLaughlin
b2b5e6c793
HostInterface: Reset throttle timer on slowdown
...
Prevents too slow messages when fast forwarding.
2019-11-17 01:47:50 +10:00
Connor McLaughlin
b5c799ba81
Bus: Relax memory timing
...
Formulas from Mednafen.
2019-11-17 01:47:46 +10:00
Connor McLaughlin
8fb4f73d17
Settings: Add audio sync and additional cleanup
2019-11-16 20:52:39 +10:00
Connor McLaughlin
3673c6e33c
HostInterface: Re-enable audio sync by default
2019-11-16 20:52:39 +10:00
Connor McLaughlin
f1289d6161
Settings: Hook up console region
2019-11-16 20:52:39 +10:00
Connor McLaughlin
613e4f4a2a
GPU: Set PAL mode on soft reset if region is PAL
2019-11-16 20:52:39 +10:00
Connor McLaughlin
49ab9467df
GPU: Set throttle frequency based on mode config
2019-11-16 20:52:39 +10:00
Connor McLaughlin
77fe883901
System: Default to NTSC region for BIOS boot if auto
2019-11-16 20:52:39 +10:00
Connor McLaughlin
b57f1d4a60
HostInterface: Implement non-vsync based speed throttler
...
Needed for PAL games.
2019-11-16 20:52:39 +10:00
Connor McLaughlin
246c97ccb3
System: Scaffolding for multi-system/multi-bios
2019-11-16 20:50:59 +10:00
Connor McLaughlin
d6209937fb
CDROM: Properly handle audio sectors in SeekL
2019-11-16 12:54:41 +10:00
Connor McLaughlin
f12b97e98b
DMA: Add missing transfer_ticks to save state
2019-11-16 01:51:22 +10:00
Connor McLaughlin
4524172573
Frontend: Use flip model swap chains in D3D
2019-11-16 01:45:31 +10:00
Connor McLaughlin
2399c1dab7
SPU: Fix incorrect step value in attack phase
2019-11-16 01:43:34 +10:00
Connor McLaughlin
a47492382c
System: Add "fast boot" option (skip boot logo)
2019-11-16 01:04:52 +10:00
Connor McLaughlin
30fd7a6683
DMA: Support delaying transfers
...
Fixes Syphon Filter 2/3.
2019-11-15 23:27:56 +10:00
Connor McLaughlin
e02ebb1b2a
SPU: Mute voice without release phase on loop/end flag
...
Fixes channels getting stuck in Syphon Filter.
2019-11-15 17:24:11 +10:00
Connor McLaughlin
5b5d22fd27
SPU: Stub out transfer control register
...
Fixes sound in Ridge Racer.
2019-11-15 16:44:23 +10:00
Connor McLaughlin
d9c27c4ee3
SPU: Fix sustain step being ignored
2019-11-15 16:42:25 +10:00
Connor McLaughlin
4e9d5b77f8
GPU: Fix swapped bytes for VRAM->CPU transfers
2019-11-15 15:05:27 +10:00
Connor McLaughlin
f27ad2fa67
Frontend: Re-implement fullscreen
2019-11-15 14:57:27 +10:00
Connor McLaughlin
a25fe54a4b
Frontend: Swap L1/R1 and L2/R2 bindings
2019-11-15 14:13:05 +10:00
Connor McLaughlin
708ce25cb0
GPU/HW: Fix resolution changing while running corrupting screen
2019-11-14 22:24:47 +10:00
Connor McLaughlin
49569d29aa
GPU: Refactor command execution/VRAM->CPU transfers
...
Simpler, and handles odd sizes correctly.
2019-11-14 22:17:11 +10:00
Connor McLaughlin
bc9ed3572b
GPU/HW: Fix flipped GPU readback in D3D11
2019-11-14 22:11:12 +10:00
Connor McLaughlin
9d66638bce
GPU: Handle oversized transfers (wrap around behavior)
2019-11-14 20:31:48 +10:00
Connor McLaughlin
9ea7a8418c
GPU: Eliminate temporary buffer when reading back
2019-11-14 17:17:22 +10:00
Connor McLaughlin
3998b9684e
GPU/HW: GPU-based RGBA8->RGB5551 conversion for readbacks
2019-11-14 17:16:21 +10:00
Connor McLaughlin
878a76e258
Common: Fix issues in utility classes for readbacks
2019-11-14 16:57:58 +10:00
Connor McLaughlin
4bab3bffc0
Frontend: Fix display linear filtering setting not applying
2019-11-14 01:22:35 +10:00
Connor McLaughlin
53881219ce
GPU: Fix handling of interlaced non-480-line mode
2019-11-14 00:59:09 +10:00
Connor McLaughlin
7152d54104
GPU: Simplify 480i mode handling in CRTC
2019-11-14 00:58:15 +10:00
Connor McLaughlin
b48accf0bf
GPU/HW: Fix 24-bit output broken with >1x res scale
2019-11-13 22:54:52 +10:00
Connor McLaughlin
76172c88f3
GPU/HW: Disable blending when updating VRAM
...
Fixes random breakage when it was previously enabled.
2019-11-13 22:48:39 +10:00
Connor McLaughlin
f7f4818de4
GPU/HW: Explicitly specify std140 layout for UBOs
2019-11-13 22:48:14 +10:00
Connor McLaughlin
8cfb8d7922
CDROM: Fix track skip behavior with track=0
...
Fixes Doom.
2019-11-13 16:33:51 +10:00
Connor McLaughlin
525bbf48d7
CDImage: Set data bit in Q subchannel for bin images
2019-11-13 16:28:43 +10:00
Connor McLaughlin
8e06f86db8
CDROM: Implement auto-pause at end of track
2019-11-12 20:40:37 +10:00
Connor McLaughlin
85413218cb
SPU: Check upper 8 byte block of ADPCM block for interrupt
...
Fixes NFS2 stuck after selecting Race.
2019-11-12 18:56:55 +10:00
Connor McLaughlin
90cf6b8b41
CDROM: Don't lose INT1 interrupts from command execution
2019-11-12 18:02:36 +10:00
Connor McLaughlin
6a82333d8f
Pad: Only buffer a single byte
...
Fixes Croc 2 memory card access freezing.
2019-11-12 01:32:06 +10:00
Connor McLaughlin
d8452d7d7d
GPU: Track horizontal blanking, correct timer increment point
2019-11-12 01:32:06 +10:00
Connor McLaughlin
f3baee2582
DMA: Hack for self-referencing DMA loops
...
I need to figure how these are being generated in the first place.
2019-11-11 20:37:13 +10:00
Connor McLaughlin
29674df803
DMA: Simplify address masking
2019-11-11 20:34:41 +10:00
Connor McLaughlin
6f4cf7d5e3
System: Support changing BIOS path
2019-11-11 19:43:39 +10:00
Connor McLaughlin
99c264947d
SPU: Implement capture buffers
...
Fixes Crash Team Racing and lipsyncing within.
2019-11-11 14:06:30 +10:00
Connor McLaughlin
26437e31dd
SPU: Fire interrupt on DMA reads/writes too
2019-11-11 14:05:58 +10:00
Connor McLaughlin
8722757412
SPU: Implement pitch modulation
2019-11-11 00:41:09 +10:00
Connor McLaughlin
5a84122862
CDROM: Implement CDDA report
2019-11-10 23:03:52 +10:00
Connor McLaughlin
ab90d287bb
CDROM: Use Sub-Channel Q for GetLocP
2019-11-10 22:45:48 +10:00
Connor McLaughlin
6bb4f8e728
CDImage: Support generating Q Sub-Channel
2019-11-10 22:44:53 +10:00
Connor McLaughlin
2cc5084dd1
CDImage: Handle cue sheets where pregap is in file
2019-11-10 15:16:48 +10:00
Connor McLaughlin
68fe492130
CDROM: Use seek time formula from Mednafen
2019-11-10 15:01:18 +10:00
Connor McLaughlin
c0208b6e78
GPU: Flush render before changing drawing area/offset
...
Fixes "random" broken polygons in hardware backends.
2019-11-09 22:56:53 +10:00
Connor McLaughlin
dbc22fe841
GPU/HW: Fix typo preventing fragment shader based VRAM writes from being used
2019-11-09 21:36:37 +10:00
Connor McLaughlin
5dd4f6f65e
CDROM: Implement ReadTOC command
2019-11-09 00:21:11 +10:00
Connor McLaughlin
7e7b7dc216
CDROM: Stub out SCEx test commands
2019-11-09 00:21:04 +10:00
Connor McLaughlin
5eea2f9ced
CDROM: Fix interrupt enable register having no effect
2019-11-08 23:49:28 +10:00
Connor McLaughlin
c3efc5637a
CDROM: Implement Getparam command
2019-11-08 22:45:06 +10:00
Connor McLaughlin
487f952c48
CDROM: Clear response FIFO before writing results
2019-11-08 22:42:42 +10:00
Connor McLaughlin
02132a9f29
CDROM: INT2 should not be sent after read/play command
2019-11-08 21:16:21 +10:00
Connor McLaughlin
8c51abaf37
System: Move settings to HostInterface
2019-11-08 01:07:39 +10:00
Connor McLaughlin
e8ebead23d
Frontend: Use Roboto font
2019-11-08 00:22:25 +10:00
Connor McLaughlin
52caf312d9
Frontend: Make about window modal
2019-11-08 00:22:25 +10:00
Connor McLaughlin
b5a8e562e8
Frontend: Add 'Darker' style
2019-11-08 00:22:25 +10:00
Connor McLaughlin
36b7690056
Frontend: Add settings window
2019-11-08 00:22:25 +10:00
Connor McLaughlin
98a5c4980d
Settings: Use simpleini for settings load/save
2019-11-07 01:43:51 +10:00
Connor McLaughlin
26c22f003f
Common: Persistent-mapped stream buffer implementation
2019-11-07 00:08:13 +10:00
Connor McLaughlin
ff8cef4da3
GPU/HW: Support OpenGL ES
2019-11-06 01:33:09 +10:00
Connor McLaughlin
b28610e30b
Frontend: Support OpenGL ES
2019-11-06 01:32:56 +10:00
Connor McLaughlin
15c42f032f
GPU/HW: Fallback path for VRAM writes for GPUs w/o texel buffers
2019-11-05 23:16:03 +10:00
Connor McLaughlin
089f297b9a
GPU/HW: Fallback path via blit for GPUs without GL_EXT_copy_image
2019-11-05 23:06:40 +10:00
Connor McLaughlin
cc7483ad58
GPU/HW: Only copy the dirty area to the VRAM read texture
2019-11-05 22:34:36 +10:00
Connor McLaughlin
da51d49d18
GPU/HW: Track VRAM fills/writes in dirty rectangle instead of invalidating
2019-11-05 22:12:39 +10:00
Connor McLaughlin
2578f34a7c
GPU/HW: Reset state when shutting down
2019-11-05 19:51:08 +10:00
Connor McLaughlin
2c631aba5e
GPU: Move stats from renderer class to base classes
2019-11-05 19:44:17 +10:00
Connor McLaughlin
afbec85f89
GPU/HW: Track dirty area of VRAM shadow texture via drawing area
2019-11-05 19:19:49 +10:00
Connor McLaughlin
65197d4350
Common: Add Rectangle helper class
2019-11-05 19:19:20 +10:00
Connor McLaughlin
16d83989e5
GPU/HW: Support line drawing at >1x scale in D3D11 via GS
2019-11-05 00:27:22 +10:00
Connor McLaughlin
3619b46b45
GPU: Fix parsing of polylines.. again
2019-11-05 00:26:35 +10:00
Connor McLaughlin
39850af147
Common: Add GS support to D3D11 shader compiler
2019-11-05 00:23:31 +10:00
Connor McLaughlin
3c64a242bb
GPU: Fix incorrect parsing of polyline commands
2019-11-04 02:56:30 +10:00
Connor McLaughlin
5d26c2177f
GPU/HW: Don't crash when switching to incompatible renderer
2019-11-04 02:02:33 +10:00
Connor McLaughlin
a397979d72
GPU/HW: Elide buffer copy in scanout and fix flipped display
2019-11-04 01:46:19 +10:00
Connor McLaughlin
ac45f3892c
Frontend: Fix broken display texture for OpenGL
2019-11-04 01:01:31 +10:00
Connor McLaughlin
4a6f283484
CPU: Add trace log to file support
2019-11-04 00:55:07 +10:00
Connor McLaughlin
9de9cf3be2
GPU/HW: Add D3D11 renderer and refactor host interface/display
2019-11-04 00:39:48 +10:00
Connor McLaughlin
f244da86a2
Common: Add helper classes for D3D11
2019-11-04 00:39:25 +10:00
Connor McLaughlin
d68f7085d6
Common: Move GL classes to subdirectory
2019-11-03 15:22:37 +10:00
Connor McLaughlin
47849465d8
GPU/HW: Use uniform blocks for all shaders + HLSL support in shadergen
2019-11-03 15:18:51 +10:00
Connor McLaughlin
d5150ec790
Common: Add unregistered uniform mutators to GL::Program
2019-11-03 15:18:28 +10:00
Connor McLaughlin
be81d08109
GPU/HW: Split shadergen to seperate class
2019-11-03 13:36:59 +10:00
Connor McLaughlin
91c99f0226
GPU/HW: Use uniform blocks for batch rendering
2019-11-03 13:18:43 +10:00
Connor McLaughlin
e3a9aa1c4f
Common: Add uniform block binding to GL::Program
2019-11-03 13:14:50 +10:00
Connor McLaughlin
aa1f3ad8f7
GPU: Don't truncate clear colour to 15-bit with true colour on
2019-11-03 01:05:37 +10:00
Connor McLaughlin
f7f5d45d7a
GPU: Fix incorrect VRAM fill colours in GL renderer
2019-11-03 01:02:05 +10:00
Connor McLaughlin
8ffce6ae0b
GPU: Fix 24-bit scanout being cut-off at >1x resolution scale
2019-11-03 00:52:37 +10:00
Connor McLaughlin
ba1a5a5ca9
GPU: Fix batching regression (draws split on texture page)
2019-11-03 00:36:47 +10:00
Connor McLaughlin
5abbdef065
Fix compile errors on GCC
2019-11-03 00:15:42 +10:00
Connor McLaughlin
6dc7069d7c
CDROM: Fix buffer overflow
2019-11-03 00:09:17 +10:00
Connor McLaughlin
bb572d5c14
GPU: Remove hack for bitwise ops on TextureMode enum
2019-11-03 00:01:54 +10:00
Connor McLaughlin
4143469353
GPU: Use texture buffer/fragment shader for VRAM writes
2019-11-02 23:43:20 +10:00
Connor McLaughlin
f59e08b564
Common: Add Unbind() to GL::StreamBuffer
2019-11-02 23:42:44 +10:00
Connor McLaughlin
60281eb67e
Common: Use std::string_view for GL::Program
2019-11-02 23:42:21 +10:00
Connor McLaughlin
2b17cfd365
GPU: Use streaming buffers for CPU->VRAM transfers
2019-11-02 22:31:15 +10:00
Connor McLaughlin
407fee9ec3
GPU: Add base functionality for GL streaming buffers
2019-11-02 22:21:56 +10:00
Connor McLaughlin
c52c0608ae
GPU: Move resolution scale to hardware backend only
2019-11-02 01:32:27 +10:00
Connor McLaughlin
c9feb7ea07
GPU: Add force true color setting
2019-11-02 00:31:25 +10:00
Connor McLaughlin
fc09b722ea
GPU: Truncate fragment values to 15-bit RGB
2019-11-02 00:01:03 +10:00
Connor McLaughlin
bbd7798ca4
GPU: Apply dither pattern more correctly at higher resolutions
2019-11-01 23:17:50 +10:00
Connor McLaughlin
3aa4219067
GPU: Implement dithering on software backend
2019-11-01 23:11:37 +10:00
Connor McLaughlin
ac82383abe
GPU: Implement dithering on OpenGL backend
2019-11-01 23:11:30 +10:00
Connor McLaughlin
1d1da1d82c
GPU: Add VRAM read/write stats to GL renderer
2019-11-01 22:06:24 +10:00
Connor McLaughlin
1c79737021
GPU: Simplify batch state
2019-11-01 21:47:45 +10:00
Connor McLaughlin
d8a02d7a15
common: Add macro for generating static/friend enum class operators
2019-11-01 21:47:40 +10:00
Connor McLaughlin
f5e1d443fa
Frontend: Implement Resume functionality
2019-10-31 23:02:52 +10:00
Connor McLaughlin
1540769cb4
GPU: Fix interlaced display at higher internal resolutions
2019-10-30 01:01:57 +10:00
Connor McLaughlin
5626d4f282
GPU: Fix texcoord off-by-one error in rectangles
2019-10-29 23:42:08 +10:00
Connor McLaughlin
9f5bd6e5f9
SPU: Correct sample rate display in debugger
2019-10-29 22:54:16 +10:00
Connor McLaughlin
40eb157d77
SPU: Fix off-by-one-sampling-error causing noise in output
2019-10-29 13:33:19 +10:00
Connor McLaughlin
6f7b9c8e28
Frontend: Fix last two slots missing from quick load
2019-10-29 02:08:46 +10:00
Connor McLaughlin
3ad6b005a8
Frontend: Add hotkey for toggling speed limiter
2019-10-29 01:59:53 +10:00
Connor McLaughlin
772ef27a55
GPU: Implement display disable command GP1(03h)
2019-10-28 17:43:34 +10:00
Connor McLaughlin
9bda6c5ef7
Frontend: Hook up change disc menu item
2019-10-28 17:34:59 +10:00
Connor McLaughlin
3128d0ebcb
CDROM: Shell open flag behavior when changing discs
2019-10-28 17:34:46 +10:00
Connor McLaughlin
a1ed2d1d77
CDROM: Implement motor on command
2019-10-28 17:25:04 +10:00
Connor McLaughlin
c15822d745
CDROM: Implement stop command
2019-10-28 17:19:29 +10:00
Connor McLaughlin
6e60991fd0
Frontend: Add hotkey to adjust resolution scale
2019-10-28 00:48:43 +10:00
Connor McLaughlin
49be3efb35
GPU: Preserve low bits in upscaled texture coordinates
2019-10-27 23:50:28 +10:00
Connor McLaughlin
12ce777e30
Frontend: Add toggle for software rendering
2019-10-27 21:52:10 +10:00
Connor McLaughlin
d1be9460b9
Frontend: Ignore key repeat events for controller/speed limit
2019-10-27 21:44:08 +10:00
Connor McLaughlin
2b419fcb08
Frontend: Add frame step hotkey (SPACE)/menu item
2019-10-27 21:35:13 +10:00
Connor McLaughlin
21f555cf8f
Frontend: Add pause support
2019-10-27 21:26:15 +10:00
Connor McLaughlin
4e6596adfb
GPU: Update display after loading state
...
Fixes black frame after switching renderers.
2019-10-27 21:08:43 +10:00
Connor McLaughlin
5f0980c684
dep: Update imgui
2019-10-27 20:52:02 +10:00
Connor McLaughlin
b1d3ba3d68
GPU: Remove unused resolution fields in CRTC
2019-10-27 20:20:53 +10:00
Connor McLaughlin
6bbf5b70bb
CDROM: More refactoring, playing -> header valid bit changes
2019-10-27 19:55:49 +10:00
Connor McLaughlin
dd4b9609b5
CDROM: Increase ack timing
2019-10-27 17:58:20 +10:00
Connor McLaughlin
0092cb1016
Pad: Set up memory cards via settings
2019-10-27 17:46:36 +10:00
Connor McLaughlin
739ada4721
CDROM: Send pre-pause/seek/read stat for commands
2019-10-27 14:38:48 +10:00
Connor McLaughlin
83b67b3c4c
Frontend: Clear focus after loading/saving state
2019-10-27 13:44:48 +10:00
Connor McLaughlin
4181b8c6b5
CDROM: Fix XA sectors overwriting unfetched data sectors
2019-10-27 13:44:23 +10:00
Connor McLaughlin
273d807e31
Common: Add HeapArray class
2019-10-27 13:34:13 +10:00
Connor McLaughlin
41574d92e8
Build: Enable conformance mode
2019-10-27 01:58:28 +10:00
Connor McLaughlin
e99f0a4acf
Pad: Use baud rate for transfer delay
2019-10-27 01:52:18 +10:00
Connor McLaughlin
4283fa7f74
CDROM: Tweak timings / add missing status update
2019-10-27 01:45:26 +10:00
Connor McLaughlin
f22de715c7
Frontend: Hook up right stick button to main menu bar
2019-10-27 01:05:43 +10:00
Connor McLaughlin
f538123210
Frontend: Use imgui functions for handling SDL events
2019-10-27 00:08:01 +10:00
Connor McLaughlin
0d71ebccc8
Frontend: Add display linear filtering option
2019-10-27 00:02:01 +10:00
Connor McLaughlin
f9e964e34d
CDImage: Relational operators for Position
2019-10-27 00:01:32 +10:00
Connor McLaughlin
88eec0a56b
GPU: Fix internal resolution options not displaying
2019-10-26 22:36:01 +10:00
Connor McLaughlin
62f6a5597e
CDROM: Don't crash emulator when interrupts are missed
2019-10-26 22:34:05 +10:00
Connor McLaughlin
b0c492fd43
DigitalController: Fix broken input due to 0x01 handling
...
Fixes THPS among others.
2019-10-26 22:33:25 +10:00
Connor McLaughlin
3b32053065
Build: Disable LTCG in Release builds
2019-10-26 21:12:23 +10:00
Connor McLaughlin
99663d119c
CDROM: Refactoring seek/read to support timing
2019-10-26 21:10:08 +10:00
Connor McLaughlin
b4f2bf4d3c
CDROM: Deliver data interrupt asynchronously
...
Prevents FMVs locking up when a command is being executed during a
sector read.
2019-10-26 17:41:39 +10:00
Connor McLaughlin
27674c2dc9
FIFOQueue: Support copying from another queue (pop -> push)
2019-10-26 17:41:29 +10:00
Connor McLaughlin
3ded9d46c1
CDROM: Combine stat pushing/ack interrupt
2019-10-26 16:12:37 +10:00
Connor McLaughlin
bedc305b64
CPU: Inline instruction accessor functions
2019-10-26 15:44:03 +10:00
Connor McLaughlin
1adb1d14ae
Build: Enable inlining for __inline functions in DebugFast
2019-10-26 15:42:21 +10:00
Connor McLaughlin
c7a7d682bc
Common: Force inlining of BitField/SignExtend/ZeroExtend functions
2019-10-26 15:41:43 +10:00
Connor McLaughlin
a9e0fe6db2
cpu: Remove superfluous logging for syscall
2019-10-26 15:39:10 +10:00
Connor McLaughlin
2500f9d3af
Build: Disable LTCG on common project in Release
2019-10-26 15:36:48 +10:00
Connor McLaughlin
2b137190c8
Frontend: Fix occasional power-off crash
2019-10-26 13:33:13 +10:00
Connor McLaughlin
ed6d0e34de
MDEC: Fix broken stats window
2019-10-26 13:31:45 +10:00
Connor McLaughlin
540e942a46
Add basic software GPU renderer
2019-10-26 12:57:45 +10:00
Connor McLaughlin
9b56499afa
Refactoring settings/support changing GPU renderer at runtime
2019-10-26 12:55:56 +10:00
Connor McLaughlin
ca48b21ffc
StateWrapper: Support switching modes
2019-10-25 23:30:44 +10:00
Connor McLaughlin
e98d109da2
Frontend: Support game controllers
2019-10-23 21:39:48 +10:00
Connor McLaughlin
2d0dd03705
GPU: Implement weave deinterlacing
2019-10-23 15:36:37 +10:00
Connor McLaughlin
87f9f99938
Frontend: Extract keyboard handling to seperate function
2019-10-23 15:34:39 +10:00
Connor McLaughlin
3db77a3139
SPU: Handle IRQ address register (fixes FF8 intro FMV)
2019-10-23 00:50:00 +10:00
Connor McLaughlin
c048679044
GPU: Don't create explicit framebuffers
2019-10-23 00:35:20 +10:00
Connor McLaughlin
9410685807
Common: Optionally create framebuffer with GL textures
2019-10-23 00:35:08 +10:00
Connor McLaughlin
c97089b775
Frontend: Fix Help menu placement when running
2019-10-22 23:09:01 +10:00
Connor McLaughlin
a76ec6fc19
Compile fixes for GCC
2019-10-22 23:07:51 +10:00
Connor McLaughlin
dc7b72b156
Frontend: Support vsync for speed limiter
2019-10-21 01:41:31 +10:00
Connor McLaughlin
e0173cbb4d
Frontend: Popup menu for load state in powered-off state
2019-10-21 00:38:20 +10:00
Connor McLaughlin
6c73dc6efb
Frontend: Support loading state while powered off
2019-10-21 00:38:04 +10:00
Connor McLaughlin
1b8b730f85
GPU: Compute display aspect ratio based on visible area
2019-10-21 00:18:52 +10:00
Connor McLaughlin
2e70c22422
GPU: Properly handle display range config
2019-10-20 23:19:26 +10:00
Connor McLaughlin
7e39dd0935
GPU: Fix display of 24-bit buffers with upscaling enabled
2019-10-20 22:59:40 +10:00
Connor McLaughlin
4f1fc7abf0
Fix CMake build
2019-10-20 22:31:45 +10:00
Connor McLaughlin
b9e0c329d0
Remove unused common classes
2019-10-20 22:28:19 +10:00
Connor McLaughlin
9058a79184
Remove libsamplerate dependency
2019-10-20 22:26:49 +10:00
Connor McLaughlin
cac09bcedc
Frontend: Add about window
2019-10-20 21:19:54 +10:00
Connor McLaughlin
d389fcaa13
Frontend: Force powered-off screen through seperate render path
2019-10-20 21:19:54 +10:00
Connor McLaughlin
0b58f1facf
Frontend: Hook up "Start Disc"
2019-10-20 21:19:54 +10:00
Connor McLaughlin
0e6d1d5629
Frontend: Add a powered-off window/welcome screen
2019-10-20 21:19:54 +10:00
Connor McLaughlin
884378045d
SPU: Add CD audio volume control
2019-10-20 21:19:54 +10:00
Connor McLaughlin
140d63c674
SPU: Add more details to debug window
2019-10-20 21:19:54 +10:00
Connor McLaughlin
b5f7fa2652
SPU: Stub out noise mode register
2019-10-20 21:19:54 +10:00
Connor McLaughlin
33f1cf4fd4
SPU: Global volume control
2019-10-20 21:19:54 +10:00
Connor McLaughlin
f3cd100b16
SPU: Float-less volume application
2019-10-20 21:19:54 +10:00
Connor McLaughlin
03e4c71b4c
CDROM: Implement CDDA playback
2019-10-20 15:55:23 +10:00
Connor McLaughlin
1cc3e4d5f2
CDImage: Only add implicit two seconds pregap for track 1
2019-10-20 15:32:02 +10:00
Connor McLaughlin
faa9e59f61
GPU: Correctly mask src x/y in VRAM->CPU transfer
2019-10-20 15:31:32 +10:00
Connor McLaughlin
9b6a59329e
Common: Support dual-source blend in GL::Program
2019-10-19 17:35:36 +10:00
Connor McLaughlin
75f206262c
Pad: Store JOY_BAUD
2019-10-18 23:52:52 +10:00
Connor McLaughlin
f046d1008e
GPU: Mask high bits in copy commands
2019-10-18 23:52:52 +10:00
Connor McLaughlin
9433e08782
CDROM: Implement GetTD command
2019-10-18 23:52:52 +10:00
Connor McLaughlin
4959de9859
CDROM: Implement GetTN command
2019-10-18 23:52:52 +10:00
Connor McLaughlin
baf97cb864
GPU: Split command handlers into seperate file
2019-10-18 23:52:52 +10:00
Connor McLaughlin
246b17454e
CDROM: Store filename, reduce ack cycles
2019-10-18 23:52:52 +10:00
Connor McLaughlin
513bbe44f3
Common: Refactor CDImage class to support multiple tracks/indices
2019-10-18 23:52:52 +10:00
Connor McLaughlin
c8bbd25f59
MDEC: Refactor buffer handling, fixes FF9 FMVs
2019-10-18 23:52:52 +10:00
Connor McLaughlin
6b4298541c
DMA: Fix DICR write breaking FMVs in FF7
2019-10-18 23:52:50 +10:00
Connor McLaughlin
9d5f3c1306
CPU: Support stalling CPU for bus activity such as DMA
2019-10-18 00:20:38 +10:00
Connor McLaughlin
0324ae2fd7
CDROM: Initial debug windows
2019-10-17 23:54:51 +10:00
Connor McLaughlin
a6a121f8fe
CPU: Add missing instruction signature for xori
2019-10-16 02:17:18 +10:00
Connor McLaughlin
5784fc260d
Update CPU interrupt line on interrupt mask change
2019-10-16 02:17:18 +10:00
Connor McLaughlin
254c668d7e
GPU: Implement GP1(00h)
2019-10-16 02:17:18 +10:00
Connor McLaughlin
45bfcc8225
GPU: Fix GPUSTAT(31) during vblank
2019-10-16 02:17:18 +10:00
Connor McLaughlin
e68cddf017
Fix CMake build
2019-10-15 18:02:48 +10:00
Connor McLaughlin
aa792da823
CDROM: Implement XA-ADPCM decoding
2019-10-15 17:28:23 +10:00
Connor McLaughlin
7195766563
CDROM: Implement XA-ADPCM filtering
2019-10-15 17:25:48 +10:00
Connor McLaughlin
f285f26ec2
CDROM: Last sector header is already in BCD - fix for GetLocP
2019-10-15 17:25:01 +10:00
Connor McLaughlin
2b6ebf9955
Common: Add helper functions for decoding CD-XA ADPCM
2019-10-15 17:24:11 +10:00
Connor McLaughlin
b2632db0a7
build: Use C++17 for MSBuild in common library
2019-10-15 17:23:38 +10:00
Connor McLaughlin
b4a6c98bbe
CPU: Move alignment check to branch instead of fetch
...
There is no other way to end up with an unaligned PC.
2019-10-13 18:35:21 +10:00
Connor McLaughlin
7448cbaf9d
GPU: Copy-less processing from DMA
2019-10-13 17:33:20 +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
0f68c8c5d3
Add debugging for GPU/Timers
2019-10-12 22:15:38 +10:00
Connor McLaughlin
b945d10b04
GTE: Handle buggy matrix in MVMVA
2019-10-12 17:21:24 +10:00
Connor McLaughlin
9bdff9e1dc
GTE: Fix NCDT
2019-10-12 17:21:08 +10:00
Connor McLaughlin
3f1fea0e97
GTE: Fix RTPS/RTPT
2019-10-12 14:49:26 +10:00
Connor McLaughlin
a55412c24a
SPU: Hide debug window by default
2019-10-11 17:48:34 +10:00
Connor McLaughlin
25209c3d58
SPU: Clear fields on Reset
2019-10-11 16:56:45 +10:00
Connor McLaughlin
d88da93a55
SPU: Save state support
2019-10-11 16:54:21 +10:00
Connor McLaughlin
51ea81eebf
SPU: Don't store the undecoded ADPCM blocks
2019-10-11 16:42:28 +10:00
Connor McLaughlin
058fc28248
Frontend: Sync to audio
2019-10-11 16:17:17 +10:00
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
Connor McLaughlin
40d2497087
GPU: Fix incorrect palette used on some polygons
2019-09-27 16:17:09 +10:00
Connor McLaughlin
7ec3343ee6
Timers: Minor fixes
2019-09-27 00:08:36 +10:00
Connor McLaughlin
792ec27b1a
GPU: Improve batching by sampling a VRAM copy
2019-09-26 23:33:20 +10:00
Connor McLaughlin
332b5481e8
common: Log bad shaders to disk
2019-09-26 23:32:56 +10:00
Connor McLaughlin
b75674b149
SDL: Fix FPS counter disappearing behind menu
2019-09-26 23:31:44 +10:00
Connor McLaughlin
e9bb3d79b8
SDL: Add a shoddy FPS counter
2019-09-26 21:44:02 +10:00
Connor McLaughlin
2a63dbce64
GPU: Add stats interface
2019-09-26 14:03:32 +10:00
Connor McLaughlin
27cf3c99ac
GTE: Fix incorrect source in MVMVA
2019-09-26 13:43:41 +10:00
Connor McLaughlin
4d1837acb1
GTE: Special case for RTPS
2019-09-26 02:43:28 +10:00
Connor McLaughlin
d885abc528
GTE: More cleanups
2019-09-26 01:40:55 +10:00
Connor McLaughlin
f704d8fc63
GTE: Cleanup
2019-09-26 01:39:35 +10:00
Connor McLaughlin
ea3ba8b342
GPU: Various fixes (textures, blending)
2019-09-26 00:15:21 +10:00
Connor McLaughlin
767e8f08e0
CDROM: Move pregap handling to image class
2019-09-26 00:15:06 +10:00
Connor McLaughlin
ba67f69c2a
GTE: Implement NCCS/NCCT/NCDT/DPCS
2019-09-25 20:24:50 +10:00
Connor McLaughlin
b9b286e93d
GPU: Fix shader compile error on Intel
2019-09-25 20:24:19 +10:00
Connor McLaughlin
c18597c3bf
GTE: Implement unverified MVMVA
2019-09-25 15:58:33 +10:00
Connor McLaughlin
3df7b22c37
GTE: Fix NCDS
2019-09-25 15:40:08 +10:00
Connor McLaughlin
607cd4d3e4
CDROM: Stub out Setfilter
2019-09-25 00:44:41 +10:00
Connor McLaughlin
9359d0778e
Clean up memory access handlers, reduce template specializations
2019-09-25 00:36:24 +10:00
Connor McLaughlin
4aca52cdf4
CPU: Silence some debug spam
2019-09-24 23:56:30 +10:00
Connor McLaughlin
6aa36c2ead
SPU: Hook up DMA reads/writes to RAM
2019-09-24 23:55:57 +10:00
Connor McLaughlin
575a3b36f5
CDROM: Store the image path/current lba as part of the save state
2019-09-24 23:55:34 +10:00
Connor McLaughlin
1276241622
SPU: Create stub needed for DMA to work
2019-09-24 23:44:38 +10:00
Connor McLaughlin
7a413b4031
CDROM: Proper handling of request register
2019-09-24 21:39:38 +10:00
Connor McLaughlin
4bb8fb211d
DMA: Delay transfer/interrupt
2019-09-24 21:39:13 +10:00
Connor McLaughlin
4cc83e2228
DMA: Implement interrupts
2019-09-24 19:43:10 +10:00
Connor McLaughlin
db777fdabb
CDROM: Various fixes
2019-09-24 01:33:18 +10:00
Connor McLaughlin
1f13c4ad2c
Pad: Fix long transmit delay breaking other things
2019-09-24 01:31:17 +10:00
Connor McLaughlin
d65c9b3592
CDROM: Read timing and demute command, seek on ReadN
2019-09-23 23:31:51 +10:00
Connor McLaughlin
20f14688ca
System: Support loading expansion ROMs
2019-09-23 01:38:21 +10:00
Connor McLaughlin
5d1c12c9ad
Pad: Fix timing issues w/ BIOS
2019-09-23 01:25:58 +10:00
Connor McLaughlin
734d1a7ee1
InterruptController: Masked interrupts are still set in the status register
2019-09-23 01:24:36 +10:00
Connor McLaughlin
fbd7fcec48
GTE: Implement NCDS (but incorrectly)
2019-09-22 21:41:11 +10:00
Connor McLaughlin
f2d62fcce0
CDROM: Hack timings to get further with booting
2019-09-22 21:40:44 +10:00
Connor McLaughlin
c772047715
GTE: Add AVSZ3/AVSZ4
2019-09-22 20:38:11 +10:00
Connor McLaughlin
005b06ae0c
GTE: More implementation work, Reg+NCLIP+STR tests passing
2019-09-22 17:33:11 +10:00
Connor McLaughlin
3fb08a72a4
CDROM: Hack around missing pregap in images
2019-09-22 02:32:45 +10:00
Connor McLaughlin
948ac50020
CPU: Refactoring, implement LWC/SWC
2019-09-22 02:06:47 +10:00
Connor McLaughlin
2875a22987
CDROM: Reads appear to be functioning
2019-09-22 01:12:16 +10:00
Connor McLaughlin
c988af453c
Refactor timing to allow sync/updates in the middle of a slice
2019-09-21 01:24:33 +10:00
Connor McLaughlin
ad316162f3
Basic timer implementation
2019-09-20 23:40:19 +10:00
Connor McLaughlin
ad652c47ed
Basic CD image loading
2019-09-20 20:14:00 +10:00
Connor McLaughlin
53e755aa68
Pad: Save state support
2019-09-20 19:21:45 +10:00
Connor McLaughlin
8cd75a4937
PAD: Basic support for digital controllers
2019-09-20 16:47:41 +10:00
Connor McLaughlin
d84bffead1
GPU: Implement transparency mode
2019-09-19 00:55:06 +10:00
Connor McLaughlin
23ef1cafbd
GPU: Force 16-bit precision when filling VRAM, clear mask bit
2019-09-18 15:54:57 +10:00
Connor McLaughlin
d8150c996b
GPU: Support dumping copies out to file
2019-09-18 15:43:25 +10:00
Connor McLaughlin
4d624946d6
GPU: Texpage attribute can change texture mode too
2019-09-18 15:24:29 +10:00
Connor McLaughlin
4d4ab898c0
GPU: Flush rendering before VRAM->VRAM copies
2019-09-18 15:15:03 +10:00
Connor McLaughlin
2c07db6dd5
GPU: Flush rendering before VRAM reads
2019-09-18 15:14:31 +10:00
Connor McLaughlin
4d38213f23
GPU: Implement VRAM-to-VRAM copies
2019-09-18 00:58:30 +10:00
Connor McLaughlin
0a8bce8936
GPU: Hook up vblank interrupt
2019-09-18 00:22:41 +10:00
Connor McLaughlin
a84b3d7a2b
CPU: Fix interrupts in branch delay slots messing up PC
2019-09-18 00:22:17 +10:00
Connor McLaughlin
4025d6e4a6
GTE: Stub and register read/write function
2019-09-17 23:38:04 +10:00
Connor McLaughlin
6df8d42480
CDROM: Add missing fields to save state
2019-09-17 23:04:00 +10:00
Connor McLaughlin
e3c6035152
CDROM: Implement get version and getstat commands
2019-09-17 22:18:58 +10:00
Connor McLaughlin
b951f27381
CDROM: Stub implementation
2019-09-17 21:07:56 +10:00
Connor McLaughlin
a0e7dff37c
common: Add a FIFOQueue helper class
2019-09-17 19:22:23 +10:00
Connor McLaughlin
2128a2984b
Add interrupt controller emulation
2019-09-17 16:26:00 +10:00
Connor McLaughlin
c615e007c0
GPU: Serialization for CRTC state
2019-09-17 14:40:23 +10:00
Connor McLaughlin
f47688b61f
System: Basic timings for GPU scanout
2019-09-17 14:25:25 +10:00
Connor McLaughlin
9475c281bd
Build: Set /MP on projects which are missing it
2019-09-17 14:25:17 +10:00
Connor McLaughlin
540f282213
CPU: Fix incorrect exception vector for break
2019-09-15 12:43:54 +10:00
Connor McLaughlin
5babc076f5
Bitfield: Fix incorrect shift in operator<<=
2019-09-15 12:42:43 +10:00
Connor McLaughlin
d58dbe04c0
CPU: Fix load delay register reads for same register in delay slot
2019-09-15 12:16:51 +10:00
Connor McLaughlin
1bb794dd39
GPU: Use max vertex count based on buffer size
2019-09-15 01:18:58 +10:00
Connor McLaughlin
a58b687352
GPU: Cap batch sizes at 1024 vertices, flush if exceeded
2019-09-15 01:13:23 +10:00
Connor McLaughlin
4ca3b4b570
CPU: Fix alignment exception on register indirect branch
2019-09-15 01:13:11 +10:00
Connor McLaughlin
bea727bbe4
CPU: Fix BGEZAL with rs == ra
2019-09-15 01:02:35 +10:00
Connor McLaughlin
273f010d17
GPU: Use degenerate triangles to split strips and batch them
2019-09-15 00:17:43 +10:00
Connor McLaughlin
1c8e326624
GPU: Fix off-by-one in rectangle rendering
2019-09-14 23:50:34 +10:00
Connor McLaughlin
77b15d156d
System: Periodically flush GPU
...
Needs real timings...
2019-09-14 23:50:24 +10:00
Connor McLaughlin
03bd135060
SDL: Make GL debug output less noisy in Release
2019-09-14 23:49:21 +10:00
Connor McLaughlin
b5d51f47cd
GPU: Use texel fetch for creating page textures
2019-09-14 23:48:32 +10:00
Connor McLaughlin
19d9322e67
GPU: Fix texture coordinates when rendering paletted textures
2019-09-14 23:05:10 +10:00
Connor McLaughlin
e40393fec4
GPU: Use scissor test for drawing area
2019-09-14 21:54:58 +10:00
Connor McLaughlin
3d6b8e485e
Interface: Support loading filenames on command line
2019-09-14 21:54:46 +10:00
Connor McLaughlin
363d62e5c1
GPU: Various HW renderer fixes
2019-09-14 21:34:55 +10:00
Connor McLaughlin
d94d608ad7
GPU: Implment actual data copy of VRAM->CPU readbacks
2019-09-14 20:48:15 +10:00
Connor McLaughlin
f6ef3f7ba6
GPU: Saving/loading of VRAM
2019-09-14 20:45:26 +10:00
Connor McLaughlin
2560efbebd
Save state support
2019-09-14 20:28:47 +10:00
Connor McLaughlin
851ef67814
GPU: Implement fill VRAM command
2019-09-14 16:43:53 +10:00
Connor McLaughlin
46870c6a7a
GPU: Implement basic rectangle rendering
2019-09-14 16:27:24 +10:00
Connor McLaughlin
f47d44c151
CPU: Implement break instruction
2019-09-14 14:41:41 +10:00
Connor McLaughlin
32a36ef1bc
CPU: Implement alignment (memory) exception
2019-09-14 14:29:23 +10:00
Connor McLaughlin
0726095f00
CPU: Implement fixed dcache/scratchpad
2019-09-14 14:18:42 +10:00
Connor McLaughlin
ced3038e73
CPU: Implement sub instruction
2019-09-14 13:39:36 +10:00
Connor McLaughlin
1afa02d475
CPU: Fix overflowed register written back in add instruction
2019-09-14 13:33:29 +10:00
Connor McLaughlin
459db392e7
CPU: Add missing cop0 register reads
2019-09-14 13:31:44 +10:00