Commit Graph

125 Commits (840a80670ff83f4bacfad2cfb0b29ad8b571bc08)

Author SHA1 Message Date
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
Connor McLaughlin 340640821e CDROM: Add delay when swapping discs
Fixes broken disc swap detection in Metal Gear Solid.
6 years ago
Connor McLaughlin 415880fc40 CDROM: Don't restart play/read when current == target
Fixes CDDA locking up Buster Bros. Collection.
6 years ago
Connor McLaughlin 5d46556b7d CDROM: Update position while seeking for GetlocP
Fixes track selection in WipEout.
6 years ago
Connor McLaughlin 214e852a54 CDROM: Add time to read sector to seek time
Fixes Yuukyuu Gensoukyoku Ensemble 1.
6 years ago
Connor McLaughlin 110aa8bd93 CDROM: Reset read sector buffer on INT1
Fixes GetlocL -> DMA out returning incorrect data.

Fixes FoxKids.com - Micro Maniacs Racing.
6 years ago
Connor McLaughlin e1157bff65 CDROM: Don't delay CDDA report, only skip index 0
Fixes music in Advanced V.G.
6 years ago
Connor McLaughlin 777809b3b0 CDROM: Fix XA filter change not applying immediately
Fixes audio getting cut off in PaRappa the Rapper - The Hip Hop Hero,
underwater music in R-Type Delta.
6 years ago
Connor McLaughlin d6f6154380 CDROM: Read last delivered sector when pausing and reading without seek
Fixes Adidas Pro Soccer, Bedlem, Rise 2.
6 years ago
Connor McLaughlin d866bd9cb8 CDROM: Reset XA resampler state on read
Should get rid of pops when switching files.
6 years ago
Connor McLaughlin 37d9f6344d CDROM: Ignore Read/Play command without setloc/param
Fixes title screen music in Monkey Magic.
6 years ago
Connor McLaughlin 684e83168e CDROM: Prevent successful seeking to the lead-out area of the disc 6 years ago
Connor McLaughlin 5b389ae13d CDROM: Synthesize lead-out area and stop reading when reached 6 years ago
Connor McLaughlin dc487655df CDROM: More timing refinements 6 years ago
Connor McLaughlin 2d92e0a819 CDROM: Reduce ACK timing 6 years ago
Connor McLaughlin 72f6503bec CDROM: Reduce speed change delay 6 years ago
Connor McLaughlin a4416d8cf5 CDROM: Add seek time when starting reading/playing without setloc 6 years ago
Connor McLaughlin f1d1129e05 CDROM: Don't assert if SetMode.bit4 is set 6 years ago
Connor McLaughlin a4a112f5d8 CDROM: Deliver invalid sub-q (libcrypted) sectors to CPU
Nocash documentation would suggest that it only needs the sector to be
skipped by GetLocP. Which would make sense as the non-subchannel data is
still completely valid.
6 years ago
Connor McLaughlin 05e4e7d262 CDROM: Add timing for speed changes/adjust seek timing
This makes the BIOS take longer to load the executable off the disc,
giving the sound effects longer to fade out and reducing the overlap
with the game.
6 years ago
Connor McLaughlin 08567fedf4 CDROM: Fix crash when loading save state from different system 6 years ago
Connor McLaughlin 0c1547d9e3 CDROM: Don't use valid bit for last subq, read on reset
Fixes GetlocP failing after resetting the system, causing some FMVs to
break/games to get wedged.
6 years ago
Connor McLaughlin b7cdaaf36a CDROM: Defer setting reading/playing bit until sector is read
Fixes softlock in Chicken Run.
6 years ago
Connor McLaughlin 45d7294c3c CDROM: Limit XA playback to first-identified file/channel
Fixes background music in initial menu of Tomb Raider III.
6 years ago
Connor McLaughlin 15c33ebedb CDROM: Add "Enable Region Check" option 6 years ago
Connor McLaughlin e36e70a266 CDROM: Drop sector buffer not read back to dev log level
This happens a lot in games and it's perfectly fine, but sometimes it
can mean the game is wedged and not receiving data.
6 years ago
Connor McLaughlin f6711cbafa CDROM: Pausing while seeking should be an error response
Confirmed by hardware test.
6 years ago
Connor McLaughlin 00c24c2501 CDROM: Adjust ACK timings to be closer to hardware test results
Fixes Shrek Treasure Hunt.
6 years ago
Connor McLaughlin 3f042cd477 CDROM: Fix play command with parameter forever seeking
Fixes audio playback when selecting track in BIOS CD player.
6 years ago
Connor McLaughlin 3a31282fe6 CDROM: GetTN should return first_track, last_track
Fixes CDDA playback in Street Sk8er, Jellyfish - The Healing Friend,
probably others.
6 years ago
Connor McLaughlin 02f67a801e CDROM: Fix behavior of stat bit 5 according to hardware tests 6 years ago
Connor McLaughlin deb2865606 CDROM: Preserve header valid bit on more commands
Fixes Goryuujin Electro hanging on boot.
6 years ago
Connor McLaughlin 0e0bd2852f CDROM: Trigger INT5 on shell open
This behaviour has been verified on console.

Fixes disc swap detection in "Arc the Lad III"
6 years ago
Connor McLaughlin 2292292956 CDROM: Set mode to read raw sectors after reset
Fixes "This is Football 2", possibly others.
6 years ago
Connor McLaughlin 10197506c5 CDROM: Implement 8-sector buffering behavior 6 years ago
Connor McLaughlin 22a0d8f93c CDROM: Implement Sync/00h command 6 years ago