Commit Graph

1998 Commits

Author SHA1 Message Date
Flyinghead cd0849a8f5 pvr: use new logging 2019-07-01 11:42:00 +02:00
Flyinghead 74186d2518 naomi: use new logging 2019-07-01 11:14:18 +02:00
Flyinghead c60e2d29e8 modem: add termination function to stop pico thread
use new logging
log: set max verbosity to warning for release builds
2019-07-01 10:28:31 +02:00
Flyinghead a31f573c69 maple: use new logging 2019-06-30 23:38:58 +02:00
Flyinghead fcc6fd784c holly: use new logging 2019-06-30 23:02:26 +02:00
Flyinghead 58e1c68eb8 flashrom, gdrom: use new logging 2019-06-30 22:41:55 +02:00
Flyinghead cf6887a5d0 aica: use new logging 2019-06-30 22:09:32 +02:00
Flyinghead 5881791817 win32: yabf 2019-06-30 21:54:37 +02:00
Flyinghead 20bff396c3 win32: more build fix 2019-06-30 21:46:33 +02:00
Flyinghead 40c841a057 win32: build fix 2019-06-30 21:39:38 +02:00
Flyinghead 7bcd985276 win32: logging fixes 2019-06-30 21:28:30 +02:00
Flyinghead 8404c6322c New logging framework stolen from dolphin 2019-06-30 21:06:46 +02:00
Flyinghead ec0d21148d L.O.L and Miss Moonlight need RTT to vram option 2019-06-30 13:33:15 +02:00
Flyinghead 838cbe59e3 gl4: get rid of scaling params and use normalized coords in abuffer
add Eternal Arcadia and Yu Suzuki Game Works to render rtt to vram game list
2019-06-30 11:40:42 +02:00
Flyinghead a14bf29f5f gl4: scaling and coords must be different with rtt vs screen 2019-06-28 18:26:36 +02:00
Flyinghead 5f5f300604 gl4: fix issue with RTT regarding buffer dimension
fixes shadow in THPS 1 & 2
2019-06-28 17:37:06 +02:00
Flyinghead 0a95a60ac6 less verbose logs. unbuffered stdout when test automation 2019-06-28 11:42:35 +02:00
Flyinghead 99778a7715 per-pixel renderer: RTT might need bigger buffers than screen 2019-06-27 22:41:16 +02:00
Flyinghead e6b8c46557 atomiswave: fix coin error 2019-06-27 09:03:49 +02:00
Flyinghead 871260cfcf naomi: better error handling when loading a gdrom
x64 and arm64 dynarecs: Support 64-bit immediate readm (ninjaslt)
2019-06-26 19:06:30 +02:00
Flyinghead 927298f353 naomi: fix coin chute (compiler bug?). Disable verify in TA parsing
Fix F1 World Grand Prix for Dreamcast
2019-06-25 19:10:20 +02:00
Flyinghead 7dab84fd80 vmem handlers: last block wasn't mapped 2019-06-24 22:56:07 +02:00
Flyinghead c27975fb37 ssa: don't propagate const over interpreter fallback, sync_sr and sync_fpscr
rec-x64: support immediate args for xtract
Set write rtt to vram for Super Speed Racing (a.k.a Flag to Flag)
2019-06-24 18:56:09 +02:00
Flyinghead f862903a74 Don't unprotect vram when a texture is updated
Adjacent textures in other pages still need vram protection
Fixes texture corruption in many games since ad5ab6240b
2019-06-23 21:30:46 +02:00
Flyinghead 91717d706a wince: disable vmem32 for Marionette Company 1 & 2 and Rune Jade 2019-06-23 17:06:59 +02:00
Flyinghead 112e272075 renderer: support non-integer v-scaling factor
Fixes missing half-screen in Wacky Races (PAL), Buzz Lightyear of Star Command (PAL),
Tom Clancy's Rainbow Six - Rogue Spear + Mission Pack - Urban Operations (PAL), Sega Worldwide Soccer 2000 (PAL)

Input record and replay support for test automation
2019-06-23 12:17:24 +02:00
Flyinghead 862d892e89 texture corruption resulting from misaligned page unprotection 2019-06-21 23:31:45 +02:00
Flyinghead 49b49c5207 don't write-protect BIOS and IP.BIN blocks
Fixes Grandia II crash at start on arm.
Fix bug in bm_GetBlock()
2019-06-21 16:18:34 +02:00
Flyinghead b226544d03 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-21 14:37:32 +02:00
Flyinghead aa36a65d13 log tag name change 2019-06-21 14:29:22 +02:00
Flyinghead d1550357ce fix verify failed when switching to overview (app list) on android 2019-06-21 14:10:04 +02:00
Flyinghead 5b2ad02fa2 this wasn't supposed to be committed 2019-06-21 13:33:55 +02:00
Flyinghead 3e8cdc76f3 wince: fix load state hanging 2019-06-21 13:17:34 +02:00
Flyinghead f29569cf5d more name change 2019-06-20 23:46:20 +02:00
flyinghead a49fbc797f more name change 2019-06-20 22:57:32 +02:00
Flyinghead 9f66847469 name change 2019-06-20 21:50:19 +02:00
Flyinghead af2ba55bac rec-arm: fix immediate writem bug. clean up
get rid of unused and unstable opts
div32p2 implementation (untested)
Fixed canonical test mode
2019-06-20 19:31:43 +02:00
Flyinghead 70ea7c4d76 ssa: use canonical implementations to compute const ops 2019-06-20 19:27:21 +02:00
Flyinghead 6ed098a929 wince: enable code block protection 2019-06-19 22:55:47 +02:00
Flyinghead cb338ae106 enable NoBatch when FullMMU is on for WinCE games 2019-06-19 22:52:19 +02:00
Flyinghead becb0a5efe renderer: when a RTT frame is rendered, swap any pending frame first
Fixes Tony Hawks 1 & 2 black screen issue
2019-06-19 15:10:28 +02:00
Flyinghead ad5ab6240b refactor vram lock/unlock code into new vmem.cpp functions 2019-06-19 14:49:14 +02:00
Flyinghead 13a2f8bc61 win32: build fix 2019-06-19 11:14:12 +02:00
Flyinghead 318852e261 dynarec: use mprotect to protect code areas
All ram pages containing code are write protected. In that case, no need
for block checks. Memory reads in the same block(s) can also be executed
at compile time and the results propagated as constants.
When a write is detected in a protected area, the corresponding blocks
are discarded and recompiled using traditional (slow) block checks.

