Commit Graph

1214 Commits

Author SHA1 Message Date
Jan Holthuis 167fba4c9f Added ALSA audio backend
This adds the OSS audio backend, which is basically a slightly modified
version of core/oslib/alsa_audiostream.cpp from the skmp/linux-x64
branch (as of commit cdf9f3dc971506c2efd979275c2869f064e1027c).

The ALSA backend will be included during compilation if HOST_OS is OS_LINUX
and neither TARGET_NACL32 nor ANDROID are defined. This should be
changed to a USE_ALSA flag in the future (for constistency and and
simplicity reasons), but i didn't want to put too much stuff into this
commit.
2015-06-27 20:44:53 +02:00
Jan Holthuis f6d2e3fa7e Added OSS audio backend
This adds the OSS audio backend and removes OSS code from
core/linux-dist/main.cpp and core/sdl/main.cpp.
The OSS backend will be included during compilation if the USE_OSS
flag is set.

Although OSS code in core/linux-dist/main.cpp depended on the
TARGET_PANDORA flag instead of USE_OSS, the latter should work too
since it is defined in the Pandora Makefile (lines 7 & 83).
2015-06-27 20:42:40 +02:00
Jan Holthuis e3f1784a0f Implement audio backend system
This makes it possible to have multiple audio backends compiled into
reicast (e.g. ALSA & OSS on Linux). These can then selected by the user
via a config option ("backend" iin the "audio" section). It *should*
also be possible to reduce the number of platform-specific ifdefs with this
approach.

Audio backends need to define a struct (audiobackend_t) that holds a
pointer to it's init, push and term function and also a slug and a name
as string. They then need to pass a pointer to this struct to
RegisterAudioBackend() before InitAudio() is called.

For now, I defined a function (RegisterAllAudioBackends) that get's
called exactly once (i.e. upon first call of InitAudio()), where
we can put ifdef'd RegisterAudioBackend() calls into for each backend
that reicast supports.

Please note that this commit just implements the basic audio backend
system - no backends have been ported to the new API yet. For the meantime,
reicast will run without any audio support accross all systems.
2015-06-27 20:41:49 +02:00
Jan Holthuis 35968c8291 Rename os_Push() to PushAudio() for consistency 2015-06-27 20:41:05 +02:00
Jan Holthuis 55c6667753 Rename audiostream_rif.h to audiostream.h
This makes the naming more consistent.
2015-06-27 20:40:19 +02:00
Jan Holthuis 4c5682ac89 Define audiostream.cpp's time_diff at global scope
There's no need to do this inside the InitAudio() function.
2015-06-27 20:39:28 +02:00
TwistedUmbrella 574e90d1fc Merge pull request #637 from reicast/loungekatt
Fix build on OSX, Debug updates, Controller support
2015-06-21 20:16:47 -04:00
TwistedUmbrella fc0a917d42 Make menus controller-compatible (Pt. 2)
Add a border to the selected / pressed view to notify the user when
touch is unavailable.
2015-06-21 20:02:38 -04:00
TwistedUmbrella 6c1e5d250e Make menus controller-compatible (Pt. 1)
This requires some form of visual highlighting, but enables selection
of items using a controller.
2015-06-21 19:17:45 -04:00
TwistedUmbrella 414a7205f2 Add focus for attempting controller support 2015-05-23 12:25:32 -04:00
TwistedUmbrella 3f2f400c59 Fix compile on OSX by defining os_DebugBreak
This is an equivalent of the same functionality as per
http://stackoverflow.com/a/5561015
2015-05-23 12:25:22 -04:00
TwistedUmbrella 97569a9f24 too many arguments to function 'void armv_end(void*)' 2015-05-23 12:25:14 -04:00
TwistedUmbrella 604a3a0f8a Begin implementing a BIOS selection dialog
This is a dedicated dialog for selecting the BIOS on first run
2015-05-21 16:06:33 -04:00
TwistedUmbrella d7d0f23a29 Add report option to error detection prompt 2015-05-21 16:06:33 -04:00
Stefanos Kornilios Mitsis Poiitidis a9fc0f5aa8 Merge pull request #655 from reicast/feat/segfault-context-consolidation
ios merge, segfault context consolidation, linux86, android x86 jit
2015-05-18 14:56:55 +02:00
Stefanos Kornilios Mitsis Poiitidis c3a90a63a1 Merge pull request #658 from reicast/fix/vram-bank-handling
pvr/vram: Bank bit seems to be fixed on 4M, even on 16M hardware
2015-05-18 14:55:54 +02:00
Stefanos Kornilios Mitsis Poiitidis f571d6c594 pvr/vram: Bank bit seems to be fixed on 4M, even on 16M hardware 2015-05-18 14:45:24 +02:00
~skmp 4ea7398d8a Linux: fix building 2015-05-16 11:23:31 +03:00
Stefanos Kornilios Mitsis Poiitidis 2d842b9257 Renderer_if: fix norend 2015-05-16 01:10:47 -07:00
Stefanos Kornilios Mitsis Poiitidis 9c2a4dc5a4 iOS fixes 2015-05-16 01:04:30 -07:00
Stefanos Kornilios Mitsis Poiitidis 6547d80095 Fixes for android, cleanup context.cpp 2015-05-16 08:18:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 03914309e3 linux/context: Add updated context files 2015-05-16 07:16:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 65ca1382d8 Merge remote-tracking branch 'remotes/origin/skmp/ios-wip' into feat/segfault-context-consolidation
Android/windows builds fine again. Android not tested yet, iOS/OSX not compiled yet
2015-05-16 07:12:19 +02:00
Stefanos Kornilios Mitsis Poiitidis 902c5e2949 linux/context.*: Add missing files 2015-05-16 03:10:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 8c469e4b5c *nix: move context massaging to linux/context.cpp, ALIGN -> DECL_ALIGN
Yay some warnings gone from not conflicting with ALIGN anymore
2015-05-16 03:06:04 +02:00
Stefanos Kornilios Mitsis Poiitidis db284eb4b7 travis: Add sudo: false to use docker stack
Hopefully fixes ndk extraction issues, docker containers have more resources
2015-05-16 01:01:09 +02:00
Stefanos Kornilios Mitsis Poiitidis 341c421dd7 travis: Add sudo: false to use docker stack
Hopefully fixes ndk extraction issues, docker containers have more resources
2015-05-16 00:52:42 +02:00
Stefanos Kornilios Mitsis Poiitidis bdece20e3a VS project: Exclude rec-86 from all build configs 2015-05-16 00:37:02 +02:00
Stefanos Kornilios Mitsis Poiitidis a2ac4015d1 Android/Makefile: Fix build by avoiding var-leakage
Apparently include $(CLEAR_VARS) doesn't quite do what one expects
2015-05-16 00:31:25 +02:00
Stefanos Kornilios Mitsis Poiitidis 30709c948e Android makefile: C doesn't support -fvisibility-inlines-hidden 2015-05-15 23:35:25 +02:00
Stefanos Kornilios Mitsis Poiitidis cf473a14a4 x86 jit: fix android 2015-05-15 23:33:47 +02:00
Stefanos Kornilios Mitsis Poiitidis 5b609a6be4 linux: Sh4 dynarec works 2015-05-08 18:59:20 +02:00
Stefanos Kornilios Mitsis Poiitidis d33ad6edfb Updating from linux/x64 2015-05-08 17:49:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 5ef9d661a6 Merge remote-tracking branch 'origin/master' into skmp/linux86 2015-05-08 17:29:14 +02:00
Stefanos Kornilios Mitsis Poiitidis 5d3c71bee7 Merge master 2015-05-08 17:29:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 86004e6879 Merge pull request #646 from reicast/fix/tmu-undeflow-logic
tmu: Correctly schedule next interrupt in underflow, correctly differ…
2015-05-08 15:35:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 3fe8f0eb94 tmu: Correctly schedule next interrupt in underflow, correctly differentiate between large values and underflows
- 32 bit code was "fudgy" on this, so simplified via 64bit counters for edge detection
- Maths to count cycles were wrong
- Let's not do 32 bit wrapped maths after beers without any kind of pen-and-paper design

