Commit Graph

343 Commits

Author SHA1 Message Date
Flyinghead f186046c98 partial support for sega driving simulator 2023-03-09 17:54:57 +01:00
Flyinghead 30501aebb1 Race condition when stopping while emu is failing
Emulator::stop now throws if an error occurred on the emu thread.
Fixes MINIDUMP-5B
2023-02-26 22:01:32 +01:00
Flyinghead debe21de7b Merge remote-tracking branch 'origin/master' into dev 2023-02-05 22:20:28 +01:00
Flyinghead 6b2063b06f GGPO fixes
Memwatchers weren't properly reset after a ggpo session.

Race condition when stopping if GGPO restarts the cpu for a new frame.

The emu thread might still run some rollback frames before stopping, so
the emu state must be updated only after ggpo is stopped.
Fixes MINIDUMP-6P

Don't autosavestate when GGPO is on

Really disable renderer during GGPO advance frame

Don't stop the sh4 after render (single threaded) when GGPO is on

android: Don't restart when unpaused if online
2023-02-01 18:04:26 +01:00
Flyinghead 143073b61d rename _vmem to addrspace and move platform vmem stuff to virtmem ns
use namespaces
simplify names
no functional changes
2023-01-29 18:48:33 +01:00
Flyinghead 99d5266aa0 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/hw/holly/sb_mem.cpp
#	core/hw/naomi/naomi.cpp
#	core/hw/naomi/naomi_flashrom.cpp
#	core/hw/pvr/ta_ctx.h
#	core/rend/gui.cpp
2023-01-27 15:41:45 +01:00
Flyinghead f63cf7406a logging changes 2023-01-18 14:03:02 +01:00
Flyinghead 7e4572a86a naomi: f355 multiboard support WIP 2023-01-11 22:31:36 +01:00
Matt Phillips 6d913f42c8
Host-side profiler - initial commit (#834)
* Host-side (Flycast) profiler - initial commit

* Profiler - configurable frame warning time

* Compile fix for !DC_PROFILER
2022-12-21 11:24:11 +01:00
Matt Phillips b0a520fe18
Various GDB fixes and improvements (#832)
* Enabled GDB server, compile fix for MSVC, added GDB option to config

* GDB - 'vMustReplyEmpty' should not be explicitly handled, it is a test for how the target responds to unknown vpackets (which was incorrect)

* GDB wait for debugger option to allow debugging from bootstrap, and Event::Resume moved after renderer init so agent.interrupt() can pause the renderer

* Draw "Waiting for debugger", and fixed UI not rendering last frame before a state change

* Fixed GDB regs/mem endianness
2022-12-16 20:34:30 +01:00
Flyinghead 971d47eb42 sdl: SDL_QuitSubSystem() on exit
Tentative fix for issue #654
2022-05-31 17:42:42 +02:00
Flyinghead a710674cd4 gui: init once. reset ui driver when needed. android 120+ Hz support
ImGui is now initialized once at startup and shutdown before
terminating. graphics initialization is independent.
Move more imgui stuff into imgui drivers.
switch: set scaling on external screen to 1.4, same as xbox
UI scaling refactoring.
2022-04-13 18:06:19 +02:00
Flyinghead 8f80bcb159 New serialize framework. Delay maple dma xfer
New serialize framework. Refactor serialization into modules.
Maple dma xfer must not be executed immediately. Delay until interrupt
is raised.
Fixes Geist Force freeze at start.
2021-11-13 15:56:42 +01:00
Flyinghead ac5abd96bb ui: imgui driver, GraphicsContext interface, dx9 swap interval
Refactor imgui backend code into imgui drivers for gl, vk, dx9
Generic GraphicsContext interface for gl/vk/dx9 contexts
Simplify graphics api switching code
dx9, gl(sdl): set swap interval based on monitor refresh rate.
2021-11-10 20:35:30 +01:00
Flyinghead 037339f3be ggpo: savestate md5 wasn't computed 2021-10-21 12:03:04 +02:00
Flyinghead cf653640b3 ggpo: verify md5 of bios, game and savestate
Verify md5 of flash, eeprom, vmus if no savestate used
Use chd header SHA1 as digest
Load .state.net state file at start

Force real BIOS for some games
2021-10-16 17:56:21 +02:00
Flyinghead 19bd6d0bca test automation clean up
less #ifdef
force mute audio
don't force vsync
2021-10-10 16:26:36 +02:00
Flyinghead 897cc01f93 some lua bindings 2021-10-03 18:34:27 +02:00
Flyinghead 5bcfa35737 Better background game loader
Pass LoadProgress object to report load progress and cancel
Better UI
Cancel with exception
Fix issues when stopping/exiting in !threaded
dx9: call gui_term on shutdown
2021-10-02 11:30:40 +02:00
Flyinghead c1bcf91dd6 pvr: render timeout when using ggpo or !threaded
will cause ggpo desyncs with previous versions
2021-10-01 16:48:01 +02:00
Flyinghead 2803ee8274 imgread.ImagePath clean up. ggpo: poll input late if !thread 2021-09-30 14:24:17 +02:00
Flyinghead 99bf7f77c4 single-threaded mode. refactoring.
single-threaded mode similar to libretro core
stateful Emulator object
disable memory watcher when !gppo
ggpo: poll input as late as possible in !threaded
2021-09-29 10:22:58 +02:00
Flyinghead 69d0801121 net rollback with ggpo 2021-09-02 17:51:23 +02:00
Flyinghead de060d66ab don't save flash if no game started. libretro: fix notifications
compilation warnings, non-functional changes
2021-07-20 19:21:11 +02:00
Flyinghead 43c00568c6 switch: standalone build 2021-07-14 13:02:57 +02:00
Flyinghead 57874a9bcb libretro: savestate compatibility. B1/D1 vmus now visible 2021-07-10 17:39:16 +02:00
Flyinghead 7dbd79750c WIP libretro core update 2021-07-05 19:44:08 +02:00
Enrique Santos 46e3258629
Controller Mapping: System Profiles & Unmap Button (#269)
* add unmap button
* separate controller profiles for dc & arcade games
* loads current system mapping on menu exit
* simplify, use default filename for dc controls
* create blank mapping file for sdl controllers if not found
2021-06-27 12:49:47 +02:00
scribam d6545b253b Misc cleanup 2021-06-06 11:15:06 +02:00
keita yoshimoto cddb6609f1
Multiple save states (#248) 2021-06-03 13:22:40 +02:00
Flyinghead 3a1ae0db00 mmu: fix macos crash. only flush user mem in address lut
force rtt2vram for JSR (custom graffiti)
clean up vmem32 remains
missing host_context.h change
gh action: build sdl from source on macos
2021-05-18 12:53:14 +02:00
Flyinghead 805dac3039 Resize renderer after [re]init
Fixes crash on Android when app is brought back to the foreground
Issue #228
2021-04-22 10:59:40 +02:00
Flyinghead c0b5721920 Super widescreen option
Issue #209
2021-04-20 16:06:03 +02:00
Flyinghead d55a26c242 flatpak: better screenshots. Indicate where to put BIOS files. 2021-04-19 19:12:00 +02:00
Flyinghead 72968290bf cheats: support for .CHT cheat files
Issue #167
gui: no need to save background in opengl, use RenderLastFrame instead
disable cheats when online
2021-04-06 11:41:41 +02:00
Flyinghead 6af509159e optimize area0 mem handlers
use flash_size for both sram (aw, naomi) and flash (dc)
bios and flash not mirrored to 02000000
2021-03-31 18:45:46 +02:00
Flyinghead a7d8d31566 double-free when opening corrupted chd. Better error message
Avoid vk/gl/vk quick switching
2021-03-29 16:26:18 +02:00
Flyinghead 904bed862e arm32: store queue dynarec optim. ditch Unstable Optimizations
shrink Sh4Context.pad size except on arm32
reset sh4 before mem to unlock ram
2021-03-29 14:26:55 +02:00
scribam 9c8082fb16 delete unnecessary null pointer check 2021-03-28 11:10:46 +02:00
Flyinghead 0f6dda9cb1 gdb server agent
allow stepping and soft breakpoints
clean up interpreter opcodes
2021-03-23 14:49:19 +01:00
Flyinghead 06be0d927b screen stretching always in final horiz direction. lightgun coords fix
gl: strech direct fb texture based on stretching and rotation
Fix lighgun coords when stretching and/or rotating
Dimension render size based on stretching and rotation
vk: lightgun crosshair disappears near 0-edge -> scissoring x and y must
be >= 0
always stretch horizontally even when rotating
2021-03-21 18:03:22 +01:00
Flyinghead 1abfa19636 set rendering resolution in discrete steps instead of scaling 2021-03-21 18:03:22 +01:00
scribam 092ee6d8a5 clang-tidy: run readability-container-size-empty 2021-03-15 19:52:54 +01:00
Flyinghead ca107953fe Vulkan renderer setting was reset to off when starting a game 2021-03-03 09:40:52 +01:00
C.W. Betts 3c8a2f2372 Don't compile rec_arm64 on non ARM64 machines.
Include header in posix_vmem that makes calls to sys_cache_control compile on Mac ARM64.

Replaces flyinghead#184
2021-03-03 00:57:53 -07:00
Flyinghead 0c8815549c Merge branch 'fh/x64-arm-jit'
# Conflicts:
#	core/hw/aica/aica.cpp
#	core/nullDC.cpp
2021-03-02 19:42:15 +01:00
flyinghead 8259b8ba02 x86 msvc build fix. Build 32bit SDL. Force renderer type at startup 2021-03-01 12:49:41 +01:00
Flyinghead c3a95594f9 New option system
Fix per-game settings (Issue #115)
Automatic load/save state (Issue #173)
Reload Naomi/AW BIOS after per-game settings are loaded to allow
per-game BIOS region. (Issue #96)
Restrict Soul Reaver widescreen cheat to the EU version (Issue #188)
Disable UI elements for overridden settings
Clean up/simplify legacy Naomi ROM loading
2021-03-01 10:13:40 +01:00
Flyinghead 521d69f5e0 aicaarm: get rid of inline and source assembler 2021-02-15 18:47:09 +01:00
Flyinghead 1b47ef0ab1 Merge remote-tracking branch 'origin/master' into fh/x64-arm-jit 2021-01-29 11:36:18 +01:00