Backported the blkmap code finding change from upstream.
Use smart pointers for block management to avoid reference issues.
Added WriteAfterWrite ssa pass
Fixed crash in ssa ConstProp pass when op list is modified
2019-06-19 11:01:33 +02:00
Flyinghead 0b8a312fea rec-arm64: simplify read/write mem rewrite logic
pass exception pc in x2 reg for both slow/fast paths
infer the op type and size from the armv8 op encoding
rewrite doesn't need access to the block anymore
add support for some imm args
2019-06-18 15:07:32 +02:00
Flyinghead 8d8e694e23 swap setpeq args in ssa if first is imm 2019-06-18 13:25:43 +02:00
Flyinghead 3d8b0df789 rec-x64: setpeq native impl. Fix imm mem write for byte and short
Optimize fneg, fabs and sub
Fix cvt_f2i
Fix fsca with imm arg
2019-06-18 13:16:42 +02:00
Flyinghead 419370084e rec-x86: ssa support 2019-06-14 23:34:18 +02:00
Flyinghead 8506355447 wrap aica ram to 8MB instead of only 2MB (dc)
fix crash with GuruGuru Onsen 2 and HeadHunter
2019-06-13 21:58:09 +02:00
Flyinghead 7120512205 wince: use exceptions in dyna/decoder.cpp and catch them in driver.cpp 2019-06-13 18:36:08 +02:00
Flyinghead e0949fb9aa Fix div matching: support 64-bit div and correct handling of negative
Some games do 64-bit / 32-bit division (Pro Pinball Trilogy)
DIV0s/1 use and output 1's complement numbers
The final reminder fixup wasn't correct for negative dividend
2019-06-13 18:27:21 +02:00
Flyinghead de86aae73e rec-arm: XTRCT implementation 2019-06-12 17:46:53 +02:00
Flyinghead c49694599c rec-arm: use ssa regalloc
add `subc a,a` expression to simplify
2019-06-12 17:31:37 +02:00
Flyinghead e537d92bcc ssa: don't simplify FPU ops because of Inf of NaN 2019-06-12 08:52:42 +02:00
Flyinghead ff745ee4fe fix xtrct canonical implementation 2019-06-10 19:17:24 +02:00
Flyinghead a4453c0a81 Fix vmem in 512MB mode 2019-06-10 19:01:56 +02:00
Flyinghead 2c3b516341 x64: use eax instead of ecx for mem reads return value 2019-06-10 14:48:54 +02:00
Flyinghead 8819c9d536 arm64: handle pref with imm arg. some refactoring 2019-06-10 14:35:27 +02:00
Flyinghead 3dd16e80d2 arm64 and x64 recs use ssa regalloc 2019-06-10 13:57:10 +02:00
Flyinghead 623d70d710 ssa register allocator and more ssa stuff 2019-06-09 19:41:42 +02:00
Flyinghead bd30752b86 Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx 2019-06-08 13:04:35 +02:00
Flyinghead 0890150dda dynarec: ssa missing changes 2019-06-04 21:27:45 +02:00
Flyinghead 692556ca5d dynarec: ssa initial commit 2019-06-04 21:20:34 +02:00
Flyinghead b8a00b9c7d rec-arm64/x64: only do regalloc on rewrite when needed 2019-05-28 20:03:08 +02:00
Flyinghead 714de0303e rec-x64: don't save fp regs when calling mem access handlers 2019-05-28 19:43:56 +02:00
Flyinghead cafd1c3c49 rec-arm64: do a full regalloc when rewriting mem access in mmu mode 2019-05-28 19:43:17 +02:00
Flyinghead 4540acc22e mmu: optimize mmu_full_SQ() 2019-05-28 19:41:21 +02:00
Flyinghead 8cb86de026 Make SMCCheck=Fast work on arm64
The issue is that flushing the dynarec cache makes rewriting fail for
the currently executing block. So this avoids flushing the cache too
often but the problem remains.
2019-05-28 19:40:30 +02:00
Flyinghead 51cf6cf271 regalloc: handle mem ops differently in wince mode
Flush all current writeback spans before the op
Flush instead of killing spans in case the mem access throws an
exception
Some optimizations
2019-05-28 19:37:24 +02:00
Flyinghead c6e92028f2 regalloc: cleanup. no functional change 2019-05-27 22:44:51 +02:00
Flyinghead 5b2cef3fdd dynarec: add negc and xtrct op codes
native implementation of negc and xtrct for x64 and arm64
rec-arm64: pass exception pc in w27 instead of sh4 context
inline mmu_intruction_translation() and clean up
2019-05-26 13:30:05 +02:00
Flyinghead 506756ea37 android: use common rend_thread() instead of a specific one
fixes the swap pending issue (double swap) on android
2019-05-25 18:48:00 +02:00
Flyinghead 2c91ca96fc rec-arm64: fix transitions to/from mmu
exit mainloop() before regenerating it
make sure dynarec cache is cleared between runs
when deserializing, clear dynarec cache after setting mmu state
2019-05-25 18:03:18 +02:00
Flyinghead e7e387b443 wince: enable/disable vmem32 based on mmu state 2019-05-24 18:19:33 +02:00
Flyinghead cc4b59f5fa rec-arm64: generate main loop dynamically
different code for mmu vs. !mmu
Switching mmu state not yet supported
2019-05-24 18:18:32 +02:00
Flyinghead fa10b9ed2f Wrong offset in VramLockedWrite 2019-05-24 17:44:54 +02:00
Flyinghead 61a867e1ad FPCB was only partially mprotected 2019-05-24 17:40:10 +02:00
Flyinghead e3d95f2258 wince: unify _vmem and vmem32. Use 4GB virtual space on 64-bit arch
On 64-bit architectures, _vmem first tries to allocate 4GB then falls
back to 512 MB.
The same virtual space is now used by _vmem and vmem32 (mmu)
2019-05-23 11:40:33 +02:00
Flyinghead bc42f8a785 wince: revert prior serialize changes 2019-05-22 16:44:45 +02:00
Flyinghead 5b7d07315b wince: clean up unused stuff 2019-05-22 15:15:53 +02:00
Flyinghead 94e03b2cfd win32: fix build. disable appveyor msvc build 2019-05-22 14:28:11 +02:00
Flyinghead c2c0215e1b Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-05-22 14:13:00 +02:00
Flyinghead fb76efb08d Standard functions for virtual mem alloc/protect/map/... 2019-05-22 11:41:12 +02:00
Flyinghead 86cabf8553 wince: delete bogus half-life game id 2019-05-21 19:28:54 +02:00
Flyinghead d55d803c16 gles2 build fix 2019-05-21 19:11:47 +02:00
Flyinghead 2e5eaa6e2b Log error when writing to flash ram 2019-05-21 18:27:43 +02:00
Flyinghead 37f379fe6b Better HBlank implementation 2019-05-21 18:27:15 +02:00
Flyinghead 582c9f358c rec-cpp: crash when running rom 2019-05-21 18:18:47 +02:00
Flyinghead 3d67d39187 fix warning 2019-05-21 16:50:38 +02:00
Flyinghead 3bf32f5adf Merge remote-tracking branch 'origin/fh/limitfps-option' 2019-05-21 11:42:07 +02:00
Flyinghead a17b8355e5 gdrom: use memset to reset read_buff 2019-05-21 11:34:51 +02:00
Flyinghead 74e7a95484 simplify test 2019-05-21 11:34:15 +02:00
Flyinghead 121e6b200b Reset gdrom params when changing disk 2019-05-21 11:29:44 +02:00
Flyinghead a5ae8eeef0 Reset flashrom on reset 2019-05-21 11:29:25 +02:00
Flyinghead 25a7fede2e save states: don't serialize gamepad state 2019-05-21 11:29:10 +02:00
Flyinghead 05f461c3c5 Use FB_R_SOF2 only to detect direct FB writes
Fixes flashing video in Virtua Fighter 3tb
2019-05-21 11:26:48 +02:00
Flyinghead 74844c8940 disable per-pixel renderer on OSX 2019-05-21 11:26:18 +02:00
Flyinghead 433590b610 rend: Add per-strip TR sort option 2019-05-21 11:24:03 +02:00
Flyinghead 4cfcf2ea83 alsa: don't spam console if underrun 2019-05-20 19:13:08 +02:00
Flyinghead 07b3f83343 audio: new option for automatic limitFPS
LimitFPS now can be enabled, disabled or automatic. The latter option
doesn't wait for audio if the emulator is running slow (over the last 2
secs)
Renamed `Audio Backend` to `Audio Driver` in the UI.
2019-05-20 19:12:28 +02:00
Flyinghead ac43a8c54e don't swap gl buffer until FB_R_SOF is set to the rendered framebuffer
Fixes flashing screens in South Park: Chef's Luv Shack, NFL Quarterback
Club 2000
Glitchy videos: The Next Tetris, Nightmare Creatures II, Rune Jade
Flashing rear-view mirror in Metropolis Street Racer
2019-05-17 17:13:48 +02:00
Flyinghead 8d078a923b wince: force aica.NoBatch (missing change) 2019-05-17 17:01:20 +02:00
flyinghead a6b773a23e
Merge pull request #1603 from reicast/fh/gles-dynload
Fix build errors on GL ES 2.0 platforms (RPi...)
2019-05-17 12:15:07 +02:00
flyinghead 37d95e9fea
Merge pull request #1606 from reicast/dd/cmake-msvc-fixes
Fixes for cmake + msvc
2019-05-16 18:40:08 +02:00
hissingshark b0b63d4894 Fix typo induced build error 2019-05-16 16:05:47 +01:00
flyinghead 3ef363733d wince: fix setjmp/longjmp on windows 2019-05-16 16:57:35 +02: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
flyinghead 66cbc0acf6 wince: dynarec boost 1.2 -> 1.5 2019-05-15 15:26:08 +02:00
Flyinghead f0ebd2b818 wince: force aica.NoBatch 2019-05-15 14:00:36 +02:00
Flyinghead 6053a465f7 fix win32 build 2019-05-15 13:07:52 +02:00
Flyinghead d9f2f9ae1d rend: define GLES2 and GLES3
GLES2 will only use GL ES 2.0 API functions, compile-time linked
GLES3 loads functions dynamically and supports both GL ES 2.0 and 3.0
2019-05-15 12:54:03 +02:00
Flyinghead 0dd555c5c8 Merge branch 'master' into fh/gles-dynload 2019-05-15 11:49:57 +02:00
Flyinghead 2434d0183e wince: better sh4 instr cycle counting. Don't hash blocks if mmu on
Use actual instr latency cycles, including fp instr
Decrease the WinCE boost ratio to 1.2
Don't hash blocks when mmu on
2019-05-14 12:38:56 +02:00
David Guillen Fandos 3463872fdf Fix small clang build issue. 2019-05-13 01:35:40 +02:00
David Guillen Fandos 65e2218792 Fix ARM64 rewrites with NO_RWX_PAGES
Tested on nvidia jetson and Android, so far works great.
2019-05-13 00:23:18 +02:00
David Guillen Fandos aa4fc8dd60 Move cache invalidation to vmem_platform and implement NO_RWX on arm64
Still not functional yet, this commit breaks arm64 on android for instance.
Rewrites are not yet figured out, will push them in the next commit.
2019-05-12 23:25:43 +02:00
David Guillen Fandos 3b760f9869 Add FEAT_NO_RWX_PAGES and implement it for x64 CPU (Win and Linux)
Tested: Both with and without the feature, works only for x64 CPUs for
now, but supported in both windows and linux (see vmem implementation
for it, using mem-mapped files).
2019-05-12 22:02:57 +02:00
David Guillen Fandos 1a2b1c8672 Remove traces of memory manager from Jit driver.
Still stuff to be removed in the Naomi file handler and the ARM
AREC, which need to get ported to the new vmem interface.
2019-05-12 19:47:11 +02:00
David Guillen Fandos cbc2af29ad Fix small issues for mingw builds on Linux
Doenst like the paths, big surprise. I tipically build it like:

  make platform=win32 CXX=x86_64-w64-mingw32-g++ \
       WINDRES=x86_64-w64-mingw32-windres \
       CC=x86_64-w64-mingw32-gcc
