Commit Graph

1484 Commits

Author SHA1 Message Date
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
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
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
david miller 3157520dee mingw64 fixes 2019-04-12 19:15:31 -04:00
david miller 6539b8c247 _mkdir guard 2019-04-12 18:24:11 -04:00
david miller 803cad95f9 gcc flags & misc 2019-04-12 18:13:09 -04:00
david miller 68ee192ad4 compiler def. fixes 2019-04-12 18:08:36 -04:00
david miller b6c234b71b revert to using strcasecmp for other platforms 2019-04-12 17:19:40 -04:00
david miller cc9d5ec55b CMake/Master working, tested on windows with Clang && MSC (x86,x64) 2019-04-12 16:59:39 -04:00
David Miller 3d1b82854e
Merge branch 'master' into fh/win32-winresize 2019-04-12 13:03:30 -04:00
flyinghead 8cdbb9c2fd
Merge pull request #1548 from reicast/fh/float-vmu
Float VMU option. Android renderer native thread. 90° screen rotation option. AW fixes.
2019-04-10 21:53:41 +02:00
Flyinghead 13341ecd59 maple: process_kcode -> transform_kcode 2019-04-10 11:31:08 +02:00
Flyinghead 0445542ec2 gl: 90deg screen rotation option. Fix scissor/clip wrt scale/stretch
90deg CC screen rotation option for some arcade games
Fix scissoring and clipping when screen scaling/stretching/rotating
Clear shader cache when screen rotation changes
Properly delete all gl programs and shaders when needed
2019-04-09 15:18:48 +02:00
Flyinghead 37a533740b win32: close thread handle when finished 2019-04-09 10:37:49 +02:00
Flyinghead 1b04ef4cb1 Get rid of RTC in settings 2019-04-08 22:09:22 +02:00
Flyinghead 0a6f503efc Don't use screen stretching parameter for RTT 2019-04-08 21:51:59 +02:00
Flyinghead b87a1cc31a atomiswave: setup maple controls depending on game
more lightgun fixes but still not working
2019-04-08 19:14:55 +02:00
baka0815 56374377dd
Merge pull request #1543 from reicast/baka/select_audio
AUDIO: Make backend configurable
2019-04-08 18:33:53 +02:00
Flyinghead cf7434a9e6 atomiswave: fix coin input. Subclass sega controller instead of #def 2019-04-08 17:09:10 +02:00
Flyinghead f5a60ee5f1 New option to display VMUs in game 2019-04-08 15:54:37 +02:00
Flyinghead 47bb509f02 Add horizontal screen stretching option
fix scissor test when scaling/stretching
fix infiniloop when starting a game fails
2019-04-08 00:21:06 +02:00
Flyinghead 408d16b299 imgui: clear color buffer before drawing background tex
fixes blinking edges on nvidia shield and other glitches
2019-04-07 23:33:24 +02:00
Flyinghead 4b7e4f4677 custom textures: fix race conditions 2019-04-06 19:38:00 +02:00
Flyinghead e8205e568b naomi/aw: fix atomiswave and naomi inputs
atomiswave analog axes support
map atomiswave and naomi driving games inputs
2019-04-06 19:36:57 +02:00
Christoph "baka0815" Schwerdtfeger 16f9200bfa AUDIO: Allow selection of backend 2019-04-05 22:22:46 +02:00
Christoph "baka0815" Schwerdtfeger b8ae61bc5c AUDIO: Sort audio plugins by name 2019-04-05 21:14:42 +02:00
Christoph "baka0815" Schwerdtfeger b443fe9b25 AUDIO: make the plugins self-registering
No need anymore for the RegisterAllBackends() function and all plugins in one place.
Use a static boolean to register every plugin by itself.
2019-04-05 21:05:18 +02:00
flyinghead 7e11e7aff6
Merge pull request #1541 from reicast/fh/dpad-fix
Avoid opposite dpad buttons being both down. Ignore android key repeats
2019-04-05 15:42:34 +02:00
Flyinghead 0b7024f6a0 Avoid opposite dpad buttons being both down. Ignore android key repeats 2019-04-05 14:48:59 +02:00
Flyinghead d524e3381d only update the fog texture if fog is enabled 2019-04-04 22:54:36 +02:00
Flyinghead 05df2f06e2 imgui: use glcache, don't save/restore state
gl4: backport shader map changes from gl renderer
2019-04-04 22:26:21 +02:00
Flyinghead 3a73938240 UI for fog disable option 2019-04-04 20:05:13 +02:00
Flyinghead ec95c95b89 add option to disable fog effects 2019-04-04 19:26:15 +02:00
Flyinghead 994d52e012 gl: put shaders in a map and set uniforms once for all before each frame 2019-04-04 19:08:21 +02:00
Flyinghead 382279b12e imgui: use glcache 2019-04-04 19:07:09 +02:00
Flyinghead f83a06d9c0 glcache was always disabled 2019-04-04 19:06:46 +02:00
Flyinghead 125cccaa5a gles: only use GLES3 functions on android 2019-04-04 08:10:32 +00:00
Flyinghead eadf3047c0 gles: no runtime load of libGLESv2 on non-android platforms 2019-04-03 20:24:28 +00:00
flyinghead d7fcc80be4 win32: don't save window size if minimized 2019-04-01 11:32:49 +02:00
flyinghead d945b2b8de win32: allow window to be resized/maximized. Save size and max state. 2019-04-01 11:32:25 +02:00
flyinghead 7f0489ff28 visual studio compatibility
no modem support
no zip or 7z support so no naomi for now
hacked a .asm file as vs doesn't support inline assembly -> code dup
2019-03-30 19:26:05 +01:00
flyinghead 26f02e22da
Merge pull request #1531 from reicast/fh/smc-option
dynarec: add option to control smc code checks: faster, fast, full
2019-03-30 13:27:45 +01:00
flyinghead c02a6969df win32: add app icon and version resource 2019-03-30 12:32:37 +01:00
flyinghead 4b0e77a2b3 win32: don't save window size if minimized 2019-03-30 11:27:14 +01:00
flyinghead 0e198fac58 win32: allow window to be resized/maximized. Save size and max state. 2019-03-30 11:22:51 +01:00
Flyinghead 505c5b6c4d dynarec: FullCheck was being ignored and FastCheck used instead
Fix crash on arm32
Fix infinite loop on x64
2019-03-30 10:06:19 +01:00
Stefanos Kornilios Mitsis Poiitidis af6993a819 dynarec: Refactor smc-option a bit 2019-03-30 07:16:44 +01:00
Flyinghead 8e9b1306e1 dynarec: make FullCheck the default SMC option 2019-03-29 20:28:49 +01:00
Flyinghead 7f44bb9956 vmu: pass bus id and port to callback 2019-03-29 19:54:59 +01:00
Flyinghead 6438a402df dynarec: add option to control smc code checks: none, fast, full 2019-03-29 19:23:37 +01:00
Flyinghead 09ea5eba78 missing changes for previous commit 2019-03-29 17:47:17 +01:00
Flyinghead 8fb1d80751 gui: display VMUs on pause 2019-03-29 17:35:00 +01:00
Flyinghead 80626b1f4e win: compile fix 2019-03-29 17:34:16 +01:00
Flyinghead daf4980fc8 input: save assigned maple port of each gamepad 2019-03-29 17:19:18 +01:00
Flyinghead 36acae9a00 gdi: treat slash as path separator on windows 2019-03-29 14:19:41 +01:00
Flyinghead 8751e55213 input: wait for 200ms before detecting button/axis input when remapping 2019-03-28 18:28:29 +01:00
Flyinghead 47201b9e48 input: analog axis as DPad should now work 2019-03-28 17:56:59 +01:00
Flyinghead eb7be51f67 gdrom: stop playing cdda when changing/ejecting disk 2019-03-28 14:53:41 +01:00
Flyinghead 5242af5879 rec-arm64: better pref fix 2019-03-28 14:26:04 +01:00
Flyinghead 20b09cf1b7 arm64: disable partially implemented 0x1337 pref optimization hack 2019-03-28 13:02:08 +01:00
Flyinghead ca750ae454 arm: aica RAM overflow crash with arm32 and arm64 recs
Move target platform #def's to build.h
Fix Sturmwind and Volgarr crashes
2019-03-28 11:41:48 +01:00
Flyinghead 0a301a4758 android: use a single activity with simple layout
remove most of the android ui remains
NativeGLActivity is the unique activity
handle window focus in/out events
refresh folder list when access to external storage is granted
record audio permission request must not overlap with external storage
perm req
2019-03-27 21:09:53 +01:00
Flyinghead 1ef8caff88 include TCW in HD texture hash
Soul Calibur has textures sharing the same data but with different
formats
2019-03-26 21:14:39 +01:00
Flyinghead ca0816042e fix warning 2019-03-26 18:23:16 +01:00
Flyinghead a3f9764936 Add Boot Dreamcast BIOS option
Reload roms/flash when starting a new game
Better naomi reset (still have issues)
Fix error reporting with Naomi
2019-03-26 17:20:44 +01:00
Flyinghead f5c896121e Aica: fix adpcm decoding
Fix click at the end of some samples (Sonic Adventure menu sound)
2019-03-26 12:45:02 +01:00
Flyinghead cce5028ed3 AW: fix flash sector size. Implement SB_SFRES soft reset
Fixes Atomiswave freezing when exiting the service menu and problems
when saving to flash.
2019-03-26 11:54:03 +01:00
Flyinghead 815616369e naomi build fix 2019-03-25 21:58:54 +01:00
Flyinghead 22b08bea74 maple: disconnect/reconnect maple devices when config changes
Wait 100ms between disconnect and reconnect to let game detect it
2019-03-25 18:46:57 +01:00
Flyinghead c809c6c56f Merge branch 'fh/mymaster' into fh/master-merge 2019-03-25 16:47:47 +01:00
Flyinghead cae22b9fbb Re-init the aica sgc on reset 2019-03-25 09:41:28 +01:00
David Guillen Fandos 69ab16ad9c Use CPUID to detect MMX/SSE support
Make it so that it works with all compilers and OSes.
Tested in VS, gcc and clang (built for Android x86)
2019-03-25 00:11:32 +01:00
David Guillen Fandos cb278e367b Minor fixes/tweaks to make it easier for switch port
Unused x86-specific header unnecessarily included :/
Move config ini stuff into its own namespace, believe it
or not but conflicts with some random switch header.

