Flyinghead
56dfeb6722
mmu: missing template instances in the slow mmu
2019-11-03 21:27:06 +01:00
Flyinghead
f0538eac20
flash: don't abort on invalid access size
2019-11-03 21:25:18 +01:00
Flyinghead
84bdcd9a10
G2: Add Dev Device DMA
...
backport from upstream
2019-11-03 21:24:28 +01:00
Flyinghead
0e12da4395
DMAC: Add LMMODE1 for ch2-dma, add basic DMAC based dma support
...
backport from upstream
clean up
2019-11-03 21:22:46 +01:00
Flyinghead
27fd0d4262
aica: LFORE is not cleared automatically
2019-11-03 18:23:25 +01:00
Flyinghead
a7926a2357
serial: backport from upstream. Clean-up
2019-11-03 18:12:16 +01:00
Flyinghead
b7dd8f16d4
vmu: avoid flashram buffer overflow
2019-11-03 17:08:34 +01:00
Flyinghead
4cc199b2b7
minimize writes to config file
2019-10-29 14:34:29 +01:00
Flyinghead
5d6ac0acbb
gl: const everything
2019-10-25 22:47:20 +02:00
Flyinghead
ba51c873d0
vulkan: fix missing geometry in multipass
2019-10-25 22:30:34 +02:00
Vai Kong Edward Li
5772e2a679
Custom Textures / Dump Textures supports NAOMI also
2019-10-26 03:56:59 +08:00
Flyinghead
920e2bf039
vulkan: return Device instead of UniqueDevice from context
2019-10-25 19:20:15 +02:00
Flyinghead
5e4dacfa67
Fix renderer selection issue in gui. Use raw strings for shader source
2019-10-23 19:23:19 +02:00
Flyinghead
07958f08ae
refactor xform matrix out of gles. use xform matrix in vulkan
2019-10-23 18:13:28 +02:00
Flyinghead
2f363a7355
Merge remote-tracking branch 'origin/fh/gl-scale-mat' into fh/vulkan
...
# Conflicts:
# core/rend/TexCache.h
# core/rend/gl4/gles.cpp
# core/rend/gles/gles.cpp
# core/rend/gles/gles.h
# shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2019-10-21 19:49:53 +02:00
Flyinghead
0dc4b07538
pvr: use a switch instead of 100 ifs
2019-10-21 19:13:29 +02:00
Flyinghead
d27142f565
maple: don't write past the vmu capacity
2019-10-21 19:09:01 +02:00
Flyinghead
86818389ac
move texture cache to a template class. vulkan: OSD on android
...
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
2019-10-21 16:39:16 +02:00
Flyinghead
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +02:00
flyinghead
ca4753cf7c
win32 build fix
2019-10-18 21:03:00 +02:00
Flyinghead
664bfe6fa3
sdl: only compile when using sdl
2019-10-18 22:23:29 +02:00
Flyinghead
6611e9bf5e
gl: refactor wsi into their own class.Allow dynamic vk<->gl switch
2019-10-18 21:57:08 +02:00
Flyinghead
ac310114fe
Disable total frame count for CHD to allow patched/homebrew
2019-10-16 16:08:32 +02:00
flyinghead
dffaed7dd9
vulkan: prefer optimal depth format. use same format for rtt
...
Try to find an optimal depth format then fall back to linear
Use same depth format for rtt depth attachments
Allow RenderToTextureBuffer setting to be changed at runtime
Enable vulkan on windows
2019-10-16 10:40:06 +02:00
flyinghead
c3cbfbdfb0
vulkan: android build fix
2019-10-15 21:50:42 +02:00
flyinghead
a6c56ba748
vulkan: windows support
2019-10-15 21:25:24 +02:00
Flyinghead
43d87877be
vulkan: some ui
2019-10-15 16:52:02 +02:00
Flyinghead
d28a7f45c5
vulkan: android support
...
align uniform buffers according to physical device requirements
destroy old swap chain before creating new one
some drivers don't support some 16-bit texture formats for optimal
tiling
2019-10-15 16:49:20 +02:00
Flyinghead
e3a997b642
vulkan: direct framebuffer writes support
...
alternate between 2 texture drawers
Fix scissor scale when pixel_double is on
Ingore Present() when nothing has been rendered
2019-10-14 17:41:49 +02:00
Flyinghead
fb52b38ac3
texture upscaling was missing some paletted alpha channel formats
...
Fixes dark pixels on edges when using xbrz upscaling (Capcom vs SNK 2)
2019-10-14 15:15:20 +02:00
Flyinghead
f8d4b08618
vulkan: increase some descriptor pool sizes. Use 3 swap chain images
2019-10-13 22:40:11 +02:00
Flyinghead
4c29a9bad7
vulkan: better tile clipping
2019-10-13 22:01:20 +02:00
Flyinghead
af0b0eac42
vulkan: mipmap support
2019-10-13 18:42:28 +02:00
Flyinghead
06e1456d4f
vulkan: memory allocator
2019-10-12 13:48:41 +02:00
Flyinghead
6304b1e9c1
Fix verify() and die() macros
2019-10-12 13:48:41 +02:00
Flyinghead
459a2b973e
vulkan: make staging buffer visible to host for rtt2vram. Minor changes
2019-10-12 13:48:41 +02:00
Flyinghead
2bac2afe98
gles: fix depth issue when drawing quads on gles2
...
Fix Gunlord black screen on GLES 2
2019-10-12 13:48:41 +02:00
Flyinghead
e9ecda2b31
vulkan: fix regression on color blending state
2019-10-09 22:59:01 +02:00
Flyinghead
970d959772
gles: build fix
2019-10-09 22:49:29 +02:00
Flyinghead
becdd213fe
android: build vulkan renderer
2019-10-09 22:44:06 +02:00
Flyinghead
6406523720
vulkan: RTT support
2019-10-09 21:18:06 +02:00
Flyinghead
38f50c1b5a
gles: refactor rtt vram writeback out of gles
2019-10-09 21:14:31 +02:00
Flyinghead
e09e895f22
vulkan: better image update. Don't kill in-flight command buffers
...
Transition images back to transfer and update them instead of
deleting/recreating.
Keep track of in-flight texture command buffers and free them when idle.
2019-10-07 17:45:11 +02:00
Flyinghead
b790a336e9
vulkan: modifier volumes
2019-10-07 12:30:56 +02:00
Flyinghead
8d520fa5e4
vulkan: per-triangle sorting
2019-10-06 21:21:31 +02:00
Flyinghead
b82a97853f
vulkan: fog support
2019-10-06 17:02:17 +02:00
Flyinghead
8f8f270cfc
vulkan: use separate command buffer to upload tex. Limit desc set size.
2019-10-06 14:31:39 +02:00
Flyinghead
751f30003d
rend: fix stride regression introduced in 24b973f7
...
Fix YUV textures corruption
2019-10-06 14:16:12 +02:00
Flyinghead
ebec2966d7
vulkan: create SamplerManager. Use staging buffer for textures
...
Samplers shouldn't be tied to a texture
Using a staging buffer fixes most texture glitches
2019-10-06 12:24:07 +02:00
scribam
1e54de93fa
gui: Replace "std:string" by "std::string"
2019-10-06 10:58:44 +02:00
Flyinghead
5b35b52fda
vulkan: fix uniforms alignment. Use push constants for per-poly params
...
Fix clipping, trilinear alpha
Imgui FPS counter
2019-10-05 23:29:39 +02:00
Flyinghead
929976c147
android build fix
2019-10-05 18:45:42 +02:00
Flyinghead
fc752e6efb
proper OSX build fix
2019-10-05 19:44:25 +03:00
Flyinghead
bbab62810a
OSX build fix
2019-10-05 19:29:23 +03:00
Flyinghead
d23b7bff7b
vulkan: recreate swap chain on resize. flush samplers when updating tex
2019-10-05 16:09:28 +02:00
Flyinghead
27e9acaac6
rend: refactor ReadFramebuffer() out of gles
2019-10-05 16:06:07 +02:00
Flyinghead
b1defae3f7
vulkan renderer - WIP
2019-10-05 11:50:14 +02:00
Flyinghead
8202ac420b
pvr,rend: more refactoring out of gles. Change texture id to 64b
2019-10-04 13:33:08 +02:00
Flyinghead
24b973f763
rend: refactor texture cache and poly/triangle sorters out of gles
2019-10-04 12:22:18 +02:00
Flyinghead
8eac844825
OSX build fix
2019-09-30 20:14:46 +03:00
Flyinghead
dde8bf3b42
arm32: support 64b immediate mem writes
2019-09-30 16:53:08 +02:00
Flyinghead
bad10bae20
dyna: only protect ram when needed. Use const ref to avoid copies
...
avoid extra op in x64 rec
2019-09-30 15:47:05 +02:00
Flyinghead
87023c722d
Hide unsafe optimizations on all but arm32 platform
...
Non-functional changes
2019-09-30 15:36:39 +02:00
Flyinghead
834082519d
ini: use reference to avoid copies. simplify
2019-09-30 15:33:19 +02:00
Flyinghead
6ab8b185c8
Protect vram pages only when needed. Use lambda for xbrz paralleliz.
...
Each vram page is now protected only once.
Get rid of std:function and std::bind and use lambda expressions.
2019-09-30 15:31:06 +02:00
Flyinghead
0595bae85b
dyna: use xxhash instead of sha1 to hash code blocks
2019-09-29 23:14:38 +02:00
Flyinghead
9d3ee3b57f
dyna: get rid of SmcCheckLevel options. Fix rec-cpp
...
Block check is now full or off depending on block protection
rec-cpp: Add missing opcode call classes and allow for immediate args
2019-09-29 18:18:46 +02:00
Flyinghead
84e0f9f118
aica: get rid of old sync dma timing
2019-09-28 22:34:36 +02:00
Flyinghead
dc228d0710
Fix memory leak in chdr lib
2019-09-28 19:29:29 +02:00
Flyinghead
f0dfc61975
naomi: gd cart memory leak
2019-09-28 18:56:58 +02:00
Flyinghead
106dfc3f71
Add Discord link. non-functional changes
2019-09-27 22:00:52 +02:00
Flyinghead
88a5acd9e6
aica arm: mask pc using max aica ram, not actual, in entry points
...
Fix crash in Sturmwind, Volgarr and Gunloard
2019-09-27 15:57:39 +02:00
Flyinghead
920bb44c30
More widescreen cheats
2019-09-27 14:41:59 +02:00
Flyinghead
419785b929
arm64: support for 64b immediate memory reads
2019-09-27 14:40:47 +02:00
Flyinghead
ae4f378747
Add fast-forward mode
...
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +02:00
Flyinghead
219a001631
pvr: eliminate empty polygons and render passes
...
initialize sprite face base & offset colors to white
never join TR poly strips
re-enable depth after mod vols
2019-09-25 23:28:53 +02:00
Flyinghead
bb89cb5c22
pvr: calculate emu speed over the last 2 frames in sync render
...
Games that do multiple renders per frame may hit a condition where one
of the renders is systematically dropped in synchronous render mode.
2019-09-25 21:08:39 +02:00
Flyinghead
90dbaa5edd
gui: disable stencil test
2019-09-25 20:25:01 +02:00
Flyinghead
334211f3a0
gl: build fix
2019-09-25 15:44:21 +02:00
Flyinghead
3fd3e097ac
gl: fix modvol issue introduced by 8792c06
2019-09-25 13:54:38 +02:00
Flyinghead
9b063644c4
Per-game widescreen cheats
...
New option to make games render in 16/9 anamorphic format and stretch
screen to correct aspect ration.
2019-09-24 23:59:36 +02:00
Flyinghead
943a50b9bc
gl4: translucent modifier volumes need inverted depth too
2019-09-23 19:37:01 +02:00
Flyinghead
f599891e08
pvr: face color and offset color should not be reset if not set
...
it's expected that polygons can reuse previous values for these colors
even for not immediately following polygons.
2019-09-22 20:00:09 +02:00
Flyinghead
55880b0dd4
537c2a4
broke rtt rendering
2019-09-22 18:20:43 +02:00
Flyinghead
e85b724085
vmem: mprotect P2 vram space
...
Used by NHL 2K2 yuv textures
Fixes FMV not being updated
2019-09-22 10:29:53 +02:00
Flyinghead
537c2a4ed6
pvr: reset face and offset colors when not set in poly param
...
Fixes black ice in NHL 2K2 and black players in NHL 2K
Clean up
Don't build soft renderer
2019-09-21 22:53:09 +02:00
Flyinghead
69041912e3
x11: clear window at startup. Set icon and class
2019-09-20 19:02:54 +02:00
Flyinghead
c408867ead
pvr: reset tileclip value when resetting TA parser
...
fixes black players in NHL 2K with hle bios
2019-09-20 15:36:49 +02:00
Flyinghead
b693d1c054
aw: set rom key in game list (mameset 0.213)
...
backport lr changes
2019-09-19 16:15:18 +02:00
Flyinghead
e7a33e6de1
reios: allow hle savestates to be loaded in non-hle mode
...
Always initialize reios hooks during startup so hle savestates always work.
Fix bios loading logic for naomi/aw
2019-09-19 11:49:19 +02:00
Flyinghead
38c9eea50a
reios: implement PLAY_SECTOR
...
fixes Sega Rally 2 missing bgm music in hle mode
2019-09-19 11:36:59 +02:00
Flyinghead
8792c06adc
gl4: use same depth direction as gles. Round scale_y value.
2019-09-17 13:35:23 +02:00
Raph
732e685ea7
gl4: unbind the depth tex from the fbo before reading from it
...
fixes diagonal pixel line issue with AMD gpu
should help issue #16
2019-09-15 18:30:44 +02:00
scribam
4dd6ccea8d
msvc/sh4: Compilation fix for cvt_f2i_t
2019-09-15 13:37:11 +02:00
Flyinghead
8194254fa1
pvr: restore TA ctx after rendering framebuffer
...
fixes Sakura Taisen 4 hang when starting game
2019-09-13 12:31:10 +02:00
Flyinghead
ed90bcebee
partially revert 1a019b79b0
...
move the punch-through alpha test back to where it was (before shading)
fixes SF Rush missing chars on copyright screen
2019-09-12 18:54:14 +02:00
Flyinghead
2bcc3c574b
pvr: ignore data sent to TA if no prior list init
...
fixes Vigilante 8 freeze during FMV sequence
2019-09-12 15:07:57 +02:00
Flyinghead
1174bce64a
dynarec: set correct sign on result if float conv returns indefinite
...
canonical implementation, x86/x64 only
2019-09-12 15:06:21 +02:00
Flyinghead
25a2c52960
pvr: crash when CurrentPP is null
2019-09-11 23:21:14 +02:00
Flyinghead
2bdfdf96c1
gl4: fix invisible framebuffer direct writes with hle bios
...
Fixes hidden & dangerous black screens in hle bios mode
2019-09-11 21:10:02 +02:00
Flyinghead
8b949e1dca
Get rid of time_sync timer. Clean-up
2019-09-11 15:09:23 +02:00
Flyinghead
a19c73de7b
Fix some sh4 regs hard reset
2019-09-11 15:00:08 +02:00
Flyinghead
b2ee35f82e
aica: initialize regs with half-words
2019-09-11 14:54:24 +02:00
Flyinghead
e1368f9713
reios: First polygon wasn't displayed in some cases
2019-09-11 14:08:54 +02:00
Flyinghead
11c95c41d3
Hide legacy Naomi roms (.bin, .dat. lst) by default
2019-09-10 21:56:58 +02:00
Flyinghead
08d7cc68fd
aica: use log scale for attack phase
...
Change AEG starting envelope value from 3ff to 280
Use log scale instead of linear during attack phase
2019-09-10 16:21:51 +02:00
Flyinghead
0bd95cbba8
Delay Frame Swapping option to enable FB_R_SOF == FB_W_SOF detection
2019-09-09 14:58:53 +02:00
Flyinghead
fbdbd2491d
aica: implement pitch LFO and LPF envelope
...
simplify channel serialization
optimize aica channel reg write callbacks
2019-09-09 11:32:03 +02:00
scribam
49b7e0682b
Cleanup
2019-09-07 20:36:13 +02:00
flyinghead
c4ecfe3d9c
win32: _create_locale not available on win7
2019-09-07 20:22:23 +02:00
Flyinghead
704f90d78e
x64: set correct sign on result if float conv returns indefinite
2019-09-07 12:08:08 +02:00
scribam
e0fb50488d
deps: Update xxhash integration
2019-09-06 21:05:19 +02:00
scribam
c746a8be53
deps: Update xxhash to version 0.7.1
2019-09-06 20:45:17 +02:00
Flyinghead
d1c3d31259
aica: save quantization and last sample when entering loop for normal adpcm
2019-09-06 13:53:01 +02:00
Flyinghead
7287b3816b
aica: don't reset the adpcm decoder when looping
...
also don't decode past LEA, use LSA instead
2019-09-05 18:17:53 +02:00
Flyinghead
a50ed2cc7d
dsp: fix SHIFTER and ACC shift values. Simplify
2019-09-05 15:45:14 +02:00
Flyinghead
713705a6fe
dsp: fix errors in PACK and UNPACK functions
2019-09-05 15:45:14 +02:00
scribam
bdf2029e99
Simplify libpng/zlib integration
2019-09-04 19:59:51 +02:00
scribam
9bdae4e8b3
deps: Simplify flac integration
...
It works because the path to the flac include dirs are defined in the
makefile/vs/xcode project.
This way, it would be also easier to rely on system packages instead of
compiling the bundled version.
2019-09-03 22:58:57 +02:00
Flyinghead
5b9892425f
naomi: game detection fails on windows when mixing / and \
2019-09-03 19:18:11 +02:00
Flyinghead
b4d33a6c70
Merge remote-tracking branch 'origin/master' into fh/hle-bios
2019-09-03 19:14:39 +02:00
scribam
21fa8ecfba
deps/windows: Update dirent integration
...
Source: https://github.com/tronkko/dirent/blob/1.23.2/include/dirent.h
2019-09-02 22:57:53 +02:00
Flyinghead
ee1ee56824
proper hard reset of sh4 mm registers
...
more clean up
2019-09-01 23:10:04 +02:00
Flyinghead
aadc9c3bfc
Detect game region/vga support and set options accordingly
...
Better IP.BIN parsing (wince, vga)
Use wince flag and boot filename for wince detection
Switch to TV composite if vga unsupported
Switch to supported BIOS region if current is unsupported or default
2019-09-01 16:35:12 +02:00
scribam
314f25ea38
linux: Use header <sys/personality.h> only on linux platforms
2019-09-01 14:15:29 +02:00
Flyinghead
61f4cd4ecd
Merge remote-tracking branch 'origin/master' into fh/hle-bios
2019-08-31 22:10:09 +02:00
Flyinghead
dd8903484e
reios: less log
2019-08-31 21:56:47 +02:00
Flyinghead
5ca6cacf25
reios: fix wince exception due to unaligned pio xfer
2019-08-31 20:53:42 +02:00
Flyinghead
2e77e049a8
reios: check disk syscall
2019-08-31 18:55:54 +02:00
Flyinghead
936cd6781b
clean up
2019-08-31 17:36:34 +02:00
scribam
0fbee12dc0
msvc: Fix condition for "naked" defintion
2019-08-31 14:46:30 +02:00
scribam
d826d8123a
msvc: Fix DYNACALL/__fastcall usage
2019-08-31 14:46:30 +02:00
scribam
69e9d9767a
windows: Add fallback for _BitScanForward64 on 32-bits system
2019-08-31 14:46:30 +02:00
scribam
df37077bb6
msvc: Do not include "7zArchive.h" header
...
This header is not required as the code related to it, in the same file, is not included when "_MSC_VER" is defined.
2019-08-31 11:10:03 +02:00
scribam
bb24a5ee54
msvc: Replace "bm_GetCode2" by "bm_GetCodeByVAddr" in msvc.asm
...
This function was renamed in commit dece3fc13e
2019-08-31 11:09:47 +02:00
Flyinghead
e07879e43c
maple: std controller input mask was applied to all gamepad devices
2019-08-30 23:37:43 +02:00
Flyinghead
2015d9a696
rename and clean up
2019-08-30 23:35:10 +02:00
scribam
79f801d314
Remove Emscripten support entirely
...
Makefile for Emscripten build has been dropped in commit 1333d6f776
2019-08-30 20:01:14 +02:00
Flyinghead
79231d8961
missing change
2019-08-30 14:39:33 +02:00
Flyinghead
bae43c236e
dynarec: use paddr to check for bios blocks + more
2019-08-30 14:11:15 +02:00
Flyinghead
cc6190f261
flash: use rewritten blocks when allocating a new one
2019-08-30 13:59:15 +02:00
Flyinghead
e173b83574
New option to force WinCE mode
2019-08-28 20:47:47 +02:00
scribam
269297be18
Use _WIN32 to handle Windows specific code
2019-08-28 20:37:53 +02:00
scribam
1b002ae0da
Use __GNUC__ to handle GCC specific code
2019-08-28 20:37:53 +02:00
scribam
51d181a46c
Use _MSC_VER to handle specific Visual Studio code
2019-08-28 20:37:53 +02:00
scribam
61382316c9
Use __ANDROID__ to handle specific Android code
2019-08-28 20:37:53 +02:00
flyinghead
02b450ff19
Fix vram and code block protection in 32-bit mode
2019-08-28 14:08:13 +02:00
scribam
71f03cceae
linux/x11: Remove x11_gl_context_destroy function
...
This function is never called and the logic already exists in the x11_window_destroy function
2019-08-22 20:25:22 +02:00
scribam
148033625c
wince: Add missing preprocessor TRACE_WINCE_SYSCALLS
...
unresolved_ascii_string and unresolved_unicode_string only exist if
TRACE_WINCE_SYSCALLS is defined
2019-08-22 20:22:56 +02:00
scribam
7cd4b7b10b
pulseaudio: Remove WARN_LOG second argument
...
First argument is "LogTypes::LOG_TYPE" and second argument must be "const char*"
2019-08-22 20:19:12 +02:00
scribam
80770b4eb9
pulseaudio: Add missing return value to the "push" function
2019-08-22 18:26:22 +02:00
Flyinghead
cc8bab249f
reios: serialize hle bios state. Fix save state compat with upstream and libretro
2019-08-19 18:19:27 +03:00
Flyinghead
7c8ce6267a
use lroundf(x) instead of x + 0.5f
2019-08-17 18:19:33 +03:00
Flyinghead
629d262578
reios: swap iso733 bytes
2019-08-15 23:17:18 +02:00
flyinghead
ea544f8ad7
Merge branch 'master' into fh/hle-bios
2019-08-15 11:02:04 +02:00
flyinghead
5600120b54
win32: fix crash at boot. remove log command lines options
...
restore .lst compatibility
2019-08-15 10:48:39 +02:00
Flyinghead
eaedf7d017
sdl: osx polishing
2019-08-14 22:48:34 +02:00
Flyinghead
ed858c029a
reios: test automation needs to account for lack of boot swirl
2019-08-14 22:35:07 +02:00
Flyinghead
aaf950d470
Add default ISP information to flashrom
2019-08-14 20:05:42 +02:00
Flyinghead
74a96897cc
OSX: use SLD2 for gamepads
2019-08-14 09:20:24 +02:00
Flyinghead
e34df4fed1
Support for Internet Game Pack game
2019-08-14 09:17:07 +02:00
Flyinghead
3e1956b949
reios: hle bios option now forces hle use
...
fallback to hle bios happens if no bios file found regardless of option
2019-08-13 17:12:29 +02:00
Flyinghead
cf22e942cb
android build fix
2019-08-12 21:16:32 +02:00
Flyinghead
93e009bf1a
gl: use matrices for ndc and viewport calculations
...
Support VO_STARTX and VO_STARTY for shifting displayed frame
Add glm to deps
Calculate NDC, scissoring and viewport matrices once
Reduce code duplication
2019-08-12 19:56:44 +02:00
Flyinghead
1a019b79b0
GL: blending support for punch-through polys
...
Disable trilinear filtering for PTs
PT alpha test should be done after color+tex shading according to documentation
2019-08-09 12:05:56 +02:00
Flyinghead
7ff225bfa0
PVR: detect direct FB writes in non-interlace. Fix packed 888 FB format
2019-08-09 12:03:09 +02:00
Flyinghead
55b4e3364d
OSX: use NSLog for logging
2019-08-09 12:00:48 +02:00
Flyinghead
b38affe87c
Build fix
2019-08-08 08:30:38 +02:00
Flyinghead
c7f27c84bf
reios: add timing to DMA reads. Fix some param values.
2019-08-08 08:24:13 +02:00
Flyinghead
69f2b343b1
OSX: command line args support. test automation
...
allow test automation on other platforms (win32, OSX, ...)
2019-08-08 08:22:33 +02:00
Flyinghead
8bd2450608
comments/logs clean up
2019-08-08 08:20:15 +02:00
Flyinghead
ce301289ca
reios: fix some constants
2019-08-04 19:46:46 +02:00
Flyinghead
00e57db13f
reios: support multi READ command
...
fixes many 2K sport games, floigan bros, ooga booga
report paused instead of standby (cannonspike US)
2019-08-04 19:09:02 +02:00
Flyinghead
271aa85892
reios: wince games support
2019-08-03 19:20:30 +02:00
Flyinghead
d3173931f1
reios: handle gdrom hle state properly
...
better documentation, clean up
parallelize gradle builds + tv banner
2019-08-01 12:31:08 +02:00
Flyinghead
e162f3ac83
reios: cdda support
2019-07-31 22:08:56 +02:00
Flyinghead
55f76d02c0
reios: fix flashrom write
...
Fixed language selection that was being ignored (also w/ bios)
2019-07-31 17:59:53 +02:00
Flyinghead
5913a8f11e
reios: font support
2019-07-31 13:01:12 +02:00
Flyinghead
7eaf89a7f2
Travis fix
2019-07-30 19:31:35 +02:00
Flyinghead
6059831ec7
reios fixes
2019-07-30 19:04:51 +02:00
Flyinghead
91a753f224
Fix naked functions for GCC
2019-07-30 12:40:34 +02:00
Flyinghead
1fffbad9fc
Fix build warnings. config.h for flac
2019-07-28 18:49:59 +02:00
Flyinghead
9791ebebce
wince: fix wince page lookup
2019-07-28 18:28:22 +02:00
Flyinghead
1333d6f776
Remove TARGET_BOUNDED_EXECUTION. Build warnings and clean up
2019-07-28 17:37:04 +02:00
Flyinghead
a9dbbccf93
Unprotect VRAM before switching system. Fix texture cache clean
2019-07-28 17:06:12 +02:00
Flyinghead
591ebf0ba6
Merge branch 'fh/wince-dynarec' of https://github.com/flyinghead/flycast into fh/wince-dynarec
2019-07-28 13:04:05 +02:00
Flyinghead
d27ab0361c
arm build fix
2019-07-25 21:51:48 +02:00
Flyinghead
4dfa83079a
aica and arm7 clean up
2019-07-25 21:34:43 +02:00
Flyinghead
2529b5048e
get rid of useless macro
2019-07-24 19:09:54 +02:00
Flyinghead
32055c3bf9
Better error messages when BIOS files missing
2019-07-24 18:53:09 +02:00
Flyinghead
9932d9bf43
OSX: fix bios files path (now in /data/)
2019-07-24 18:24:58 +02:00
Flyinghead
1375536534
fix android intent-filter. fix spurious maple warning
2019-07-13 15:30:10 +02:00
Flyinghead
326bc580ec
Merge branch 'fh/unified' into fh/wince-dynarec
2019-07-13 12:50:19 +02:00
Flyinghead
bbc11a30aa
Naomi rename vars and clean up. Logging changes.
2019-07-13 12:44:10 +02:00
Flyinghead
e63d7d717e
Fix Restart crash. Clear texture cache during reset
2019-07-13 10:59:20 +02:00
Flyinghead
68acf48d64
Support for Twin Stick and Ascii FT Stick
2019-07-12 19:18:39 +02:00
Flyinghead
14ddd01e39
compilation warnings
2019-07-12 17:53:17 +02:00
Flyinghead
4f8e18215b
Fixed savestates: restore compatibility with lr and master
...
Add new maple devices from lr
Clean up shil.cpp
2019-07-12 17:20:43 +02:00
Flyinghead
60ec054b59
support for VQ compressed paletted textures
2019-07-12 15:34:10 +02:00
Flyinghead
4884dbc400
get rid of DC_PLATFORM and build flavors
2019-07-11 19:55:03 +02:00
Flyinghead
eb38564922
use exceptions for startup errors
2019-07-11 19:23:21 +02:00
Flyinghead
cb35c80ee7
gl4: still need to update the depth buffer for TRs
2019-07-10 22:23:26 +02:00
Flyinghead
5285911133
Mirror writable aica ram to 8mb in 512mb vmem mode
...
Fixes switching from dc to naomi on windows
Should help games reading past end of aica ram (HeadHunter and others)
2019-07-10 20:17:59 +02:00
Flyinghead
ad98e583c8
win32: fix vmem reset
2019-07-10 18:58:55 +02:00
Flyinghead
58cb50f587
fix reset hang on naomi
2019-07-10 17:25:11 +02:00
Flyinghead
449d150eba
android: build fix
...
clean up files comitted by mistake
2019-07-10 09:57:08 +02:00
Flyinghead
f3a91de1af
Unify dreamcast, naomi and atomiswave builds WIP
2019-07-09 23:52:19 +02:00
Flyinghead
632aa95c2d
gl4: depth test issue in non-autosort mode
...
Depth testing is done in the fragment shader so it shouldn't be done
in the a-buffer shader for the first pixel, or until the depth is updated.
Fixes flashlight and lightstorm effects in Alone in the Dark
2019-07-09 15:25:15 +02:00
Flyinghead
d5e24d8aed
Cleaner init. Get rid of LastImage
2019-07-08 18:10:43 +02:00
Flyinghead
329230bf8d
Fix Naomi reset. Add some per-game settings
...
Re-Volt needs 100 extra deptch scale for perfect menus
Tom Clancy's Rainbow Six needs RTT to vram for correct loading screens
2019-07-08 16:31:50 +02:00
Flyinghead
478b1c719c
gl4: do a depth-only TR pass in non-autosort mode
...
fixes HeadHunter map/radar issue
2019-07-08 16:30:07 +02:00
Flyinghead
10e6b296c5
fix cue issue. better logging
2019-07-08 00:03:44 +02:00
Flyinghead
75cdd93001
remove webui, libwebsocket
2019-07-07 23:40:13 +02:00
Flyinghead
dbbc1819e8
remove NACL
2019-07-07 22:56:23 +02:00
Flyinghead
9eef02a1e8
pvr: ignore Z Write Disable for punch-through polys?
...
tentative fix for Worms World Party
2019-07-07 22:13:43 +02:00
Flyinghead
c3a42b0b22
wince: online support
...
Use default asyncmap for LCP control packets
Delay reading from picotcp ppp stream when connecting
Accept [PSH,SYN] as valid tcp connect packet
Add PBA Tour Bowling 2001 as wince game
Disable vmem32 for StarLancer and Maximum Pool (req'd for online support)
2019-07-07 20:31:36 +02:00
Flyinghead
18bcb81682
naomi: minimal emulation of 840-0001E comm board
...
makes gunsur2 and gunsur2j boot
various minor naomi changes
2019-07-04 17:33:26 +02:00
flyinghead
b540b437ee
win32: unprotect ram regions individually in blockmanager
...
fixes abort when starting game in windows
2019-07-04 09:36:22 +02:00
Flyinghead
5f6f90b66b
win32 build fix
2019-07-01 22:45:11 +02:00
Flyinghead
be5aca66e1
cfg,dynarecs,reios: use new logging
2019-07-01 18:23:10 +02:00
Flyinghead
2c8094f987
renderer,sdl: use new logging
2019-07-01 17:41:15 +02:00
Flyinghead
ad4218d617
audio: use new logging
...
other logging changes
2019-07-01 17:17:08 +02:00
Flyinghead
b388fa4377
imgread: use new logging
2019-07-01 16:10:28 +02:00
Flyinghead
35cd1fcf14
sh4: use new logging
2019-07-01 15:22:04 +02:00
Flyinghead
feb1b79353
sh4/dyna: use new logging
2019-07-01 12:17:51 +02:00
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