2019-05-12 17:44:19 +02:00
Flyinghead 15ce3ab5fa OSX build fixes 2019-05-12 16:53:30 +02:00
David Guillen Fandos 55e7c17030 Fix minor build issue with madvise flags. 2019-05-12 13:40:18 +02:00
David Guillen Fandos 6cba98b70a Allocate missing SH4CB and make lock more forgiving. 2019-05-12 00:02:24 +02:00
David Guillen Fandos 1a4323c1ce Fix runtime issue in Windows target, was not mapping pages correctly. 2019-05-11 23:13:58 +02:00
David Guillen Fandos 4458dac49a Fixing some missing imports and a bug in pointer tracking. 2019-05-11 22:35:17 +02:00
David Guillen Fandos 555b39b7e5 Merge remote-tracking branch 'origin/master' into vmemstuff2 2019-05-11 22:11:24 +02:00
David Guillen Fandos b74db6ef53 Moving vmem to separate files with a proper interface.
Works so far for Linux and Android, need to do some testing on Windows.
2019-05-11 22:09:52 +02:00
flyinghead ec9706876c
Merge pull request #1596 from davidgfnet/x86fix
Hack-fix the x86 JIT so that it builds.
2019-05-11 14:27:41 +02:00
David Guillen Fandos 08285cf49c Hack-fix the x86 JIT so that it builds. I guess that's why Win32 fails too 2019-05-11 13:37:13 +02:00
flyinghead 95a13d79b7
Merge pull request #1593 from reicast/fh/gl3-fallback
x11: fix fallback to gl 3.0. fix crash when switching renderer.
2019-05-11 00:38:44 +02:00
flyinghead 7f2fcfde6f wince: don't use setjmp/longjmp on windows 2019-05-10 22:31:59 +02:00
flyinghead e6794743ad wince: rec-x64 fix for win32
fix GDI on windows
2019-05-10 21:21:30 +02:00
David Guillen Fandos 2389903a30 Add dummy serialization for non-modem builds (right now only Win) 2019-05-10 19:38:45 +02:00
David Guillen Fandos be1ecbaa8b Fix TARGET_NO_NVMEM and deprecate TARGET_NO_EXCEPTIONS
Linked them both toghether since you can't really define one and
not the other (plus Linux honors one windows the other in some
cases).
More refactoring on this area to follow.
2019-05-10 18:57:28 +02:00
Flyinghead c5a74ccfb7 Fix Sort-DMA 2019-05-10 16:10:07 +02:00
Flyinghead eb725f9e66 x11: fix fallback to gl 3.0. fix crash when switching renderer.
Fallback to GL 3.1 when GL 4.3 isn't available was broken.
Fallback to GL 3.0 instead of 3.1.
Fix crash when switching renderer (per-pixel, per-triangle)
2019-05-10 11:15:44 +02:00
David G. F afcd7a08a3
Merge pull request #1571 from davidgfnet/modemfix
Add ENABLE_MODEM and rework makefiles to support it.
2019-05-10 01:09:35 +02:00
Flyinghead 77c1389921 wince: disable vmem32 for games that abuse it 2019-05-09 21:47:01 +02:00
David G. F 1b89fcd5ba
Merge pull request #1587 from davidgfnet/master
Minor improvements for ARMv8
2019-05-09 18:45:30 +02:00
Flyinghead 05577b64f7 wince: return actual vmu system area in GetMediaInfo
revert previous default vmu change
2019-05-09 11:25:17 +02:00
David GF 5ba56627a9 Optimize rec-ARM64 by emitting less instructions on loads.
Fast load uses 3 or 4 insts, whereas slow load takes 2+.
On A57 measured ~3% perf, which is expected for an OOO CPU, hopefully
perf will be much better on A53 and other in-order CPUs.
2019-05-09 00:10:01 +02:00
Flyinghead dc7f608461 wince: fix vmu issues 2019-05-08 22:31:59 +02:00
David G. F 15c7e982ca
Merge pull request #1585 from davidgfnet/sdl2audio
Add SDL2 audio backend.
2019-05-08 22:20:49 +02:00
Flyinghead 3cd9736fca Ignore vscalefactor if < 1
fix black screen on some intel platforms
2019-05-08 21:33:49 +02:00
David Guillen Fandos ed8bcd7329 Add SDL2 audio backend.
The backend supports 44.1KHz and 48KHz (with resamping). The resampler
is not great, has some noise but no idea where it comes from.
This enables the switch port, since using SDL2 is the quickest way
to get audio working.
TODO: Add support in the cmake, once cmake is fixed at master/HEAD.
2019-05-08 21:04:11 +02:00
Flyinghead c330cdd88e fix scissor test and vertical scaling when using the Y scaler
Fixes missing bottom half-screen in Mr Driller (PAL, 60 Hz), Kaen Seibo,
Mahjong Taikai II Special, Pon'n'Music 1 and 2 when in TV Composite and
RGB.
Fixes stretched screen in Cho - Hatsumei Boy Kanipan.
2019-05-06 15:23:54 +02:00
Flyinghead f2696a4b47 osx: add new files to project 2019-05-03 11:53:14 +02:00
skmp 3f8328da25
Merge pull request #1568 from reicast/baka/audio_options
AUDIO: Allow backend specific settings
2019-05-03 03:57:17 +03:00
skmp 397302b379
Merge pull request #1579 from reicast/ghz/speedlimit
audio wait only if fullspeed (improvements over #1577)
2019-05-03 03:53:43 +03:00
Christoph "baka0815" Schwerdtfeger 99033e297c AUDIO: Implement integer and checkbox options
I remove "text" as a possibility for the moment as we're currently not having **any** text option.
2019-05-02 20:24:49 +02:00
Christoph "baka0815" Schwerdtfeger 139ef22408 AUDIO: compile fixes for coreaudio, dsound and libao 2019-05-02 19:02:34 +02:00
Christoph "baka0815" Schwerdtfeger dc709c604f ALSA: prefix output with "ALSA:" 2019-05-02 18:49:44 +02:00
Christoph "baka0815" Schwerdtfeger 5678556cb6 ALSA: Rework initialization of pcm device
As we can now configure the alsa device in the GUI, it's no longer necessary to write the first working device back to the configuration.
Also there is now the "auto" device to automatically try to initialize the alsa device.
2019-05-02 18:48:09 +02:00
Christoph "baka0815" Schwerdtfeger 684ba26ec0 AUDIO: Reorganize settings
Move DSP and FPS above the slug selection so that all slug specific settings are after the slug selection.
2019-05-02 18:41:45 +02:00
David Quintana f307f9d5ad Simplify. Smoothing adds no value there. 2019-05-02 03:36:10 +02:00
David Quintana ac9e6d147d Change speed-dependant limiting to rely on time dilation instead of frame rate. 2019-05-02 03:21:22 +02:00
david miller c681dc77dc Win32 fullscreen via alt-enter 2019-05-01 19:11:35 -04:00
David Miller d6f682a329 audiostream only wait if at speed 2019-05-01 12:01:45 -04:00
flyinghead 0d19da2b4b wince: disable vmem32 on windows 2019-04-30 17:43:21 +02:00
Flyinghead f0fab09d7c yet more win32 fix 2019-04-29 18:49:31 +02:00
Flyinghead 920a93b19c more win32 fix 2019-04-29 18:38:28 +02:00
Flyinghead 4f4d99872b win32 build fix 2019-04-29 18:33:14 +02:00
Flyinghead 810b8a59da wince: 32-bit virtual mem space
use fast mem read/write for x64 and arm64 dynarecs
2019-04-29 18:23:00 +02:00
Flyinghead 693a6c97f3 vmem: revert aica ram mapping change. Fix ptr diff overflow in 64-bit
Aica ram mapping conflicts with P4 store queues in arm dynarecs
2019-04-28 20:46:18 +02:00
Flyinghead 6b78e1f879 fix dynarec regression 2019-04-28 20:41:39 +02:00
David Guillen Fandos 3692ea7ae6 Improve stdclass.h/cpp support for non-Linux non-Windows platforms
Simplifies having implementation on platform separated files, which is a
pain for platforms which are not Windows but not Linux either (and yet
support pthreads).
Some minor cleanup here and there while we are at it.
2019-04-27 14:34:10 +02:00
David Guillen Fandos 7b50d5df8c Add ENABLE_MODEM and rework makefiles to support it. 2019-04-27 12:05:13 +02:00
Christoph "baka0815" Schwerdtfeger 0a3c361da2 AUDIO: Allow backend specific settings 2019-04-24 21:41:38 +02:00
Flyinghead 011849ea74 wince: arm64 dynarec fixes 2019-04-19 17:20:55 +02:00
Flyinghead 553f6054ce NO_MMU build fixes 2019-04-19 11:56:11 +02:00
Flyinghead 9920880987 dynarec: reserve code cache space for frequently changing blocks
detect frequent SMC check failures and use a specific code cache area
for these blocks.
flush the temp area when full but keep the main code cache area
2019-04-19 11:45:05 +02:00
Flyinghead 76348b13ce wince: use cpu ratio of 2 in dynarec 2019-04-19 09:58:25 +02:00
Flyinghead d82e5e2017 don't use mmu for dma 2019-04-18 22:48:37 +02:00
Flyinghead 0f34d776f6 wince: delete sr.FD hack, restore FD block check in x64 rec
use longjmp for interpreter fallback exceptions
2019-04-18 14:15:01 +02:00
Flyinghead d68da6bdd4 wince: let fp disable exception run before compiling a block 2019-04-18 13:55:10 +02:00
Flyinghead a25918839b save fpu regs when sr.FD is set, and restore them when unset 2019-04-15 19:02:10 +02:00
Flyinghead 5d6e96463c x64 and win32 build fixes 2019-04-15 18:31:15 +02:00
Flyinghead dece3fc13e wince: use setjmp/longjmp instead of try/catch for dynarecs
WinCE fast mmu implementation
WIP arm64 dynarec
2019-04-15 18:02:34 +02:00
david miller 3157520dee mingw64 fixes 2019-04-12 19:15:31 -04:00
david miller 6539b8c247 _mkdir guard 2019-04-12 18:24:11 -04:00
david miller 803cad95f9 gcc flags & misc 2019-04-12 18:13:09 -04:00
david miller 68ee192ad4 compiler def. fixes 2019-04-12 18:08:36 -04:00
david miller b6c234b71b revert to using strcasecmp for other platforms 2019-04-12 17:19:40 -04:00
david miller cc9d5ec55b CMake/Master working, tested on windows with Clang && MSC (x86,x64) 2019-04-12 16:59:39 -04:00
David Miller 3d1b82854e
Merge branch 'master' into fh/win32-winresize 2019-04-12 13:03:30 -04:00
flyinghead 8cdbb9c2fd
Merge pull request #1548 from reicast/fh/float-vmu
Float VMU option. Android renderer native thread. 90° screen rotation option. AW fixes.
2019-04-10 21:53:41 +02:00
Flyinghead 13341ecd59 maple: process_kcode -> transform_kcode 2019-04-10 11:31:08 +02:00
Flyinghead 0445542ec2 gl: 90deg screen rotation option. Fix scissor/clip wrt scale/stretch
90deg CC screen rotation option for some arcade games
Fix scissoring and clipping when screen scaling/stretching/rotating
Clear shader cache when screen rotation changes
Properly delete all gl programs and shaders when needed
2019-04-09 15:18:48 +02:00
Flyinghead 37a533740b win32: close thread handle when finished 2019-04-09 10:37:49 +02:00
Flyinghead 1b04ef4cb1 Get rid of RTC in settings 2019-04-08 22:09:22 +02:00
Flyinghead 0a6f503efc Don't use screen stretching parameter for RTT 2019-04-08 21:51:59 +02:00
Flyinghead b87a1cc31a atomiswave: setup maple controls depending on game
more lightgun fixes but still not working
2019-04-08 19:14:55 +02:00
baka0815 56374377dd
Merge pull request #1543 from reicast/baka/select_audio
AUDIO: Make backend configurable
2019-04-08 18:33:53 +02:00
Flyinghead cf7434a9e6 atomiswave: fix coin input. Subclass sega controller instead of #def 2019-04-08 17:09:10 +02:00
Flyinghead f5a60ee5f1 New option to display VMUs in game 2019-04-08 15:54:37 +02:00
Flyinghead 47bb509f02 Add horizontal screen stretching option
fix scissor test when scaling/stretching
fix infiniloop when starting a game fails
2019-04-08 00:21:06 +02:00
Flyinghead 408d16b299 imgui: clear color buffer before drawing background tex
fixes blinking edges on nvidia shield and other glitches
2019-04-07 23:33:24 +02:00
Flyinghead 4b7e4f4677 custom textures: fix race conditions 2019-04-06 19:38:00 +02:00
Flyinghead e8205e568b naomi/aw: fix atomiswave and naomi inputs
atomiswave analog axes support
map atomiswave and naomi driving games inputs
2019-04-06 19:36:57 +02:00
Christoph "baka0815" Schwerdtfeger 16f9200bfa AUDIO: Allow selection of backend 2019-04-05 22:22:46 +02:00
Christoph "baka0815" Schwerdtfeger b8ae61bc5c AUDIO: Sort audio plugins by name 2019-04-05 21:14:42 +02:00
Christoph "baka0815" Schwerdtfeger b443fe9b25 AUDIO: make the plugins self-registering
No need anymore for the RegisterAllBackends() function and all plugins in one place.
Use a static boolean to register every plugin by itself.
2019-04-05 21:05:18 +02:00
flyinghead 7e11e7aff6
Merge pull request #1541 from reicast/fh/dpad-fix
Avoid opposite dpad buttons being both down. Ignore android key repeats
2019-04-05 15:42:34 +02:00
Flyinghead 0b7024f6a0 Avoid opposite dpad buttons being both down. Ignore android key repeats 2019-04-05 14:48:59 +02:00
Flyinghead d524e3381d only update the fog texture if fog is enabled 2019-04-04 22:54:36 +02:00
Flyinghead 05df2f06e2 imgui: use glcache, don't save/restore state
gl4: backport shader map changes from gl renderer
2019-04-04 22:26:21 +02:00
Flyinghead 3a73938240 UI for fog disable option 2019-04-04 20:05:13 +02:00
Flyinghead ec95c95b89 add option to disable fog effects 2019-04-04 19:26:15 +02:00
Flyinghead 994d52e012 gl: put shaders in a map and set uniforms once for all before each frame 2019-04-04 19:08:21 +02:00
Flyinghead 382279b12e imgui: use glcache 2019-04-04 19:07:09 +02:00
Flyinghead f83a06d9c0 glcache was always disabled 2019-04-04 19:06:46 +02:00
Flyinghead 125cccaa5a gles: only use GLES3 functions on android 2019-04-04 08:10:32 +00:00
Flyinghead eadf3047c0 gles: no runtime load of libGLESv2 on non-android platforms 2019-04-03 20:24:28 +00:00
flyinghead d7fcc80be4 win32: don't save window size if minimized 2019-04-01 11:32:49 +02:00
flyinghead d945b2b8de win32: allow window to be resized/maximized. Save size and max state. 2019-04-01 11:32:25 +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 26f02e22da
Merge pull request #1531 from reicast/fh/smc-option
dynarec: add option to control smc code checks: faster, fast, full
2019-03-30 13:27:45 +01:00
flyinghead c02a6969df win32: add app icon and version resource 2019-03-30 12:32:37 +01:00
flyinghead 4b0e77a2b3 win32: don't save window size if minimized 2019-03-30 11:27:14 +01:00
flyinghead 0e198fac58 win32: allow window to be resized/maximized. Save size and max state. 2019-03-30 11:22:51 +01:00
Flyinghead 505c5b6c4d dynarec: FullCheck was being ignored and FastCheck used instead
Fix crash on arm32
Fix infinite loop on x64
2019-03-30 10:06:19 +01:00
Stefanos Kornilios Mitsis Poiitidis af6993a819 dynarec: Refactor smc-option a bit 2019-03-30 07:16:44 +01:00
Flyinghead 8e9b1306e1 dynarec: make FullCheck the default SMC option 2019-03-29 20:28:49 +01:00
Flyinghead 7f44bb9956 vmu: pass bus id and port to callback 2019-03-29 19:54:59 +01:00
Flyinghead 6438a402df dynarec: add option to control smc code checks: none, fast, full 2019-03-29 19:23:37 +01:00
Flyinghead 09ea5eba78 missing changes for previous commit 2019-03-29 17:47:17 +01:00
Flyinghead 8fb1d80751 gui: display VMUs on pause 2019-03-29 17:35:00 +01:00
Flyinghead 80626b1f4e win: compile fix 2019-03-29 17:34:16 +01:00
Flyinghead daf4980fc8 input: save assigned maple port of each gamepad 2019-03-29 17:19:18 +01:00
Flyinghead 36acae9a00 gdi: treat slash as path separator on windows 2019-03-29 14:19:41 +01:00
Flyinghead 8751e55213 input: wait for 200ms before detecting button/axis input when remapping 2019-03-28 18:28:29 +01:00
Flyinghead 47201b9e48 input: analog axis as DPad should now work 2019-03-28 17:56:59 +01:00
Flyinghead eb7be51f67 gdrom: stop playing cdda when changing/ejecting disk 2019-03-28 14:53:41 +01:00
Flyinghead 5242af5879 rec-arm64: better pref fix 2019-03-28 14:26:04 +01:00
Flyinghead 20b09cf1b7 arm64: disable partially implemented 0x1337 pref optimization hack 2019-03-28 13:02:08 +01:00
Flyinghead ca750ae454 arm: aica RAM overflow crash with arm32 and arm64 recs
Move target platform #def's to build.h
Fix Sturmwind and Volgarr crashes
2019-03-28 11:41:48 +01:00
Flyinghead 0a301a4758 android: use a single activity with simple layout
remove most of the android ui remains
NativeGLActivity is the unique activity
handle window focus in/out events
refresh folder list when access to external storage is granted
record audio permission request must not overlap with external storage
perm req
2019-03-27 21:09:53 +01:00
Flyinghead 1ef8caff88 include TCW in HD texture hash
Soul Calibur has textures sharing the same data but with different
formats
2019-03-26 21:14:39 +01:00
Flyinghead ca0816042e fix warning 2019-03-26 18:23:16 +01:00
Flyinghead a3f9764936 Add Boot Dreamcast BIOS option
Reload roms/flash when starting a new game
Better naomi reset (still have issues)
Fix error reporting with Naomi
2019-03-26 17:20:44 +01:00
Flyinghead f5c896121e Aica: fix adpcm decoding
Fix click at the end of some samples (Sonic Adventure menu sound)
2019-03-26 12:45:02 +01:00
Flyinghead cce5028ed3 AW: fix flash sector size. Implement SB_SFRES soft reset
Fixes Atomiswave freezing when exiting the service menu and problems
when saving to flash.
2019-03-26 11:54:03 +01:00
Flyinghead 815616369e naomi build fix 2019-03-25 21:58:54 +01:00
Flyinghead 22b08bea74 maple: disconnect/reconnect maple devices when config changes
Wait 100ms between disconnect and reconnect to let game detect it
2019-03-25 18:46:57 +01:00
Flyinghead c809c6c56f Merge branch 'fh/mymaster' into fh/master-merge 2019-03-25 16:47:47 +01:00
Flyinghead ba00da2420 dynarec: don't throw exceptions if NO_MMU 2019-03-25 13:53:49 +01:00
Flyinghead cb6acab40f missing file from previous commit 2019-03-25 11:56:41 +01:00
Flyinghead ef43883fb5 dynarec: WinCE support WIP
Only for the x64 dynarec atm
Bugs remaining
2019-03-25 11:53:13 +01:00
Flyinghead cae22b9fbb Re-init the aica sgc on reset 2019-03-25 09:41:28 +01:00
David Guillen Fandos 69ab16ad9c Use CPUID to detect MMX/SSE support
Make it so that it works with all compilers and OSes.
Tested in VS, gcc and clang (built for Android x86)
2019-03-25 00:11:32 +01:00
David Guillen Fandos cb278e367b Minor fixes/tweaks to make it easier for switch port
Unused x86-specific header unnecessarily included :/
Move config ini stuff into its own namespace, believe it
or not but conflicts with some random switch header.

Tested: built for Android, Linux x64 w/ & w/o rec-cpp.
2019-03-23 21:04:17 +01:00
Flyinghead f454c79f08 TA: ISP_BACKGND_D has only 28 bits of precision
Calculate background depth accordingly
add extradepthscaling of 0.1 to wince games so the last four bits of
depth are significant
2019-03-20 16:31:12 +01:00
Flyinghead c3b93cfd8d gdi: set correct CTRL value in TOC 2019-03-20 14:33:55 +01:00
Flyinghead 8564f497d4 sh4 interp: add IsFloatingPoint() to op desc. Add delay slot 0 hack
Add UsesFPU flag to floating point ops. Use flag instead of specific
test cases in op handlers.
Adjust thrown exception in delay slot (slot illegal exception and slot
fpu disable)
Re-add delay slot 0 hack (Looney Tunes Space Race)
2019-03-20 13:45:35 +01:00
Flyinghead d0f65b19d3 mmu: templatize mmu_full_lookup 2019-03-20 10:58:59 +01:00
Flyinghead a21eedc88a implement fpu disable exception and other interp and mmu fixes
implement sh4 fpu disable exception
implement assistance/PTEA MMU registers
fix some sh4 ops with side effect in interpreter
account for delay slot op cycles
avoid any side effect when using wince tracer
extract SH4_TIMESLICE to single header file (still not used by arm and
x86 recs)
2019-03-19 21:35:55 +01:00
Flyinghead fe30fe1e8e OIT: reset scaling before drawing final quad
Fixes Wacky Races and Nomad Soul
2019-03-18 22:21:21 +01:00
Flyinghead 9e2938dff4 mmu: state change wasn't detected. WinCE syscalls tracing 2019-03-17 23:46:39 +01:00
Flyinghead 73d50486d5 mmu: dynamic switching with read/write mem function pointers 2019-03-17 22:59:18 +01:00
Flyinghead 34f46fb482 gdi: set correct CTRL value in TOC 2019-03-16 12:06:29 +01:00
Flyinghead bdc729e780 android: vjoystick haptic feedback setting wasn't being saved 2019-03-15 19:55:01 +01:00
Flyinghead eb73c2fcf1 missing #include 2019-03-14 21:37:36 +01:00
Flyinghead e5b18cd8a0 wince: implement pref SQ to YUV converter and 32bit vram
implement incremental YUV conversion with pref SQ
implement access to 32bit VRAM with pref SQ
init YUV converter when TA_YUV_TEX_CTRL is set
set FIFO available space to 256 through SB_TFREM reg
fake FIFO status through SB_FFST reg
2019-03-14 21:35:33 +01:00
Flyinghead 69484e4ae8 start game passed as command line argument 2019-03-13 21:54:04 +01:00
Flyinghead 89c2fd54a9 fix function name typo 2019-03-13 20:04:14 +01:00
Flyinghead 7369e81af5 naomi: close cart and free resources properly 2019-03-13 19:59:59 +01:00
Flyinghead f4568ace3c backport disassembler missing piece from nulldc 2019-03-13 17:48:21 +01:00
Flyinghead 3edf24386d maple: set SB_MDST to 1 to start dma in maple_vblank 2019-03-13 17:27:50 +01:00
Flyinghead f05af652cf crash when reading a write-only register 2019-03-13 17:24:27 +01:00
Flyinghead e6d67baf02 sh4 sched: avoid error when jitter is high and delta becomes negative 2019-03-13 17:21:52 +01:00
Flyinghead 6305df9dab ignore fldi0/fldi1 in double precision instead of dying 2019-03-13 17:19:41 +01:00
Flyinghead 6d6492ddc1 mmu: flush tables when MMUCR.TI is written 2019-03-13 17:17:08 +01:00
Flyinghead 54e9dc8338 Do not scale clipping values with rtt-upscale if rendering to vram
Enable RTT-to-vram for Flag to Flag (rear view mirrors)
2019-03-08 20:06:17 +01:00
Flyinghead c2916e6f21 Wait between two frames when gui is open 2019-03-08 20:02:53 +01:00
Flyinghead f1cea640e2 naomi: crash on exit when M4 cart fails to load
avoid loading AW cart on Naomi and the other way around
2019-03-08 20:01:54 +01:00
Flyinghead 9178206c95 add 10% dead zone to analog sticks 2019-03-08 19:56:17 +01:00
Flyinghead 0d0fd212ff Implement Ch2 DMA to 32-bit VRAM
Fixes Giana's Return
2019-03-08 13:23:51 +01:00
Flyinghead 45ed8cbc02 android: install buttons.png and reload it. Record audio permission.
install buttons.png when saving settings (home dir may have changed)
reload buttons.png if previous load failed when rendering
hide surface view when microphone is enabled to ask for permission
2019-03-05 23:50:52 +01:00
Flyinghead 91c7417c22 android: replace /mnt/media_rw by /storage for portable storage 2019-03-05 16:56:19 +01:00
Flyinghead 11416990de Show home directory in settings and allow to change it (android only) 2019-03-05 12:45:11 +01:00
Flyinghead ee0161e9c4 build fix 2019-03-05 03:15:11 +01:00
Flyinghead ca58c323cd Moved most android settings into the new gui
virtual gamepad editing and settings
home directory setup during onboarding
start content browser at app startup after getting permission
Use imgui osd to display error messages (msgboxf)
Added About tab in settings with version, git hash and Send logcat
button (android)
2019-03-05 00:54:01 +01:00
Flyinghead 71ea60cc36 android: use pseudo-root folder to list storage locations
still missing changes in java and android.cpp
2019-03-04 21:49:36 +01:00
Flyinghead 17b495e7e4 NoSound setting wasn't saved
Fix profiler handler ids
2019-03-04 00:32:15 +01:00
Flyinghead f37f4f174e Generate version.cpp at build time with version, git hash and build date 2019-03-04 00:26:11 +01:00
Flyinghead e0de4210ac VJoy: decouple from emulator rendering. Use same code for gl and gl4 2019-03-02 14:20:05 +01:00
Flyinghead 41e4c805de OSX: support new input system. Use existing emulator thread.
Added new OSD notification feature, combined with FPS counter, moved to
GUI
OSX: don't create and manage a new emulator thread but use existing one
OSX: keyboard and mouse use new input system
2019-02-27 23:02:25 +01:00
Flyinghead a0e7231340 naomi: reload PG settings and reset jvs controller when switching game 2019-02-25 23:31:05 +01:00
flyinghead b1bb89909e win32 fixes
use imgui id to allow multiple contents with same name
2019-02-25 19:15:59 +01:00
Flyinghead 492e771272 Content browser (WIP)
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +01:00
Flyinghead 56c0358eaf win32 fix 2019-02-24 13:51:26 +01:00
Flyinghead 96dddca245 win32: mouse wheel, relative mouse position and text input support 2019-02-24 13:41:24 +01:00
Flyinghead ac6cc612c5 sdl: mouse wheel, relative mouse position and text input support 2019-02-24 13:19:50 +01:00
Flyinghead c6baa4827b x11: support mouse wheel. ascii text keyboard input 2019-02-24 12:53:49 +01:00
Flyinghead 0f5a3ab884 sdl: rumble support 2019-02-23 01:06:10 +01:00
Flyinghead 98271bb3b1 Merge branch 'fh/mymaster' of https://github.com/reicast/reicast-emulator into fh/mymaster 2019-02-23 00:18:15 +01:00
Flyinghead c37dbae4e4 android: simple rumble support 2019-02-23 00:17:59 +01:00
flyinghead 56be9f462b xinput: fix rumble 2019-02-22 19:53:26 +01:00
Flyinghead a39503dd56 rumble support for xinput and evdev 2019-02-22 19:23:03 +01:00
Flyinghead 91e7c45a5c x11: keyboard and mouse use new input system 2019-02-22 12:56:21 +01:00
Flyinghead 1eaf443c22 appveyor: copy dep dlls to artifacts. Fix SDL build 2019-02-22 11:55:15 +01:00
Flyinghead 3561b3479d win32: invert Y axes of sticks
implement inverted axis in base gamepad device
2019-02-22 11:35:41 +01:00
flyinghead a1e400b43c win32: stop audio when emu is paused to avoid looping sound 2019-02-21 22:55:50 +01:00
flyinghead d392923d86 win32: added mouse and keyboard virtual gamepads 2019-02-21 22:39:26 +01:00
flyinghead 94f346a1e0 win32: use new input system 2019-02-21 17:57:51 +01:00
Flyinghead 4ae11053ce use smart pointers to avoid crash when a gamepad is disconnected 2019-02-21 14:49:27 +01:00
Flyinghead 4425587389 missing file from previous commit 2019-02-21 12:46:56 +01:00
Flyinghead 8e4e2c67f2 evdev: use new input system. detect hot-plugged devices with udev 2019-02-21 12:46:00 +01:00
Flyinghead 26e43ed9bd Fix scissor test when screen scaling is on
Use full screen for gui settings
2019-02-20 23:22:58 +01:00
Flyinghead 0f1630a1b7 Use proper VAOs for the per-pixel renderer 2019-02-20 19:22:24 +01:00
Flyinghead c98b685872 android: old GLSurfaceView view/activity working again
EmuThread now a top-level class shared by both views
2019-02-20 16:59:50 +01:00
Flyinghead f4da389665 android: use gl3w loader and EGL 2019-02-20 00:09:34 +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 9ac43772fd win32 build fixes 2019-02-19 22:35:29 +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 9526fada5e Added RenderLastFrame() to Renderer interface
implement screen scaling for per-pixel renderer
fix output FBO not being freed/recreated when GL context is reset
refactor DrawQuad on per-pixel renderer
2019-02-19 11:36:59 +01:00
Flyinghead 810182c4fe Scale down native resolution setting 2019-02-19 00:49:24 +01:00
Flyinghead e2c839dde3 GLES: detect gl extensions and use packed depth/stencil buffer for RTT 2019-02-18 17:42:07 +01:00
Flyinghead e426bc8058 android: call eglMakeCurrent() before rendering or deleting context
Flush texture cache and terminate gui before releasing the EGL context
2019-02-18 13:14:12 +01:00
Flyinghead 666205d2a1 Define gl_term for all platforms. Delete all textures on context close. 2019-02-18 09:35:27 +01:00
Flyinghead 5701227e55 build fix 2019-02-18 00:38:11 +01:00
Flyinghead 4c1acfeab1 android: native egl surface
fps counter using imgui
restart emulator with new game in same process
2019-02-18 00:25:06 +01:00
Flyinghead b15b8de12b android: disconnect the mouse gamepad by default. Don't swallow all
keydowns events
2019-02-17 18:34:22 +01:00
Flyinghead 460a6828cf android: missing change 2019-02-16 16:59:27 +01:00
Flyinghead dcbdf3a59d set glClearStencil to 0 before clearing, just in case
fix printf format string
2019-02-16 14:30:08 +01:00
Flyinghead 5e65d2a19d Per-game configuration: create/delete from gui
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +01:00
Flyinghead 35bb81b195 fix some printf format strings 2019-02-16 14:16:50 +01:00
Flyinghead 914e362873 Android: bind joysticks to different maple ports 2019-02-16 13:52:38 +01:00
Flyinghead 2602d855ee android: refactor initialization
Report dc_init errors properly with a popup
Disable reios use
Use builtin per-game settings
2019-02-15 20:48:30 +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 3320669bd4 android: use new input system
support for gamepads and mice on android
2019-02-13 20:29:49 +01:00
Flyinghead 49c432f041 arm64: fix DSP dynarec crash on some platforms 2019-02-13 14:23:47 +01:00
Flyinghead e82b9c9b18 android: remove deprecated GL2GLINative activity 2019-02-12 17:57:11 +01:00
Flyinghead 85b428c2e1 SDL: gamepad hot-plugging 2019-02-12 15:56:44 +01:00
Flyinghead 8b5c2a3fac New input handling/mapping system, SDL only for now. Gui wip 2019-02-12 11:30:24 +01:00
Marcel Szewczyk d370fd6709 PR requested changes; Adreno 506 generalized to Adreno 2019-02-11 19:02:52 +01:00
Marcel 3b951c0232
Vertical scale factor support added - typo fix 2019-02-11 11:15:01 +01:00
Marcel Szewczyk 8d4188159e Vertical scale factor support added - fixes Crazy Taxi pause menu background positioning 2019-02-10 11:51:14 +01:00
Marcel Szewczyk 7869a84f88 Additional fixes/cleanup 2019-02-10 01:10:51 +01:00
Flyinghead 66dc13b376 gui: help tooltips 2019-02-09 22:15:08 +01:00
Flyinghead ee1caeb6c2 gui: improve layout and touch device ux 2019-02-09 21:20:03 +01:00
Flyinghead 5ef0f74620 win32: keyboard support 2019-02-09 16:22:09 +01:00
Flyinghead 1fcfb6b10a Better fix for ImGui not showing on OSX
Enable vixl debug to track dsp crash
2019-02-09 15:12:35 +01:00
Marcel Szewczyk 8893f97435 Handle odd screen resolution (POCOPHONE fix) 2019-02-08 22:20:02 +01:00
Marcel Szewczyk a65436cc6c Handle dynamic resolution change during emulation (LRR mode) 2019-02-08 22:15:45 +01:00
Flyinghead 7e4a271ce7 Fix ImGui on OSX 2019-02-08 10:22:53 +01:00
Flyinghead d95ec975c7 SDL: mouse, keyboard and gui support 2019-02-07 23:44:30 +01:00
flyinghead 4685bc1fad win32: hook up mouse 2019-02-07 20:04:17 +01:00
flyinghead 3cdd39170d win32: call os_DoEvents on the emu/main thread and other fixes 2019-02-07 19:20:10 +01:00
Flyinghead 82f156f143 Gamepad support to GUI. Wire evdev, SDL and windows
Allow dc_stop() to work even when the emu is paused
2019-02-07 16:59:24 +01:00
Flyinghead 87aacd50d2 Pad dsp_t to keep savestates compatibility
Remove some unused DSP regs to avoid changing the size of dsp_t, which
breaks serialization compatibility.
2019-02-07 10:37:33 +01:00
Flyinghead eb3bbb7dc0 Android: more UI settings (video) 2019-02-07 09:42:51 +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 78fd92f95a No custom textures if no threads 2019-02-06 18:50:56 +01:00
Flyinghead a9b62164c5 No network if no threads 2019-02-06 18:42:45 +01:00
Marcel Szewczyk b26b12054b Merge branch 'master' of https://github.com/reicast/reicast-emulator into mar753/render-to-texture-with-options 2019-02-06 17:39:12 +01:00
Flyinghead a7a5618442 evdev: too much logging 2019-02-06 15:00:40 +01:00
baka0815 3c8e1110c8
Merge pull request #1480 from mar753/lowering_rendering_resolution_option
Lowering rendering resolution option
2019-02-04 19:36:11 +01:00
Flyinghead 13daefca41 Fix Naomi/Atomiswave builds 2019-02-04 11:23:26 +01:00
Flyinghead 91fb92264d x64 dynarec: do not use RSQRTSS as it lacks precision
RSQRTSS error is:
|Relative Error| <= 1.5 ∗ 2^-12
whereas SH4's FSRRA abs error is <= 2^-21

Fixes loop issues is Sonic Adventure 1 and 2
Issue #1489
2019-02-04 10:48:22 +01:00
Flyinghead 51c77b248b Enable RTT to vram for Skies of Arcadia 2019-02-03 18:11:04 +01:00
Flyinghead 4b78e24753 allocate mem based on state file size instead of current state size 2019-02-03 17:56:43 +01:00
Flyinghead 1a2eeef849 Load libretro savestates (dreamcast only) 2019-02-03 17:54:11 +01:00
Flyinghead 2ff6d1b819 Fix render to texture buffer alpha channel for 1555
Saturate alpha when strictly greater than threshold, not >=
Don't put rendered texture in cache if rendering to texture buffer
(VRAM)
Fixes Skies of Arcadia start menu

Restore VRAM lock if null
2019-02-03 17:53:02 +01:00
Flyinghead 19bddc942a android: add cue files to string res 2019-02-03 14:04:54 +01:00
Flyinghead d567ae67f7 redump.org cuesheet support 2019-02-03 13:48:55 +01:00
Flyinghead 63c4a16459 preliminary support for CUE files 2019-01-30 18:28:49 +01:00
Marcel Szewczyk 377fb6ace0 rend.ResolutionPercentage acceptable values are now from 1 to 100; naming fix 2019-01-25 16:43:46 +01:00
Flyinghead 90ad16317f arm64 dsp: fix stack order 2019-01-25 15:38:55 +01:00
Flyinghead fca6f3cecb dsp arm64: fix crash when VIXL_DEBUG is off 2019-01-24 21:47:55 +01:00
Flyinghead 08473d765a android build fix 2019-01-24 09:58:13 +01:00
Flyinghead 91cfd4b2f7 Reserve and allocate maximum RAM/VRAM/ARAM in all cases
Reserve enough virtual memory space for DC and Naomi
Allocate dynarec entry point tables for max possible ram
Free mem and release vmem on exit
2019-01-24 09:48:58 +01:00
Flyinghead 0cce6cc5a5 Clean up and comments. No functional change 2019-01-24 09:40:14 +01:00
Flyinghead 1501e2273d Don't enable the dsp interpreter if using the dynarec 2019-01-23 22:59:00 +01:00
Flyinghead 8c7f9105a1 dsp dynarec: missing commit 2019-01-23 22:46:05 +01:00
Flyinghead 3a064cd068 DSP dynarec for arm64 2019-01-23 21:14:51 +01:00
Flyinghead 91b76f0c16 arm64 dynarec: missing edits 2019-01-22 18:40:36 +01:00
Flyinghead 75a04d6d28 arm64 dynarec: implement tail calling and block linking 2019-01-22 18:37:04 +01:00
Flyinghead eb37dacadb x64: disable the use of AVX instructions because of rounding issues 2019-01-22 16:17:25 +01:00
Flyinghead 9f3f13eef1 aica arm dynarec for arm64 2019-01-21 13:08:53 +01:00
Flyinghead a3682e7b22 arm64 dynarec: revert to non-explode spans and minor optimizations
Added some profiling
2019-01-21 12:54:29 +01:00
Marcel Szewczyk aa3475738a Revert "LRR: Support for OpenGL 2 added"
This reverts commit c33c0cade8.
2019-01-20 11:05:53 +01:00
Marcel Szewczyk 88b9debc89 Revert "RTT: Support for OpenGL 2 added"
This reverts commit 86339c337d.
2019-01-20 11:03:30 +01:00
Flyinghead da07d88b03 No need to save the RTC value anymore 2019-01-19 16:49:00 +01:00
Marcel Szewczyk 86339c337d RTT: Support for OpenGL 2 added 2019-01-18 19:46:46 +01:00
baka0815 55a2261002
Merge pull request #1485 from reicast/baka/alsa_cfg
ALSA: configurable output device
2019-01-18 18:46:08 +01:00
Marcel Szewczyk c33c0cade8 LRR: Support for OpenGL 2 added 2019-01-18 18:42:46 +01:00
Marcel Szewczyk f0c4fe6fdc Additional improvements/fixes 2019-01-18 18:39:48 +01:00
Flyinghead cd4e4cbdc9 x64 dynarec: check if extension is supported by cpu. seh on win32
Check if FMA/AVX/SSE3 is supported before using it
fully naked main loop in win32 with proper seh directives
win32: more xmm regs to allocate and no need to save them when calling
out
2019-01-18 17:02:50 +01:00
Flyinghead 573f285f3b arm64 dynarec: save x29 and x30 in ngen_mainloop prologue 2019-01-18 00:06:33 +01:00
Christoph "baka0815" Schwerdtfeger 108e840324 SDL: rumble support
This adds support for rumble to the SDL backend.
It does not however attach a purupuru/rumble pack
2019-01-16 20:48:32 +01:00
Christoph "baka0815" Schwerdtfeger 1b8f45c751 ALSA: remove unused variables
loops and size are unused, so just remove them while we're here.
2019-01-16 19:14:37 +01:00
Christoph "baka0815" Schwerdtfeger 347fcf5c6c ALSA: make device configurable
Trying to load the device from the emu.cfg and if not set (should be the default for everyone currently) use the existing procedure to try to determine the device (default > plughw:0,0,0 > plughw:0,0).
2019-01-16 19:04:32 +01:00
flyinghead ed3f866835 win32 build fix 2019-01-16 17:42:36 +01:00
Flyinghead f852480b88 OSX: build fix 2019-01-16 14:44:40 +01:00
Flyinghead 05d7cf2c72 x64 dynarec: implement immediate address ram read. OSX fix 2019-01-16 13:39:52 +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 c2a048e8d8 arm64: use explode_spans to allocate regs for V2 and F64 params 2019-01-15 08:47:07 +01:00
Flyinghead e241613b8f x64 dynarec: implemented swaplb, fipr, ftrv, frswap and other fixes
native implementations for swaplb, fipr, ftrv and frswap
use explode_spans to map 2V and F64 to registers
save xmm registers when calling subroutine
2019-01-14 21:15:36 +01:00
Marcel Szewczyk 77d997401b RTT: Performance improved for DC RGB565 and ARGB4444 textures - glReadPixels() removed 2019-01-14 20:42:48 +01:00
Marcel Szewczyk 6499a82513 RTT: Additional small fixes 2019-01-14 19:32:56 +01:00
Flyinghead b465f744ba dynarec: flush fpu regs before FTRV
fixes issue with tokyo xtreme racer (x64)
might need to flush before other ops
2019-01-13 23:21:58 +01:00
Marcel Szewczyk a9affb8ac2 RTT: Stencil support for full OpenGL >= 3.0 added 2019-01-13 19:04:33 +01:00
Marcel Szewczyk 82bbe690b1 Stencil support for OpenGL added - requires OpenGL >= 3 2019-01-13 17:33:23 +01:00
Flyinghead 31163b8d7e x64 dynarec: various fixes and optimizations
implemented fsca
fixed fsetgt and cvtf2i
2019-01-13 12:27:02 +01:00
Flyinghead 523b110412 arm64: dynarec fixes 2019-01-13 11:32:28 +01:00
Flyinghead a2cd9d7af1 x64 dynarec: use register alloc spans, implement native opcodes 2019-01-12 23:48:48 +01:00
Marcel Szewczyk 27360a1c41 Lgtm warnings fixed 2019-01-12 13:17:43 +01:00
Flyinghead fc05727538 dynarecs clean-up
move GetRegPtr and ngen_FailedToFindBlock to sh4/dyna
2019-01-11 23:52:20 +01:00
Marcel Szewczyk 10d6f2526a
Merge branch 'master' into mar753/render-to-texture-with-options 2019-01-11 21:16:35 +01:00
Flyinghead e5ee48efa9 arm64: implement swaplb and pref. Various optimizations 2019-01-11 15:58:48 +01:00
Flyinghead ec7787c56a vixl: enable debug log on android 2019-01-11 15:57:37 +01:00
Flyinghead 0f026552c9 fix comments 2019-01-11 15:54:03 +01:00
Flyinghead 1c80207879 arm64: implement ftrv and frswap 2019-01-10 21:22:53 +01:00
Flyinghead 18a16f83ac arm64: more native opcodes implemented 2019-01-10 18:58:29 +01:00
Marcel Szewczyk 2327c1b83e nullDC.cpp updated to support other OSes 2019-01-09 17:33:41 +01:00
Flyinghead a9a2aad8f6 arm64: use register spans allocation. Implement some opcodes natively 2019-01-09 16:35:23 +01:00
Marcel Szewczyk 7e900a4e86 Merge branch 'master' of https://github.com/reicast/reicast-emulator into lowering_rendering_resolution_option 2019-01-09 00:01:03 +01:00
Marcel Szewczyk e285d7f9ba Additional improvements to lowering rendering resolution feature 2019-01-08 23:35:48 +01:00
Flyinghead 3d8b01c515 arm64: Use x28 as sh4 regs base pointer. Reg cache to avoid fetches.
Block check optimization
2019-01-08 13:29:08 +01:00
Marcel Szewczyk 8571be39fd Rendering resolution lowering (horizontal and vertical) is possible from the configuration menu 2019-01-07 23:55:43 +01:00
Flyinghead 67a4eb8f1f arm64 dynarec using vixl 2019-01-07 21:50:46 +01:00
Marcel Szewczyk 2aadb3cdd4 RTT: Stencil support added (extension required) 2019-01-07 21:37:16 +01:00
Marcel Szewczyk 7e26a172f4 Changing screen resolution: Rendering quad created 2019-01-06 22:16:21 +01:00
David Miller 6936bc2ec5
Merge pull request #1477 from reicast/baka/cdi_leak
CDI: coreio file handle leak in cdi image reader
2019-01-03 06:33:16 -10:00
Flyinghead f20e4d8f7f coreio file handle leak in cdi image reader 2019-01-02 18:29:13 +01:00
Flyinghead 0eccf5775b Check CDI version to avoid loading any crap as a CDI image and crashing
Less console spam, better error reporting
2019-01-02 18:06:06 +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 15fa475f8a Move DumpTexture() to CustomTexture and other fixes 2019-01-02 09:33:19 +01:00
Flyinghead 8532d1a032 Android: add Load Custom Textures option 2018-12-31 08:52:50 +01:00
Flyinghead ecb689051f Custom textures fixes 2018-12-30 22:23:23 +01:00
Flyinghead 9a3dd1c2d1 build fix 2018-12-30 19:44:18 +01:00
Flyinghead 3f98c2ba3c Don't delete a texture when async load is pending 2018-12-30 19:19:27 +01:00
Flyinghead e7fee139e4 build fix 2018-12-30 18:50:24 +01:00
Flyinghead dd280ee24d Custom textures loading and dumping 2018-12-30 18:42:55 +01:00
Marcel Szewczyk 302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options 2018-12-30 18:26:31 +01:00
Marcel Szewczyk 7450c247d3 Minor formatting fixes 2018-12-30 12:17:39 +01:00
Marcel Szewczyk 127072ec8d RTT: Fixed slow rendering of RGBA5551 framebuffer format on Adreno 506 2018-12-30 12:16:34 +01:00
Marcel Szewczyk 0761ee713e RTT: glReadPixels() functions are now compatible with OpenGL ES 2.0 2018-12-30 12:13:45 +01:00
Marcel Szewczyk e981dd14f8 Render to texture full multipass support added; RTT stride textures support added 2018-12-30 12:08:51 +01:00
Flyinghead 031a40ec81 OSX: Fix crash when exiting. Add missing files to project 2018-12-29 17:42:08 +01:00
Flyinghead 2ecc54b4c9 Set DC date and time automatically, DC language setting 2018-12-23 12:59:16 +01:00
Flyinghead bcc8fd57e2 gdrom: Notify the game that the lid is closed when swapping disc 2018-12-21 15:31:04 +01:00
Flyinghead 655d36a719 Convert vertex indices to u16 wih GLES2
GLES2 doesn't support 32-bit indexes so convert them to u16 when needed
2018-12-13 22:26:25 +01:00
Flyinghead 05177b2231 Naomi: got rid of in-lst input mapping 2018-12-13 16:08:59 +01:00
Flyinghead a6881a46ac Use naomi.zip BIOS for sl2007 2018-12-13 13:08:24 +01:00
Flyinghead d41e405a50 Naomi: non-encrypted M4 carts fix (sl2007) 2018-12-13 13:06:01 +01:00