Should fix #594, also see #645
2015-05-08 02:29:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d75ee3839 gles: revert e5965e356d.
glCheck was already an option, and gcc sanely doesn't like if (do { ... } while(0))
2015-05-08 01:06:40 +02:00
Stefanos Kornilios Mitsis Poiitidis e5965e356d gles: Disable glChecks by default, glGetError can be painfully slow 2015-05-07 23:27:22 +02:00
Stefanos Kornilios Mitsis Poiitidis c25ce04b48 sh4_sched: Avoid scheduling to -1, because, magic values. 2015-05-07 22:10:00 +02:00
Stefanos Kornilios Mitsis Poiitidis 4b46de89bb sh4_sched: Handle disabled events correctly 2015-05-07 22:03:55 +02:00
Stefanos Kornilios Mitsis Poiitidis 20f7a41fe9 sched: Do not re-fire expired callbacks, use sh4_sched_remaing on sh4_sched_tick 2015-05-07 21:33:36 +02:00
Stefanos Kornilios Mitsis Poiitidis 0614680f8c WinThreading: DEBUG_THREADS for random sleep around sync primitives 2015-05-07 21:32:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 330a60bcf4 Merge branch 'master' of github.com:reicast/reicast-emulator 2015-04-12 22:48:31 +02:00
Stefanos Kornilios Mitsis Poiitidis 64b2fcbb1c Disable glCheck by default, move to validate:OpenGlChecks config 2015-04-12 22:48:16 +02:00
Stefanos Kornilios Mitsis Poiitidis faedd233da Merge pull request #635 from williansti/master
update brazilian translation
2015-04-12 22:36:14 +02:00
Stefanos Kornilios Mitsis Poiitidis e98f69ebd9 Merge pull request #629 from Holzhaus/fix-typedef-default-args
Remove arm_dyna typedef default args
2015-04-12 22:35:09 +02:00
Willians 0f42cb0da7 update brazilian translation 2015-04-12 10:42:12 -03:00
Stefanos Kornilios Mitsis Poiitidis 37960df643 Merge pull request #617 from reicast/features/use-ndk-r10d
Update for ndk-10d, improved build options
2015-04-12 12:54:22 +02:00
Stefanos Kornilios Mitsis Poiitidis dcabd5a8e7 Merge branch 'master' into features/use-ndk-r10d 2015-04-12 11:56:53 +02:00