Commit graph

204 commits

Author SHA1 Message Date
Connor McLaughlin a44e9d16fb CDROM: Fix second response event getting lost on state load 2021-08-24 11:57:06 +10:00
Connor McLaughlin 18241978ea CDROM: Cancel command second response when queuing new command
Fixes Wipeout corrupting parts of the TOC.
2021-08-18 00:25:19 +10:00
Connor McLaughlin c962e9899d CDROM: Reject invalid Setloc commands
Fixes delays in Simple 1500 Series Vol. 31 - The Sound Novel.
2021-07-12 21:14:06 +10:00
Connor McLaughlin a32ef4a963 CDROMAsyncReader: Support reading ahead more sectors 2021-07-12 21:14:06 +10:00
Connor McLaughlin 37e50c62f0 CDROM: Fix intermediate seek->read status transition 2021-06-30 14:38:30 +10:00
Connor McLaughlin 5488bf7128 CDROM: Ignore speed change for non-cued Play 2021-06-25 00:20:26 +10:00
Connor McLaughlin bc34a75e03 CDROM: Add missing include for <cmath> 2021-06-19 15:23:25 +10:00
Connor McLaughlin 67344070ea CDROM: Improve simulation of seek timing 2021-06-19 15:16:01 +10:00
Connor McLaughlin 2c19c7ce57 CDROM: Cancel speed changes if they're not complete 2021-06-19 15:16:01 +10:00
Connor McLaughlin b1776dea61 CDROM: Simulate position holding for GetlocL too 2021-06-19 15:16:01 +10:00
Connor McLaughlin 2548f75267 CDROM: Differentiate between logical and physical hold 2021-06-15 22:44:21 +10:00
Connor McLaughlin 16c02c8559 CDROM: Don't apply speed change delay when already changing 2021-06-14 19:36:37 +10:00
Connor McLaughlin f4da56efea CDROM: Simulate the time it takes to change speeds 2021-06-14 14:56:35 +10:00
Connor McLaughlin 38288e6b36 CDROM: Factor in implicit seeks when calculating time 2021-06-14 13:47:55 +10:00
Connor McLaughlin f2bfbabdcb CDROM: Don't reset full state on Reset command 2021-06-14 13:47:41 +10:00
Connor McLaughlin aa675163e2 CDROM: Fix second response event not being cleaned up 2021-06-14 13:47:04 +10:00
Connor McLaughlin 74013a0853 CDROM: Use physical position for seek time calculations 2021-06-12 18:09:28 +10:00
Connor McLaughlin 36bfc461f9 CDROM: Refactor start/stop/second response 2021-06-12 18:09:28 +10:00
Connor McLaughlin 9d36ce757d CDROM: Simulate motor spin-up time
Fixes disc changing in Tales of Destiny II.
2021-06-11 20:47:46 +10:00
Connor McLaughlin 95247b0b5e CDROM: Don't set motor on before calc read/play time 2021-06-11 20:47:46 +10:00
Connor McLaughlin 3cb01bf23d CDImage: Fix compilation on Linux 2021-06-01 22:04:25 +10:00
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.
2021-05-27 03:48:02 +10:00
Connor McLaughlin 98e4c181ca CDROM: Add seek speedup enhancement 2021-05-23 16:18:34 +10:00
Connor McLaughlin 0a50ca3f18 CDROM: Improve CDDA report logging 2021-04-22 13:40:48 +10:00
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.
2021-04-21 01:44:33 +10:00
Connor McLaughlin 5af6424324 CDROM: More conservative handling of INT1-while-pending-INT3 case 2021-04-19 15:39:44 +10:00
Connor McLaughlin 62360d088a CDROM: Send IRQ1 for triple buffered sectors
Fixes hangs in loading in Eliminator and Colony Wars - Vengeance.
2021-04-19 15:19:08 +10:00
Connor McLaughlin 8df0496dc1 CDROM: Store last subq even when auto-pausing
Fixes track looping in Fighting Force PAL.
2021-04-11 12:36:52 +10:00
Connor McLaughlin 6a0bd7ee64 CDROM: Clear setloc pending on redundant read
Fixes palette corruption in Joshikousei no Houkago... Pukunpa.
2021-04-10 14:52:15 +10:00
Connor McLaughlin 2ac6f60bbb Rename cpu_detect.h to platform.h and add OS 2021-04-04 13:01:43 +10:00
Connor McLaughlin 85c5b99b7a CDROM: GetID should return error when no disc 2021-03-28 13:47:52 +10:00
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Connor McLaughlin 25d4060bce CDROM: Hold position at end of track, not start of next 2021-03-19 01:58:43 +10:00
Connor McLaughlin 4441bb1a91 CDROM: Apply volume on output not sector read
Fixes audio starting too late in Mega Man Legends.
2021-03-18 13:00:58 +10:00
Connor McLaughlin ee190ef561 CDROM: Fix typo in ResetPhysicalPosition() 2021-03-07 17:34:16 +10:00
Connor McLaughlin 2c1999e622 CDROM: Simulate holding position for GetlocP
Fixes lockups in Tomb Raider.
2021-02-14 18:36:21 +10:00
Connor McLaughlin c6c67b7b27 ImGui: Remove close button from debug windows
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin b7752ff30b CDROM: Update position when pausing while seeking instead of erroring
This was causing freezes in FF7 - needs more research.
2021-01-25 01:49:35 +10:00
Connor McLaughlin 02948f988d CDROM: Return 0x00 on response FIFO overread
Fixes CyberSled hanging on boot.
2021-01-14 01:51:01 +10:00
Connor McLaughlin 19032750b4 CDROM: Don't treat no-region discs as audio CDs
Fixes some homebrew games not booting.
2021-01-11 01:05:21 +10:00
Connor McLaughlin 11992bde4e TimingEvents: Use function pointers instead of std::function 2021-01-10 01:45:07 +10:00
Connor McLaughlin 04a187afb2 CDROM: Fix read error/unlicensed flag getting set on all discs
Regression from 75aa52ab06.
2021-01-01 03:00:16 +10:00
Connor McLaughlin 75aa52ab06 CDROM: Fail reads immediately for audio/unlicensed CDs
Fixes first track being unavailable on audio CDs in Vib-Ribbon.
2021-01-01 01:38:14 +10:00
Connor McLaughlin 9294bf6be3 CDROM: Keep target location even after failed seeks 2021-01-01 01:37:51 +10:00
Connor McLaughlin 187de65f50 CDROM: Reset disc position to start after switching discs 2021-01-01 00:01:13 +10:00
Connor McLaughlin 5690aef057 CDROM: Send seek error when read+seeking to audio sector
Fixes hang in Vib-Ribbon when using an audio CD.
2020-12-31 03:19:51 +10:00
Connor McLaughlin f911e90e17 CDROM: Hopefully fix crash in debug window when reading lead-out 2020-12-31 02:10:49 +10:00
Connor McLaughlin f9ac25f2b8 CDROM: Actually fix playing tracks 10+ 2020-12-28 01:40:38 +10:00
Connor McLaughlin c04d6f9ef8 CDROM: Play command track should be BCD
Fixes tracks >= 10 in BIOS CD player, maybe games?
2020-12-28 01:17:41 +10:00
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.
2020-12-18 03:03:21 +10:00