flyinghead
16dec49e08
windows: use utf8 internally. Support latin2, cyrillic, etc. pathnames
...
upgrade libzip to 1.7
imgui: use all glyphs from font including latin2, cyrillic, greek, etc.
2021-01-19 11:11:01 +01:00
Flyinghead
c03cf8eb45
rend: multi-render, delay swap, refactor main ui loop
...
move ui loop out of hw/pvr
vk: implement multi-rendering, delay swap. Load fb before render pass
fps counter now counts frames, not renders
vk: force ignoreTexAlpha for 565 texture in case the supporting texture
has an alpha channel (RTT). Fixes Alone in the Dark cinematic scenes.
pvr: better detection of frame swapping (FB_R_SOF/FB_W_SOF)
pvr: synchronous rendering now always waits for render in progress
(speed measurement not reliable, render skipped when multi-rendering)
vk: limit swap chain size to 2
2020-12-15 15:09:42 +01:00
Flyinghead
d960f8e9f5
lightgun: handle screen stretching, rotation and tall aspect ratio
...
Issue #139
move jvs stuff into maple_jvs.cpp
2020-12-09 13:48:58 +01:00
Flyinghead
897141833a
windows: create data directory on startup
2020-12-08 17:55:36 +01:00
Flyinghead
14393ea6b1
improved microphone emulation. support for linux and windows
2020-12-05 18:47:09 +01:00
Flyinghead
adeacd89f4
input: implement reload. remap some naomi games input
...
implement lightgun reload (dc, naomi)
kcode[] set to 32 bits
revamped mapping for naomi keys
remapped btns for some naomi games
display game button/axes names in UI
2020-12-02 14:40:50 +01:00
Flyinghead
8f77a5482a
config/data folders improvements
...
linux: look for legacy ~/.reicast and ~/.reicast/data
else look for ~/.config/flycast and ~/.local/share/flycast
and ~/.config/reicast and ~/.local/share/reicast
(defaults to flycast)
look for bios files in home folder and data folders (android, windows
,macos), then in game folder.
on linux, search in /usr/share/flycast and /usr/local/share/flycast and
legacy locations
2020-11-26 16:45:57 +01:00
Flyinghead
3e3fa08430
input: use btn/axes names in ui. fix mouse btn mapping
...
Use button and axis names in mapping UI
Mouse button remapping was impossible
x11: use same config names for window size as sdl/win
2020-11-20 22:10:14 +01:00
flyinghead
700994340b
cmake: add sdl to vstudio build. Fix WinCE crash
2020-07-23 18:50:55 +02:00
scribam
0b1d739673
MSVC Cleanup
2020-04-23 14:10:49 +02:00
Flyinghead
65f156817c
win32: reserve vmem with MEM_TOP_DOWN. Use 1MB increment for prepare_jit
2020-04-22 10:06:25 +02:00
Flyinghead
17a2c3644f
ui: add loading screen with cancel button. don't freeze ui on load
2020-04-20 18:52:02 +02:00
scribam
62afe5714a
Rework cThread to use std::thread
2020-04-15 20:20:30 +02:00
scribam
e99aac3575
Remove "using namespace std;"
2020-03-30 23:00:43 +02:00
scribam
c1b37b56bc
Remove "sh4_if.h" and "stdclass.h" from "types.h"
2020-03-30 23:00:43 +02:00
Flyinghead
c5a42a57bc
limit maple schedule time, allow vram 8-bit reads, minor changes
2020-03-28 12:19:36 +01:00
tokuio
255d19d40f
let windows terminals use Nix ConsoleListener, fix windows timestamp
2020-03-27 19:05:24 +00:00
flyinghead
8db02cf503
sdl: Support hats. Save/restore window state and size. Fullscreen mode
2020-03-22 14:10:07 +01:00
flyinghead
8f92315207
Use sdl on windows
2020-03-21 15:25:02 +01:00
Flyinghead
0c2e95185c
support for right analog stick. Fix gunsur2 inputs
2020-03-20 16:57:50 +01:00
Flyinghead
4e73af0f94
Mem leaks in input mapping/jvs/x11. Fix crash when latin-1 char is input
...
Fix warnings
2020-03-12 16:09:05 +01:00
Flyinghead
b79c074444
axe wchar
2020-01-31 23:51:12 +01:00
flyinghead
36a7c00507
win32: fix crash when switching to vulkan
...
fix recursive call to VulkanContext::Init
still crashing when starting with vk and switching to GL
2020-01-08 10:58:24 +01:00
flyinghead
3415ce5577
win32: detect platform. SDL support
2019-12-22 23:49:52 +01:00
Flyinghead
29fd406dd8
vulkan: crash on windows when switching from gl to vulkan
...
Destroy and recreate window when switching from gl to vulkan
VkGetPhysicalDeviceProperties2 crash with old nvidia driver (376)
2019-12-14 17:53:01 +01:00
Flyinghead
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +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
a6c56ba748
vulkan: windows support
2019-10-15 21:25:24 +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
8b949e1dca
Get rid of time_sync timer. Clean-up
2019-09-11 15:09:23 +02:00
scribam
49b7e0682b
Cleanup
2019-09-07 20:36:13 +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
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
Flyinghead
5ef0f74620
win32: keyboard support
2019-02-09 16:22:09 +01:00
flyinghead
4685bc1fad
win32: hook up mouse
2019-02-07 20:04:17 +01:00
Flyinghead
82f156f143
Gamepad support to GUI. Wire evdev, SDL and windows
...
Allow dc_stop() to work even when the emu is paused
2019-02-07 16:59:24 +01:00
Flyinghead
9ccf0efdea
switch between interpreter and dynarec at runtime
2018-11-11 23:49:41 +01:00
Flyinghead
4c334f09ea
AW: various fixes, more roms
2018-11-09 13:22:27 +01:00
Flyinghead
dc9780eb46
Android: fix black screen at boot on some devices
2018-10-29 20:03:47 +01:00
David Miller
a8c09197a3
os_MakeExecutable() using sizeof(sz)
2018-10-28 11:45:35 -04:00
flyinghead
27b79edf6f
win32: Naomi test/service/coin keyboard bindings
2018-10-21 02:51:20 +02:00
flyinghead
c135ab0e90
Win32: fix msvc build. removed tick thread
2018-09-25 14:09:07 +02:00
David Miller
2e23ee4628
use enum for cli arg exit and android build ndef
2018-09-20 17:48:27 -04:00
David Miller
b58e866b6b
Desktop command args support fixes and auto git versioning for VS and make
2018-09-20 17:48:27 -04:00
Flyinghead
7ce4fccb37
Merge remote-tracking branch 'origin/master' into fh/mymaster
2018-09-20 17:28:41 +02:00
Flyinghead
bc6a8f451a
Fix picotcp on Windows
...
Automatically configure tap IP address, route and proxy arp using iphlpapi.
Partial port to MINGW.
2018-09-17 12:59:52 +02:00
Abandoned Cart
4ed65fca3d
Revert "Fix to windows OpenFile dialog #1238"
2018-08-28 13:38:11 -04:00
Pavel Dmytriiev (Github)
a4e6dbadb5
Fix to windows OpenFile dialog
...
Now it actually says something about what exactly it tries to open, also on "cancel" it exits gracefully.
Proposal: instead of checking one thousand return codes, which are easily ignored, I suggest using an exceptions (this part of emulator doesn't require execution speed, so exceptions here would be just fine).
2018-08-27 23:20:39 -04:00
Christoph "baka0815" Schwerdtfeger
11b01633d0
Fix Windows
2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger
638a97d1ae
Maple: Reworked the way controllers are created
...
A new function was introduced to abstract the setup of input devices for each os: os_SetupInput().
I hope I implemented this everywhere correctly and the behaviour is identical to before.
The new function mcfg_CreateNAOMIJamma() creates the NAOMI Jamma interface and is hidden behind a compile flag (same as before).
The previous function mcfg_CreateDevices() was renamed to mcfg_CreateDevicesFromConfig() because it creates the devices based on the configuration (``nb`` setting).
2018-08-21 00:33:18 -04:00
Flyinghead
960904c401
Exit cleanly in desktop platforms
...
Lighter and cleaner version of the previous PR
2018-07-23 19:52:50 +02:00