Commit Graph

302 Commits

Author SHA1 Message Date
Flyinghead 897cc01f93 some lua bindings 2021-10-03 18:34:27 +02:00
Flyinghead 45ebc2239f ggpo: exchange verification data during sync 2021-10-01 16:07:32 +02:00
Flyinghead a6248905a0 ggpo: report UDP bind error. Better error reporting for net init
fix ggpo lib warnings
2021-09-30 17:24:51 +02:00
Flyinghead 699dcdaf5b Merge remote-tracking branch 'origin/master' into net-rollback
# Conflicts:
#	core/hw/maple/maple_if.cpp
#	core/rend/mainui.cpp
#	shell/libretro/libretro.cpp
2021-09-30 15:03:29 +02:00
Flyinghead 23d1f6b507 imgui: bug when drag scrolling in a combo's popup 2021-09-30 14:36:29 +02:00
Flyinghead 50a67dbd3e build fix 2021-09-16 20:27:57 +02:00
Flyinghead 4c53fcecfa ggpo: detect input size mismatch and abort gracefully 2021-09-16 19:24:49 +02:00
Flyinghead 7ecc0543f4 ggpo: fix common assert() sync.cpp:238 2021-09-08 16:21:54 +02:00
Flyinghead b362a55c04 ggpo: rollback glitches. win32 init. switch build. stats
Block net rollbacks until the current frame has been processed to avoid
glitched textures.
Call WSAStartup at init on windows
Display net stats when in game
Switch build fix
2021-09-03 11:11:46 +02:00
Flyinghead 69d0801121 net rollback with ggpo 2021-09-02 17:51:23 +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 77e7c25e9c iOS support. Work in progress 2021-08-06 10:30:30 +02:00
Flyinghead b027a6b9a1 android: add missing oboe lib links 2021-08-05 22:06:32 +02:00
Flyinghead 6bb4575c95 Merge remote-tracking branch 'origin/master' into libretro 2021-08-05 18:17:30 +02:00
Flyinghead 789fd21bb7 bsd build fix 2021-08-02 12:05:24 +02:00
Flyinghead 3fa97b5ce7 bsd build fix 2021-08-02 10:20:45 +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
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 4fa89c4a45 switch: build with miniupnp. set correct window size
organize header
remove unneeded switch-specific code
2021-07-15 12:19:11 +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 673c2988d6 libretro: backport libnx support. Fix log source paths 2021-07-07 19:01:37 +02:00
Flyinghead 7dbd79750c WIP libretro core update 2021-07-05 19:44:08 +02:00
flyinghead c5ce475359 Merge remote-tracking branch 'origin/master' into fh/directx
# Conflicts:
#	core/input/gamepad_device.cpp
2021-07-04 17:53:49 +02:00
scribam a5edd9c7ff deps: remove crypto folder (unused) 2021-06-19 10:46:22 +02:00
Flyinghead 7f49accc22 Merge remote-tracking branch 'origin/master' into fh/directx 2021-06-07 20:53:31 +02:00
Flyinghead b8c2a695b8 ui: allow drag scrolling anywhere. change some ui elements
allow scrolling by dragging (almost) anywhere
move physical devices before dreamcast ones
hide insets when displaying full screen window
reduce scroll bar size on android
fix controller mapping column sizes
2021-06-07 12:18:05 +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 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 025b447a9c arm32: replace old arm emitter with vixl 2021-05-15 11:41:00 +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
scribam e6a49ca4ec deps: use official SDL url for submodule 2021-04-04 15:38:37 +02:00
walknight 987b83def6 Fix missing ssize_t in MSVC build 2021-02-27 00:43:52 -06:00
walknight af1b2e2e69 Incorporate lr-flycast@e3b8bc9: Fix CHD alignment issues 2021-02-26 23:39:34 -06: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 b47e2abb7c restore zlib/zconf.h 2021-01-19 16:39:37 +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 46b48dcc68 cmake: link mingw statically 2021-01-05 15:00:49 +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 62a1e29670 modem: do not reject VJ option for Web TV 2020-12-29 18:02:06 +01:00
Flyinghead c522d7386d win32 build fix. macOS cmake: set min os to 10.9 2020-12-28 14:23:25 +01:00
Flyinghead 9c43a55c42 miniupnpc: fix include dir 2020-12-28 13:15:06 +01:00
Flyinghead 6e1bba851b miniupnpc proper commit 2020-12-28 12:35:58 +01:00
Flyinghead e7ae03ded9 modem: use miniupnp to open router ports 2020-12-28 11:31:26 +01:00
Flyinghead 579db85b3b modem: fix various picotcp tcp issues (re-xmit timers, segment split)
modem: delay receiving initial ppp handshake until after sending data
(WinCE)
reduce char receive delay to 143 us
make sure picosocket buffer is empty before shutting down socket
use 536-byte segment for tcp sockets
increase linger delay to 10 sec (avoid sending RST when waiting for FIN)
picotcp: disable window scaling option
dupe ack reception in full window mode should enter dupack mode
pick the correct segment to re-xmit in recover mode
both partial frames should be enqueued when splitting segment
fix wrong size when splitting segment and crash if splitting first one
make sure re-xmit timer is correct in tcp output
2020-12-04 11:23:15 +01:00
Flyinghead 1d17dbd121 modem: avoid spurious retransmit. limit ppp buffer size.
set actual modem receive speed to 48K
picotcp: avoid spurious retransmit after window full. set min RTO to 1
sec.
buffer incoming data until pico socket can accept it.
limit tcp payload to 512 bytes.

