Connor McLaughlin
a1edddc59d
CDROM: Revamp/improve preload image procedure
3 years ago
Connor McLaughlin
b42b5501f6
UI: Massive revamp, new features and improvements
3 years ago
Connor McLaughlin
b7fbde31a7
Move utility classes from common to own static lib
3 years ago
Connor McLaughlin
fd76f437b3
Core: Purge WITH_IMGUI define
4 years ago
Connor McLaughlin
ec31690587
CDROM: Fix incorrect delay on setmode while shell opening
4 years ago
Connor McLaughlin
25f69e7f8c
CDROM: Special case immediate GetlocP after play/read before int
...
Fixes CDDA in Mad Panic Coaster.
4 years ago
Connor McLaughlin
a44e9d16fb
CDROM: Fix second response event getting lost on state load
4 years ago
Connor McLaughlin
18241978ea
CDROM: Cancel command second response when queuing new command
...
Fixes Wipeout corrupting parts of the TOC.
4 years ago
Connor McLaughlin
c962e9899d
CDROM: Reject invalid Setloc commands
...
Fixes delays in Simple 1500 Series Vol. 31 - The Sound Novel.
4 years ago
Connor McLaughlin
a32ef4a963
CDROMAsyncReader: Support reading ahead more sectors
4 years ago
Connor McLaughlin
37e50c62f0
CDROM: Fix intermediate seek->read status transition
4 years ago
Connor McLaughlin
5488bf7128
CDROM: Ignore speed change for non-cued Play
4 years ago
Connor McLaughlin
bc34a75e03
CDROM: Add missing include for <cmath>
4 years ago
Connor McLaughlin
67344070ea
CDROM: Improve simulation of seek timing
4 years ago
Connor McLaughlin
2c19c7ce57
CDROM: Cancel speed changes if they're not complete
4 years ago
Connor McLaughlin
b1776dea61
CDROM: Simulate position holding for GetlocL too
4 years ago
Connor McLaughlin
2548f75267
CDROM: Differentiate between logical and physical hold
4 years ago
Connor McLaughlin
16c02c8559
CDROM: Don't apply speed change delay when already changing
4 years ago
Connor McLaughlin
f4da56efea
CDROM: Simulate the time it takes to change speeds
4 years ago
Connor McLaughlin
38288e6b36
CDROM: Factor in implicit seeks when calculating time
4 years ago
Connor McLaughlin
f2bfbabdcb
CDROM: Don't reset full state on Reset command
4 years ago
Connor McLaughlin
aa675163e2
CDROM: Fix second response event not being cleaned up
4 years ago
Connor McLaughlin
74013a0853
CDROM: Use physical position for seek time calculations
4 years ago
Connor McLaughlin
36bfc461f9
CDROM: Refactor start/stop/second response
4 years ago
Connor McLaughlin
9d36ce757d
CDROM: Simulate motor spin-up time
...
Fixes disc changing in Tales of Destiny II.
4 years ago
Connor McLaughlin
95247b0b5e
CDROM: Don't set motor on before calc read/play time
4 years ago
Connor McLaughlin
3cb01bf23d
CDImage: Fix compilation on Linux
5 years ago
Connor McLaughlin
56c08254c9
CDImage: Fix incorrect index returned for track-relative 00:02:00
...
Fixes some voice lines being very briefly cut off in Tomb Raider.
5 years ago
Connor McLaughlin
98e4c181ca
CDROM: Add seek speedup enhancement
5 years ago
Connor McLaughlin
0a50ca3f18
CDROM: Improve CDDA report logging
5 years ago
Connor McLaughlin
e64f8cc2c5
CDROM: Jump to seek target on pause while seeking
...
Fixes music in No Fear Downhill Mountain Biking, but needs more hardware
tests to confirm the behavior here.
5 years ago
Connor McLaughlin
5af6424324
CDROM: More conservative handling of INT1-while-pending-INT3 case
5 years ago
Connor McLaughlin
62360d088a
CDROM: Send IRQ1 for triple buffered sectors
...
Fixes hangs in loading in Eliminator and Colony Wars - Vengeance.
5 years ago
Connor McLaughlin
8df0496dc1
CDROM: Store last subq even when auto-pausing
...
Fixes track looping in Fighting Force PAL.
5 years ago
Connor McLaughlin
6a0bd7ee64
CDROM: Clear setloc pending on redundant read
...
Fixes palette corruption in Joshikousei no Houkago... Pukunpa.
5 years ago
Connor McLaughlin
2ac6f60bbb
Rename cpu_detect.h to platform.h and add OS
5 years ago
Connor McLaughlin
85c5b99b7a
CDROM: GetID should return error when no disc
5 years ago
Connor McLaughlin
50d712c3fe
CDImage: Support sub-images, use subimages for m3u
5 years ago
Connor McLaughlin
25d4060bce
CDROM: Hold position at end of track, not start of next
5 years ago
Connor McLaughlin
4441bb1a91
CDROM: Apply volume on output not sector read
...
Fixes audio starting too late in Mega Man Legends.
5 years ago
Connor McLaughlin
ee190ef561
CDROM: Fix typo in ResetPhysicalPosition()
5 years ago
Connor McLaughlin
2c1999e622
CDROM: Simulate holding position for GetlocP
...
Fixes lockups in Tomb Raider.
5 years ago
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.
5 years ago
Connor McLaughlin
b7752ff30b
CDROM: Update position when pausing while seeking instead of erroring
...
This was causing freezes in FF7 - needs more research.
5 years ago
Connor McLaughlin
02948f988d
CDROM: Return 0x00 on response FIFO overread
...
Fixes CyberSled hanging on boot.
5 years ago
Connor McLaughlin
19032750b4
CDROM: Don't treat no-region discs as audio CDs
...
Fixes some homebrew games not booting.
5 years ago
Connor McLaughlin
11992bde4e
TimingEvents: Use function pointers instead of std::function
5 years ago
Connor McLaughlin
04a187afb2
CDROM: Fix read error/unlicensed flag getting set on all discs
...
Regression from 75aa52ab06 .
5 years ago
Connor McLaughlin
75aa52ab06
CDROM: Fail reads immediately for audio/unlicensed CDs
...
Fixes first track being unavailable on audio CDs in Vib-Ribbon.
5 years ago
Connor McLaughlin
9294bf6be3
CDROM: Keep target location even after failed seeks
5 years ago
Connor McLaughlin
187de65f50
CDROM: Reset disc position to start after switching discs
5 years ago
Connor McLaughlin
5690aef057
CDROM: Send seek error when read+seeking to audio sector
...
Fixes hang in Vib-Ribbon when using an audio CD.
5 years ago
Connor McLaughlin
f911e90e17
CDROM: Hopefully fix crash in debug window when reading lead-out
5 years ago
Connor McLaughlin
f9ac25f2b8
CDROM: Actually fix playing tracks 10+
5 years ago
Connor McLaughlin
c04d6f9ef8
CDROM: Play command track should be BCD
...
Fixes tracks >= 10 in BIOS CD player, maybe games?
5 years ago
Connor McLaughlin
b3edcc5841
CDROM: Don't reset audio decoder state on file/channel change
...
Star Wars Jedi Power Battles sends constant Setfilter commands, while
playing.
5 years ago
Connor McLaughlin
3890a539ee
CDROM: Clear data FIFO on reset
...
Fixes Snatcher booting.
5 years ago
Connor McLaughlin
e081ee4b8e
CDROM: Return error to guest instead of panicing for unknown commands
5 years ago
Connor McLaughlin
a6947fbc70
CDROM: Implement fast forward/rewind
5 years ago
Connor McLaughlin
0552da6be2
CDROM: Stub out VideoCD command
5 years ago
Connor McLaughlin
902024d225
CDROM: Implement volume peak in CDDA report
...
Fixes Kyuutenkai hanging at boot.
5 years ago
Connor McLaughlin
8ba93b36a0
CDROM: Add option to speed up double speed reads
5 years ago
Connor McLaughlin
ca0bfc39a2
CDROM: Add a setting and hotkey to mute CD audio
5 years ago
Connor McLaughlin
27697d0508
System: Implement CPU overclocking [SAVEVERSION+]
...
Partial credit to @CookiePLMonster as well.
5 years ago
Connor McLaughlin
b05d80ef5c
CDROM: Don't choke on non-mode2 sectors
...
Fixes Formula One 99 circuit selection.
5 years ago
Connor McLaughlin
db84bdb560
CDROM: Apply 4 sector penalty to ReadN..ReadN sequence
...
Fixes Worms Pinball.
5 years ago
Connor McLaughlin
3847be86b0
Fix a bunch of random warnings
5 years ago
Connor McLaughlin
6bbbb96d4b
Move GameList to FrontendCommon
...
Reduces libretro core dependencies further.
5 years ago
Connor McLaughlin
13e3095801
Core: Don't link to imgui for libretro core
5 years ago
Connor McLaughlin
559dc23e4e
CDROM: Set playing bit in status after starting
...
Fixes menu music in Army Men 3D.
5 years ago
Connor McLaughlin
6d75f42e12
CDROM: Update last subq even when auto-pausing
...
Fixes music looping in Fighting Force.
5 years ago
Connor McLaughlin
466e4099d4
CDROM: Fix handling of logical seeks to audio sectors
...
Fixes Wizard's Harmony.
5 years ago
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
5 years ago
Connor McLaughlin
5634e821c5
CDROM: Reset audio decoder state immediately after pause or seek
...
Fixes stuttering dialogue in Dino Crisis (control room at beginning of
game).
5 years ago
Connor McLaughlin
5a34a15bf2
CDROM: Include FIFO size in debug window
5 years ago
Connor McLaughlin
10cd00c8dd
CDROM: Play audio when reading and mode.0 is set
5 years ago
Connor McLaughlin
f28ef01d24
CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
...
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
5 years ago
Connor McLaughlin
93528db388
System: Use existing CD media when loading state where possible
5 years ago
Connor McLaughlin
6ed67468d2
CDROM: Prevent games which spam Reset from getting wedged
5 years ago
Connor McLaughlin
dbce58e07d
CDROM: Display paused position in debug window
5 years ago
Connor McLaughlin
50a25b63b1
CDROM: Track seek position when resetting
...
Fixes Blasto hanging after starting game.
5 years ago
Connor McLaughlin
c5e8327e7a
CDROM: Seek to LBA 0 when resetting
...
Fixes Love & Destroy.
5 years ago
Connor McLaughlin
71157b171e
CDROM: Use partial seek position when re-seeking
5 years ago
Connor McLaughlin
0710e3b6d3
CDROM: Ignore sectors with channel number=255
...
Some games (Taxi 2 and Blues Blues) have junk audio sectors with a channel number of 255.
We need to skip them otherwise it ends up playing the incorrect file.
TODO: Verify with a hardware test.
5 years ago
Connor McLaughlin
737337a526
CDROM: Fix incorrect sector read after incomplete seek->read
...
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
5 years ago
Connor McLaughlin
840a80670f
CDROM: Reset XA resampler on file switch
...
Pure guess work, probably won't affect anything.
5 years ago
Connor McLaughlin
dcfb929de5
CDROM: Fix double-reads hitting incorrect sector again
...
Fixes Bedlem / Rise 2 without breaking Vigilante 8 - 2nd Offense.
6 years ago
Connor McLaughlin
5e7fd5aa71
CDROM: Fix integer overflow in seek timing calculation
6 years ago
Connor McLaughlin
1947080d91
CDROM: GetlocL should return an error while seeking
...
Or more specifically, the coarse seek part. Verified with hardware
tests.
6 years ago
Connor McLaughlin
f856a8ad65
CDROM: Ignore pending setloc after read/play
...
Fixes games which send a second Setloc after reading, e.g. Army Men -
Sarge's Heroes.
6 years ago
Connor McLaughlin
2d067bb101
CDROM: Fix warning log spam on command
6 years ago
Connor McLaughlin
0672cf4873
CDROM: Implement a heuristic for command cancelling
...
See note in source. Fixes loading times and slowed down audio in Voice
Idol Collection - Pool Bar Story.
6 years ago
Connor McLaughlin
a4f79de7f6
CDROM: Return error for incorrect parameter count
6 years ago
Connor McLaughlin
07e8ab4446
CDROM: Increase seek delay by one sector
...
Fixes Resident Evil 2.
6 years ago
Connor McLaughlin
4e8da3cb41
CDROM: Replace sound map assert with error log
...
I am not aware of any games which use it yet, so have no way of testing
if the implementation is correct.
6 years ago
Connor McLaughlin
2dd7f48d97
CDROM: Don't skip pregap for CDDA
...
Fixes music looping in Treasure Gear.
6 years ago
Connor McLaughlin
2264849151
CDROM: Update position when double-seeking
...
Doesn't fix anything I'm aware of, but makes sense.
6 years ago
Connor McLaughlin
1494f2bc75
CDROM: Set m_current_lba to the sector being read
...
Fixes double-read commands returning incorrect sectors.
Fixes Vigilante 8 - 2nd Offense.
6 years ago
Connor McLaughlin
3c7229dfe2
CDROM: Add 3 sectors read time to seek time
...
Simulates the drive's inprecise coarse seek then reading subq to get to
the exact sector.
Fixes Waku Waku Derby.
6 years ago
Connor McLaughlin
d41bf86eaa
CDROM: Don't apply logical seek rules to subq-based seeks
...
Fixes Panekit - Infinitive Crafting Toy Case.
6 years ago