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
f3a91de1af
Unify dreamcast, naomi and atomiswave builds WIP
2019-07-09 23:52:19 +02:00
Flyinghead
ad4218d617
audio: use new logging
...
other logging changes
2019-07-01 17:17:08 +02:00
Flyinghead
8404c6322c
New logging framework stolen from dolphin
2019-06-30 21:06:46 +02:00
Flyinghead
b226544d03
Merge remote-tracking branch 'origin/master' into fh/wince-dynarec
2019-06-21 14:37:32 +02:00
Flyinghead
f29569cf5d
more name change
2019-06-20 23:46:20 +02:00
Flyinghead
6ed098a929
wince: enable code block protection
2019-06-19 22:55:47 +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
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
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
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
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
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
david miller
c681dc77dc
Win32 fullscreen via alt-enter
2019-05-01 19:11:35 -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
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
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 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
37a533740b
win32: close thread handle when finished
2019-04-09 10:37:49 +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
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
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
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
c809c6c56f
Merge branch 'fh/mymaster' into fh/master-merge
2019-03-25 16:47:47 +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
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
c6baa4827b
x11: support mouse wheel. ascii text keyboard input
2019-02-24 12:53:49 +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
3561b3479d
win32: invert Y axes of sticks
...
implement inverted axis in base gamepad device
2019-02-22 11:35:41 +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
8b5c2a3fac
New input handling/mapping system, SDL only for now. Gui wip
2019-02-12 11:30:24 +01:00