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