Connor McLaughlin
|
e01cf0dccb
|
Frontends: Implement auto save on exit/resume
|
2020-02-16 00:14:49 +09:00 |
|
Connor McLaughlin
|
e738b87a25
|
HostInterface: Add helpers for resume save state
|
2020-02-16 00:14:47 +09:00 |
|
Connor McLaughlin
|
5f3be68028
|
HostInterface: Notify host when controller types change
|
2020-02-16 00:14:44 +09:00 |
|
Connor McLaughlin
|
37d765e8d7
|
HostInterface: Support switching audio backends
|
2020-02-16 00:14:40 +09:00 |
|
Connor McLaughlin
|
6a0c15b649
|
HostInterface: Move timer resolution increase to base class
|
2020-02-16 00:14:37 +09:00 |
|
Connor McLaughlin
|
1e009133ae
|
Rename 'Default' audio backend to 'SDL'
|
2020-02-16 00:14:35 +09:00 |
|
Connor McLaughlin
|
fd8ed08307
|
Move more logic from frontend to base HostInterface
|
2020-02-16 00:14:28 +09:00 |
|
Connor McLaughlin
|
f0578bb932
|
HostInterface: Make helper methods const
|
2020-02-16 00:14:25 +09:00 |
|
Connor McLaughlin
|
7290e5cad0
|
HostInterface: Add per-slot save state helper functions
|
2020-02-16 00:14:00 +09:00 |
|
Connor McLaughlin
|
9148581213
|
GPU: Narrowing warning fix
|
2020-02-16 00:13:57 +09:00 |
|
Connor McLaughlin
|
befa2a27d8
|
HostInterface: Fix crash in SetUserDirectory
|
2020-02-15 23:12:15 +09:00 |
|
Connor McLaughlin
|
b605a84f7d
|
HostInterface: Set user directory for Linux/macOS, portable.txt support
|
2020-02-15 22:36:16 +09:00 |
|
Connor McLaughlin
|
f5482cb3b6
|
Don't require OpenGL compatibility profile
|
2020-02-15 21:11:51 +09:00 |
|
Connor McLaughlin
|
15e49b9f61
|
Core/TimingEvent: Add missing <string> include
|
2020-02-15 11:34:57 +09:00 |
|
Connor McLaughlin
|
8eba4b379c
|
Settings: Default to D3D11 renderer on Windows
This point it's less buggy and slightly more performant.
|
2020-02-15 10:21:59 +09:00 |
|
Connor McLaughlin
|
23c8a5588d
|
Add macOS to some Linux/Android-only-isms
|
2020-02-14 22:58:18 +09:00 |
|
Connor McLaughlin
|
5aba89091e
|
HostInterface: Fix possible crash in BIOS loading
|
2020-02-14 22:45:54 +09:00 |
|
Connor McLaughlin
|
d7f8884291
|
Qt: Fix compilation under clang-9
Fixes #23.
|
2020-02-13 16:54:09 +09:00 |
|
Connor McLaughlin
|
5c7ef65a34
|
HostInterface: Non-standard speeds are <100% too
|
2020-02-12 21:27:43 +09:00 |
|
Connor McLaughlin
|
b8210ecbe3
|
GPU: Use correct texture page size in overlap tracking
|
2020-02-12 20:58:34 +09:00 |
|
Connor McLaughlin
|
278aa86d14
|
SPU: Refactor ADSR/implement exponential mode
|
2020-02-11 23:10:00 +09:00 |
|
Connor McLaughlin
|
e098c83342
|
HostInterface: Disable vsync/audio sync when running at not-100% speed
|
2020-02-11 12:03:25 +09:00 |
|
Connor McLaughlin
|
70fe43a3ec
|
System: Implement variable emulation speed
|
2020-02-11 12:02:42 +09:00 |
|
Connor McLaughlin
|
9ac7b002e2
|
GPU/HW: Improve dirty rectangle tracking
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
|
2020-02-09 22:49:53 +09:00 |
|
Connor McLaughlin
|
c820ddba79
|
HostInterface: Move throttle and perf stats to System class
|
2020-02-09 22:16:25 +09:00 |
|
Connor McLaughlin
|
1e45c9c4e1
|
GPU: Fix incorrect overwrite of set mask bit from draw mode
Fixes motion blur in Vagrant Story.
|
2020-02-08 00:01:37 +09:00 |
|
Connor McLaughlin
|
287ab93cdc
|
GPU: Fix texture bit15 not propogating when blending enabled
|
2020-02-08 00:01:12 +09:00 |
|
Connor McLaughlin
|
ac5af4658d
|
GPU: Mask bit check should use existing colour not new colour
|
2020-02-07 00:11:12 +09:00 |
|
Connor McLaughlin
|
a36fe8bfe6
|
GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
Partially fixes the motion blur in Vagrant Story.
|
2020-02-07 00:10:58 +09:00 |
|
Connor McLaughlin
|
7e862cd63e
|
GPU: Texture bit should be ignored when drawing lines
Fixes line flickering in Vagrant Story.
|
2020-02-07 00:10:36 +09:00 |
|
Stenzek
|
057263bda3
|
HostInterface: Track changes to CPU mode in ApplySettings()
|
2020-02-05 17:43:15 +09:00 |
|
Stenzek
|
c26b9bc54c
|
System: UpdateCPUExecutionMode -> SetCPUExecutionMode
|
2020-02-05 17:43:00 +09:00 |
|
Stenzek
|
733ab1bca0
|
Settings: Store debug settings to ini
|
2020-02-04 15:22:48 +09:00 |
|
Connor McLaughlin
|
52fd070d3b
|
Build: Compile tinyxml2 as static library instead of dll
|
2020-02-03 14:22:17 +10:00 |
|
Connor McLaughlin
|
0b7abf244e
|
Timers: Fix sync mode 3 inverted condition
|
2020-01-30 16:22:05 +10:00 |
|
Connor McLaughlin
|
88936463d7
|
GPU: Toggle vblank timer gate for full frame
Regression from event system. Fixes Ridge Racer.
|
2020-01-30 16:22:05 +10:00 |
|
Connor McLaughlin
|
4c59d8a9ea
|
Linux build fix
|
2020-01-24 16:44:13 +10:00 |
|
Connor McLaughlin
|
1b9609ef61
|
Implement event-based scheduler instead of lock-step components
|
2020-01-24 16:23:39 +10:00 |
|
Connor McLaughlin
|
624888e131
|
HostInterface: Default BIOS path to bios subdirectory
|
2020-01-24 14:52:12 +10:00 |
|
Connor McLaughlin
|
faf2308695
|
Settings: Move set defaults to HostInterface so it can use user paths
|
2020-01-24 14:52:04 +10:00 |
|
Connor McLaughlin
|
b5e73a0be4
|
HostInterface: Add helper methods for getting paths to save states/memcards
|
2020-01-24 14:52:03 +10:00 |
|
Connor McLaughlin
|
a83cad5872
|
GPU/D3D11: Use shader bytecode cache
|
2020-01-24 14:52:01 +10:00 |
|
Connor McLaughlin
|
40799d0f77
|
HostInterface: Move ModifyResolutionScale() to base class
|
2020-01-24 14:51:56 +10:00 |
|
Connor McLaughlin
|
4a3478b360
|
HostInterface: Add function to switch between sw/hw rendering
|
2020-01-24 14:51:53 +10:00 |
|
Connor McLaughlin
|
f2231d6669
|
HostInterface: Move setting update logic to base class
|
2020-01-24 14:51:52 +10:00 |
|
Connor McLaughlin
|
82563d94f4
|
HostInterface: Fix offset OSD messages in Qt frontend
|
2020-01-24 14:51:38 +10:00 |
|
Connor McLaughlin
|
687772c4da
|
HostDisplay: Move some derived class fields to base class
|
2020-01-24 14:51:36 +10:00 |
|
Connor McLaughlin
|
abf48b6cc2
|
Qt: Update GPU settings when enhancements are changed
|
2020-01-24 14:51:33 +10:00 |
|
Connor McLaughlin
|
78f984c412
|
Qt: Add automatic download of redump disc database for game list
|
2020-01-24 14:51:25 +10:00 |
|
Connor McLaughlin
|
c5faa36f43
|
GameList: Add function to query whether database exists
|
2020-01-24 14:51:12 +10:00 |
|
Connor McLaughlin
|
f6fee86f1c
|
HostInterface: Create user directories on startup
|
2020-01-24 14:51:10 +10:00 |
|
Connor McLaughlin
|
b4c06fdcc6
|
GameList: Auto set cache/database path from user directory
|
2020-01-24 14:51:09 +10:00 |
|
Connor McLaughlin
|
77b282862f
|
HostInterface: Move running title info to System
|
2020-01-24 14:51:05 +10:00 |
|
Connor McLaughlin
|
b3db3a1cc0
|
HostInterface: Share settings between SDL and Qt frontends
|
2020-01-24 14:51:03 +10:00 |
|
Connor McLaughlin
|
2c3a0a6af9
|
HostInterface: Change working directory to user directory at startup
|
2020-01-24 14:51:02 +10:00 |
|
Connor McLaughlin
|
53428cb55b
|
HostInterface: Add user directory helpers
|
2020-01-24 14:51:00 +10:00 |
|
Connor McLaughlin
|
8d4d8e44e4
|
HostInterface: Saving state message should be OSD not error
|
2020-01-24 14:50:50 +10:00 |
|
Connor McLaughlin
|
0a5f7fcd75
|
System: Update running game when media changes from save state
|
2020-01-24 14:50:48 +10:00 |
|
Connor McLaughlin
|
20b60e0f01
|
Qt: Update window title/save states from running title
|
2020-01-24 14:50:46 +10:00 |
|
Connor McLaughlin
|
82b4229f1b
|
GameList: Move entry to global scope so it can be forward declared
|
2020-01-24 14:50:44 +10:00 |
|
Connor McLaughlin
|
9562cbea56
|
Frontends: Add frame time performance counters
|
2020-01-24 14:49:47 +10:00 |
|
Connor McLaughlin
|
bfef42f4cb
|
GPU: Fix possible driver crash on oversized update/fill
|
2020-01-23 00:01:05 +10:00 |
|
Connor McLaughlin
|
a5135ceeb0
|
GameList: Fix incorrect loading of cache
|
2020-01-22 17:56:58 +10:00 |
|
Connor McLaughlin
|
a832138191
|
Settings: Add missing Cubeb entry to audio backend names
|
2020-01-21 21:27:29 +10:00 |
|
Connor McLaughlin
|
8096dc510d
|
Settings: Add missing load/store of GPU/ForceProgressiveScan
|
2020-01-21 21:27:21 +10:00 |
|
Connor McLaughlin
|
b9538a55f5
|
Settings: Add option for creating a debug GPU device
|
2020-01-19 14:54:19 +10:00 |
|
Connor McLaughlin
|
504510c242
|
GPU: Fix reading of write-combined GPU buffers
+100fps in recompiler modes
|
2020-01-16 14:36:10 +10:00 |
|
Connor McLaughlin
|
835bbfaea5
|
Merge branch 'cubeb'
|
2020-01-11 13:52:02 +10:00 |
|
Connor McLaughlin
|
8f6ac437ab
|
Frontends: Add cubeb as audio backend option
|
2020-01-11 13:51:44 +10:00 |
|
Connor McLaughlin
|
c6119c210a
|
Revert "DMA: Delay GPU transfers by block count"
This reverts commit 0639f4264f .
Breaks FF7's FMVs in the top row. Needs GPU timings.
|
2020-01-11 13:40:04 +10:00 |
|
Connor McLaughlin
|
3e90d79df7
|
Pad: Fix log spam
|
2020-01-11 13:29:30 +10:00 |
|
Connor McLaughlin
|
71c1e243fe
|
Remove YBaseLib dependency
|
2020-01-10 13:40:53 +10:00 |
|
Connor McLaughlin
|
c52040434a
|
Core: Linux warning fixes
|
2020-01-09 08:46:52 +10:00 |
|
Connor McLaughlin
|
c03c1451fe
|
GameList: Support caching entries
|
2020-01-08 13:37:43 +10:00 |
|
Connor McLaughlin
|
e0086156ca
|
System: Compile fix for Linux
|
2020-01-08 13:34:21 +10:00 |
|
Connor McLaughlin
|
d32383bd95
|
Settings: Don't include D3D11 renderer on non-WIN32 platforms
|
2020-01-07 18:54:39 +10:00 |
|
Connor McLaughlin
|
686df4a203
|
Qt: Improve imgui hidpi scaling
|
2020-01-07 18:52:33 +10:00 |
|
Connor McLaughlin
|
1b7be01507
|
Qt: Implement audio output
|
2020-01-07 14:18:51 +10:00 |
|
Connor McLaughlin
|
0590f0935c
|
HostInterface: Fix compile error on Linux
|
2020-01-04 15:25:15 +10:00 |
|
Connor McLaughlin
|
9de0bf0aaf
|
HostInterface: Most some imgui logic from SDL to core
|
2020-01-02 19:14:06 +10:00 |
|
Connor McLaughlin
|
4b1541087a
|
Controller: Add methods to query buttons/axises for a controller type
|
2020-01-02 16:10:42 +10:00 |
|
Connor McLaughlin
|
0528a2a1f9
|
Settings: Put each controller in its own config section
|
2020-01-02 16:10:30 +10:00 |
|
Connor McLaughlin
|
f3e9c3ec8c
|
Add initial work on Qt frontend
|
2019-12-31 16:18:30 +10:00 |
|
Connor McLaughlin
|
98214a9327
|
SettingsInterface: Add support for string list settings
|
2019-12-31 16:16:47 +10:00 |
|
Connor McLaughlin
|
dbf651e493
|
CPU/Interpreter: Remove redundant comparison in divu instruction
|
2019-12-31 11:41:52 +10:00 |
|
Connor McLaughlin
|
0f1f5a4f49
|
Settings: Define an abstract settings retrieval interface
Can be used by both Android and Qt to access their platform-dependent
formats.
|
2019-12-30 21:22:49 +10:00 |
|
Connor McLaughlin
|
e66214d93e
|
GameList: Fix non-recursive scanning
|
2019-12-30 00:45:37 +10:00 |
|
Connor McLaughlin
|
0639f4264f
|
DMA: Delay GPU transfers by block count
Needs real GPU timings, but fixes NFS5 in the meantime.
|
2019-12-29 15:34:07 +10:00 |
|
Connor McLaughlin
|
41cf894488
|
GPU/HW: Fix readback of odd transfer widths
Fixes character model flailing and crash in FF9.
|
2019-12-28 15:50:37 +10:00 |
|
Connor McLaughlin
|
d118377c9e
|
CPU/Recompiler: Reduced forced PC flushes
|
2019-12-28 14:04:15 +10:00 |
|
Connor McLaughlin
|
620284f7d1
|
CPU/Recompiler/AArch64: Use PC-relative branches to far code
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
29355bc44d
|
CPU/Recompiler: Move branch codegen to base class
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
aabe5b9287
|
CPU/Recompiler: Add GetCurrentCodePointer()
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
390b6da0b8
|
CPU/Recompiler: Add unconditional EmitBranch
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
4f2c1e1a6b
|
CPU/Recompiler: Add EmitBindLabel and EmitBranchIfBitClear
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
03a36645a2
|
Settings: Save fullscreen setting to ini
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
5bb2b3ec63
|
Frontend: Add audio backend to settings (switch-while-running)
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
16317d077e
|
Settings: Add audio backend, move sync settings to Display/Audio
|
2019-12-27 20:38:07 +10:00 |
|
Connor McLaughlin
|
c8d3b2c546
|
GPU/Software: Use templates for render functions
|
2019-12-22 19:34:24 +10:00 |
|
Connor McLaughlin
|
a1b52980e2
|
GPU: Implement line renderering in software renderer
|
2019-12-22 18:53:20 +10:00 |
|
Connor McLaughlin
|
ad21f48a67
|
Fix Android build after controller changes
|
2019-12-16 16:46:43 +10:00 |
|
Connor McLaughlin
|
52c82b6aa3
|
Pad: Change controller types when loading states if needed
|
2019-12-16 00:05:48 +10:00 |
|
Connor McLaughlin
|
cbcb9b02b0
|
AnalogController: Rumble support
|
2019-12-15 23:22:53 +10:00 |
|
Connor McLaughlin
|
1d2bd11b02
|
Frontend: Add controller settings
|
2019-12-15 22:24:27 +10:00 |
|
Connor McLaughlin
|
a347b3606e
|
Implement support for analog controllers
|
2019-12-15 21:58:27 +10:00 |
|
Connor McLaughlin
|
6e18e56089
|
Controller: Support general axis input events
|
2019-12-15 00:32:55 +10:00 |
|
Connor McLaughlin
|
32d8b4dc84
|
Frontend: Dynamic button mapping based on controller type
|
2019-12-15 00:17:43 +10:00 |
|
Connor McLaughlin
|
c65279f944
|
System: Create controllers dynamically based on config
|
2019-12-14 23:29:26 +10:00 |
|
Connor McLaughlin
|
ea0845d5ad
|
Move controller creation to System class, switch shared_ptr to unique_ptr
|
2019-12-14 23:20:24 +10:00 |
|
Connor McLaughlin
|
5fd421860a
|
GameList: Support detecting region from system area of CDROM
More accurate than basing it off the code, and better support for
homebrew discs.
|
2019-12-13 16:51:40 +10:00 |
|
Connor McLaughlin
|
f77721b84d
|
CPU/Recompiler: Fix "jalr t0, t0" and like instructions (mainly AArch64)
|
2019-12-13 14:36:41 +10:00 |
|
Connor McLaughlin
|
5e5b1b64db
|
CPU/Recompiler: Incorporate latest work into AArch64 backend
|
2019-12-13 01:25:05 +10:00 |
|
Connor McLaughlin
|
44c76f3bf3
|
CPU/Recompiler: Support three-operand basic operations
e.g. add r1, r2, r3. This eliminates the extra move on ARM.
|
2019-12-13 00:51:41 +10:00 |
|
Connor McLaughlin
|
41298a74e1
|
CPU/Recompiler: Fetch instruction before dispatching interrupts
Fixes polygon glitches in Crash.
|
2019-12-12 23:55:42 +10:00 |
|
Connor McLaughlin
|
aa52dbfeb8
|
CPU/Recompiler: Use register cache for managing pc
Reduces the number of loadstores after each instruction.
|
2019-12-12 23:55:23 +10:00 |
|
Connor McLaughlin
|
002d1cd4fd
|
CPU/CoreCache: Use virtual (unmasked) address as PC
|
2019-12-12 20:23:53 +10:00 |
|
Connor McLaughlin
|
a267451614
|
CPU/Recompiler: Remove unused code
|
2019-12-12 20:17:52 +10:00 |
|
Connor McLaughlin
|
20c7aaf74b
|
CPU/Recompiler: Support pushing/popping the register cache state
|
2019-12-12 20:15:54 +10:00 |
|
Connor McLaughlin
|
1905d22a9a
|
CPU/Recompiler/AArch64: Fix potential stack corruption in function calls
|
2019-12-12 02:38:03 +10:00 |
|
Connor McLaughlin
|
18066239b7
|
CPU/Recompiler: Fix bad codegen on slti where rd==rs
|
2019-12-12 00:00:48 +10:00 |
|
Connor McLaughlin
|
aafac96f34
|
CPU/Recompiler: Linux/Android compile fix
|
2019-12-11 22:54:22 +10:00 |
|
Connor McLaughlin
|
37933e9678
|
CPU/Recompiler: Read GTE registers directly from struct
|
2019-12-11 22:33:54 +10:00 |
|
Connor McLaughlin
|
b0eb8074f5
|
CPU/Recompiler: Implement lwc2/swc2
|
2019-12-11 22:04:11 +10:00 |
|
Connor McLaughlin
|
a5afb250ea
|
CPU/Recompiler: Don't require fallback for GTE instructions
|
2019-12-11 21:54:08 +10:00 |
|
Connor McLaughlin
|
a6dab97928
|
CPU: Simplify GTE register addressing
|
2019-12-11 21:44:26 +10:00 |
|
Connor McLaughlin
|
4e7d420a06
|
CPU/Recompiler: Implement mfc0/mtc0/rfe
|
2019-12-11 20:50:55 +10:00 |
|
Connor McLaughlin
|
f5d65448d6
|
GPU: Improve structure alignment
|
2019-12-11 20:28:14 +10:00 |
|
Connor McLaughlin
|
8f624afb59
|
GPU: Fix handling of GP1(09h)
|
2019-12-11 16:47:49 +10:00 |
|
Connor McLaughlin
|
ffe90083d3
|
GPU: Refactor draw mode setting
|
2019-12-11 16:35:14 +10:00 |
|
Connor McLaughlin
|
cda2394287
|
System: Fix loading of EXEs with sp=0 (leave unchanged)
|
2019-12-11 16:34:56 +10:00 |
|
Connor McLaughlin
|
6f78fea159
|
GL: Improve error handling with texture creation
|
2019-12-11 00:02:12 +10:00 |
|
Connor McLaughlin
|
05e6d4c401
|
GPU/OpenGL: Clean up VAOs at shutdown time
These were leaking before.
|
2019-12-10 23:37:01 +10:00 |
|
Connor McLaughlin
|
152b56c8cc
|
GPU: Fix mask bit setting on non-textured polygons
Fixes garbled colours in FMVs in some games.
|
2019-12-10 23:27:41 +10:00 |
|
Connor McLaughlin
|
0d293c4be4
|
Settings: Disable fast boot and TTY output by default
The latter can cause crashes in some games.
|
2019-12-10 23:06:45 +10:00 |
|
Connor McLaughlin
|
56b87f33c0
|
Controller: Linux build fix
|
2019-12-10 23:05:19 +10:00 |
|
Connor McLaughlin
|
df6e079920
|
GPU: Add a Force Progressive Scan option (disable interlacing)
|
2019-12-10 22:52:46 +10:00 |
|
Connor McLaughlin
|
fb0aad0917
|
System: Include SIO in save state
|
2019-12-10 00:28:58 +10:00 |
|
Connor McLaughlin
|
89e9373037
|
Controller: Add a set-button interface in base class
|
2019-12-09 01:06:58 +10:00 |
|
Connor McLaughlin
|
da14b10e72
|
Split MemoryCard and PadDevice (now Controller)
|
2019-12-09 00:52:00 +10:00 |
|
Connor McLaughlin
|
c1710482df
|
Pad: Add button name -> code lookup functions
|
2019-12-09 00:46:04 +10:00 |
|
Connor McLaughlin
|
8930383c96
|
GPU: Use start address in computation of drawing_even_line
|
2019-12-08 00:40:52 +10:00 |
|
Connor McLaughlin
|
42ee55ae17
|
CDROM: Seek to start of first track on stop
Fixes WipEout crashing after track selection.
|
2019-12-07 21:09:30 +10:00 |
|
Connor McLaughlin
|
315f2b701a
|
Stub out SIO controller
Fixes WipEout booting.
|
2019-12-07 21:09:04 +10:00 |
|
Connor McLaughlin
|
67c67bbb66
|
GPU: Add basic texture filtering support
Still has issues around the edges of text.
|
2019-12-07 17:03:56 +10:00 |
|
Connor McLaughlin
|
c284d3835f
|
GPU: Add a simplified OpenGL ES renderer
Seems this is the only way to get semi-decent performance out of Mali
drivers :/
|
2019-12-07 01:37:37 +10:00 |
|
Connor McLaughlin
|
8d7b93766d
|
MemoryCard: Fix incorrect checksum after formatting
Fixes memory cards not working in the BIOS.
|
2019-12-07 00:03:05 +10:00 |
|
Connor McLaughlin
|
54277dc24f
|
Pad: Update status after ACK
|
2019-12-07 00:02:47 +10:00 |
|
Connor McLaughlin
|
36fbc4523d
|
CDROM: Skip reading sectors which have an invalid SubQ checksum
i.e. libcrypt support
|
2019-12-06 21:15:04 +10:00 |
|
Connor McLaughlin
|
bc44d4b1b0
|
CDImage: Support SBI replacement subchannel Q for cue/bin images
|
2019-12-06 21:14:58 +10:00 |
|
Connor McLaughlin
|
53621bd3eb
|
CDROM: Fix clipping when combined left/volume volume > 0x80
|
2019-12-06 00:33:46 +10:00 |
|