Tested: built for Android, Linux x64 w/ & w/o rec-cpp.
2019-03-23 21:04:17 +01:00
Flyinghead f454c79f08 TA: ISP_BACKGND_D has only 28 bits of precision
Calculate background depth accordingly
add extradepthscaling of 0.1 to wince games so the last four bits of
depth are significant
2019-03-20 16:31:12 +01:00
Flyinghead c3b93cfd8d gdi: set correct CTRL value in TOC 2019-03-20 14:33:55 +01:00
Flyinghead 8564f497d4 sh4 interp: add IsFloatingPoint() to op desc. Add delay slot 0 hack
Add UsesFPU flag to floating point ops. Use flag instead of specific
test cases in op handlers.
Adjust thrown exception in delay slot (slot illegal exception and slot
fpu disable)
Re-add delay slot 0 hack (Looney Tunes Space Race)
2019-03-20 13:45:35 +01:00
Flyinghead d0f65b19d3 mmu: templatize mmu_full_lookup 2019-03-20 10:58:59 +01:00
Flyinghead a21eedc88a implement fpu disable exception and other interp and mmu fixes
implement sh4 fpu disable exception
implement assistance/PTEA MMU registers
fix some sh4 ops with side effect in interpreter
account for delay slot op cycles
avoid any side effect when using wince tracer
extract SH4_TIMESLICE to single header file (still not used by arm and
x86 recs)
2019-03-19 21:35:55 +01:00
Flyinghead fe30fe1e8e OIT: reset scaling before drawing final quad
Fixes Wacky Races and Nomad Soul
2019-03-18 22:21:21 +01:00
Flyinghead 9e2938dff4 mmu: state change wasn't detected. WinCE syscalls tracing 2019-03-17 23:46:39 +01:00
Flyinghead 73d50486d5 mmu: dynamic switching with read/write mem function pointers 2019-03-17 22:59:18 +01:00
Flyinghead 34f46fb482 gdi: set correct CTRL value in TOC 2019-03-16 12:06:29 +01:00
Flyinghead bdc729e780 android: vjoystick haptic feedback setting wasn't being saved 2019-03-15 19:55:01 +01:00
Flyinghead eb73c2fcf1 missing #include 2019-03-14 21:37:36 +01:00
Flyinghead e5b18cd8a0 wince: implement pref SQ to YUV converter and 32bit vram
implement incremental YUV conversion with pref SQ
implement access to 32bit VRAM with pref SQ
init YUV converter when TA_YUV_TEX_CTRL is set
set FIFO available space to 256 through SB_TFREM reg
fake FIFO status through SB_FFST reg
2019-03-14 21:35:33 +01:00
Flyinghead 69484e4ae8 start game passed as command line argument 2019-03-13 21:54:04 +01:00
Flyinghead 89c2fd54a9 fix function name typo 2019-03-13 20:04:14 +01:00