Commit Graph

187 Commits (36bfc461f9c7ecbbe2d6ffb4817e98e28a2de64e)

Author SHA1 Message Date
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