Issue #114
2020-11-30 12:52:46 +01:00
Flyinghead fad94ca759 upgrade imgui to 1.8. Allow scrolling settings by dragging empty space 2020-11-25 13:54:27 +01:00
Edward Li 1f97d59325 Fix Xcode 12 build error 2020-11-04 00:36:26 +08:00
flyinghead 700994340b cmake: add sdl to vstudio build. Fix WinCE crash 2020-07-23 18:50:55 +02:00
Flyinghead 75bb7483df fix mingw build 2020-07-13 21:10:32 +02:00
scribam 0ddcce4854 deps: Update glslang to version 8.13.3743 2020-04-28 14:19:33 +02:00
scribam cb8308387a deps: Update zlib to version 1.2.11 2020-04-14 20:47:54 +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 cc2ddad53b custom textures: support JPEG format 2020-04-07 14:32:09 +02:00
Flyinghead df7bb18e2c picotcp: keep track of ppp timer and cancel it on destroy 2020-04-05 12:44:39 +02:00
scribam e99aac3575 Remove "using namespace std;" 2020-03-30 23:00:43 +02:00
scribam c1b37b56bc Remove "sh4_if.h" and "stdclass.h" from "types.h" 2020-03-30 23:00:43 +02:00
scribam 0038dc3ae8 deps/xbrz: backport change from 1.7 to fix android debug build 2020-03-29 14:45:05 +02:00
scribam 65590e8c49 deps/xbrz: backport change from 1.7 to fix android build 2020-03-29 13:47:20 +02:00
scribam 427b428718 deps: Update xxHash to version 0.7.3 2020-03-29 13:47:20 +02:00
scribam fef96c125a deps: Update xbyak to version 5.891 2020-03-29 13:47:20 +02:00
scribam 484a7cdd10 deps: Update volk to commit ec2d513 2020-03-29 13:28:06 +02:00
scribam 5a9ad280a5 deps: Update glslang to version 8.13.3559 2020-03-29 13:28:05 +02:00
scribam 472053df42 deps: Update glm to version 0.9.9.7 2020-03-29 13:28:05 +02:00
scribam 0035871422 Replace RELEASE by NDEBUG 2020-03-29 10:12:32 +02:00
flyinghead 6831258a57 win: include SDL2 in deps 2020-03-21 17:10:01 +01:00
Flyinghead ad3dce1102 fix alignment issues reported by ubsan on x64
Fix chd lzma and zlib buffers alignment
Fix ChannelEx struct alignment
2020-03-14 22:23:13 +01:00
Flyinghead 1b8c2a63c2 stop being permissive 2020-02-26 23:00:29 +01:00
scribam 29f2391230 zip: use the public api to get a file from crc 2020-02-07 22:47:18 +01:00
Flyinghead 48efdac9b4 naomi: open by crc for zip and 7z. add mvsc2u crc rom info 2020-01-24 21:55:12 +01:00
Flyinghead b975f5d4bd chd: use after free 2019-12-23 18:29:14 +01:00
Flyinghead 7b8840a330 Merge remote-tracking branch 'origin/master' into fh/vulkan 2019-11-10 21:01:29 +01:00
Flyinghead c3b958c521 first attempt at a unit test 2019-11-04 21:37:16 +01:00
Flyinghead 2f363a7355 Merge remote-tracking branch 'origin/fh/gl-scale-mat' into fh/vulkan
# Conflicts:
#	core/rend/TexCache.h
#	core/rend/gl4/gles.cpp
#	core/rend/gles/gles.cpp
#	core/rend/gles/gles.h
#	shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2019-10-21 19:49:53 +02:00
Flyinghead 2a89874812 decouple imgui from gles renderer 2019-10-19 18:34:24 +02:00
flyinghead a6c56ba748 vulkan: windows support 2019-10-15 21:25:24 +02:00
Flyinghead b1defae3f7 vulkan renderer - WIP 2019-10-05 11:50:14 +02:00
Flyinghead dc228d0710 Fix memory leak in chdr lib 2019-09-28 19:29:29 +02:00
scribam c746a8be53 deps: Update xxhash to version 0.7.1 2019-09-06 20:45:17 +02:00
scribam bdf2029e99 Simplify libpng/zlib integration 2019-09-04 19:59:51 +02:00
scribam 9bdae4e8b3 deps: Simplify flac integration
It works because the path to the flac include dirs are defined in the
makefile/vs/xcode project.
This way, it would be also easier to rely on system packages instead of
compiling the bundled version.
2019-09-03 22:58:57 +02:00
scribam 21fa8ecfba deps/windows: Update dirent integration
Source: https://github.com/tronkko/dirent/blob/1.23.2/include/dirent.h
2019-09-02 22:57:53 +02:00
scribam 269297be18 Use _WIN32 to handle Windows specific code 2019-08-28 20:37:53 +02:00
scribam 61382316c9 Use __ANDROID__ to handle specific Android code 2019-08-28 20:37:53 +02:00
Flyinghead 93e009bf1a gl: use matrices for ndc and viewport calculations
Support VO_STARTX and VO_STARTY for shifting displayed frame
Add glm to deps
Calculate NDC, scissoring and viewport matrices once
Reduce code duplication
2019-08-12 19:56:44 +02:00
Flyinghead 1fffbad9fc Fix build warnings. config.h for flac 2019-07-28 18:49:59 +02:00
Flyinghead 1333d6f776 Remove TARGET_BOUNDED_EXECUTION. Build warnings and clean up 2019-07-28 17:37:04 +02:00
Flyinghead 14ddd01e39 compilation warnings 2019-07-12 17:53:17 +02:00
Flyinghead 449d150eba android: build fix
clean up files comitted by mistake
2019-07-10 09:57:08 +02:00
Flyinghead f3a91de1af Unify dreamcast, naomi and atomiswave builds WIP 2019-07-09 23:52:19 +02:00
Flyinghead 75cdd93001 remove webui, libwebsocket 2019-07-07 23:40:13 +02:00
Flyinghead c3a42b0b22 wince: online support
Use default asyncmap for LCP control packets
Delay reading from picotcp ppp stream when connecting
Accept [PSH,SYN] as valid tcp connect packet

