Commit Graph

421 Commits

Author SHA1 Message Date
Flyinghead a9dbbccf93 Unprotect VRAM before switching system. Fix texture cache clean 2019-07-28 17:06:12 +02:00
Flyinghead 9932d9bf43 OSX: fix bios files path (now in /data/) 2019-07-24 18:24:58 +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 60ec054b59 support for VQ compressed paletted textures 2019-07-12 15:34:10 +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 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 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 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 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 8404c6322c New logging framework stolen from dolphin 2019-06-30 21:06:46 +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 99778a7715 per-pixel renderer: RTT might need bigger buffers than screen 2019-06-27 22:41:16 +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 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 b226544d03 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-21 14:37:32 +02:00
Flyinghead 9f66847469 name change 2019-06-20 21:50:19 +02:00
Flyinghead ad5ab6240b refactor vram lock/unlock code into new vmem.cpp functions 2019-06-19 14:49:14 +02:00
Flyinghead bd30752b86 Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx 2019-06-08 13:04:35 +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 fa10b9ed2f Wrong offset in VramLockedWrite 2019-05-24 17:44:54 +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 c2c0215e1b Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-05-22 14:13:00 +02:00
Flyinghead d55d803c16 gles2 build fix 2019-05-21 19:11:47 +02:00
Flyinghead 3bf32f5adf Merge remote-tracking branch 'origin/fh/limitfps-option' 2019-05-21 11:42:07 +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 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 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
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 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
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 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 3cd9736fca Ignore vscalefactor if < 1
fix black screen on some intel platforms
2019-05-08 21:33:49 +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
skmp 3f8328da25
Merge pull request #1568 from reicast/baka/audio_options
AUDIO: Allow backend specific settings
2019-05-03 03:57:17 +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 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
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
Christoph "baka0815" Schwerdtfeger 0a3c361da2 AUDIO: Allow backend specific settings 2019-04-24 21:41:38 +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 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 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 0a6f503efc Don't use screen stretching parameter for RTT 2019-04-08 21:51:59 +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 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
Christoph "baka0815" Schwerdtfeger 16f9200bfa AUDIO: Allow selection of backend 2019-04-05 22:22:46 +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 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
Stefanos Kornilios Mitsis Poiitidis af6993a819 dynarec: Refactor smc-option a bit 2019-03-30 07:16:44 +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 8fb1d80751 gui: display VMUs on pause 2019-03-29 17:35:00 +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 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 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 fe30fe1e8e OIT: reset scaling before drawing final quad
Fixes Wacky Races and Nomad Soul
2019-03-18 22:21:21 +01:00
Flyinghead 69484e4ae8 start game passed as command line argument 2019-03-13 21:54:04 +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 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 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 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 94f346a1e0 win32: use new input system 2019-02-21 17:57:51 +01:00