Commit Graph

378 Commits

Author SHA1 Message Date
Cameron Bates e1fa2b9831 [iOS] GCMouse support (#353) 2021-09-14 11:51:44 +02:00
Edward Li 043175ae4d Rumble using MacBook's Taptic Engine 2021-09-14 11:44:37 +02:00
Flyinghead e8b73e22b7 Merge remote-tracking branch 'origin/libretro' into net-rollback 2021-09-11 18:11:36 +02:00
Cameron Bates 45f68d59ff
iOS Keyboard Support (#347)
PR adds in support for iOS keyboards using GCKeyboard
2021-09-11 13:08:35 +02:00
Flyinghead d9a8e29a94 missing change 2021-09-09 18:31:08 +02:00
Flyinghead 69d0801121 net rollback with ggpo 2021-09-02 17:51:23 +02:00
Flyinghead 4d5c93adfa ios: add entitlements and sign IPA with ldid 2021-08-29 11:58:05 +02:00
scribam ce68a9c708 ci: update switch workflow
Checkout submodules non-recursively
Add ninja to speed up compilation
Simplify some steps
2021-08-29 10:45:47 +02:00
Flyinghead ad80184e7f missing cmake change 2021-08-24 20:54:17 +02:00
Flyinghead e3e3229612 iOS: multiple controller/rumble support. GL: fix black screen after RTT
iOS:
* multiple controllers support. Rumble support.
* fix audio recording
* declare CHD/GDI/CUE/CDI content types
* start game when opening file URL
* Use safe area for UI and virtual gamepad
* Better icons
2021-08-23 14:02:12 +02:00
Flyinghead 27da5f84c4 cmake: fix miniupnpc name warning
Issue #302
2021-08-23 10:23:04 +02:00
Flyinghead 8b0f17fb25 iOS: bundle_version must not be null. Add Document Browser support 2021-08-16 13:09:53 +02:00
Flyinghead d7bc1f0f77 apple: disable delay frame swapping, libretro: set base_width/height to 640x480, use gl 3.2 on macOS 2021-08-15 10:50:53 +02:00
scribam 281a04837f switch: simplify standalone build 2021-08-13 08:31:32 +02:00
Flyinghead 3ea688be69 iOS: pause/resume based on focus. autosave state on background. VGamepad fix
Get rid of swipe gesture (fixes touch not being delivered)
Use UP+DOWN or LEFT+RIGHT to open menu.
Arcade shortcuts (RT + A/B/X)
Disable system gestures
Monitor network and restart AltKit as needed.
2021-08-12 11:22:22 +02:00
Flyinghead 1bea7853ef iOS: CI job, JIT status, touch fixes 2021-08-10 17:04:36 +02:00
Flyinghead 104521517c Build fix 2021-08-10 12:00:05 +02:00
Flyinghead 12f302d356 iOS: uv need high precision in fragment shader. cmake build. virtual joystick. AltKit integration 2021-08-10 11:32:22 +02:00
Flyinghead 6bb4575c95 Merge remote-tracking branch 'origin/master' into libretro 2021-08-05 18:17:30 +02:00
Flyinghead 0414406471 win32 build fix. disable breakpad on BSD 2021-08-03 11:59:19 +02:00
Flyinghead 7561ce753a unwind info for arm64. use static c++ lib for android
include oboe static libs
get rid of old regalloc
2021-07-29 17:46:46 +02:00
Flyinghead e12be7cf29 add breakpad support for android, linux and windown 2021-07-25 21:55:29 +02:00
Flyinghead 710f379bd3 unwind info for x64 dynarecs
delegate to previous signal handler, proper abort for win32
arm32: use builtin gcc __clear_cache
dyna/driver.cpp: no need for a code buffer in win32, cleanup
2021-07-24 22:24:37 +02:00
vkedwardli e4d9be86b4
Fix cmake macOS ARM not building (#301)
set `CMAKE_OSX_ARCHITECTURES` as Cache Entry
2021-07-24 15:52:56 +02:00
vkedwardli 3c483c61e7
Support Apple Silicon (macOS ARM Universal Binary) (#253)
* Add audio arm64 cpp into Xcode project

* Build universal binary for SDL2 also

* Add vixl aarch64 dependency + build arm64 in cmake

* hardcode pagesize for M1 CPU

* Use `MAP_JIT` and toggle between RX and RW

* add pthread.h for cmake

* Disable audio dynarec temporary

* Enable aica arm dynarec

* Supports `br` with condition

* Dynamic linker flag for libSDL2.a since Homebrew path is different on arm (for xcodeproj)

* Fallback path for Intel

* de-dup for arm64, allow cross compilation on both Intel and Apple Silicon Mac

* Rename WriteProtect() to JITWriteProtect(), Move JITWriteProtect from arm7_rec to arm7_rec_arm64

* Remove CodeCache memset

* Remove keyboard_device.cpp from xcodeproj

* Use hard tab

* Update libchdr to support compiling on M1 (thanks @scribam)
2021-07-23 22:34:12 +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 c458a8f5e7 os_[Un]InstallFaultHandler. Uninstall fault handler at shutdown 2021-07-20 13:06:08 +02:00
scribam 5c0dd67094 android: cleanup jni files 2021-07-17 19:35:14 +02:00
Flyinghead ed0caa119a Merge remote-tracking branch 'origin/master' into libretro
# Conflicts:
#	CMakeLists.txt
2021-07-15 18:43:29 +02:00
Flyinghead 4fa89c4a45 switch: build with miniupnp. set correct window size
organize header
remove unneeded switch-specific code
2021-07-15 12:19:11 +02:00
scribam eaf44bc18c android: generate release apk with debug keystore, update ci and gradle 2021-07-15 09:54:41 +02:00
Flyinghead ae33c8de18 sdl: increase audio buffer size. libretro: set PIC option 2021-07-15 00:26:00 +02:00
Flyinghead b12e82c344 libretro: add switch lib as artifact 2021-07-14 22:00:05 +02:00
Flyinghead 8a0a0bcdfc switch: use 256x256 jpeg as app icon 2021-07-14 13:57:40 +02:00
Flyinghead 43c00568c6 switch: standalone build 2021-07-14 13:02:57 +02:00
Flyinghead 113ef66e26 libretro: use HAVE_LIBNX in libretro-common 2021-07-13 21:06:03 +02:00
Flyinghead 8c02345dfd lr switch: use toolchain ar. really disable lto 2021-07-13 19:18:36 +02:00
Flyinghead a2efde1103 libretro: more switch fixes
combine all static libraries into one
save/restore gl state in !threaded mode
patch libchdr
build fixes
2021-07-13 18:51:40 +02:00
Flyinghead 63a3f02368 libretro: better switch support 2021-07-12 20:14:21 +02:00
Flyinghead b66e6560ca libretro: vulkan support 2021-07-08 12:47:00 +02:00
flyinghead ef506d49aa libretro: pvr2 postprocessing filter 2021-07-06 21:37:47 +02:00
flyinghead c205a888a9 options: anisotropic filtering, oit pixel buffer size, fast gdrom load 2021-07-06 16:19:12 +02:00
flyinghead a3b66aec1f libretro: win32 support. build fix. 2021-07-06 13:22:54 +02:00
Flyinghead 68f4c50bd3 missing change 2021-07-05 19:48:49 +02:00
Flyinghead 7f49accc22 Merge remote-tracking branch 'origin/master' into fh/directx 2021-06-07 20:53:31 +02:00
scribam d6545b253b Misc cleanup 2021-06-06 11:15:06 +02:00
scribam 6368241b77 cmake: fix compilation on FreeBSD 2021-05-29 14:12:51 +02:00
scribam 57ae9022dd Update Windows resource and version.h.in files 2021-05-28 14:56:04 +02:00
Edward Li 3eeab5b74a Force cmake to add rpath to support macOS without Swift 5 Runtime Library (prior to 10.14.4) 2021-05-28 10:35:17 +02:00
flyinghead 7ed68952ba Merge remote-tracking branch 'origin/master' into fh/directx
# Conflicts:
#	core/deps/patches/SDL.patch
#	core/hw/maple/maple_devs.cpp
#	core/rend/gl4/gles.cpp
#	core/rend/gles/gles.cpp
#	core/rend/gui.cpp
#	core/rend/gui.h
#	shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2021-05-26 22:38:48 +02:00
Flyinghead 35d3a0362d some sh4 tests 2021-05-26 09:51:41 +02:00
vkedwardli 2b62f8c607
Fix macOS cmake & Xcode project (#255)
* Update zlib reference for Xcode project

* Add CoreHaptics.framework for Xcode project

* Capitalize app bundle

* Use local FindSDL2.cmake script for macOS

* Use `macOS` instead of the old `OSX`
2021-05-25 10:11:58 +02:00
scribam fa217e4cd0 ioctl: replace SCSIDEFS.h with Windows headers 2021-05-25 10:10:50 +02:00
flyinghead 6d32ad2ac8
Use github actions for all ci jobs. Only build with cmake (#251)
* osx: bundle id change com.reicast -> com.flyinghead
* use gh actions for all ci jobs
* cmake: strip executable
2021-05-24 11:03:15 +02:00
Flyinghead 54c492cac6 Use libchdr as git submodule. bump to latest version 2021-05-22 17:52:17 +02:00
flyinghead c44493cd8a
Merge pull request #246 from scribam/xbyak
deps: update xbyak
2021-05-22 15:11:32 +02:00
scribam 20b838b968 deps: update xbyak 2021-05-22 10:45:50 +02:00
scribam 741b21f508 cmake: fix sdl compilation with Ninja + MSVC 2021-05-21 21:46:11 +02:00
Flyinghead f6114f4c93 missing change 2021-05-17 12:05:59 +02:00
Flyinghead 025b447a9c arm32: replace old arm emitter with vixl 2021-05-15 11:41:00 +02:00
Flyinghead 1464c02903 mmu: add address cache to mem slow path. better fastmmu hashtable.
mmu: add address cache to Read/WriteMemNoEx
fastmmu: ignore 1k pages. optimize hashtable
get rid of NO_MMU
2021-05-14 19:03:57 +02:00
Flyinghead 6dfa9f7786 android: oboe audio driver. get rid of build variants
Issue #182
2021-04-30 19:57:11 +02:00
flyinghead b90cdf9588 RawInput driver. Multiple keyboards support
Merge Keyboard and KbGamepad
Always use system mouse for UI
Issue #138

Fix DX9 when not using SDL
2021-04-29 18:58:04 +02:00
flyinghead abc8b18b78 dx9: mipmaps. load/dump textures. vmu/crosshair display.
upload all texture mipmaps to gpu
dump textures. load custom textures
vmu and lightgun xhair display
fix dx9 half-pixel offset
fix 565_32 unpacker bug
2021-04-16 18:30:47 +02:00
flyinghead b549c56b23 build fix. default Delay Frame Swapping to true 2021-04-13 11:20:11 +02:00
flyinghead f107d380b9 WIP directx9 renderer 2021-04-12 22:49:04 +02:00
Flyinghead 24d172bd51 gl: use async PBO to copy texture back to vram 2021-04-08 10:33:14 +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 87f6bf2d77 reicast -> flycast 2021-04-04 13:35:11 +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 d8a25e73f2 cmake fixes. makefile clean up. load gles3 driver with sdl
add FindSDL2.cmake and don't provide wrong hint
cmake: option to disable vulkan
don't use/link with egl if using sdl
remove ARM_HARDFP and use standard __ARM_PCS_VFP #def
hide texture upscaling options if no openmp
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
Flyinghead 9bc832c4c6 cmake, sdl: fix for some SBCs
sdl: don't request alpha channel for gl context
sdl: start fullscreen if not desktop
cmake: make openmp, host libzip optional. gles needs libEGL
fix crash when falling back to gl after vk init fails
2021-03-19 15:51:09 +01:00
Flyinghead 5227259048 No more fast-math on x86/x64. Yet another FTRC fix
Don't compile with -ffast-math
Fix FTRC to return 0x80000000 for NaN
-> fixes Arcade Racing Legend sound problems and disappearing cars
Remove unsupported GCW0 platform
Remove unused android makefiles
2021-03-11 12:27:00 +01:00
flyinghead 3d5e648b96 cmake: built SDL2 lib isn't used during link 2021-03-05 18:18:14 +01: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
scribam 91aae459d3 cmake/deps: Remove hardcoded path to zlibstatic library 2021-02-28 10:13:50 +01:00
Flyinghead 521d69f5e0 aicaarm: get rid of inline and source assembler 2021-02-15 18:47:09 +01:00
scribam 89274248ed Fix compilation on FreeBSD 2021-02-14 17:06:03 +01:00
Flyinghead 89fe36b881 arm7 rec: lr wasn't updated in conditional bl
missing changes for previous arm64rec commit
more aica arm tests
wince vmem handler now uses direct ram access
2021-01-31 12:02:20 +01:00
Flyinghead 80782475da x64 rec: get rid of setjmp. standardize ngen_Rewrite/HandleException
move rewrite code from exception handlers to x86/x64 dynarecs
use same host context info on linux/win
x64: stack alignment issue in mem handlers
2021-01-30 16:14:44 +01:00
Flyinghead 594241ffa3 x64 rec: generate main loop. use mem stubs. fast mem access for !mmu
enable fast mem path for both !mmu and mmu
simplify rewrite
get rid of .asm file and inline assembler code
2021-01-29 11:46:05 +01:00
Flyinghead 4c262deff6 aica arm: msvc asm file for x64 rec. build fixes 2021-01-27 11:08:47 +01:00
Flyinghead 882e14f13f aica: x64 jit for arm
aica arm x86: use pc-relative addressing to access arm registers

OSX project fix

arm7: add simple ldm/stm handling. optimize arm32 and x64 recs

update CMakeLists.txt and Makefile. finish rebase
2021-01-26 21:32:43 +01:00
flyinghead 93ceb92c12 x86 dsp dynarec 2021-01-26 18:48:17 +01:00
flyinghead c344903a23 new x86 dynarec. Enable for android
refactor common code between x64 and x86 dynarecs.
x86 rewrite based on the x64 one
some discarded dyna blocks weren't fully unlinked
2021-01-26 13:16:48 +01:00
flyinghead 7697d37ec6 lightgun crosshair support 2021-01-23 15:59:57 +01:00
flyinghead 4a81430da7 aw: analog and lightgun inputs not responsive after load state
save maple player num in state
save aw maple devs register
serialize more spg state. don't call CalculateSync on load
move savestate logic to spg and naomi
make tests work on windows
2021-01-22 15:11:04 +01:00
flyinghead d217f5232a win32 and macOS fixes 2021-01-21 22:44:51 +01:00
flyinghead ed7bd06f96 win32: multiple mice support. Patch and build SDL 2021-01-21 21:00:46 +01:00
flyinghead 3d570f8008 delete deps/coreio 2021-01-19 17:50:03 +01:00
flyinghead 16dec49e08 windows: use utf8 internally. Support latin2, cyrillic, etc. pathnames
upgrade libzip to 1.7
imgui: use all glyphs from font including latin2, cyrillic, greek, etc.
2021-01-19 11:11:01 +01:00
Flyinghead 36451614d2 rec-x64: don't use vfmadd to avoid intel/amd variations 2021-01-08 21:40:13 +01:00
Flyinghead baa36925e2 naomi: more rom list to cpp. remap pjustice buttons. add more inputs 2021-01-05 18:39:00 +01:00
Flyinghead 46b48dcc68 cmake: link mingw statically 2021-01-05 15:00:49 +01:00
Flyinghead a576c43ed5 use deps/zlib on windows 2021-01-04 21:42:39 +01:00
Flyinghead 99bd8b4972 get rid of USE_MODEM/ENABLE_MODEM 2021-01-04 20:58:29 +01:00
Flyinghead de260b89af net: launch miniupnp async. filter loopbacked broabcast pkts. dhcp reset
ftspeed network support
delete all dhcp negos when destroying dhcp server
filter broadcasted udp packets coming from self
launch miniupnp async since it takes time to complete (2-4s)
fix unit test
2021-01-03 21:25:27 +01:00
Flyinghead 889fc8256d broadband adapter support 2021-01-02 21:19:50 +01:00
Flyinghead 6d96981dc4 picotcp: add dhcp server and icmp from upstream 2021-01-02 18:51:09 +01:00
Flyinghead cc7a292591 macOS: link sdl statically, hide vulkan. naomi: use miniupnp for server port
macOS doesn't need volk or glslang
link sdl statically
add GameController.framework (Xcode)
2020-12-29 11:53:00 +01:00
Flyinghead 227195e87b macOS cmake: fix icon, sdl.h path 2020-12-28 23:33:53 +01:00
Flyinghead 3244d980e4 macOS cmake: missing xib and assets 2020-12-28 22:55:16 +01:00
Flyinghead b8d89da8ab yet another win32 build fix. disable openMP on macOS 2020-12-28 16:56:23 +01:00
Flyinghead a1984a026f again: win32 build fix. macOS cmake: set min os to 10.9 2020-12-28 16:13:06 +01:00
Flyinghead 9c43a55c42 miniupnpc: fix include dir 2020-12-28 13:15:06 +01:00
Flyinghead e7ae03ded9 modem: use miniupnp to open router ports 2020-12-28 11:31:26 +01:00
Flyinghead 060650e0d8 support for compressed save-states 2020-12-26 09:58:53 +01:00
Flyinghead 544c55d848 macOS: set cmake deployment target to 10.9 2020-12-26 09:51:09 +01:00
Flyinghead b9d7c11936 macos: fix cmake build 2020-12-24 10:25:46 +01:00
Flyinghead c03cf8eb45 rend: multi-render, delay swap, refactor main ui loop
move ui loop out of hw/pvr
vk: implement multi-rendering, delay swap. Load fb before render pass
fps counter now counts frames, not renders
vk: force ignoreTexAlpha for 565 texture in case the supporting texture
has an alpha channel (RTT). Fixes Alone in the Dark cinematic scenes.
pvr: better detection of frame swapping (FB_R_SOF/FB_W_SOF)
pvr: synchronous rendering now always waits for render in progress
(speed measurement not reliable, render skipped when multi-rendering)
vk: limit swap chain size to 2
2020-12-15 15:09:42 +01:00
Flyinghead d960f8e9f5 lightgun: handle screen stretching, rotation and tall aspect ratio
Issue #139

move jvs stuff into maple_jvs.cpp
2020-12-09 13:48:58 +01:00
Flyinghead 2a5b303b70 delete nixprof 2020-11-22 17:37:27 +01:00
Edward Li 32dc99032e disable pkg-config in macOS 2020-09-08 00:44:19 +08:00
Flyinghead 493a833f56 android: compile with -O3 in debug. don't use host packages 2020-08-29 13:49:31 +02:00
flyinghead dd102c806c Fix macos and msvc x86 cmake builds 2020-07-23 19:01:38 +02:00
flyinghead 700994340b cmake: add sdl to vstudio build. Fix WinCE crash 2020-07-23 18:50:55 +02:00
Flyinghead d29797988e cmake: fix macos build 2020-06-09 12:16:41 +02:00
Flyinghead 333df13fce sh4 icache implementation. move aica out of sh4/interp.
revert to original div1 impl
serialize rtc clock value
cmake fixes: asan and logging options, -no-pie on x64/linux
2020-06-09 12:02:01 +02:00
scribam 2ee8ca37c0 CMake refactoring 2020-05-05 21:13:12 +02:00
Flyinghead 786c8e7744 get rid of libpng and use stb_image_write instead. OSX: static link SDL 2020-04-08 15:34:21 +02:00
Flyinghead 99f04ec753 nuke softrend 2020-02-26 23:41:05 +01:00
drhilarius c92a997f11 Fixes for cmake + msvc
Also now builds .asm file for dynarec jit with msvc
2019-05-16 03:05:16 -07:00
david miller c681dc77dc Win32 fullscreen via alt-enter 2019-05-01 19:11:35 -04:00
david miller a1df35d13d cmake cleanup 2019-04-12 19:42:14 -04:00
david miller cc9d5ec55b CMake/Master working, tested on windows with Clang && MSC (x86,x64) 2019-04-12 16:59:39 -04:00