Add PBA Tour Bowling 2001 as wince game
Disable vmem32 for StarLancer and Maximum Pool (req'd for online support)
2019-07-07 20:31:36 +02:00
Flyinghead aa36a65d13 log tag name change 2019-06-21 14:29:22 +02:00
flyinghead 7f0489ff28 visual studio compatibility
no modem support
no zip or 7z support so no naomi for now
hacked a .asm file as vs doesn't support inline assembly -> code dup
2019-03-30 19:26:05 +01:00
Flyinghead 3a847bf4da use GL_UNSIGNED_BYTE instead of GL_UNSIGNED_INT_8_8_8_8 2019-02-19 23:15:34 +01:00
Flyinghead 054b4662fd getting rid of `#ifdef GLES` to use the same code for all envs
Added latest GL 4.6 header files
2019-02-19 21:40:21 +01:00
Flyinghead 1276a58d87 move imgui renderer into rend/gles. Fix gl4 term function 2019-02-19 17:43:25 +01:00
Flyinghead a808a8f36f dynamically bind GLES functions
Compile with GLES 3.2 headers but no library
split gl_term into generic and platform-/loader-specific stuff
allow full desktop GL context creation with EGL
2019-02-19 17:21:50 +01:00
Flyinghead edba937b6f Save last rendered frame if gl driver doesn't preserve the swap buffers
Fixes flashing screen with nvidia shield when no frame is rendered
2019-02-14 12:40:17 +01:00
Flyinghead 7d4fa31e6e build fix 2019-02-06 22:37:08 +01:00
Flyinghead 598ea65c16 Android: use boolean prefs when possible. OSX build fix
Use jboolean instead of jint
Fix crash when navigating UI with popup keyboard's next button
Remove unused UI (PVR rendering)
OSX fixes
2019-02-06 22:28:04 +01:00
Flyinghead 1802c022fd UI with ImGui 2019-02-06 19:57:13 +01:00
Flyinghead cb8e81d473 arm64: direct memory access and jit rewrite
generates direct vmem read & write accesses
trap sigsegv and rewrite using slow path
add w29 to allocatable registers
get rid of literals and use pc-rel branching
minor optimizations and cleanup
2019-01-16 13:04:16 +01:00
Flyinghead ec7787c56a vixl: enable debug log on android 2019-01-11 15:57:37 +01:00
Flyinghead 67a4eb8f1f arm64 dynarec using vixl 2019-01-07 21:50:46 +01:00
Flyinghead bed7a83b77 Check CDI version to avoid loading any crap as a CDI image and crashing
Less console spam, better error reporting
2019-01-02 16:43:36 +01:00
Flyinghead cfc215233f Naomi: 7z archives - Split/parent roms 2018-11-23 18:46:21 +01:00
Flyinghead 4e56432a2b Naomi: M1/M2 mame roms support. M4 carts still WIP 2018-11-05 22:53:38 +01:00
Flyinghead 2003fc88d7 CHD v5 support 2018-11-02 10:14:25 +01:00
Flyinghead aab0a4e36d Modem: Fix VC 2K game sport games series 2018-10-26 18:14:34 +02:00
Flyinghead ff01e3521b Better NAOMI JVS emulation 2018-10-11 10:09:28 +02:00
Flyinghead 2c343fddf2 modem: Transparent IP proxy. Removes the need for a TAP/TUN device 2018-09-24 19:06:14 +02:00
Flyinghead 7ce4fccb37 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-20 17:28:41 +02:00
Flyinghead c5efc3531b ppp: Fix FCS calc, better LCP negotiation, pppdump
Fix an error in FCS calculation of sent packet when header compression
is not being used. Fixes PSO connection issue.
Added support for Async Char Map and Magic number LCP options.
Added pppdump-compatible dump file for easier debugging.
2018-09-19 10:56:10 +02:00
Flyinghead 21b685c812 Spurious character in OS X code path 2018-09-18 19:22:58 +02:00
Flyinghead eb62b79791 OSX: Build fix 2018-09-17 18:41:44 +02:00
Flyinghead fc96593e80 Fix android build 2018-09-17 17:52:29 +02:00
Flyinghead 1314a1551d picotcp: add msvc-specific arch include. Win: never stop net stack 2018-09-17 15:29:20 +02:00
Flyinghead 843c912d86 win vs: more compile fix 2018-09-17 14:48:43 +02:00
Flyinghead ae829405b5 picotcp msvc fix: __inline, usleep 2018-09-17 14:31:27 +02:00
Flyinghead bc7fed4919 picotcp: wrong ifdef value 2018-09-17 14:10:53 +02:00
Flyinghead 92a39a1fc4 Static picotcp config for msvc. Fix warnings in modem.cpp. 2018-09-17 14:05:03 +02:00
Flyinghead bc6a8f451a Fix picotcp on Windows
Automatically configure tap IP address, route and proxy arp using iphlpapi.
Partial port to MINGW.
2018-09-17 12:59:52 +02:00
Flyinghead 6699a8a294 Use picotcp for ppp protocol processing. Now all is needed is a tap or
tun interface.
2018-09-15 21:41:54 +02:00
Flyinghead ce3d8f2baa picotcp initial commit - missing files 2018-09-15 21:34:50 +02:00
Flyinghead aad38f965b picotcp initial commit as of 4caf65005045f0d34592274a5edd20c0d40d83f7 2018-09-15 21:28:13 +02:00
Stefanos Kornilios Mitsis Poiitidis d4f12fae64
Merge pull request #1327 from gameblabla/voidlinuxmusl
WIP: Fixes for Musl
2018-08-25 21:25:02 +03:00
gameblabla 55645a6fb7
Fixes for Musl 2018-08-24 23:34:03 +02:00
Ender's Games eb11d19687 Include header guards to prevent multiple inclusions 2018-08-21 09:28:54 -04:00
David Miller 1a4f597bd8 ngen_mainloop for x86 updated to use PC value from context, CDI warning
and removed redundant header causing build failure on libwebsockets (VS)
2018-08-20 23:49:15 -04:00
Ender's Games 8d9d40dffc Core: Changes provided by Android NDK compiler 2018-08-19 01:54:15 -04:00
Flyinghead 04b84b90e3 Merge master into fh/mymaster 2018-08-13 18:01:24 +02:00
Ender's Games f40826614a libpng: address a non-compliant define 2018-08-07 23:36:20 -04:00
Ender's Games 38edff3dae libpng: expose NEON w/out enabling 2018-08-07 23:18:05 -04:00
TwistedUmbrella 1f688173b8 libpng: restore original configuration 2018-08-07 23:02:56 -04:00
TwistedUmbrella ce71108efa libpng: update zlib references 2018-08-07 23:02:56 -04:00
TwistedUmbrella ae8c41077f libpng 1.6.34 [September 29, 2017] 2018-08-07 23:02:56 -04:00
TwistedUmbrella 66c3cb8a33 libpng 1.6.32 [August 24, 2017]
Courtesy of @mrfixit3000 ( https://github.com/reicast/reicast-emulator/issues/1121#issuecomment-383257219 )
2018-08-07 23:02:56 -04:00
Stefanos Kornilios Mitsis Poiitidis b121fd1ba2 Revert "ngen_mainloop for x86 updated to use PC value from context, CDI warning"
This reverts commit 38539a9c2f.
Reason: Breakage reported by beta testers

See #1260
2018-08-07 14:30:42 +02:00