Compare commits

...
4769 Commits
Author SHA1 Message Date
ToadKing 05c6f79a6a (Android) use libretro.org for overlay manual, not github repo 2013-01-25 10:00:38 -05:00
twinaphex fc529d8655 (Android) Add Shader Pack zip link 2013-01-25 01:13:18 +01:00
twinaphex 4007f0e3b5 (Android) Add link to overlay manual 2013-01-25 00:55:24 +01:00
Themaister e92441f5b8 Check aspect lower than 1. 2013-01-25 00:20:55 +01:00
ToadKing 47e950e9d8 (Android) detect portrait orientation by aspect ratio 2013-01-24 18:17:25 -05:00
Themaister 13277f080b Don't display redundant info about NEON. 2013-01-25 00:11:34 +01:00
Themaister 80b5739f86 Don't display non-NEON version if NEON-version exists. 2013-01-24 23:55:28 +01:00
Themaister dbc9555274 Don't append libretro cores that cannot be used.
If "neon" appears in name, and NEON isn't supported,
that libretro core will not be used.
2013-01-24 23:42:12 +01:00
Themaister edbb3a7c65 Drop unnecessary import. 2013-01-24 23:32:44 +01:00
Themaister 784bafdb19 Check in Java if NEON is present. 2013-01-24 23:29:47 +01:00
twinaphex 3139b98be7 (PS3) Cleanup Makefile.ps3 2013-01-24 22:56:55 +01:00
twinaphex 87499a214e (Android) Add ReadCPU function on Java side 2013-01-24 20:53:50 +01:00
twinaphex ce79b33fee (Android) Add auto-load state option 2013-01-24 20:28:22 +01:00
Themaister 6f8190ea0b Add savestate_auto_load option. 2013-01-24 19:24:40 +01:00
Themaister 7ab8eaec02 Use NEON conditionally for sample conversions. 2013-01-24 18:37:42 +01:00
Themaister 77207332f1 Use NEON conditionally in SINC. 2013-01-24 18:30:37 +01:00
Themaister 0b4b737d34 Clarify --enable-zlib. 2013-01-24 16:49:39 +01:00
Themaister 40300e502b Fix regression in patching when zlib CRC32 is used. 2013-01-24 16:49:23 +01:00
Themaister 32f45b2f27 Clearer switch code in extractor. 2013-01-24 07:35:52 +01:00
Themaister e4e71f333c Get rid of redefine warning. 2013-01-24 07:32:15 +01:00
Themaister 947e49fbe2 Avoid ugly android viewport hack. 2013-01-24 07:31:02 +01:00
ToadKing 34b86c2d14 (Android) add options to download manual/cores manual 2013-01-23 21:46:15 -05:00
ToadKing 1732ffec5f Add input overlay resized for portrait screens 2013-01-23 18:46:46 -05:00
ToadKing 1c4f52ce47 (Android) put the viewport at the top of the screen in portrait mode
FIXME: have to fix that ugly hack
2013-01-23 17:05:48 -05:00
twinaphex 5d37082340 (Android) Add new overlays 2013-01-23 22:40:18 +01:00
twinaphex 722f6a2479 (RMenu XUI) Cut down on unnecessary objects 2013-01-23 19:33:26 +01:00
twinaphex 812865ff25 (RMenu XUI) Sets aspect ratio now to 'Custom' when we select 'Resize
Mode'
2013-01-23 18:54:03 +01:00
twinaphex cc8c765190 (360/PS3) Set aspect ratio to 16:9 by default 2013-01-23 18:43:00 +01:00
twinaphex ef58bc2a0d (Rmenu XUI) Remove menu HD/SD switch 2013-01-23 18:28:05 +01:00
twinaphex 1e4612937d (360) Fix Quickmenu settings 2013-01-23 18:02:56 +01:00
twinaphex bfec64104c (RARCH_CONSOLE) Shorter title_buf for consoles - will fit better within Xbox 1
screen estate dimensions
2013-01-23 03:20:58 +01:00
twinaphex 8f0ef74cb0 (RMenu) Default libretro core option now switches cores instantly 2013-01-22 20:50:05 +01:00
twinaphex 38bd6d4adf (RARCH_CONSOLE) Always save config file upon core renaming 2013-01-22 20:45:25 +01:00
twinaphex 7abeca067d (Filebrowser) Remove MODE_FILEBROWSER_REFRESH_PENDING 2013-01-22 20:42:11 +01:00
twinaphex da8ff53115 (Android) New default overlay 2013-01-22 20:38:26 +01:00
twinaphex 27fa3cb9ae (360) Returns now to previous menu screen when selecting a shader 2013-01-22 20:35:20 +01:00
twinaphex 9ac37e6a85 (RMenu XUI) Remove cache dir 2013-01-22 19:48:33 +01:00
twinaphex 858a21f87a (360) Correctly initialize fbo_scale_x/fbo_scale_y 2013-01-22 16:30:35 +01:00
twinaphex 2a05f3568a (360) Will no longer crash if it tries to load a shader at
startup that it can't compile - default to stock as fallback
2013-01-22 16:00:34 +01:00
twinaphex 905c3f98d8 (RARCH_CONSOLE) Don't require a config file to be present on
consoles
2013-01-22 15:10:15 +01:00
twinaphex 304f9d27a4 (360) Add more HLSL error logging 2013-01-22 14:00:34 +01:00
twinaphex 10af790b21 (RARCH_CONSOLE) Remove HAVE_HDD_CACHE_PARTITION code 2013-01-22 13:09:18 +01:00
twinaphex e910829d25 (RARCH_CONSOLE) Some cleanups 2013-01-22 13:02:12 +01:00
twinaphex 474500351c (RARCH_CONSOLE) Check if config file exists - if not,set args.config_path to
NULL for rarch_main_init_wrap
2013-01-22 12:54:00 +01:00
ToadKing 25d700d440 more overlays, thanks to opium for making these 2013-01-21 21:36:15 -05:00
ToadKing 7bdc1df39a delete the correct file 2013-01-21 20:28:30 -05:00
ToadKing 6d174dcc3b (Console) don't delete the wrong file on when loading a second rom after loading one in a zip file 2013-01-21 20:18:11 -05:00
twinaphex 39daa377c6 Fixup platform_gx.c 2013-01-22 01:49:04 +01:00
twinaphex 0c4b54a756 (file_extract) Nit 2013-01-22 01:43:43 +01:00
twinaphex 5f4813238a (PS3) Audio driver cleanup 2013-01-22 01:38:00 +01:00
twinaphex 873a4f1187 (file_extract) Fix warning - fall-through to avoid warning
and do the same action
2013-01-22 01:20:27 +01:00
twinaphex 46a86f5eab Fix transfer of control bypasses initialization of variables 2013-01-22 01:16:53 +01:00
twinaphex 8a4efb6189 Refactor console_load_game 2013-01-22 01:12:02 +01:00
twinaphex 6da1a22978 (XDK) Remove xdk_xinput_input.h header file 2013-01-22 01:05:48 +01:00
ToadKing 59441dcbe5 (Wii) fix version number 2013-01-21 18:26:54 -05:00
Themaister bbaec34744 Update version numbers to 0.9.8. 2013-01-22 00:22:09 +01:00
Themaister c2868476c2 Only compile in zlib for non-SLIM builds. 2013-01-22 00:16:08 +01:00
twinaphex 8efc01b321 (RARCH_CONSOLE) Use new unzip code and remove console-centric
stuff
2013-01-22 00:14:24 +01:00
ToadKing 84e48fd3ed (GX) don't rotate menu if game rotates 2013-01-21 18:12:32 -05:00
Themaister 286b1f5e98 Fix compiler warning. 2013-01-22 00:10:10 +01:00
Themaister aab4b5c276 Use zlib in Windows. 2013-01-22 00:06:08 +01:00
Themaister e5f2afba33 Update docs to clarify that zipped roms work. 2013-01-22 00:01:25 +01:00
Themaister b90490f425 Add zip loading support to core. 2013-01-21 23:52:47 +01:00
ToadKing 9283aa2ea8 (GX) set default unbound buttons correctly 2013-01-21 17:32:37 -05:00
ToadKing bfb5f5d0e0 (Console) fix binding of unbound buttons
allow unbinding buttons
2013-01-21 17:32:37 -05:00
Themaister e04217e373 Refactor where ROM is loaded. 2013-01-21 21:01:12 +01:00
Themaister ef9825c6bd Use simpler way to check if path is empty. 2013-01-21 20:48:05 +01:00
Themaister 737627dfac Clarify that config is loaded from default loc. 2013-01-20 12:45:34 +01:00
twinaphex 3405c7f08c (RMenu) Make current_menu variable static to prevent crashes
on Xbox 1
2013-01-19 21:34:46 +01:00
twinaphex f9fcb55835 (XDK) Some Xbox 1 input changes - try to prevent menu crashing
when idle
2013-01-19 20:49:41 +01:00
ToadKing 5daf48f303 (GX) cleanup input code a bit
fix minor accuracy issue with joystick values
2013-01-19 14:43:18 -05:00
ToadKing 1763bcfa7a (GX) fix dangling file handle 2013-01-19 14:27:09 -05:00
twinaphex 5eabddcb8a (360) Add SRAM/State path enable options 2013-01-19 15:42:13 +01:00
twinaphex 4a2c0ea4f7 (XDK) Fixes re-entrancy 2013-01-19 12:45:35 +01:00
twinaphex 227ea3ebed (RMenu XUI) Don't show 'restart message' now when changing
gamma correction option
2013-01-19 12:38:59 +01:00
twinaphex 328e60ceac (XDK) Reset works correctly now 2013-01-19 12:35:16 +01:00
twinaphex 267819f5f4 (XDK) Reimplement restart - use d3dr->Reset (one half of the
screen uses a leftover frame)
2013-01-19 12:19:54 +01:00
twinaphex f677c974fa (XDK) Cleanup xdk_ctx_driver_destroy 2013-01-19 11:53:48 +01:00
twinaphex ce640ea777 (XDK) Try to setup xdk_d3d_restart - still errors out 2013-01-19 10:59:52 +01:00
twinaphex cc856940b3 (360 RMenu XUI) Add rewind granularity 2013-01-19 09:23:49 +01:00
ToadKing de9231f071 (GX) make the .dol launcher code safer, this might fix occasional crashes or hangs 2013-01-19 03:22:32 -05:00
twinaphex 5d33861c8b (RMenu) Add rewind_granularity option 2013-01-19 08:54:39 +01:00
Themaister f073eefe80 Remove libpng from quickbuild. 2013-01-19 02:36:37 +01:00
Themaister d50a839fe0 Fix CXX_BUILD. 2013-01-19 02:26:02 +01:00
Themaister 291a0360a2 Add BGR24 saving mode. 2013-01-19 02:23:16 +01:00
Themaister 26e0c3b06d Add PNG encoder. 2013-01-19 01:35:09 +01:00
twinaphex e30b71c2e4 (Wii) Refactor classic analog controller code somewhat 2013-01-18 19:43:56 +01:00
Themaister 2443a761fc Merge branch 'master' of github.com:Themaister/RetroArch 2013-01-18 19:23:12 +01:00
Themaister 76a7b5aa60 Merge branch 'opensl' 2013-01-18 19:22:41 +01:00
twinaphex 7cfc60f374 Do fill_pathnames after init_rom_file - needed for ZIP file
extraction code (for Android/RARCH_CONSOLE)
2013-01-18 19:11:41 +01:00
twinaphex 70e41129c2 (GX) Add Gamecube shortcut button combos 2013-01-18 15:46:02 +01:00
twinaphex 91fe84833a (Wii) Add back being able to navigate menu with Classic analog
sticks
2013-01-18 15:34:37 +01:00
twinaphex 83d01e6008 (GX) Add rewind option 2013-01-18 15:22:03 +01:00
twinaphex b1cb4a7cd4 (Wii) Add button combo shortcut binds 2013-01-18 15:07:11 +01:00
twinaphex 0acf0a461b (Wii) Both analog sticks now work more or less correctly 2013-01-18 14:24:46 +01:00
twinaphex 40e57c6edc (Wii) Add way to compile RetroArch and link with oiginal wiiuse -
verified that right analog stick is broken on original wiiuse too
2013-01-18 13:32:57 +01:00
twinaphex 6935316016 (RARCH_CONSOLE) All consoles supported by libretro/RetroArch so
far (Xbox 1/360/Wii/Gamecube/PS3) all seem to have their video
modes run at 59.94Hz
2013-01-18 12:36:23 +01:00
twinaphex 8e7a396c96 (GX) Wii and Gamecube run at 59.94Hz - change from 59.92Hz to 59.94Hz 2013-01-18 12:31:40 +01:00
twinaphex 1d29060e08 (Wiiuse) Merge patches from rpavlik/wiiuse
(GX) Remove Wii Classic analog stick menu moving -too twitchy to
bother with
2013-01-18 12:16:06 +01:00
Themaister a8c1afb1d0 Merge branch 'measure' into opensl 2013-01-18 11:30:08 +01:00
Themaister a52c0502d0 Actually use POT size in SL. 2013-01-18 11:29:02 +01:00
Themaister b7b569d4ea Actually use POT size in SL. 2013-01-18 11:14:38 +01:00
Themaister 34e9c6af3e Merge branch 'opensl' into measure 2013-01-18 11:05:27 +01:00
Themaister 019959a012 Add audio buffer statistics measurement. 2013-01-18 10:38:43 +01:00
Themaister 5292191b63 Add some logging to OpenSL. 2013-01-18 01:10:18 +01:00
Themaister aadff4658f Use OpenSL in a more correct fashion. 2013-01-18 01:10:18 +01:00
twinaphex df9cc5653d (Wii) Hardcode max/center values for Classic analog sticks 2013-01-17 19:09:26 +01:00
twinaphex 0ab9de154d (RMenu) Prevent being able to pop filebrowser off menu stack 2013-01-17 17:11:02 +01:00
twinaphex 06e25decfd (PS3) Get rid of one unused ifdef 2013-01-17 16:23:03 +01:00
twinaphex 70e64897be Fixes PC build 2013-01-17 14:24:26 +01:00
twinaphex 3b43155b06 rarch_console_rsound.c code moved to audio/utils.c 2013-01-17 14:21:49 +01:00
twinaphex d21e778c94 (PS3) Cleaup in osk_callback_enter_filename 2013-01-17 14:03:55 +01:00
twinaphex a60b2f80a4 (PS3) Set default refresh rate to 59.94Hz 2013-01-17 13:14:23 +01:00
twinaphex ca9edec941 (PS3) Add PAL60 mode 2013-01-17 12:17:02 +01:00
twinaphex 95961d1ccb (PS3) Fixes OSK code 2013-01-17 10:40:35 +01:00
twinaphex 6d9413fab8 (PS3) Use ASM version of libgcm - faster 2013-01-16 17:12:42 +01:00
ToadKing d764234d79 update overlay configuration for new image 2013-01-16 08:03:43 -05:00
twinaphex a13b0a7815 (Android) New quickmenu overlay picture - cfg file needs updating
for new hitboxes
2013-01-16 11:31:30 +01:00
ToadKing 929859a291 (GX) fix some menu messages not appearing
adjust position of in-game messages
2013-01-14 16:31:33 -05:00
twinaphex c9b0e1635e (GX) Shows text menu message now ingame 2013-01-14 06:26:45 +01:00
twinaphex 95091eacaa (GX) Do rarch_render_cached_frame after rgui_iterate 2013-01-14 04:12:12 +01:00
twinaphex 0ed0295629 Revert "(GX) Declutter message queue code in RGUI"
This reverts commit 28b79e5872.
2013-01-14 03:55:01 +01:00
twinaphex 28b79e5872 (GX) Declutter message queue code in RGUI 2013-01-14 03:49:24 +01:00
twinaphex fc9dec8099 (Xenon) Some more build fixes 2013-01-13 23:02:42 +01:00
ToadKing 9567db0ffe (GX) fix loading box not displaying 2013-01-13 15:26:28 -05:00
twinaphex 354387b46b (Xenon) Avoid some naming conflicts 2013-01-13 21:20:59 +01:00
Squarepusher 66ab67fa23 Merge pull request #122 from ficoos/remove_VLAs
(retrolaunch) Remove VLA
2013-01-13 11:59:32 -08:00
twinaphex 25908c7d8c (Xenon) Fixes/cleanups (remnants of old SSNES eradicated) 2013-01-13 20:58:52 +01:00
Saggi Mizrahi 73cc87677e (retrolaunch) Remove VLA
Signed-off-by: Saggi Mizrahi <[email protected]>
2013-01-13 13:59:47 -05:00
twinaphex 79e9dc0ebb frontend_console - replace some snprintf calls with strlcpy 2013-01-13 16:45:57 +01:00
twinaphex 4f53bd4ca0 (RARCH_CONSOLE) Change config_get_string to config_get_path 2013-01-13 16:31:34 +01:00
Themaister 88a45c3c0f Add refresh rate code. 2013-01-13 11:21:54 +01:00
twinaphex 32495632d8 (Filebrowser/RMenu) Now refreshes filebrowser when unzipping a file 2013-01-13 08:58:57 +01:00
twinaphex 37ed33daba (360) Also has new Unzip mode now 2013-01-13 08:19:21 +01:00
twinaphex ffd2e8a59c (360) Small naming change for menu button label 2013-01-13 08:12:22 +01:00
twinaphex bb94f518f2 (GX) Adds new unzip mode to Wii/Gamecube port as well 2013-01-13 08:11:13 +01:00
twinaphex d2a20483fb (RMenu) Split up more settings into rmenu_settings 2013-01-13 08:04:06 +01:00
twinaphex 15cbab4876 (RARCH_CONSOLE) Add new Unzip mode : Unzip, Load First File, Then Delete
- tested first on PS3
2013-01-13 07:12:21 +01:00
twinaphex 02478ca25f (360) Fixed unzip button label 2013-01-13 06:39:22 +01:00
twinaphex 61518f51b7 (RMenu) Add refresh rate option - setting not saved to config
for safety reasons
2013-01-13 05:52:00 +01:00
twinaphex f001938b2e (RMenu) Default filebrowser startup dir fixed now 2013-01-13 04:57:25 +01:00
twinaphex 13ff3c3eb0 (360) Build fix 2013-01-13 04:44:09 +01:00
twinaphex 39b1c6dacd (RLaunch) Avoid unistd.h includes on MSVC 2013-01-13 04:39:49 +01:00
twinaphex ae9a1167b7 (RARCH_CONSOLE) Refactored sram_dir_enable / state_dir_enable setting -
also fixed a reentrant bug to do with set savestate dir/set sram dir
boolean variables in parse_input
2013-01-13 04:12:10 +01:00
twinaphex c1f5fc8890 Rename MODE_EMULATION define to MODE_GAME 2013-01-13 03:34:55 +01:00
twinaphex 0f2e36d349 (RARCH_CONSOLE) Move default_binds 2013-01-13 03:17:13 +01:00
twinaphex 5563fb3ea6 (Android) Decrease state_device_ids by size 2013-01-13 02:44:13 +01:00
twinaphex 46a2076e37 (RLaunch) Can compile in most of RLaunch now 2013-01-13 01:07:22 +01:00
Hans-Kristian Arntzen 17490be09e Merge pull request #120 from ficoos/replace_pread
Replace pread() in lseek()+read()
2013-01-12 15:58:27 -08:00
Saggi Mizrahi 1c37ef4158 Replace pread() in lseek()+read()
Signed-off-by: Saggi Mizrahi <[email protected]>
2013-01-12 18:54:33 -05:00
twinaphex 32aac90e10 (PS3/Wii) Fix builds 2013-01-13 00:42:21 +01:00
twinaphex 3fe9382b0f Add default keybinds for PS3 2013-01-13 00:35:06 +01:00
Hans-Kristian Arntzen 01f6e71db3 Merge pull request #119 from ficoos/remove_libgen
Use portable commands instead of libgen.h commands for path handling
2013-01-12 15:33:37 -08:00
Saggi Mizrahi 8ec326996b Use portable commands instead of libgen.h commands for path handling
Signed-off-by: Saggi Mizrahi <[email protected]>
2013-01-12 18:26:20 -05:00
Themaister b928d6d2e9 Fix path logic bug for Windows. 2013-01-12 23:34:24 +01:00
Themaister 4512720500 Update overlays to .png. 2013-01-12 22:42:25 +01:00
Themaister 58bdf43a5d Fix Android build. 2013-01-12 22:32:21 +01:00
twinaphex 09d776e06d Button label defines 2013-01-12 19:41:35 +01:00
twinaphex 01ffc06d6a Add button descriptor to retro_keybind 2013-01-12 18:45:22 +01:00
Themaister f53d404024 Add RPNG, optional PNG loader. 2013-01-12 14:06:05 +01:00
twinaphex 5f0344f002 (GX) Quit button combos work again 2013-01-12 06:12:47 +01:00
twinaphex ef4f1bba0d (RMenu) Return to Menu fixed 2013-01-12 04:44:27 +01:00
twinaphex a1dfe4f741 (Xbox 1) Fix build 2013-01-12 03:36:05 +01:00
twinaphex 04cacb5e30 Upgrade lifecycle_menu_state to 64bit variable lifecycle_mode_state 2013-01-12 03:13:03 +01:00
twinaphex d6dd17bab1 (Zlib) Fix header function signature 2013-01-12 02:38:35 +01:00
twinaphex ba51ff51f7 (RARCH_CONSOLE) Refactored zip_extract variable 2013-01-12 02:35:40 +01:00
twinaphex 2bd93932e6 (RMenu/RARCH_CONSOLE) Won't start/stop audio when toggle mode is
selected
2013-01-12 01:42:04 +01:00
Themaister 4212a93eef Fix logic bug with Windows path handling.
Fixes bug when a path contains different slash types
in same path, e.g. C:/foo\bar.
2013-01-12 01:58:06 +01:00
twinaphex 826c844656 Return -1 when rarch_zlib_extract_archive fails somewhere 2013-01-12 00:55:01 +01:00
twinaphex e8adce7740 (rarch_zlib) Use fill_pathname_join - avoid snprintf 2013-01-11 23:51:20 +01:00
Themaister 9b12e9b3b4 Fix C++ compat. 2013-01-12 00:34:47 +01:00
twinaphex 685a0d581f (360) Have to drop the slashes for this to work on WIN32-style
consoles
2013-01-11 23:30:15 +01:00
Themaister 88df35578d Pass float font sizes to cores. 2013-01-12 00:13:30 +01:00
twinaphex 7d1571e637 rarch_zlib.c - some nits 2013-01-11 23:08:12 +01:00
twinaphex 3c16ea972d Fix - rarch_zlib_xtract_file - is_dir would always be false for _WIN32
targets
2013-01-11 23:06:25 +01:00
twinaphex 5b63da79db Make rarch_zlib.c more generic 2013-01-11 23:04:46 +01:00
twinaphex f21c998cc7 Change font_size to float 2013-01-11 23:00:51 +01:00
twinaphex 81fecc88ea (RARCH_CONSOLE) Renamed console_rom_ext.c to rarch_zlib.c -
compiled it in for HAVE_ZLIB (for griffin) - moved rarch_console_load_game_wrap
to frontend_console.c and renamed it console_load_game
2013-01-11 22:46:14 +01:00
twinaphex cba3b80925 (RARCH_CONSOLE) Rename rarch_console_settings.c to rmenu_settings.c 2013-01-11 22:27:31 +01:00
twinaphex c7adeb9ed0 (RMenu) Rmenu now uses g_settings.video.font_size 2013-01-11 21:05:15 +01:00
twinaphex 09f4482016 (Xbox 1) Fix flicker filter label 2013-01-11 20:37:22 +01:00
twinaphex 2deef97ed5 (Xbox 1) Build fix 2013-01-11 20:21:16 +01:00
twinaphex 2fa133de5c (RARCH_CONSOLE) Put exitspawn conditional into frontend_console.c 2013-01-11 20:13:02 +01:00
twinaphex 9a49430048 (360) Exitspawn fix 2013-01-11 20:10:04 +01:00
twinaphex c58a54b0a3 (360) Build fix 2013-01-11 20:06:50 +01:00
twinaphex 6047df275d (360) Clean up font code somewhat 2013-01-11 20:02:46 +01:00
twinaphex cc43b84ff2 (RARCH_CONSOLE) Refactor more state variables 2013-01-11 19:44:34 +01:00
twinaphex d84dec4c96 (360) Fix build 2013-01-11 18:22:18 +01:00
twinaphex b67fd69c26 (RARCH_CONSOLE) Refactored out rmenu_hd/rmenu_widescreen 2013-01-11 18:14:54 +01:00
Themaister 79dd7f79d7 Fix build for Win32. 2013-01-11 16:44:58 +01:00
Themaister 8f9e65b5a7 Allow triggering multiple buttons with one desc. 2013-01-11 16:43:12 +01:00
Themaister 93c4682f99 Add RARCH_DEVICE_POINTER_SCREEN to Android. 2013-01-11 16:32:49 +01:00
Themaister 312980ee30 Add support for full-screen overlays. 2013-01-11 16:23:04 +01:00
Themaister d50ad3e543 Uninstall retrolaunch properly. 2013-01-11 11:57:19 +01:00
Themaister e35c6375ee Fix C++ incompatibilities in retrolaunch. 2013-01-11 11:51:52 +01:00
Themaister 99eec95823 Minor cleanup in Makefile. 2013-01-11 11:30:06 +01:00
Themaister 8abaebde6f Do not error out when finding file without ext. 2013-01-11 11:29:13 +01:00
Themaister 90bd020595 Do not segfault when given '--help' as argument. 2013-01-11 11:18:56 +01:00
Themaister 8664c4b990 Fix warning. 2013-01-11 11:04:28 +01:00
twinaphex 193f90a68f (RARCH_CONSOLE) Clean up config_set_defaults somewhat 2013-01-11 08:38:02 +01:00
twinaphex e0d98bfe2d (XDK) Fix build 2013-01-11 08:21:33 +01:00
twinaphex 67ab39e6be (RARCH_CONSOLE) Refactored external_launch 2013-01-11 08:15:23 +01:00
twinaphex 33a2816681 (RARCH_CONSOLE) Refactored out msg_info 2013-01-11 07:49:32 +01:00
twinaphex ca3be92255 (RARCH_CONSOLE) Refactor msg_fps variable 2013-01-11 06:56:05 +01:00
twinaphex 5bf022fd99 (RARCH_CONSOLE) Use local variable copy of g_extern.lifecycle_menu_state in frame
functions - more state functionality will be moved here (for console ports)
2013-01-11 06:32:35 +01:00
twinaphex 936e7b2709 (Retrolaunch) Fixup most warnings 2013-01-11 06:22:57 +01:00
twinaphex bc0fc2c554 (360) Fix build (to do with RMenu changes) 2013-01-11 06:10:54 +01:00
twinaphex 1f765e24f6 Add ficoos to AUTHORS (for RetroLaunch) 2013-01-11 06:05:05 +01:00
Squarepusher b6c5a434de Merge pull request #117 from ficoos/retrolaunch
Add retrolaunch
2013-01-10 21:01:11 -08:00
Saggi Mizrahi 15ad74fdad Add retrolaunch
Signed-off-by: Saggi Mizrahi <[email protected]>
2013-01-10 23:49:12 -05:00
twinaphex a8cbbeb17c (RMenu)Everything to do with lifecycle_menu_state is mostly RMenu-only 2013-01-11 04:41:57 +01:00
twinaphex 7411d140f8 Fix PC build 2013-01-11 04:39:24 +01:00
twinaphex 28566bd3e1 (Wii) Add changes to Rmenu code 2013-01-11 04:36:40 +01:00
twinaphex c869e3f32c Small cleanup to rarch_console_load_game_wrap 2013-01-11 04:00:29 +01:00
twinaphex 92815bb805 (RMenu) RMenu now has POSIX-style return codes - uses it for
determining if we ned to exit from rmenu_iterate
2013-01-11 03:58:43 +01:00
twinaphex 6e1fbafb30 (RARCH_CONSOLE) Easier flow control 2013-01-11 02:32:21 +01:00
twinaphex d324b21949 (RARCH_CONSOLE) Remove flow control state functions in rarch_settings_change 2013-01-11 02:11:50 +01:00
twinaphex 9bc24151f2 (XDK D3D) Go through local pointer to render device 2013-01-11 00:58:08 +01:00
twinaphex f93f3ea6d4 (Griffin) Use new xaudio.cpp 2013-01-11 00:27:56 +01:00
Themaister e5c9991c6e Merge branch 'master' of github.com:Themaister/RetroArch
Conflicts:
	audio/xaudio-c/xaudio-c.c
2013-01-11 01:18:33 +01:00
Themaister f3309b8997 Compiled XAudio as C++.
No point hacking around with vtables in C and shit ...
2013-01-11 01:13:55 +01:00
twinaphex 2e093a98c1 (Xaudio2 360) Use float as well 2013-01-10 23:52:06 +01:00
twinaphex 7ebbafe8e1 (RARCH_CONSOLE) Don't need rarch_settings_change anymore for
exiting
2013-01-10 22:42:12 +01:00
twinaphex b5e82dae59 (RARCH_CONSOLE) Refactor ingame_menu.enable variable 2013-01-10 20:29:07 +01:00
twinaphex 3c8bb7333e (RMenu) Refactor g_extern.draw_menu 2013-01-10 19:43:00 +01:00
twinaphex a6f04970a3 (Rmenu) get rid of static bool preinit in rmenu_iterate 2013-01-10 19:17:35 +01:00
twinaphex 9ff031350d (RMenu) Get rid of set_shader variable 2013-01-10 18:44:34 +01:00
twinaphex fd2013bb08 (360) set_shader variable could be removed now - setting it with
g_extern.lifecycle_menu_state
2013-01-10 18:19:52 +01:00
twinaphex 7a3b021b17 g_extern.console.rmenu.mode becomes g_extern.lifecycle_menu_state 2013-01-10 18:04:04 +01:00
twinaphex 6795d74025 (XAudio2) Fix Xbox360 build 2013-01-10 16:33:29 +01:00
Themaister b1eb277d1f Actually use 2.7 CLS id ... 2013-01-10 16:39:39 +01:00
Themaister bd483fbb6b Use XAudio2 2.7 CLS. 2013-01-10 16:33:14 +01:00
Themaister a0f12d6887 Correct XAudio2 interface. 2013-01-10 16:22:39 +01:00
Themaister dec73e17ef Refactor out some redundancies. 2013-01-10 11:05:55 +01:00
Themaister f3da29706c Fix build on Windows. 2013-01-10 10:55:14 +01:00
twinaphex d599d87df0 (PSL1GHT) Compile in usleep support 2013-01-10 09:33:26 +01:00
twinaphex 530fe37373 (Xbox 1) Move xbox1/image.c to xdk/image.c 2013-01-10 09:22:33 +01:00
twinaphex 3bc71ae89b (Xbox 1) move media files to media/xbox1 2013-01-10 09:19:30 +01:00
twinaphex 72a760c9c5 (RARCH_CONSOLE/Zlib) Add safety checks for when we try to load
the first file of a ZIP archive that is an incompatible game (ROM)
2013-01-10 09:09:57 +01:00
twinaphex 6ad5d46781 (RARCH_CONSOLE) rmenu.mode is now set with bitmasked values so
as to allow more state management options
2013-01-10 08:46:46 +01:00
twinaphex 6548800152 Small fix to prior commit 2013-01-10 07:12:37 +01:00
twinaphex 13979fe33f (RARCH_CONSOLE) Add log to indicate when config file is being
saved, and to where
2013-01-10 07:11:37 +01:00
twinaphex d36af814c6 Reintroduce block_config_read 2013-01-10 06:45:44 +01:00
twinaphex cc71a83fa8 (RARCH_CONSOLE) Console ports now use config_load for loading
config file stuff and config_set_default as only place to load
defaults from. Slightly messy defaults will be cleaned up later.
2013-01-10 06:38:19 +01:00
twinaphex d16d58b095 (WIN32/RARCH_CONSOLE) Fixes install_libretro_core 2013-01-10 06:05:38 +01:00
twinaphex 3dee70675f (RARCH_CONSOL) Enable verbose logging for all console ports 2013-01-10 05:07:38 +01:00
twinaphex 1b398a1941 (PSP) comment out non-working video driver for now - use null video
for now
2013-01-10 04:22:42 +01:00
twinaphex 47c421eb8f Some better ifdefs in griffin.c 2013-01-10 03:34:43 +01:00
twinaphex c6e8ff2206 (Xenon) Rename dir from 360 to xenon 2013-01-10 03:24:38 +01:00
twinaphex a639d2e8d0 (360) Move media files to media\ 2013-01-10 03:22:31 +01:00
twinaphex cd28dbcd92 (360) Uses the same Xaudio header now as PC 2013-01-10 02:46:35 +01:00
twinaphex 436f05709b (360) Xaudio2 360 driver uses same C backend file as PC now 2013-01-10 01:53:37 +01:00
twinaphex 11c1d149d6 (Xaudio) indenting nits 2013-01-09 22:17:43 +01:00
twinaphex 589b5eefdb (360) 360 audio driver now goes through the same Xaudio driver
as PC
2013-01-09 22:04:28 +01:00
twinaphex 05863ffe31 (360) Move xaudio.h header to audio/xaudio-c/xaudio_xdk360.h 2013-01-09 20:57:20 +01:00
twinaphex 84aa67bb93 (360) Greatly debloats Xaudio2 headers 2013-01-09 20:12:47 +01:00
twinaphex 698d91ff56 Revert "(360) Combine objbase.h and xaudio.h"
This reverts commit d5f1bc6126.
2013-01-09 18:50:00 +01:00
twinaphex d5f1bc6126 (360) Combine objbase.h and xaudio.h 2013-01-09 18:47:20 +01:00
twinaphex 1a2a620f61 (GX) Move bitmap font header inclusion into rmenu_gx.c 2013-01-09 18:36:22 +01:00
twinaphex 5f398be410 (GX) Split up RMenu code into rmenu_gx.c 2013-01-09 18:31:14 +01:00
twinaphex edb77760ea (RARCH_CONSOLE) Small cleanups in console headers 2013-01-09 18:07:38 +01:00
twinaphex 27a71de056 (360) Build fix 2013-01-09 17:59:23 +01:00
twinaphex a925f3ca9f (RARCH_CONSOLE) Rename and relocate all menu files 2013-01-09 17:50:12 +01:00
Themaister 1a0c3ead4d Log where config file is loaded from. 2013-01-09 13:31:41 +01:00
Themaister f739fc875e Don't compile in null drivers for CLI. 2013-01-09 11:26:21 +01:00
twinaphex e829fd8df9 frontend_console.c - get rid of weird commas 2013-01-09 08:25:38 +01:00
twinaphex 8e2bc57a45 (360) Set core_dir for 360 2013-01-09 08:23:34 +01:00
twinaphex 982187c5d8 Refactored rarch_manage_libretro_set_first_file and renamed 2013-01-09 07:59:24 +01:00
twinaphex 84f7a2f5f8 Indenting nits 2013-01-09 07:27:05 +01:00
twinaphex 9c67f3a6ac refactor out rarch_console_get_rom_ext - use this for PC too
since RMenu depends on it and it will run on that as well
2013-01-09 07:07:46 +01:00
twinaphex 8fdc5197f5 (RARCH_CONSOLE) Use g_extern.fullpath 2013-01-09 06:40:55 +01:00
twinaphex b074adbc1d (Griffin) Add NULL ifdefs for Griffin 2013-01-09 05:57:02 +01:00
twinaphex 403a087926 Null drivers have to be explicitly compiled in now -
otherwise they are ommitted
2013-01-09 05:54:48 +01:00
twinaphex 0bd19afad6 (Xbox 1) Fix build 2013-01-09 05:29:28 +01:00
twinaphex f53321b0ce (Xbox 1) Iosupport.cpp code integrated into platform_xdk.c 2013-01-09 05:24:31 +01:00
twinaphex 6d755ae193 (Android) Rename android_glue.h into frontend_android.h and move it 2013-01-09 05:12:56 +01:00
twinaphex 905a2046f4 (NGC) Fix build 2013-01-09 05:08:08 +01:00
twinaphex d5b3cef544 HAVE_ZLIB functions now part of rarch_console_rom_ext.c 2013-01-09 04:51:14 +01:00
twinaphex 71b632faba Remove rarch_console_libretro_mgmt.c 2013-01-09 03:44:10 +01:00
twinaphex f5bbe76046 Add frontend_console header 2013-01-09 03:34:34 +01:00
twinaphex 413c757144 Move libretro_management functions to frontend_console and rename
them
2013-01-09 03:34:05 +01:00
twinaphex fd62c53c80 (PS3/Wii) fix builds 2013-01-09 02:57:26 +01:00
twinaphex 1e57bcab5f Move rarch_manage_libretro_set_first_file to frontend_console.c 2013-01-09 02:49:20 +01:00
twinaphex 238699d5a4 (XDK) Fix builds 2013-01-09 02:41:19 +01:00
twinaphex 2205da0fea Add platform exec files 2013-01-09 02:33:16 +01:00
twinaphex 70c85be081 Refactored out of existence rarch_console_exec.c - now implemented
per platform port that needs it
2013-01-09 02:31:54 +01:00
twinaphex 56e8b3233a (XDK) Salamander merged into platform_xdk.c 2013-01-09 01:35:46 +01:00
twinaphex e1985b8bfd (PS3) Salamander merged into platform_ps3.c 2013-01-09 00:54:46 +01:00
twinaphex 0cd26b3623 (GX) Salamander code baked into platform_gx.c - debloats things 2013-01-09 00:10:56 +01:00
Themaister 5832f849f0 Don't allow pressed fingers count to wrap around.
Play safe. Shouldn't happen, but you never know with Android.
2013-01-09 00:41:40 +01:00
Themaister c3ff164919 Increase MAX_TOUCH.
Ensure that we don't set data outside array.
Warn if this happens.
2013-01-09 00:40:38 +01:00
twinaphex 410e32b64a Reuse g_extern.title_buf (already preset) in console menus 2013-01-08 23:36:04 +01:00
twinaphex 05ec28aef5 Make init_system_info function public 2013-01-08 22:52:56 +01:00
twinaphex dfc2d7ed3f (PS3) Fix build 2013-01-08 22:24:39 +01:00
Themaister 5bf9eeb802 Move some RARCH_CONSOLE stuff around. 2013-01-08 23:22:08 +01:00
twinaphex 1fb34c9dd5 (RARCH_CONSOLE) Console driver initing/deiniting 2013-01-08 22:17:38 +01:00
twinaphex bb3b944ac4 (360) Fixed back to game and back to menu shortcut combo
(Right Thumb + Left Thumb)
2013-01-08 19:22:34 +01:00
twinaphex f3a74fe44f (XDK) Clear to black in xdk_d3d_frame 2013-01-08 19:16:06 +01:00
twinaphex 7b63268036 (XDK) Bind xdk_d3d_set_shader to callback system 2013-01-08 19:07:06 +01:00
twinaphex 3fbb716a8e (360) Do Clear() at start of xdk_frame - should do menu
rendering properly now
2013-01-08 19:03:42 +01:00
twinaphex 4df53478a9 (Xbox 1) Fixes controls for Xbox 1 too - X/Y buttons inverted 2013-01-08 18:54:10 +01:00
twinaphex 686e43b911 (360) Fixes controls - X and Y button were inverted 2013-01-08 18:42:24 +01:00
twinaphex db6235ab06 (360) Starts up again - bad sound/controls 2013-01-08 18:32:28 +01:00
twinaphex 5192ce4709 (360) Add some more checks 2013-01-08 18:24:31 +01:00
twinaphex 10fd5ea617 (360) Add more error checking in D3D code 2013-01-08 17:48:55 +01:00
twinaphex b732dc14bd (360) Don't 'skip' pushing stock shader to target 2013-01-08 17:20:06 +01:00
twinaphex 59e434ab09 (360) Stays in MODE_MENU now - still black screen thouh 2013-01-08 17:15:43 +01:00
Themaister 31dc256e19 Do not allow audio to be initialized twice. 2013-01-08 13:23:15 +01:00
Themaister 235244e438 Use safer checking when dealing with FP. 2013-01-08 12:42:28 +01:00
twinaphex f7fdf34914 Cleanup unused header includes in rarch_console_video.c 2013-01-08 09:00:38 +01:00
twinaphex 025f0995f5 (RARCH_CONSOLE) Refactor frontend_psp.c into platform_psp.c 2013-01-08 08:38:25 +01:00
twinaphex 92ef192b2a (RARCH_CONSOLE) Move logger function invocations into platform
files
2013-01-08 08:30:54 +01:00
twinaphex bc4e010a96 (RARCH_CONSOLE) frontend_console cleanups 2013-01-08 08:11:05 +01:00
twinaphex 2ad74ead6c Rename frontend_* files into platform_* 2013-01-08 07:44:57 +01:00
twinaphex e8a0ab1e1d (XDK) Now uses frontend_console.c too 2013-01-08 06:26:02 +01:00
twinaphex 728e88994d (Xbox 1) Fixes double swap issue - fixes flickering in
RMenu
2013-01-08 06:17:20 +01:00
twinaphex f735b0c252 (360) Small correction 2013-01-08 06:08:47 +01:00
twinaphex e0a596dbd7 (360) fix some references 2013-01-08 06:02:19 +01:00
twinaphex 32a557c852 (360) Some build fixes - still broken 2013-01-08 05:59:30 +01:00
ToadKing f33ed73671 (Consoles) re-add second timer for scroll delays 2013-01-07 23:58:00 -05:00
ToadKing 1dc08b9a6d (GX) work with new console code 2013-01-07 23:48:21 -05:00
Themaister 7c3b9486b3 Set in_rate by default on PC as well.
Causes no harm.
2013-01-08 04:58:41 +01:00
twinaphex 33ae5b3e3d (RARCH_CONSOLE) Do early initing of audio/video/input - add
hack to settings.c to progress beyond assert
2013-01-08 03:56:17 +01:00
Themaister d9ee3e54ec Fix segfault when set_shader() fails. 2013-01-08 04:36:39 +01:00
Themaister d9b640fafe (RARCH_CONSOLE) fixups for set_shader(). 2013-01-08 04:08:15 +01:00
Themaister e12f805708 Fix build for D3D9. 2013-01-08 04:08:15 +01:00
Themaister 551a464978 Rework index parameter to set_shader(). 2013-01-08 04:08:15 +01:00
ToadKing 8887eb4680 change default overlay to work better with touch controls. diagonals and multiple face button pressed no longer require two separate presses 2013-01-07 20:57:36 -05:00
twinaphex c721ddd560 (RARCH_CONSOLE) One main() function to rule them all - PS3
port currently set up - callback system needs to be done
later for system/platform-specific functions
2013-01-08 01:26:18 +01:00
twinaphex fe62828fb1 (RARCH_CONSOLE) Refactor timer code 2013-01-08 00:35:49 +01:00
twinaphex 1c39f6f630 (GLSL) Fixes PC build - added TODO note 2013-01-07 23:33:54 +01:00
twinaphex 88653cbc10 (RMenu) Put filebrowser instances on heap 2013-01-07 23:29:56 +01:00
twinaphex 06be0e521d (Rzlib) Cleanups to rzlib frontend code 2013-01-07 19:22:35 +01:00
twinaphex 58d3aa8b72 (RARCH_CONSOLE) Cleanup to frontend to do with LIBRETRO_MANAGEMENT
ifdef
2013-01-07 18:54:06 +01:00
twinaphex 46a62a44fc (XDK) Build fixes 2013-01-07 18:44:22 +01:00
twinaphex 6bb4ebbdfd (LIBRETRO_MANAGEMENT) rarch_configure_libretro_core() refactored 2013-01-07 18:34:32 +01:00
twinaphex c76ae2a8d1 (RARCH_CONSOLE) Use init_drivers_pre once at startup of console
ports - use driver.video, driver.input as much as possible from
then instead of explicit platform-specific drivers
2013-01-07 18:18:44 +01:00
twinaphex 9251eebe13 (RARCH_CONSOLE) Make find_video_driver public in scope and use
it in console ports
2013-01-07 17:48:45 +01:00
twinaphex e74fc47b9a (RARCH_CONSOLE) Better way to detect shader type 2013-01-07 17:22:51 +01:00
twinaphex 0120b1e18e Rename bSNES XML shaders to GLSL XML shader in comments 2013-01-07 17:07:21 +01:00
twinaphex b56b645366 Rename RARCH_SHADER_BSNES to RARCH_SHADER_GLSL 2013-01-07 17:03:10 +01:00
twinaphex 3a5d056b95 Expand functionality of set_shader callback function 2013-01-07 16:46:26 +01:00
twinaphex fa8ccf412c (GX) Build fix 2013-01-07 07:55:44 +01:00
twinaphex 39f38d98ab (RMenu) use g_extern.title_buf 2013-01-07 07:55:19 +01:00
twinaphex 411bda0006 Small cleanups 2013-01-07 07:47:42 +01:00
twinaphex 72a4caf8b1 (Wiiuse) Rewrite WPAD_ReadPending 2013-01-07 07:31:41 +01:00
twinaphex 407f5fb1a8 (Wiiuse) Get rid of unused functions 2013-01-07 07:05:48 +01:00
twinaphex eda62dc9ac (Rzlib) Fix regression in rzlib frontend code 2013-01-07 06:42:32 +01:00
twinaphex 076b027711 (Wii) Add more resolutions 2013-01-07 05:58:32 +01:00
twinaphex ae7b8f7250 (Wiiuse) Meet license demands + some minor tweaks 2013-01-07 05:33:41 +01:00
twinaphex a67c247ebc (Wiiuse) Add HAVE_WIIUSE_RUMBLE and HAVE_WIIUSE_SPEAKER defines 2013-01-07 05:03:50 +01:00
twinaphex 05333fcc0a (Wiiuse) comment out some checks 2013-01-07 04:40:39 +01:00
twinaphex 5ee38b157d (Wii) Add customized Wiiuse - should reduce overall input latency
(also debloats - no Guitar Hero 3/Wii Board/key down/key up)
2013-01-07 04:10:16 +01:00
ToadKing 1221b024cb (GX) fix potential memory corruption in 32-bit video conversion 2013-01-06 20:34:41 -05:00
Themaister 53ae024efc Fix some bugs in attr handling in RXML. 2013-01-07 02:10:54 +01:00
twinaphex 4866aff654 (Android) Input tweaks - use local pointer variables 2013-01-07 02:09:19 +01:00
twinaphex 31e82fa6e8 (GX) Input - fix ifdefs 2013-01-07 01:51:29 +01:00
twinaphex e563b3f1d2 (GX) One for loop now for both PAD and WPAD - WPAD done
first
2013-01-07 01:48:56 +01:00
ToadKing 5f08c2f937 (GX) skip polling of disconnected GC controllers 2013-01-06 19:19:23 -05:00
ToadKing 71bc5ae50d (GX) potential video memory corruption 2013-01-06 19:02:49 -05:00
twinaphex 8c8c3cc10b (Android) Input tweaks/cleanups 2013-01-07 00:49:17 +01:00
ToadKing dc92db11a3 (GX) fix input quirks 2013-01-06 18:47:52 -05:00
twinaphex 466acac261 (PS3/360) Input changes - make local pointer variable and reuse it 2013-01-07 00:31:38 +01:00
twinaphex 1a48a5522d (GX) Shows 'ingame menu' options now 2013-01-06 23:45:30 +01:00
ToadKing 9290207ede (NGC) fix makefile 2013-01-06 15:11:10 -05:00
twinaphex 3f2112d2fd (GX) Input polling refactor - do Wiimote first - skip GC poll
if no GC pads are connected
2013-01-06 20:17:05 +01:00
twinaphex 33154c1a04 (GX) Input tweaks 2013-01-06 19:40:54 +01:00
twinaphex 2d17014d99 (GX) Add extra resolutions 2013-01-06 18:09:56 +01:00
twinaphex 40430f735b (Wii) Menu flow control improvements 2013-01-06 17:40:27 +01:00
twinaphex c4d81c6371 (RARCH_CONSOLE) Use static variable for ingame menu index 2013-01-06 17:00:46 +01:00
twinaphex de0132cd43 (NGC) Some build fixes 2013-01-06 14:41:55 +01:00
twinaphex a6f89670c9 (PS3) No longer needlessly loads RMenu background image three
times in a row
2013-01-06 07:03:17 +01:00
twinaphex c7679d9386 (RARCH_CONSOLE) Save default libretro core to config file
in a more robust fashion
2013-01-06 06:39:32 +01:00
twinaphex f8160fb2bd (Android) Cleanups 2013-01-06 06:10:24 +01:00
twinaphex 01a72eaeb7 (XDK) Update solutions 2013-01-06 05:49:36 +01:00
twinaphex 6c4da75612 (RARCH_CONSOLE) Move Salamander files to frontend/salamander 2013-01-06 05:33:37 +01:00
twinaphex 013fda1cb6 (Android) Move Android frontend file too 2013-01-06 05:28:42 +01:00
twinaphex 011e740129 Move all frontend files to new dir 'frontend' 2013-01-06 05:22:21 +01:00
twinaphex aaebc0be3d (RARCH_CONSOLE) Add #ifdef HAVE_DYNAMIC for libretro dynamic
library argv
2013-01-06 04:11:24 +01:00
twinaphex 494148f579 Remove rarch_console_main_wrap.c file 2013-01-06 03:53:39 +01:00
twinaphex 7c2dd5e769 (Griffin) Remove rarch_console_main_wrap.c include 2013-01-06 03:52:29 +01:00
twinaphex 66dfceabe1 (RARCH_CONSOLE) Build fixes + rarch_main_init_wrap needs to be
always compiled in and not ifndef HAVE_RARCH_MAIN_WRAP
2013-01-06 03:50:55 +01:00
twinaphex d94dc34b17 Merge branch 'master' of https://github.com/Themaister/RetroArch
Conflicts:
	console/rarch_console_main_wrap.c
	console/rarch_console_main_wrap.h
2013-01-06 03:28:02 +01:00
twinaphex 3f537518e1 (RARCH_CONSOLE) Use g_extern.config_path 2013-01-06 03:09:51 +01:00
Themaister 9df3b56413 Refactor main_wrap out to core. 2013-01-06 03:06:47 +01:00
twinaphex c572a5b544 (RARCH_CONSOLE) Remove initialize_rarch_enable 2013-01-06 01:39:43 +01:00
Themaister db21661b1c Fix silly compiler warning. 2013-01-06 01:32:36 +01:00
twinaphex 369477a15b (RARCH_CONSOLE) Add MODE_INIT 2013-01-06 01:28:39 +01:00
Themaister 5752608062 Declare in manifest that GLESv2 is used. 2013-01-06 00:46:28 +01:00
Themaister 6e0e221f1b Verify that NEON code isn't run for non-NEON. 2013-01-06 00:20:26 +01:00
Themaister a3a0fbca36 Don't only set font settings with FREETYPE. 2013-01-05 23:58:28 +01:00
Themaister 9a3c66c0fd Style nit. 2013-01-05 23:58:28 +01:00
Themaister 284014a4cc Add font rendering enable/disable to Java. 2013-01-05 23:58:28 +01:00
Themaister bccfd9f013 Only init font rendering in GL if enabled. 2013-01-05 23:58:28 +01:00
twinaphex e06583a45c (RARCH_CONSOLE) Get rid of emulator_initialized - replace with main_is_init 2013-01-05 23:49:58 +01:00
twinaphex 02514d509e Add main_is_init conditional 2013-01-05 23:44:49 +01:00
Themaister 634132033b Add savefile/save state dir settings. 2013-01-05 23:39:44 +01:00
Themaister 5b58df5da0 Add ROM dir selection. 2013-01-05 23:21:32 +01:00
twinaphex c0c81bf22b (RARCH_CONSOLE) Move rarch_config_save to settings.c - rename to
config_save_file
2013-01-05 22:18:59 +01:00
twinaphex 2c26f92c7d (RARCH_CONSOLE) Cleanups 2013-01-05 21:56:19 +01:00
twinaphex 01633dc0a6 (RGL) More cleanups, pt. 9 (and some opts.) 2013-01-05 21:02:36 +01:00
twinaphex f27e7e4943 (RGL) More cleanups, pt. 8 2013-01-05 20:29:54 +01:00
Themaister 8d0fbe53ab Set some android options default explicitly. 2013-01-05 20:06:59 +01:00
twinaphex dd74683f26 (Android) Take out earlier SixAxisIME code - we'll always use
gamepad emulation with this IME app now
2013-01-05 18:33:26 +01:00
twinaphex 25de472336 (Android) Put in keybinds for dancingpixelstudios PS3 IME app
gamepad emulation
2013-01-05 18:13:30 +01:00
twinaphex 4343d64b6f (Android) Disable debug input reporting by default 2013-01-05 17:55:04 +01:00
twinaphex aeebac522c (Android) Cleanups to the way messages are passed and pushed for
debug input key reporting
2013-01-05 17:35:50 +01:00
twinaphex 9a8e6a6432 (Android) Add debug input keycode reporting option 2013-01-05 17:09:13 +01:00
twinaphex caa0cebbbb (GL) Cleanups 2013-01-05 09:06:17 +01:00
twinaphex 2aaf7e4b02 (Android) small cleanups 2013-01-05 07:50:17 +01:00
twinaphex cd46fc96a6 (Android) Refactor g_android 2013-01-05 07:38:59 +01:00
twinaphex fc55e48221 (Android) Cut down on g_android usage 2013-01-05 07:20:02 +01:00
twinaphex 413771f14f (Android) Change Log.e to Log.i for refresh rate notification 2013-01-05 06:25:28 +01:00
twinaphex 147cb8f0d1 (Android) get rid of window_ready member 2013-01-05 06:24:13 +01:00
twinaphex 1cae4de653 (Android) More elegant way of setting refresh rate 2013-01-05 06:02:02 +01:00
twinaphex 4617f02aaf (Android) Group touchscreen overlay settings with new input settings
screen
2013-01-05 05:05:40 +01:00
twinaphex 4eeac9a1d7 (Android) Add autodetect_enable entry to settings 2013-01-05 04:58:30 +01:00
twinaphex e76ce3d525 (Android) Should autodetect keyboards now and configure them 2013-01-05 04:07:44 +01:00
twinaphex c64af4d3d0 (Android) Should configure first four pads for Wiimote pads if
IME app is ccpcreations Wii IME
2013-01-05 00:58:06 +01:00
Themaister 870bf97e41 Fix second pass bug on Android. 2013-01-05 00:42:55 +01:00
Themaister 8ba68f40e3 Don't bloat up "next" overlay. 2013-01-04 23:20:49 +01:00
twinaphex 817ee02b02 (Android) Add third overlay pic with only a 'next' button 2013-01-04 23:13:36 +01:00
Themaister f8b86b56dd Enable overlays by default. 2013-01-04 23:05:51 +01:00
Themaister 7c841c18b3 Only extract Overlays/.
Extracting lots of stuff
takes too much time.
2013-01-04 22:55:02 +01:00
Themaister 587c69aa46 Comment out asset extraction.
Slows down massively. Need to find a better solution.
2013-01-04 22:33:42 +01:00
Themaister 7bd1cf3da8 Only extract overlays and shaders from asset dir. 2013-01-04 22:20:21 +01:00
Themaister 3b7aa5c243 Add .dummy files to Overlays and Shaders. 2013-01-04 22:11:47 +01:00
twinaphex 92ad26d6c5 Add Makefile.shaders 2013-01-04 22:08:11 +01:00
Themaister 0b95bc88f2 Print CC before compiler is invoked. 2013-01-04 21:56:15 +01:00
Hans-Kristian Arntzen 27a3fa0fe0 Merge pull request #115 from Themaister/alsathread2
Threaded ALSA
2013-01-04 12:49:45 -08:00
Themaister f886b3bc95 Add more shader options. 2013-01-04 21:46:45 +01:00
twinaphex 085a90d018 Get rid of RARCH_GPU_PERFORMANCE_MODE 2013-01-04 21:32:22 +01:00
ToadKing aed2aa146c copyrights 2013-01-04 15:02:40 -05:00
ToadKing fd0bb1b3ee make alsathread a seperate audio driver 2013-01-04 14:58:34 -05:00
twinaphex 26d87330ad (Assets) Move around some assets 2013-01-04 20:58:16 +01:00
Themaister 3f8bfa1484 Enable FBO support for Android.
GLES2 supports FBOs natively.
2013-01-04 20:54:33 +01:00
Themaister f6d816dbc5 Improve GL_ES compat. 2013-01-04 20:35:30 +01:00
Themaister ca8f29d58f Extract all assets/ into cache/. 2013-01-04 20:34:54 +01:00
twinaphex 8c302470e9 (PS3) Fixes Makefile - doesn't do unnecessary git clones when
not necessary now
2013-01-04 18:59:23 +01:00
twinaphex 7e426d171b (RGL) More cleanups, pt. 7 2013-01-04 18:27:05 +01:00
Themaister 7550a03688 Remove obsolete comment. 2013-01-04 17:25:10 +01:00
Themaister 804cadb6b5 Clarify batch mode for cg2xml.py. 2013-01-04 17:11:18 +01:00
Themaister 9105b441b8 Add cg2xml python tool. 2013-01-04 17:04:55 +01:00
Themaister cb49818684 Just pull if shader directory is already cloned. 2013-01-04 16:55:15 +01:00
Themaister 2267c4d65b Hook up XML shader and overlay prefs. 2013-01-04 16:46:22 +01:00
Themaister 100f5ac947 Start adding path settings. 2013-01-04 16:46:22 +01:00
Themaister d4020330d5 Clarify behavior of video_crop_overscan. 2013-01-04 16:46:22 +01:00
twinaphex 14590e1846 (RGL) More cleanups pt. 6 2013-01-04 07:28:14 +01:00
twinaphex 4382875749 (RGL) More cleanups pt. 5 2013-01-04 06:39:34 +01:00
twinaphex e1314a6d32 (RGL) More cleanups pt. 4 2013-01-04 05:39:31 +01:00
twinaphex 92c6f0aa45 (RGL) More cleanups pt. 3 2013-01-03 18:09:27 +01:00
twinaphex e6de786756 (RGL) More cleanups pt. 2 2013-01-03 15:40:31 +01:00
twinaphex 4a45ead07e (RGL) More cleanups 2013-01-03 14:55:11 +01:00
twinaphex 471acec6c9 (RGL) Cleanups 2013-01-03 14:31:25 +01:00
twinaphex d6dca4c3d0 (PS3) Should fix resolution switching issues 2013-01-03 04:47:12 +01:00
twinaphex 5c57182330 (RGL PS3) Misc. cleanups 2013-01-03 03:38:44 +01:00
twinaphex 08afcbfa3d (RARCH_CONSOLE) Use void* for param passing type 2013-01-03 03:02:52 +01:00
twinaphex 129ff2d8f3 (Filebrowser) Use void * wherever possible 2013-01-03 02:32:09 +01:00
Themaister a3b85cfe94 Fix bug in TGA. 2013-01-03 01:24:29 +01:00
Themaister e9cfb95900 Add fallback path for RGBA.
This is necessary for GLES devices which do not support BGRA_EXT.
2013-01-03 01:20:35 +01:00
twinaphex 6f0360e6c4 (Android) Fixes a whole lot of issues - should force AKEYCODE_BACK
on touchscreen to always exit RetroArch - etc.
2013-01-02 23:53:40 +01:00
twinaphex 72b7d885b6 Revert "Revert "Don't assume device IDs won't collide.""
This reverts commit 4e3ffc0d72.
2013-01-02 22:24:36 +01:00
twinaphex ab5c3501ea (Android) Get rid of #if 0 2013-01-02 22:24:18 +01:00
twinaphex afbf41f46e (Android) Can now combine IME app autodetection and USB pad
autodetection
2013-01-02 22:23:47 +01:00
Themaister 5a548ca447 More explicit error checking for JNI name lookup. 2013-01-02 21:54:35 +01:00
twinaphex 4e3ffc0d72 Revert "Don't assume device IDs won't collide."
This reverts commit ef5b656f23.
2013-01-02 21:21:06 +01:00
Themaister ef5b656f23 Don't assume device IDs won't collide. 2013-01-02 19:15:02 +01:00
twinaphex 4b18244c84 (Android) Turn off PERF_TEST 2013-01-02 19:09:58 +01:00
twinaphex 6a6155affe (Android) Drop preDispatchEvent again 2013-01-02 19:08:18 +01:00
twinaphex 3a69f1f151 (Android) Some more checks in input code 2013-01-02 18:46:51 +01:00
twinaphex 6bbcc1eeda Revert "Remove preDispatch call."
This reverts commit 8bf6e5b5ee.
2013-01-02 18:03:53 +01:00
twinaphex e296c4955f (Android) Makefile cleanup 2013-01-02 17:41:09 +01:00
twinaphex 88fb441bdd Add extern "C" to rxml.h for C++ builds 2013-01-02 17:32:35 +01:00
twinaphex d0c4de9635 (XDK) Build fixes 2013-01-02 17:23:31 +01:00
Themaister c1a0222f74 Fix use of varargs. 2013-01-02 17:20:03 +01:00
Themaister 4de09e8216 Fix build on Win32. 2013-01-02 17:13:42 +01:00
twinaphex 14c3faab53 (GX) Create stub gx_set_shader function 2013-01-02 17:13:32 +01:00
Hans-Kristian Arntzen 30534f72ee Merge pull request #113 from Themaister/rxml
Merge RXML branch
2013-01-02 08:09:24 -08:00
Themaister 8bf6e5b5ee Remove preDispatch call.
Fix possible segfault for ID table lookup.
2013-01-02 16:51:09 +01:00
Themaister ec58657b10 Fix warnings. 2013-01-02 16:43:53 +01:00
Themaister a882177f33 Fix memory leaks in rxml. 2013-01-02 15:50:54 +01:00
Themaister 78a8e03f2f Update griffin for RXML. Purge libxml2. 2013-01-02 15:23:22 +01:00
Themaister 276b588217 Add custom xml parser. Use as fallback. 2013-01-02 15:18:42 +01:00
twinaphex 49709b90bf (Android) Add Vsync toggle in Settings 2013-01-02 06:43:31 +01:00
twinaphex 55376dc2b5 (Android) Add rewind and auto rotate options to settings 2013-01-02 04:54:08 +01:00
twinaphex ecd614c9ec (Android) Add Xperia Play binds (untested) 2013-01-01 23:19:43 +01:00
twinaphex a16800bc79 (Android) cut down on unneeded members in android_app struct 2013-01-01 04:11:44 +01:00
twinaphex 0755b6b579 (Android) Remove remnants of savedState glue code 2013-01-01 03:44:57 +01:00
Themaister 0b4cf2d053 Update license headers to 2013. 2013-01-01 01:41:15 +01:00
twinaphex f838901f74 (Android) Should fix L1 button on Sixaxis IME binds 2012-12-31 23:19:30 +01:00
twinaphex 8099d76943 (Android) Add dancingpixelstudios Sixaxis IME app binds 2012-12-31 22:26:44 +01:00
twinaphex c76ee4c6b4 (Android) Add more ccp IME app autodetection 2012-12-31 21:36:29 +01:00
Themaister 91d58deec0 Add option for Square pixels (1:1 PAR). 2012-12-31 21:33:15 +01:00
Themaister be602e417a More flexible aspect ratio options. 2012-12-31 21:24:59 +01:00
Themaister be5c271b0e Don't show save files in ROM browser. 2012-12-31 20:48:52 +01:00
Themaister ca2e6c3e24 Fix crash when device is rotate in settings. 2012-12-31 18:52:35 +01:00
Themaister fafe555a27 Remove debugging messages from Java config. 2012-12-31 18:28:46 +01:00
Themaister a00f2ae254 Merge branch 'master' of github.com:Themaister/RetroArch 2012-12-31 18:10:10 +01:00
Themaister fad341d7b0 Remove unused import. 2012-12-31 18:06:58 +01:00
Themaister a1d91845c5 Merge branch 'master' of github.com:Themaister/RetroArch
Conflicts:
	android/phoenix/src/org/retroarch/browser/ModuleActivity.java
2012-12-31 18:03:46 +01:00
twinaphex 0de110a274 (Android) Create separate input_autodetect.c input file 2012-12-31 18:02:20 +01:00
twinaphex e2163317d7 (Android/RARCH_CONSOLE) Move DPAD_EMULATION enums to general.h -
makes it easier from maintenance perspective
2012-12-31 17:50:47 +01:00
Themaister cb9bb8455f Make basic settings work. 2012-12-31 17:46:15 +01:00
twinaphex 9f361de651 (Android) Autoconfigures IME app ccpcreations Wiimote pad 1 now 2012-12-31 17:39:04 +01:00
twinaphex 7855a25502 (Android) Can now grab current IME string from Java and pass it to
native
2012-12-31 16:36:28 +01:00
twinaphex ef42f6b58c (Android) Don't push message to queue if message is empty 2012-12-31 16:07:11 +01:00
twinaphex 33241abad2 (Android) Pass source to setup_keycode_lut too 2012-12-31 16:05:07 +01:00
Themaister 0270c106c5 Start adding setting dialogs. 2012-12-31 16:04:37 +01:00
Themaister 925a55c9e1 Start reworking settings menus into Java Phoenix.
Fix style according to Eclipse Ctrl+F.
Let frontend find default config.
Start adding popup menu for different settings.
Do not autodetect config on Android in native code.
2012-12-31 15:00:12 +01:00
Themaister cce0d9379a Fix warning in manifest. 2012-12-31 12:21:33 +01:00
Themaister bb95313175 Add boolean support to Java config file. 2012-12-31 12:18:47 +01:00
twinaphex 71fe22f8ba (Android) Add some more alternative name detection rules for
PS3 pad
2012-12-31 04:19:45 +01:00
twinaphex f375f550af (Android) Add Saturn USB pad / Toodles Champ / Mayflash Wii Classic
USB pad binds
2012-12-31 04:06:43 +01:00
Themaister 69491ea284 Add Java config file code. 2012-12-31 02:43:13 +01:00
twinaphex 6240fb0076 (Android) Add PS Move Navi binds 2012-12-31 01:06:33 +01:00
ToadKing 44dbdf7b02 (GX) skip launching salamander if we're switching core, one less point of failure 2012-12-30 18:06:17 -05:00
ToadKing 02db5ccd90 (Console) save sram_dir_enabled and savestate_dir_enabled to config file 2012-12-30 17:42:05 -05:00
twinaphex 1bc1b61938 (Android) Autoconfigures MOGA pad now 2012-12-30 23:37:49 +01:00
ToadKing 1fccba40d5 (GX) add ability to change default save location
fix save/load/screenshot/reset options not showing up in in-game menu
2012-12-30 17:30:43 -05:00
twinaphex 30bb3a150a (Android) Add 'unbound' message for pads which are not autoconfigured 2012-12-30 22:06:52 +01:00
twinaphex 74f8845ac3 (Android) onSaveInstanceState callback- don't point to anything 2012-12-30 21:56:57 +01:00
twinaphex acefa9bfc4 (Android) Maps PS3 pad correctly now 2012-12-30 21:43:58 +01:00
Themaister 8a58858d84 Refactor out save stating and reentrancy.
It's not really needed.
2012-12-30 18:25:49 +01:00
twinaphex 45fa3d7ba7 (Android) PS3 pad detection - still need to sort out D-pad 2012-12-30 17:03:10 +01:00
Themaister 35e17e5017 Fix CPU hogging issue on Android when paused. 2012-12-30 16:54:16 +01:00
twinaphex 813a659f8a (Android) Detects Dual Strike now 2012-12-30 16:53:24 +01:00
twinaphex b264700eaf (Android) First stab at autodetection code 2012-12-30 16:33:13 +01:00
Themaister c91e0e23f4 Add JNI device name query. 2012-12-30 15:04:02 +01:00
ToadKing 91bd77f695 Add title updating to VG driver 2012-12-28 22:30:37 -05:00
Themaister e3a0668f55 Fix segfault when samples < 8 on NEON. 2012-12-28 21:25:41 +01:00
Themaister 3d9bacd536 Don't log viewport calls. 2012-12-28 00:14:19 +01:00
Themaister 9fbd888566 Handle orientation without explict calls.
Appears to fix some kind of "race condition" in EGL.
2012-12-28 00:12:18 +01:00
Themaister 71505ccb87 Improve resize handling on Android. 2012-12-27 23:30:27 +01:00
Themaister 2ceb46cd02 Clarify multi-touch functionality for _POINTER. 2012-12-27 23:16:21 +01:00
Themaister 4651dd935a Improve multitouch. 2012-12-27 23:03:35 +01:00
twinaphex 9f80f36c16 (Android) Small refinement to input 2012-12-27 21:10:18 +01:00
twinaphex 16ab406a1a (Android) First stab at multitouch - far from satisfactory 2012-12-27 17:08:46 +01:00
twinaphex ad7a8cd468 (Android) Include native/jni/Android.mk file in phoenix/jni/Android.mk
file
2012-12-27 14:55:40 +01:00
Themaister 4786f6dd94 Fix useless code. 2012-12-27 12:33:23 +01:00
Themaister 7458f7888f Set up multitouch querying. 2012-12-27 12:26:13 +01:00
Themaister d74c49f4cd Style nit. 2012-12-26 09:56:54 +01:00
twinaphex 60f6727034 Fix GL build - gl_set_nonblock_state and gl_focus use a local
pointer to video data in their wrapper macro functions
2012-12-26 09:32:15 +01:00
twinaphex 7a9293b8c9 (Android) Remove gfx_ctx_get_aspect_ratio as well 2012-12-26 07:56:29 +01:00
twinaphex 0c3f9a854a (Android) Remove HAVE_RMENU code from Android EGL context file -
we aren't going to use RMenu after all
2012-12-26 07:20:31 +01:00
Squarepusher 17bd018cde Merge pull request #107 from notaz/android
Android fixes
2012-12-25 21:49:34 -08:00
notaz b1e8c84f55 (Android) Enable and fix warnings. 2012-12-26 03:11:33 +02:00
notaz fff846d579 (Android) Remove unused variables.
width/height is read by gfx_ctx_get_video_size() later.
2012-12-26 03:11:33 +02:00
notaz df2466c5ed (Android) Fix crash on orientation update. 2012-12-26 03:11:32 +02:00
notaz bbc898400d (Android) Remove unneeded include.
Also fixes build on older NDK (r6b).
2012-12-26 03:11:32 +02:00
notaz 729bf464c5 (Android) Enable logger and overlay for phoenix.
Doesn't build otherwise for me.
2012-12-26 03:11:08 +02:00
Themaister e3378c219c Use crude ref-counting for driver handles. 2012-12-25 23:18:19 +01:00
twinaphex 4e61543203 (360) ) Add HAVE_RMENU to 'Release' target 2012-12-25 21:44:29 +01:00
Themaister 35a591809d Fix console warning. 2012-12-25 20:47:49 +01:00
twinaphex d114095447 (RARCH_CONSOLE) Don't compile in input_common.c for consoles 2012-12-25 20:46:58 +01:00
Themaister 0b7bfc872b Allow rewind to be inited/deinited better. 2012-12-25 19:46:19 +01:00
Themaister 57d7643b86 Fix compiler warnings. 2012-12-25 19:05:30 +01:00
Themaister 82f2bba8f2 Accept CONFIGFILE argument over JNI. 2012-12-25 15:21:01 +01:00
Themaister efef75342b Rework open_default_config_file(). 2012-12-25 14:51:08 +01:00
Themaister 4d802ccfbc Set custom refresh rate before starting main loop. 2012-12-25 14:00:24 +01:00
Themaister e4e0d9c72d Reset driver.* handles on driver reinit. 2012-12-25 00:01:06 +01:00
twinaphex f00c0311d3 (Android) Add more JNI macros 2012-12-24 22:15:01 +01:00
twinaphex 2ee5efc4a1 (Android) Orientation change now done in a stable way without freeing/
reiniting the video driver again
2012-12-24 20:17:16 +01:00
twinaphex ae8c7b8d7f (Android) Orientation change works again - crashes after a finite
number of times changing orientation though
2012-12-24 19:06:28 +01:00
twinaphex e8a57f21cd (Android) Fix - restore state functionality broke again due to
'refactor' in driver.c - this does not work for re-entrancy - please
consult with me
2012-12-24 18:06:51 +01:00
twinaphex 70b5007a1e (Android) Wrapping all JNI usage seems impractical - settle for
a JNI helper header file instead
2012-12-24 17:22:57 +01:00
twinaphex bacad2f05a (Android) Some more JNI refactors - more coming up 2012-12-24 16:14:38 +01:00
twinaphex 480e36000e (Android/Phoenix) remove remnants 2012-12-24 15:23:06 +01:00
twinaphex e5e58912c1 (Android) Input - small nit changes 2012-12-24 15:05:59 +01:00
twinaphex 8f86172e3f (Android) Smaller 'overlay next' button for basic overlay
(Android) Mouse can be used to control overlay now too - is crash-prone
though after too many mouse clicks - reason unknown right now
2012-12-24 14:08:50 +01:00
twinaphex eb6937a7bd (Android) JNI wrapper - check some more for exceptions 2012-12-24 12:53:50 +01:00
twinaphex b03f5d8c4b (Android) Motion events now use correct pointer for event instead
of always pointer 0
2012-12-24 12:30:05 +01:00
twinaphex 8f6b5ab793 (Android) JNI - add safety checks 2012-12-24 11:26:38 +01:00
Themaister 4c27922ab7 Don't rotate overlay if game is rotated. 2012-12-24 00:21:42 +01:00
Toad King 5400d9eaa4 (GX) adjust refresh rate for non-interlaced mode
fix pal-60 detection
2012-12-23 15:43:37 -05:00
Themaister f5c5da8959 Fix build when HAVE_XML isn't defined. 2012-12-23 20:10:16 +01:00
Themaister 225647d0e3 Add public function to set refresh rate of monitor. 2012-12-23 19:05:20 +01:00
Toad King ac1e760296 (GX) small changes to video mode switching, fixes debug text in some video modes 2012-12-23 12:52:35 -05:00
Themaister 7c60aaf48f Compile in overlay if HAVE_OVERLAY in griffin. 2012-12-23 18:39:34 +01:00
Themaister 35bf5c82c1 Make OVERLAY optional. 2012-12-23 18:39:01 +01:00
Toad King 9a41c3c1c7 (GX) convert image to pixel format with alpha field if we're drawing the menu 2012-12-23 12:32:24 -05:00
twinaphex 52e4c3eff4 Revert "Ifdef bind IDs based on compiled in features - we only have 64 bits"
This reverts commit 576a40707d.
2012-12-23 18:21:36 +01:00
twinaphex 7116118051 Remove remnants of HAVE_CONFIGFILE 2012-12-23 18:16:33 +01:00
twinaphex 576a40707d Ifdef bind IDs based on compiled in features - we only have 64 bits
to work with for input_state so we need to get rid of unneeded
features per port
2012-12-23 18:09:30 +01:00
twinaphex ad8d09f754 (Android) Add a lot of actions to quick menu overlay 2012-12-23 17:51:32 +01:00
twinaphex 97ab249625 (Android) Overlay next button should work now along with other
overlay state inputs
2012-12-23 15:29:54 +01:00
twinaphex 269698661a (Console/Android) Simplify input_key_pressed implementation 2012-12-23 14:44:46 +01:00
twinaphex e58ca0b95b (Android) Refactor JNI code
(Android) Change overlay PNGs to TGAs - add 256x256 quickmenu
texture - change basic_overlay.cfg coords
2012-12-23 14:25:28 +01:00
Themaister f445c939e9 Merge branch 'master' into overlay 2012-12-23 13:56:57 +01:00
Themaister 9b58fac354 Always compile in config file support. 2012-12-23 13:55:59 +01:00
twinaphex 86de8a8cbe Merge branch 'master' of https://github.com/Themaister/RetroArch into overlay 2012-12-23 13:46:03 +01:00
Themaister 143b5addc9 GLSL support can be compiled without XML. 2012-12-23 13:44:31 +01:00
twinaphex 04cabb0996 (Android) refactor JNI code - still can't load ClassLoader 2012-12-23 13:16:58 +01:00
twinaphex 5065e12ae7 (Android) ModuleActivity - comment out Toast hack 2012-12-23 07:32:04 +01:00
twinaphex 18bf8e2a16 (Android) Refactor JNI code 2012-12-23 07:30:15 +01:00
Themaister e198dac691 Merge branch 'master' into overlay 2012-12-22 23:53:13 +01:00
Themaister 359d5fa997 Cleanups and build fixes. 2012-12-22 23:52:05 +01:00
Hans-Kristian Arntzen 49324a1374 Merge pull request #100 from sparklewind/patch-1
Fix for compiling on Haiku
2012-12-22 14:46:00 -08:00
sparklewind a5ceef033b Update Makefile 2012-12-22 21:29:39 +01:00
sparklewind 1f8bef7eeb Update qb/qb.comp.sh 2012-12-22 20:49:49 +01:00
sparklewind 12308e321a Update Makefile 2012-12-22 20:41:59 +01:00
sparklewind d40190b7ad Update Makefile 2012-12-22 20:33:01 +01:00
sparklewind 123c75b01f Update Makefile 2012-12-22 20:31:37 +01:00
sparklewind b7445eb81b Update Makefile 2012-12-22 20:24:51 +01:00
sparklewind 31a5ebeea6 Update Makefile 2012-12-22 20:20:59 +01:00
sparklewind ee242b31c7 Update qb/config.libs.sh 2012-12-22 20:06:20 +01:00
sparklewind 6e427b3e9d Update qb/config.libs.sh 2012-12-22 19:51:31 +01:00
sparklewind 5deb37f60a Update Makefile 2012-12-22 17:23:02 +01:00
sparklewind d032764e6b Update qb/config.libs.sh 2012-12-22 17:16:35 +01:00
Themaister 1f9caf554c Allow custom geometry of overlay. 2012-12-22 16:09:15 +01:00
Themaister 5376c39ff6 Update example overlay config to swap. 2012-12-22 15:47:00 +01:00
Themaister 34bd32c1fd Add RETRO_OVERLAY_NEXT bind. 2012-12-22 15:33:28 +01:00
Themaister 023443e1aa Initial overlay config work. 2012-12-22 13:40:15 +01:00
Themaister 9056946079 Merge branch 'master' into overlay 2012-12-22 11:38:18 +01:00
Themaister 6bb2349833 Kill off external driver plug interfaces.
These are too much work to maintain, and aren't really all
that useful.
2012-12-22 11:37:15 +01:00
twinaphex 26c59ef649 (Android) Added autoconfiguration of Wiimote/Nunchuk/Wiimote - for
use with free Wii IME app from C.C.P. Cre@ions
2012-12-22 09:44:56 +01:00
twinaphex 7431bd5d22 (Android) Add more control schemes for USB gamepads 2012-12-22 07:13:32 +01:00
sparklewind 8bcd7f1972 Update qb/config.libs.sh 2012-12-22 03:27:50 +01:00
sparklewind db9a9056e2 Update Makefile 2012-12-22 03:26:27 +01:00
Toad King ff3ec9f8a5 (Android) minor cleanup 2012-12-21 19:00:18 -05:00
Toad King 462adce111 (Android) touch input fixes 2012-12-21 18:32:53 -05:00
sparklewind 14e259ac39 Fix for compiling on Haiku 2012-12-21 21:50:07 +00:00
twinaphex 75b36e6ba0 (Android) Tried with condition flag - still doesn't work 2012-12-21 08:08:50 +01:00
twinaphex 0df2eff66b (Android) Some input refactors 2012-12-21 04:14:47 +01:00
twinaphex 29ef7dc4ed (Android) Initial implementation of input overlay key input code -
not working yet due to need to determine whether or not touchscreen
is pressed in input_state_pressed
2012-12-21 01:31:01 +01:00
twinaphex 456593ddb1 (Android) Add way to tell where the event is coming from 2012-12-20 23:57:46 +01:00
twinaphex 909c392094 (Android) Build fix for building with input debug 2012-12-20 23:01:48 +01:00
Themaister 09bbfbba83 More verbose TGA logging. 2012-12-20 21:44:20 +01:00
twinaphex c135cf7e6d Merge branch 'overlay' of https://github.com/Themaister/RetroArch into overlay 2012-12-20 20:50:37 +01:00
twinaphex 675124bda4 (Griffin) Compile in overlay code - get rid of input_state
override for Android
2012-12-20 20:48:09 +01:00
Themaister ca9f081d27 Make input overlay configurable. 2012-12-20 20:23:53 +01:00
twinaphex 60a4a20a79 Merge branch 'overlay' of https://github.com/Themaister/RetroArch into overlay 2012-12-20 20:13:17 +01:00
Themaister a1fd01dbc6 Add some TODOs for overlay. 2012-12-20 15:53:09 +01:00
Themaister cc2e4015b5 Allow enable/disable overlay. 2012-12-20 15:37:04 +01:00
Themaister 47a98ef205 Make overlay polling completely independent. 2012-12-20 15:33:54 +01:00
Themaister a863908214 Makefile indent fix. 2012-12-20 14:57:55 +01:00
twinaphex 92e5036eb6 Disable onLowMemory callback - after this has executed, it would
call Dalvik's garbage collector - definitely want to avoid that
2012-12-20 13:25:09 +01:00
Themaister 45f808d00c Change hardcoded path. 2012-12-20 12:54:54 +01:00
Themaister d5b294c894 Update coords for basic overlay.
Sort of usable now.
2012-12-20 12:47:18 +01:00
Themaister 1250fae7f1 Basic overlay POC works.
Add support for X11.
2012-12-20 12:24:49 +01:00
Themaister b4cd58afe7 Rework overlays as a video driver interface. 2012-12-20 11:16:22 +01:00
twinaphex c981cb77f8 Make overlay fullscreen 2012-12-20 04:37:52 +01:00
twinaphex d5dffe88dc (Griffin) Add stub for post_render_func for Griffin 2012-12-20 03:59:33 +01:00
twinaphex 318078157d Commented out overlay hacks 2012-12-20 03:49:55 +01:00
twinaphex 447fbf1c59 Add quickmenu overlay 2012-12-20 03:44:09 +01:00
Themaister fe828fae17 Add basic overlay. 2012-12-19 22:45:37 +01:00
Themaister a47860b230 Clarify intent of cg_shader init. 2012-12-19 21:33:59 +01:00
Themaister 71f2754e91 Revert "Move shader path init to init_cg()."
This reverts commit e0faf0cc47.
2012-12-19 21:33:10 +01:00
Themaister e0faf0cc47 Move shader path init to init_cg(). 2012-12-19 21:30:23 +01:00
Themaister 46ae26211f Fix Mingw build. 2012-12-19 21:27:27 +01:00
OV2 369615f808 win32: fix msvc build 2012-12-19 21:18:38 +01:00
OV2 c9c0936fd5 win32: fix initial multipass cg shader loading in d3d9 2012-12-19 21:16:26 +01:00
OV2 a193bac6a1 Fix hermite compile 2012-12-19 20:01:12 +01:00
Themaister 5eb7432fff Add overlay rendering to GL.
This allows e.g. Android to render a keypad overlay for touch.
2012-12-19 13:26:11 +01:00
Toad King c42bbaf191 fix 2012-12-18 23:04:26 -05:00
Toad King 79ccb9a6d9 (GX) implement 32-bit color support 2012-12-18 22:18:31 -05:00
twinaphex 2ecb4cebe8 (GX) Video - refactor convert_texture function some more 2012-12-19 04:16:04 +01:00
twinaphex 2e9d84efc3 (GX) Video - small refactor of texture conversion routine 2012-12-19 04:08:47 +01:00
Toad King 376317309e Revert "(GX Video) Only update texture if frame is not NULL"
This reverts commit 78027ee920.

the logic for this is already in update_textures and it broke menu rendering
2012-12-18 21:12:00 -05:00
twinaphex 3273ccb5d6 (Android) Add preDispatchEvent 2012-12-19 00:55:39 +01:00
OV2 681241deb5 win32: fall back to software vertex processing if d3d9 init fails 2012-12-18 21:21:13 +01:00
twinaphex 60dd07364e (Android) Fix build 2012-12-18 20:56:33 +01:00
twinaphex 1c0fc0e65e (Android) Pack the LUT entries so that we can store eight 8-bit
values in them - this will allow for custom LUTs per controller
2012-12-18 18:56:16 +01:00
twinaphex 2e988a61d9 (Android) Same for Android - remove gfx_ctx_clear 2012-12-18 09:18:22 +01:00
twinaphex ddc94054cb Get rid of RMenu context clear function 2012-12-18 09:17:40 +01:00
twinaphex 652bb00285 (360) Do away with RMenu clear function 2012-12-18 08:58:22 +01:00
twinaphex de5869c69e rarch_main_idle_iterate only compiled in if HAVE_RARCH_MAIN_WRAP
is undefined
2012-12-18 08:51:25 +01:00
twinaphex 0ff8dba2c3 (Wii) Code style cleanups 2012-12-18 08:42:53 +01:00
twinaphex 5cd6017ff5 (GX) Use g_extern.draw_menu 2012-12-18 08:32:48 +01:00
twinaphex 34951c121b (PS3) Use g_extern.draw_menu instead of block_swap 2012-12-18 08:20:44 +01:00
twinaphex 0b1bd6c276 (XDK) Use g_extern.draw_menu instead of block_swap mechanism 2012-12-18 08:19:57 +01:00
twinaphex 1564d04a1e Get rid of doubly #ifdef in retroarch.c 2012-12-18 07:46:40 +01:00
twinaphex 8ac8f6b7c8 Get rid of now unnecessary Android header include in general.h 2012-12-18 06:04:49 +01:00
twinaphex 2e5f21db60 (Android) Do window ready checking differently 2012-12-18 06:01:56 +01:00
twinaphex 3570ba80d2 (Android) Move Android-specific pause functionality outside of
rarch_main_iterate
2012-12-18 03:18:53 +01:00
twinaphex aab39626fe RARCH_PERFORMANCE_MODE - Small correction for conditional to do
with rendering rarch_cached_frame in do_state_checks
2012-12-17 23:04:47 +01:00
twinaphex 5eccdf2eee RARCH_PERFORMANCE_MODE - Skip all pause/oneshot checks 2012-12-17 22:45:29 +01:00
twinaphex 0210f8f72f (Android) Last input tweak for today 2012-12-17 20:53:36 +01:00
twinaphex 6d23abef55 (Android) Override input_key_pressed_func 2012-12-17 20:23:47 +01:00
twinaphex 918052f5ba (Android) Rewrite activity_paused logic 2012-12-17 20:07:08 +01:00
twinaphex 74ae6ecf57 (Android) Better deinit - will now deinit RetroArch and save game
RAM if you forcibly stop RetroArch
2012-12-17 18:45:26 +01:00
twinaphex cd1ddbb9c7 (Android) Better restore state functionality 2012-12-17 17:58:08 +01:00
twinaphex 8692ef204e (PS3) Cut down on usage of rmenu.enable variable - last stronghold
is Wii/GX
2012-12-17 08:24:45 +01:00
twinaphex 155e0692a9 (PS3) Some work on OSK - still doesn't work alright - a bitch to
get working properly without extra threads
2012-12-17 06:44:28 +01:00
twinaphex 8e98968c85 (RMenu) Big refactor 2012-12-17 05:30:28 +01:00
twinaphex 6750808e56 (RMenu) Menu callback entry function should now be pretty much self-contained 2012-12-17 01:30:38 +01:00
twinaphex e391a18107 (RMenu) Add input_iterate function pointer - cleanup some code 2012-12-17 01:02:45 +01:00
twinaphex 00058618c9 (RMenu) RMenu refactor - have function pointers for menu struct 2012-12-17 00:32:16 +01:00
twinaphex dca1175854 (Android) Add performance counters for input poll 2012-12-16 17:13:49 +01:00
twinaphex 22f5f67522 (Android) Use AMotionEvent_getPointerCount() > 0 2012-12-16 16:35:49 +01:00
twinaphex 3eabba50f9 (Android) Onscreen input debugging 2012-12-16 15:46:53 +01:00
twinaphex 49d35b2339 (Wii) Use WPAD_Data to obtain local pointer to pad state 2012-12-16 07:28:01 +01:00
twinaphex 5f46f80b20 Revert "(Android) Simplify default binds - reduce code"
This reverts commit 68ab7e0372.
2012-12-16 06:54:49 +01:00
twinaphex 68ab7e0372 (Android) Simplify default binds - reduce code 2012-12-16 06:26:12 +01:00
twinaphex 3c5b7ba08e (Android) Call ALooper_pollOnce for command event queue once per frame -
seems to be enough
2012-12-16 05:52:39 +01:00
twinaphex ae089a7b58 (Android) Make logging optional 2012-12-16 04:13:31 +01:00
twinaphex c54d4a6955 (Android) Volume keys work again with new input code - most
bound keyboard shortcuts should work now
2012-12-16 03:03:44 +01:00
twinaphex cf539edf91 (Android) android_input_poll now only reads and processes input
events - check_window polls for system messages once
2012-12-16 02:04:13 +01:00
twinaphex 7076685a1e (Android) First check if an event is in the event queue before
'getting' it
2012-12-16 00:08:30 +01:00
twinaphex 224eaab902 (Android) Input - only do motion event if type is of 'key down' 2012-12-15 23:05:21 +01:00
Themaister 05f8c54ed6 Move pausing logic outside rarch_main_iterate. 2012-12-15 20:44:59 +01:00
twinaphex 627fd567a9 (Android) Do Android pausing in a different way 2012-12-15 19:17:26 +01:00
twinaphex 7a67348b3c Change 1 << for bitmasks to 1ULL << 2012-12-15 18:00:30 +01:00
twinaphex 28564680c8 (360) Move things around in rmenu_iterate so that it matches
the default rmenu_iterate
2012-12-15 17:56:18 +01:00
twinaphex 4076dda011 (360) Have xdk_d3d_frame decide to draw XUI instead of
it being done in rmenu_iterate
2012-12-15 17:46:57 +01:00
twinaphex 1725bfbebc (360) Fix build 2012-12-15 17:30:32 +01:00
twinaphex ffa5d4fa5f Rewrite do-while loops for console ports 2012-12-15 16:47:35 +01:00
twinaphex dacab094f0 (RMenu) menu_loop renamed into rmenu_iterate - iterates menu code for one frame 2012-12-15 16:40:02 +01:00
Themaister a570493672 Grab key events in xvideo as well. 2012-12-15 12:06:21 +01:00
Themaister 30fc796061 Grab Key events in X/EGL as well. 2012-12-15 12:00:57 +01:00
Themaister 6013a324c8 Use void* font context in VG. 2012-12-15 11:02:35 +01:00
twinaphex 78027ee920 (GX Video) Only update texture if frame is not NULL 2012-12-15 07:33:56 +01:00
twinaphex 3d2d4e4c18 (XDK D3D) Only update texture if frame is not NULL 2012-12-15 07:19:59 +01:00
twinaphex 875b6b6f2e (Xbox 1) Font cleanups 2012-12-15 07:16:02 +01:00
twinaphex 799a9c35fb gfx_common.c - make gfx_get_fps into the main public function -
and remove the two public wrapper functions
2012-12-15 07:03:33 +01:00
twinaphex 7685009f56 (GX) Compile fixes -haven't tested yet 2012-12-15 05:55:08 +01:00
twinaphex 89e493ed15 (GX) Some input tweaks 2012-12-15 05:46:49 +01:00
twinaphex 09cb50ddea (XDK) Input refactor 2012-12-15 05:23:08 +01:00
twinaphex 0df739b86d (360) Build fix 2012-12-15 04:36:19 +01:00
twinaphex 566296068a (Xbox 1) Fix build 2012-12-15 03:59:31 +01:00
twinaphex 4864adc7b1 (XDK) Rewrote Xbox font code 2012-12-15 03:35:04 +01:00
twinaphex f412a0cda0 (VG) Get rid of warning by casting void** 2012-12-15 03:05:32 +01:00
twinaphex 13b8c40c27 Remove null_fonts - bitmap fonts will always be the fallback
default now
2012-12-15 03:02:26 +01:00
twinaphex d2683cc02a (Android) Fix build 2012-12-15 02:59:35 +01:00
twinaphex 8a271d318c Frame advance - get rid of unnecessary extern variables now 2012-12-15 02:25:48 +01:00
twinaphex 04674fbba7 (PS3/XDK) Better way to toggle frame advance 2012-12-15 02:13:58 +01:00
twinaphex 0261d934f2 (RARCH_CONSOLE) Rework how we do RARCH_QUIT_KEY - right now used
for ports that define HAVE_RMENU - made compiling in the RMenu
GUI separate from the HAVE_RMENU logic
2012-12-15 01:14:21 +01:00
twinaphex a7a901962f (PS3) Works again on PS3 2012-12-15 00:17:43 +01:00
Themaister beca1c44f3 Move all font stuff to gfx/fonts.
Rename stuff so griffin doesn't break.
2012-12-15 00:27:30 +01:00
Themaister 78e5d47a9b Rename to gl_raster_font to clearify. 2012-12-15 00:08:26 +01:00
Themaister b239785038 Context-ize GL font rendering. 2012-12-15 00:07:31 +01:00
twinaphex fcb31db218 (PSFont) Add PS Font renderer for font abstraction interface 2012-12-14 22:35:47 +01:00
Toad King e517a09b42 build retroarch-joyconfig for Windows in the tools directory, like other platforms 2012-12-14 15:54:13 -05:00
twinaphex a7206b02ab (Font API) Add scaling_factor and color to output struct 2012-12-14 21:52:14 +01:00
Toad King 278c2cca10 pre-scale bitmap fonts 2012-12-14 15:50:59 -05:00
Themaister b448cee01e Allow font rendering without freetype. 2012-12-14 22:45:44 +01:00
Themaister 8501c404f6 Fix CXX_BUILD. 2012-12-14 22:33:04 +01:00
twinaphex 1538c45d5d (Font API) Change font_renderer_t returns and params to void* 2012-12-14 21:26:41 +01:00
ToadKing 9571402b85 Fix VG build 2012-12-14 14:42:18 -05:00
twinaphex 789674c97a Increment g_extern.frame_count after retro_run() 2012-12-14 20:34:57 +01:00
twinaphex dbb962e946 Streamline frame_count usage
(Android/Griffin) Fix build
2012-12-14 20:33:36 +01:00
Toad King c891bc353a fix VG compile 2012-12-14 14:33:00 -05:00
Themaister 66021d7ba0 Avoid name collision in griffin. 2012-12-14 20:39:14 +01:00
Themaister 7d4278a29b Add gfx/fonts/fonts.c. 2012-12-14 20:26:40 +01:00
Themaister 5700febb2c Refactor font renderering.
Virtualize for multiple backends, and name files more sanely.
2012-12-14 20:25:40 +01:00
twinaphex cb334c63ce (PS3) Rewrite ps3_input_key_pressed 2012-12-14 18:37:18 +01:00
twinaphex 20bdef5d3b (PS3) Input refactoring (note - other console ports will need
refactoring too - will do that nexta)
2012-12-14 17:42:01 +01:00
twinaphex e1918b2ba6 (Android) Rename g_android.input_state to g_extern.lifecycle_state
- intend to use this for RMenu as well
2012-12-14 02:06:14 +01:00
twinaphex 66180308e4 (Android) Remove android_get_sdk_version and change RMenu
mountpoints
2012-12-14 01:44:59 +01:00
twinaphex 707bcd483f (Android) Some patches for RMenu compatibility 2012-12-14 01:29:01 +01:00
twinaphex 5421fb8269 (Android) PERF_TEST no longer default 2012-12-13 23:09:28 +01:00
Toad King 7ae47fb860 make font bitmap static 2012-12-13 17:03:32 -05:00
twinaphex 986f886a35 (Android) Compiles in bitmap fonts 2012-12-13 22:49:17 +01:00
Toad King e75bdffdbf cleanup remaining font code
move font.bin and font.bmp used to generate binaryfont to gfx/fonts
2012-12-13 16:17:01 -05:00
Themaister 047637dc24 Don't segfault in font_renderer_free.
handle can be NULL.
2012-12-13 23:15:30 +01:00
Themaister 592cbdfda1 Reuse font deinit code. 2012-12-13 23:14:06 +01:00
Toad King 2209103248 (GX) redo video/RGUI code to use new font location 2012-12-13 16:12:51 -05:00
Toad King 59bc3d4ba7 add alternative font drawing for GL 2012-12-13 15:12:59 -05:00
twinaphex bb1e2a4677 (Android) Don't split up JNI functions into their own file -
assumed this is Android-specific for now
(Android) Some input improvements - don't call AKeyEvent_getKeyCode
unless type is of AINPUT_EVENT_TYPE_KEY
2012-12-13 17:05:07 +01:00
twinaphex c5bda29ce3 (Android) Refactor JNI code 2012-12-13 15:32:35 +01:00
twinaphex 54017c88b9 Add notaz to AUTHORS - e-mail address? 2012-12-13 14:31:37 +01:00
Themaister 81e7ffe9a5 Don't use a particular bit depth in KMS. 2012-12-13 10:35:17 +01:00
Themaister 958bc9beb9 Don't force xml dep for GLES as it's not needed. 2012-12-13 10:33:43 +01:00
Squarepusher e883762f33 Merge pull request #94 from notaz/arm_linux
Pandora GL fixes
2012-12-12 17:33:32 -08:00
notaz 3576bcedd9 Check for EGL/GLES/VG directly if pkgconfig is unavailable.
This also allows to remove some videocore special cases.
2012-12-13 01:00:50 +02:00
notaz ee112fc375 Manually define GL_BGRA_EXT if needed.
It's missing in imgtec/SGX headers for some reason.
2012-12-13 01:00:50 +02:00
notaz d33cfef8bd Don't restrict EGL color component sizes.
This makes SGX530 work when using 16bpp framebuffer.
2012-12-13 01:00:50 +02:00
twinaphex 567f4ff471 (Android) Input optimization #2 2012-12-12 20:52:42 +01:00
twinaphex dd3ac28927 (Android) Input optimizations 2012-12-12 03:53:25 +01:00
twinaphex 0ba45d457e (Android) Use pollAll instead of pollOnce - fixes input issues
to do with pushing multiple  buttons simultaneously
2012-12-11 17:45:49 +01:00
Squarepusher 0a61c286f7 Update AUTHORS
Added meancoot to authors - if he wants his real name in the credits he can go ahead and make a pull request with the necessary changes to this file. If not, we'll leave it at the nick.

The same applies to e-mail address - it isn't obligatory but it would be nice to add it.
2012-12-11 14:28:21 +01:00
twinaphex 5598c75071 (OpenSL) Get rid of Android-specific hack 2012-12-11 14:16:47 +01:00
Hans-Kristian Arntzen cdacad974b Merge pull request #89 from notaz/arm_linux
Report EGL errors.
2012-12-11 00:27:20 -08:00
notaz 7237abcff2 Report EGL errors.
Fix a few warnings along the way.
2012-12-11 02:43:29 +02:00
twinaphex 5320f9b2c1 (Android) Remove Phoenix-legacy - meancoot's Phoenix now default 2012-12-10 19:15:46 +01:00
twinaphex 10483e08e1 (Phoenix) Can now go back to 'Select libretro core' from 'select
ROM' menu by pressing Back button by returning RESULT_CANCELED
from DirectoryActivity
2012-12-10 19:13:39 +01:00
Themaister 31ba3e251e Use correct PREV semantics. 2012-12-10 13:19:22 +01:00
Themaister 5424e06a09 Only increment to next frame if frame is non-NULL. 2012-12-10 13:05:56 +01:00
twinaphex fdc65d7851 (Android) - New phoenix frontend - use startActivityForResult for filebrowsing
- Get rid of most PHOENIX_LEGACY ifdefs - code now works for both Phoenix and
Phoenix-legacy
- Refresh rate auto-configuration should work now on Phoenix
- Going to get rid of Phoenix-legacy soon altogether
2012-12-09 20:33:08 +01:00
Themaister a5e3df4e72 Print AS when compiling ASM source. 2012-12-09 18:37:09 +01:00
Hans-Kristian Arntzen 6294ce7025 Merge pull request #86 from notaz/arm_linux
Arm linux/NEON improvements
2012-12-09 09:34:42 -08:00
notaz f6de3722ef (utils_neon) Don't use callee-save registers 2012-12-09 18:58:47 +02:00
twinaphex 2b34d21967 (Android) Add in code to set refresh rate to that of the device's
refresh rate in case display screen has a refresh rate lower than
60Hz - ie. 58.2Hz/59.0Hz - is ifdeffed specifically for PHOENIX_LEGACY
- new Phoenix frontend needs to do pass the refresh rate of the screen
determined in the Java frontend to the native activity - see phoenix-legacy
code
2012-12-09 17:39:24 +01:00
notaz 17f42531c3 (sinc_neon) Don't use callee-save registers
fixes a crash on ARM Linux.
2012-12-09 18:30:05 +02:00
notaz 16edc7c80e Add ARM NEON support for main build. 2012-12-09 18:30:04 +02:00
notaz 7d283ab48d Add basic cross-compilation support.
Supports both autotools-like --host=... switch and Linux kernel-style
CROSS_COMPILE env var.
2012-12-09 18:29:45 +02:00
Hans-Kristian Arntzen 3e9bedd4c7 Update CONTRIBUTING.md 2012-12-09 10:16:35 +01:00
Hans-Kristian Arntzen 92fd3cf8d3 Update CONTRIBUTING.md 2012-12-09 10:03:52 +01:00
Hans-Kristian Arntzen 8a1dab2493 Create CONTRIBUTING.md 2012-12-09 00:56:51 -08:00
Themaister 01e14d31c1 Realloc correct amount. 2012-12-09 10:14:34 +01:00
Themaister 47fca83bb1 Planarize audio. 2012-12-09 00:20:04 +01:00
Themaister ff1557d6e8 Use FLTP/S16P directly. FFmpeg was bugged. 2012-12-08 22:55:32 +01:00
Themaister f66692d02f Drop -pedantic.
RetroArch is fine with -pedantic, but lots of library headers
aren't ... Not critical by a long shot anyways.
2012-12-08 22:50:02 +01:00
twinaphex 242d2d0d65 (Android) Fixes crippled performance on 4.1 (Jelly Bean) - I thought
4.1 - Jelly Bean - had a fast SL mixer? How to get lower latency with
this then?
2012-12-08 18:10:08 +01:00
Themaister bf4ffe714f Clarify use of gl->conv_buffer. 2012-12-08 13:38:48 +01:00
Themaister 671697a211 Move X11 keyboard event to x11_common.
TODO: Add to xegl and xvideo.
2012-12-08 13:35:07 +01:00
Themaister 5185524b46 Use common code for handling keysym translations. 2012-12-08 13:26:10 +01:00
twinaphex 3a3953aef3 (Android) Add back PHOENIX_LEGACY hack because new Phoenix frontend
doesn't work yet for me
2012-12-08 12:58:16 +01:00
Themaister 6709dcb274 Use XLookupKeysym instead. Add test.
XKeycodeToKeysym is deprecated.
2012-12-08 12:51:04 +01:00
twinaphex 94f89b4a70 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-12-08 12:37:27 +01:00
twinaphex ecc2376e6f (Phoenix Legacy) Adding back phoenix legacy for now 2012-12-08 12:37:00 +01:00
Themaister be0223b501 Use gl->conv_buffer instead of extra buffer. 2012-12-08 12:35:10 +01:00
Themaister 5aed38cf37 Ensure enum size being int. 2012-12-08 12:32:33 +01:00
Hans-Kristian Arntzen 3c5aec41a1 Merge pull request #72 from meancoot/master
Allow libretro core to receive keyboard input using events rather than polling.
2012-12-08 03:29:03 -08:00
Squarepusher 344640d96c Merge pull request #81 from meancoot/android-newui
(Android) Add new frontend for easier install and use.
2012-12-08 02:12:38 -08:00
meancoot 3ca708a9b8 (Android) Fix eclipse project. 2012-12-08 05:04:05 -05:00
meancoot d236863d05 (Key Events) Sloppy, ascii only, X11 version. 2012-12-07 18:45:50 -05:00
meancoot c57c9b79cf (Android) Delete unneeded android-support-v4.jar 2012-12-07 15:50:46 -05:00
meancoot 6eb1f60415 (Android) Add parent directory item to file lists. 2012-12-07 15:46:17 -05:00
meancoot be1fdd419b (Key Events) Add modifier flag argument; plus cleanup. 2012-12-07 03:18:18 -05:00
Squarepusher 7bfc029565 Merge pull request #84 from meancoot/gles-texturepack
OpenGL ES width != pitch texture speed improvement
2012-12-06 23:43:09 -08:00
meancoot a3ebec7f07 Style fix 2012-12-07 02:17:34 -05:00
meancoot 95fa37b178 (OpenGL ES) Pack texture rows manually instead of making multiple calls to glTexSubImage2D. 2012-12-07 02:03:17 -05:00
twinaphex 3a85a68230 (Android) Fix erroneous bitmask unset 2012-12-06 10:16:31 +01:00
meancoot fc1cf035d7 Delete original phoenix directory; Rename andretro directory to phoenix. 2012-12-06 01:47:52 -05:00
meancoot a8f7c1d4b7 Start file browser from root directory.
Use file and folder icons generated by android-ui-utils, rather than gartoon.
Don't hardcode the retro core search path.
2012-12-06 01:45:14 -05:00
Hans-Kristian Arntzen b7e3bcc2c9 Merge pull request #82 from Themaister/neon_conv
Neon sample conversion
2012-12-05 13:33:20 -08:00
Themaister 4adf390486 Actually align samples to 8. 2012-12-05 23:17:07 +01:00
Themaister eba6cfa3eb Fix build for NEON. 2012-12-05 23:04:44 +01:00
Themaister 36c595335b NEON optimized s16->float->s16. 2012-12-05 22:45:29 +01:00
twinaphex 44b2343a9b (Android) Move back to old reinit video context - meancoot - test
if this works for you
2012-12-05 19:53:57 +01:00
meancoot fca88c4bd0 (Android) Add new frontend for easier install and use. 2012-12-05 11:40:40 -05:00
twinaphex fa2b716d5e (Android) Refactor RetroArch Android pause mode. 2012-12-05 07:12:20 +01:00
twinaphex aab0ed8fce (Android) Refactor check_window - store AConfiguration_getOrientation
return value in local variable and reuse this value from there
2012-12-05 06:43:00 +01:00
twinaphex f81ee3be30 (Android) Refactor context restore and video orientation change
code  - context restore only needs to restore video and not all
drivers
2012-12-05 06:31:24 +01:00
twinaphex 0dce6a6db6 (Android) Move video reinit code to EGL check_window function -
now properly resizes video after orientation change and restores
video context after minimizing and restoring
2012-12-05 06:17:45 +01:00
Squarepusher b2cd86c047 Merge pull request #80 from meancoot/android-pauserestore
Android activity tweaks.
2012-12-04 20:32:31 -08:00
meancoot 95d43e5f60 (Android) Reduce CPU usage while paused. 2012-12-04 22:47:41 -05:00
meancoot b2fc9cae3a (Android) Allow graphics to reinitialize if activity is lost.
(Android) Stop emulation when the activity receive a pause event.
2012-12-04 22:31:31 -05:00
Toad King 8428e8efcc update .gitignore 2012-12-04 17:36:13 -05:00
Toad King 1e03bb3d50 [ANDROID] "handle" all config changes while executing the emulator
re-init video code on orientation change
2012-12-04 17:36:02 -05:00
twinaphex 2c2328d8a0 (NEON) Change WANT_NEON define back to HAVE_NEON 2012-12-04 07:57:31 +01:00
Squarepusher d03b6afeb8 Merge pull request #79 from Themaister/neon
Merging of neon branch
2012-12-02 20:15:48 -08:00
twinaphex ddc9c94884 (Android) Refactor Android.mk - better defines 2012-12-03 04:58:44 +01:00
twinaphex 6a7e03aadb (Android) Fix sound - don't fix samplerate at 44Khz 2012-12-03 03:21:10 +01:00
twinaphex 5eaaaacaf6 (Android) Make Neon compilation optional with a switch 2012-12-03 01:29:04 +01:00
twinaphex 7403faa608 HAVE_NEON define seems to give problems - WANT_NEON seems to work
- so quick-fix hack for now
2012-12-03 00:20:21 +01:00
twinaphex 63cf9247f1 (Hermite) Add log 2012-12-02 23:53:08 +01:00
twinaphex 1c9dec56a8 (NEON/Android) Some fixes 2012-12-02 23:50:32 +01:00
Themaister 2b04e1ece6 Start adding NEON sinc. 2012-12-03 00:22:51 +01:00
Toad King ba0a09eb91 [ANDROID] use WRITE_EXTERNAL_STORAGE permission 2012-12-02 14:35:13 -05:00
Themaister 511995311f Fix very stupid SINC bug.
Note to self: Don't write code when you're
an emotional wreck.
2012-12-02 16:57:04 +01:00
Themaister 30137e6106 Make man-page install dir configurable. 2012-12-02 10:59:48 +01:00
Themaister 92616a66a7 Fix variable shadowing in hermite. 2012-12-02 10:51:28 +01:00
Themaister ca9f5fd1e8 Break really long lines in gl_common. 2012-12-02 10:49:17 +01:00
Hans-Kristian Arntzen e4c883e08e Merge pull request #77 from bentley/master
Manpage linting
2012-12-02 00:43:48 -08:00
twinaphex a2b0f9afb6 (Android) Set audio_out rate to 44100 2012-12-02 09:09:33 +01:00
twinaphex 623822126a (Android) Set buffer count to 4 instead of 8 for Jelly Bean and
higher - test experimental lower latency for fast OpenSL mixer
2012-12-02 07:32:28 +01:00
twinaphex 321596fc73 (XDK) Build fix 2012-12-02 06:01:39 +01:00
Anthony J. Bentley af839da9c1 Manpage linting.
- uppercase title
- parseable dates (“month day, year”)
- kill excess whitespace
2012-12-01 20:50:35 -07:00
twinaphex 3f50384a3b (Android/GL) Avoid some function pointers 2012-12-02 03:30:46 +01:00
twinaphex b072eba321 (Android) undefine HAVE_XML and WANT_LIBXML2 - performance
difference too big to justify including it
2012-12-02 01:37:40 +01:00
Toad King d1b9015aef [ANDROID] pass phone version to activity 2012-11-30 20:54:29 -05:00
Toad King 61b42c82e2 [ANDROID] don't dim screen or show status bar when emulator is playing 2012-11-30 13:13:40 -05:00
twinaphex 67fb8485c6 (Libxml2) Take out threads support 2012-11-30 17:40:18 +01:00
Themaister 78d0edc4aa Don't use a crazy large phase LUT. 2012-11-29 17:27:21 +01:00
Themaister c1a00fac4d Improve ratio accuracy in SINC. 2012-11-29 11:49:57 +01:00
Toad King c6111a3259 [CONSOLE] Make separate timers for holding scroll and menu/exit button delay.
Fixes issues with exit/menu button combo not working on GC controllers occasionally
2012-11-28 19:55:08 -05:00
Themaister ee82a8daf5 Const-correctness fix. 2012-11-28 16:24:47 +01:00
Themaister 6bae9a44d8 Fix CXX_BUILD. 2012-11-28 16:21:36 +01:00
Themaister b951f4ab0c Automatically resample if needed. 2012-11-28 16:00:49 +01:00
Themaister 64d3d2185c Handle floating point/fixed formats seamlessly. 2012-11-28 15:39:19 +01:00
Toad King dcf505f0ea [GX] expand VI width in widescreen mode 2012-11-28 09:36:26 -05:00
twinaphex 7ccd663bca (PSP1) Compile in custom getopt, still crashes somewher around file.c 2012-11-28 15:11:27 +01:00
twinaphex 050627ba93 (RGL PS3) Cleanups 2012-11-28 05:05:53 +01:00
twinaphex bb7ba4cdac (RGL PS3) Small cleanup 2012-11-28 04:31:40 +01:00
twinaphex 16a328ec15 (PS3) Add create-salamander to .PHONY targets 2012-11-28 01:28:42 +01:00
twinaphex 8691022b6b (Salamander PS3) Salamander links with GCC build if I use the SNC
linker
2012-11-27 23:13:27 +01:00
twinaphex 5eebaedd18 (Salamander) Push quick fix for Salamander 2012-11-27 22:58:03 +01:00
Themaister 09a89dcd2b Correctly use global headers if requested. 2012-11-27 23:56:06 +01:00
twinaphex 1e91a5b827 (Wii) Input driver - some name changes so that Griffin function
overrides still work
2012-11-27 01:23:10 +01:00
twinaphex 966cc93b5e Refactor of driver function hooks 2012-11-27 00:50:56 +01:00
Themaister 8a3a7572b4 Fix build with HAVE_SDL_IMAGE is not defined. 2012-11-26 23:13:16 +01:00
Themaister cc46e0ba53 Fix recording without config. 2012-11-26 22:16:29 +01:00
Themaister 651683becc Use strtod in config_get_float regardless. 2012-11-26 22:16:29 +01:00
Themaister 2da456d007 Fix up config_get_uint. 2012-11-26 22:16:29 +01:00
twinaphex 710ac0031a Small refactor 2012-11-26 22:12:26 +01:00
twinaphex 70119e5558 Move driver macro defines to driver_funcs.h header and move
Griffin hook overrides too
2012-11-26 21:23:31 +01:00
Themaister 26025371d6 Add frame dropping possibilities to recorder. 2012-11-26 18:01:50 +01:00
Themaister cf1a0381c7 Add support for audio quality configuration. 2012-11-26 17:37:31 +01:00
Themaister 2c41fe7288 Move log_fp to g_extern.
Rework logger macros to use g_extern.log_file is it's non NULL.
Otherwise, fallback to stderr.
2012-11-26 16:59:00 +01:00
twinaphex 4b3ac3c04e (PSP1) Now sets up paths correctly and more or less fleshed out
main.c
2012-11-26 07:03:31 +01:00
twinaphex a697b562f6 (PSP2) Rename to Vita 2012-11-26 03:16:20 +01:00
twinaphex 9a02b747d7 (PSP1) Now logs to file 2012-11-26 02:59:29 +01:00
twinaphex e1ea973e58 Promote HAVE_FILE_LOGGER for all platforms 2012-11-26 02:46:40 +01:00
meancoot e60bb1d168 Add RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK. An interface for allowing keyboard event data to be sent to the core. 2012-11-25 20:23:31 -05:00
Themaister efa78bded7 Make the correct strlcat assertion. 2012-11-25 16:29:34 +01:00
Themaister 98ed53f17d Fix strlcat calling bug. 2012-11-25 16:28:05 +01:00
Themaister 8b09314aa3 Add fill_pathname_parent_dir. 2012-11-25 16:22:53 +01:00
Themaister df40f854cd Add fill_pathname_join(). 2012-11-25 16:03:16 +01:00
Themaister f2e02bde1e Guard against high frequency aliasing a bit. 2012-11-25 14:54:07 +01:00
Themaister a04a2e7e7a Use SINC by default on x86.
Enforce at least SSE1 being present.
2012-11-25 14:50:29 +01:00
Themaister 02f84fe323 Updates to 0.9.8-beta3 2012-11-25 12:56:25 +01:00
Themaister ccd1449aa8 Fix hermite cracking when ratio < 1.0. 2012-11-25 12:32:24 +01:00
Themaister b023687d04 Overhaul recorder.
Drop support for old libav versions.
It is no longer maintainable within reason.
Support floating point and resampling, which is needed
for most lossy codecs.
2012-11-25 12:02:52 +01:00
twinaphex beaed3a6a4 (Griffin) Quick fix 2012-11-25 05:44:44 +01:00
twinaphex f0457637c6 (Griffin/LibXenon) Logger input files now included in Griffin - also cleaned
up Xenon makefile to use Grifffin
2012-11-25 05:41:12 +01:00
twinaphex a783819b22 (PSP) Seems to finally link when libretro ports are passed -G0
to CFLAGS/CXXFLAGS as well
2012-11-24 04:23:20 +01:00
twinaphex 414a5de737 (PSP1) Add platform_keys struct - define HAVE_GETOPT_LONG 2012-11-24 01:42:00 +01:00
twinaphex 8a77072266 (PSP1) Add -G 4 to Makefile 2012-11-24 00:11:45 +01:00
Themaister 4becd4e315 Make sure avcodec_alloc_frame() returns valid. 2012-11-24 01:03:10 +01:00
Toad King 6dad2cda8c [GX] Probe Wiimote before doing input code for it 2012-11-23 18:01:28 -05:00
Themaister 049b20f773 Free the AVFrame using the correct call. 2012-11-24 00:44:20 +01:00
Themaister 187d988201 Make sure audio frame is freed. 2012-11-24 00:38:51 +01:00
Themaister f21fefff1f Call avformat_network_init. 2012-11-23 23:44:15 +01:00
Themaister 43f568b436 Fix win32 build. 2012-11-23 23:29:28 +01:00
Themaister b499206a00 Handle DT_UNKNOWN special case.
Some filesystems return DT_UNKNOWN in dirent.
Fallback to stat().
2012-11-23 23:28:05 +01:00
twinaphex dfd777bdde (PSP1) Link in libretro_ps1.a 2012-11-23 22:09:09 +01:00
Themaister 8f9b68ad90 Add config file support to FFmpeg recording. 2012-11-23 22:46:36 +01:00
Themaister f6e2c190ad Fix memory leak on consoles. 2012-11-23 22:46:36 +01:00
twinaphex e564786af2 (PSP) Cut down on linking errors 2012-11-23 20:30:06 +01:00
twinaphex 2ecc926e8b (PSP1) Add workaround for d_type missing in PSP1 dirent (but
d_stat instead can serve as a substitute)
2012-11-23 20:21:35 +01:00
Themaister 770ac5a15a Minor cleanup in platform-headers in general.h. 2012-11-23 20:45:15 +01:00
twinaphex 844ea8d1fc (PSP1) Implement rarch_sleep for PSP1 2012-11-23 18:51:42 +01:00
Themaister a33c7a7d61 Make sure PATH_MAX is defined. 2012-11-23 10:34:40 +01:00
Themaister aae7bf60e2 Fix build if FFmpeg is not compiled in. 2012-11-23 10:28:22 +01:00
twinaphex 5f08905109 (PSP1) Add Makefile 2012-11-23 07:19:21 +01:00
twinaphex 728b775905 (PSP1) Add preliminary PSP1 video driver 2012-11-23 05:20:05 +01:00
twinaphex 775ac2a189 (PSP/PSP2) Create sdk_defines.h that will be used for both PSP
and PSP2
2012-11-23 03:29:30 +01:00
twinaphex 3b6fffa9f9 (PSP1/PSP2) Refactor psp_input.c - should now work for both PSP1
and PSP2
2012-11-23 02:40:03 +01:00
twinaphex e85d3ae995 (PSP2) Indenting cleanups 2012-11-23 00:14:06 +01:00
twinaphex 0e7501759f (ps_libdbgfont) Add elif defined(__CELLOS_LV2__) 2012-11-23 00:08:07 +01:00
twinaphex c837e1101d (PSP2/Griffin) Add video driver hooks 2012-11-22 23:32:42 +01:00
twinaphex 94e68b118d (PSP2) Add preliminary video driver 2012-11-22 23:26:06 +01:00
Themaister bce5e78f34 Fix wrong use of enum. 2012-11-22 23:11:21 +01:00
twinaphex f278bc7f55 (PSP2) Add input driver 2012-11-22 18:37:10 +01:00
twinaphex 4693b0aaa5 (PS3/PSP2) Make libdbgfont portable 2012-11-22 18:02:46 +01:00
Toad King f02b7e1791 [GX] set auto-return for crashes on release builds 2012-11-22 02:09:13 -05:00
Toad King f333d0bc8c [GX] cleanup, prepare for 32-bit support (needs to be implemented) 2012-11-22 02:09:12 -05:00
twinaphex 46c1fd6e41 (XDK) Indenting fixups 2012-11-22 05:52:24 +01:00
twinaphex dee865d50e (Xbox 1) Build fix 2012-11-22 05:44:09 +01:00
twinaphex 8612711fa8 (360) Add FPS - memory free reporting 2012-11-22 05:32:58 +01:00
twinaphex c71993af83 (360) Some more cleanups of font code 2012-11-22 04:54:30 +01:00
twinaphex bd332c80c5 (360) Fonts can now be placed anywhere onscreen 2012-11-22 04:44:29 +01:00
twinaphex b5c9a9ada4 (360) Last cleanups for now on xdk360_fonts.cpp 2012-11-22 03:25:20 +01:00
twinaphex 07a20fc00a (360) Fonts - cleanups 2012-11-22 03:08:51 +01:00
twinaphex 0652deddab (360) Fonts - cleanup 2012-11-22 03:02:06 +01:00
twinaphex 5e903495ce (360) Fonts - more debloat 2012-11-22 02:20:10 +01:00
twinaphex d2216a996a (360) Fonts - more cleanups 2012-11-22 02:05:17 +01:00
twinaphex 937eb7fe3f (360) Fonts - more cleanups 2012-11-22 01:56:10 +01:00
twinaphex 0d96b7bf2f (360) Fonts - more cleanups - removing a bunch of cruft we won't
need
2012-11-22 01:44:59 +01:00
twinaphex 5a88d50c32 (360) fonts - cleanups 2012-11-22 01:10:07 +01:00
twinaphex d4d46ba5a0 (360) Fonts - cleanups 2012-11-22 00:49:05 +01:00
twinaphex d50123ae7c (360) Font is now downscaled to reasonable size on SDTVs 2012-11-22 00:21:52 +01:00
Themaister 1d9784608a Minor clarity fix. 2012-11-21 23:42:14 +01:00
Themaister 7445e891a8 Use INT_8_8_8_8_REV for readbacks.
Allows use of scaler_ctx, also a lot faster on Intel chips, possibly
others as well.
2012-11-21 22:12:56 +01:00
Themaister b58fdce36a Readback after swap buffers. 2012-11-21 22:52:58 +01:00
twinaphex 52b46d9fd6 Implement prev_pow2 - will need this for 360 to round down texture
formats if passed value too large
2012-11-21 20:47:20 +01:00
twinaphex 8456464650 (XDK D3D) Switch from A8R8G8B8 to X8R8G8B8 - fixes shader issues
in 32bit mode
2012-11-21 18:53:21 +01:00
Themaister 6d4d1f8796 Use asynchronous PBO readbacks when recording.
This *greatly* optimizes GPU recording performance
by making readbacks asynchronous in GL.
This is only enabled for desktop GL and when recording is enabled.
2012-11-21 16:24:28 +01:00
Themaister a25dcf337c read_viewport can return false during video record. 2012-11-21 10:24:35 +01:00
twinaphex 897167789f (RGL PS3) Cleanups 2012-11-21 01:15:07 +01:00
Toad King 9746cb8f97 (GX) fix blank video 2012-11-20 18:21:42 -05:00
twinaphex f1709aefec (Android) remove force_16bit from duplicate config file (TODO - try
to see if we can remove this altogether)
2012-11-20 23:56:11 +01:00
twinaphex 51f51d4a65 (XDK) Remove force_16bit 2012-11-20 23:54:35 +01:00
twinaphex 0c5cdcddb6 (PS3/RARCH_CONSOLE) Remove force_16bit 2012-11-20 23:47:04 +01:00
Themaister 004cead50b Strip down SDL SW driver a ton. 2012-11-20 23:35:40 +01:00
Themaister 28bb46483c Drop video_force_16bit.
This option is silly now.
2012-11-20 23:23:18 +01:00
Themaister ce47241697 Add perf test to d3d_read_viewport. 2012-11-20 18:06:52 +01:00
Themaister 958886bdd5 Performance log gl_read_viewport. 2012-11-20 18:05:33 +01:00
twinaphex 713995c0cd (XDK D3D) Get rid of redefined constants 2012-11-20 16:31:55 +01:00
twinaphex 35a1c32529 (360) Build fixes 2012-11-20 15:52:22 +01:00
twinaphex 881e440ea6 (360) Add some FBO reiniting logic 2012-11-20 15:44:44 +01:00
twinaphex c3db8e8c8f (360) Build fixes 2012-11-20 15:16:54 +01:00
twinaphex bac8a923b2 (XDK) Small cleanup of unused var 2012-11-20 15:04:58 +01:00
twinaphex 7937bff786 (XDK) Fixes rotation on Xbox 1 2012-11-20 15:03:20 +01:00
Themaister 734fdc4bf6 Do not overwrite system dir path unless it's empty.
This should fix the issue on consoles where system_directory
is mysteriously overwritten.
2012-11-20 12:41:39 +01:00
twinaphex eaf5041cd8 (Xbox 1) Build fixes 2012-11-20 06:39:35 +01:00
twinaphex 28c39a5beb (XDK) Fixed viewport settings 2012-11-20 06:08:58 +01:00
twinaphex 47cd168a35 (360) No slash at the end of default system_dir path - fixes
system directory issues
2012-11-20 05:21:17 +01:00
twinaphex 212ae28cf6 (RARCH_CONSOLE) Add note again about serious functionality-breaking
'bug' for consoles
2012-11-20 05:12:08 +01:00
twinaphex 9efe3411b5 (RARCH_CONSOLE) Save system_directory setting to config file 2012-11-20 04:53:56 +01:00
twinaphex c12cb44936 Small nit in rarch_console_video.c 2012-11-20 04:18:39 +01:00
twinaphex 05d04e443d (Android) Define WANT_LIBXML2 - Griffin compiles in libxml2 2012-11-20 04:15:12 +01:00
twinaphex 68ca851156 (Xbox 1) Define WANT_RZLIB 2012-11-20 03:40:39 +01:00
twinaphex aae3b10169 Move baked-in dependencies to 'deps' directory 2012-11-20 03:34:45 +01:00
twinaphex ff1920c2f0 (360) Define WANT_RZLIB 2012-11-20 03:29:08 +01:00
twinaphex 1f74056286 (Xbox 1) Build fixes 2012-11-20 03:19:00 +01:00
twinaphex e9dc0faace (360) Add 'force 16bit color' option 2012-11-20 03:09:11 +01:00
twinaphex a8b3d23184 (XDK D3D) Reinits textures now 2012-11-20 02:51:00 +01:00
twinaphex 9570e39744 (XDK D3D) Cleanups 2012-11-20 02:03:26 +01:00
twinaphex cfc2fac31a (XDK D3D) Split up device creation code to context file 2012-11-20 01:55:16 +01:00
twinaphex 851befae00 (XDK D3D) Split off 3DPRESENT_PARAMETERS initialization into
separate public function
2012-11-20 01:40:52 +01:00
twinaphex 7a1954c260 (XDK D3D) Split off vertex initing code from init_textures
function
2012-11-20 00:33:57 +01:00
twinaphex 5976f4c7b1 (XDK D3D) Split off texture init into separate function 2012-11-19 23:30:32 +01:00
Themaister 18551b58e7 Report failed HRESULT in D3D init. 2012-11-20 00:06:51 +01:00
twinaphex 5627f3f8bd (XDK) Move font init code to d3d_start function 2012-11-19 21:34:34 +01:00
twinaphex 1f66496c67 (GL) small reactor of RMenu init function 2012-11-19 21:07:08 +01:00
twinaphex ba2de00c8d (XDK) Replace hardcoded 512 values with tex_w/tex_h 2012-11-19 19:57:25 +01:00
twinaphex 01a7fb0f3b (Griffin) Compile in RZlib into Grifin with WANT_RZLIB 2012-11-19 05:43:57 +01:00
twinaphex 05b552e5a4 (Xbox 1) Build fixes 2012-11-19 05:00:38 +01:00
twinaphex 52f52bc253 (360) Build fixes 2012-11-19 04:46:48 +01:00
twinaphex f0ebecfc32 (RMenu) Remove RMenu context files and use Gfx context files
instead
2012-11-19 04:09:16 +01:00
twinaphex 3bdfb3a011 (PS3/XDK) Get rid of redundant apply_fbo_state_changes function 2012-11-19 00:01:55 +01:00
Themaister b1ea2dcc1e Log vertex/frag profiles used in Cg. 2012-11-18 23:51:38 +01:00
Themaister 51f6cabc5f Drop redundant functions in ps3 ctx. 2012-11-18 23:33:14 +01:00
twinaphex d0be74d2e7 (PS3) Changing orientation and aspect ratio now no longer affects
the menu image
2012-11-18 23:29:27 +01:00
Themaister dffbaff0b0 Use global vertexes_flipped. 2012-11-18 22:42:06 +01:00
Themaister d7e5e77daa Remove redundant call to gl_set_viewport. 2012-11-18 22:20:00 +01:00
twinaphex 8f821dd1d7 (PS3) Going to get rid of redundant apply fbo changes function -
non-FBO mode still broken
2012-11-18 22:02:29 +01:00
twinaphex 7445d15f53 (PS3) Remove FBO init hack even when FBO mode is disabled -
non-FBO mode is still broken though
2012-11-18 21:56:16 +01:00
twinaphex ce1de27b5a (GL/PS3) Refactor FBO setting 2012-11-18 21:50:27 +01:00
Themaister f898709b1c Remove useless variable. 2012-11-18 21:34:34 +01:00
twinaphex 6e5cfa433d (GL) Get rid of unnecessary conditional for gl_start_frame_fbo 2012-11-18 21:31:25 +01:00
Themaister e5acc803e9 Fix Python state tracker. 2012-11-18 21:23:34 +01:00
Themaister fd58a38ff2 Greatly refactor XML code juggling in shader_glsl. 2012-11-18 19:40:18 +01:00
twinaphex 85140492aa (PS3) Fixup gfx_ctx_apply_fbo_state_changes + indenting fixes 2012-11-18 19:19:07 +01:00
Themaister 99326a332d Use correct internal format on PS3. 2012-11-18 18:23:20 +01:00
Themaister 04b09161e3 Add file_path.o to joyconfig on Win32. 2012-11-18 17:42:03 +01:00
Themaister 2961c26e08 Check more special cases for absolute path on Win32. 2012-11-18 17:41:09 +01:00
Themaister c9c1404d70 Add support for loading GLSL sources externally. 2012-11-18 17:39:39 +01:00
Themaister 86e21686f7 Refactor out buggy 'in-line' path handling. 2012-11-18 17:16:20 +01:00
twinaphex 6e6dbe2ab4 (PS3) Don't define HAVE_RGL if we make a PSGL build 2012-11-18 16:35:28 +01:00
Themaister 325ba8f3d2 Also reinit texref buffer on reinit. 2012-11-18 15:39:29 +01:00
Themaister 3065b6740b Only reinit FBO if strictly necessary. 2012-11-18 15:22:32 +01:00
Themaister 77d2c04e26 Check if GL error is set after texture reinit. 2012-11-18 15:06:33 +01:00
Themaister be05eb67d2 Log if FBO targets fail to initialize. 2012-11-18 15:04:42 +01:00
Themaister f195e1f153 Refactor texture init slightly. 2012-11-18 14:21:47 +01:00
twinaphex cdb058bac2 Revert "(360) xdk360_fonts cleanups"
This reverts commit 93f591aaa2.
2012-11-18 04:15:06 +01:00
twinaphex 93f591aaa2 (360) xdk360_fonts cleanups 2012-11-18 04:12:02 +01:00
twinaphex 8101399cdd (360) Simplify font rendering code 2012-11-18 03:39:49 +01:00
twinaphex 887f594875 (360) small build fix 2012-11-18 03:10:53 +01:00
twinaphex d264085bda (360) Move most of font rendering code outside of D3D driver 2012-11-18 02:57:42 +01:00
twinaphex 41b1bd3ed0 (GX/XDK) Have console ports use gfx_fps_title instead of gfx_window_title 2012-11-18 02:32:58 +01:00
twinaphex d79ba6a9da (libxml2) Cleanups 2012-11-18 01:28:10 +01:00
twinaphex 6abb9348ff (libxml) Cleanups of DEBUG ifdefs 2012-11-18 00:41:50 +01:00
twinaphex 01369d69d1 (libxml2) some ifdefs removed 2012-11-18 00:23:59 +01:00
twinaphex f338529585 (libxml2) LIBXML_VALID_ENABLED removed 2012-11-18 00:20:27 +01:00
twinaphex 3a230c0aab (libxml2) LIBXML_REGEXP_ENABLED removed 2012-11-18 00:15:12 +01:00
twinaphex 99e08b76fa (libxml2) LIBXML_UNICODE_ENABLED removed 2012-11-18 00:08:59 +01:00
twinaphex 2aeaf25e1f (libxml2) LIBXML_AUTOMATA_ENABLED removed 2012-11-17 23:56:00 +01:00
twinaphex d73602e687 (libxml2) LIBXML_MODULES_ENABLED removed 2012-11-17 23:47:45 +01:00
twinaphex 73162c7794 (libxml) LIBXML_C14N_ENABLED removed 2012-11-17 23:43:39 +01:00
twinaphex 08d34130ef (libxml2) Remove LIBXML_OUTPUT_ENABLED 2012-11-17 23:40:15 +01:00
twinaphex 9871a42a3d (libxml) LIBXML_ICU_ENABLED removed 2012-11-17 23:22:49 +01:00
twinaphex 7a0e128a97 (libxml) LIBXML_THREADS_ENABLED removed 2012-11-17 23:20:47 +01:00
twinaphex a70a5b541c (libxml) LIBXML_WRITER_ENABLED removed 2012-11-17 23:09:25 +01:00
twinaphex c0ae8bc079 (libxml2) Remove LIBXML_LEGACY_ENABLED + SAX v1 2012-11-17 22:57:01 +01:00
twinaphex aeceadc3e3 (libxml2) Remove LIBXML_SCHEMAS_ENABLED 2012-11-17 22:43:50 +01:00
twinaphex 818a204fbc (libxml2) Remove XInclude 2012-11-17 22:32:32 +01:00
twinaphex 9f123a54d9 (libxml2) Remove XPath/ Xpointer 2012-11-17 22:25:27 +01:00
twinaphex f459819813 (libxml) Remove schematron 2012-11-17 22:12:50 +01:00
twinaphex 1379d895ed (libxml) remove XML_PATTERN 2012-11-17 22:09:00 +01:00
twinaphex 14cd3c1184 (libxml2) Remove docbook parser 2012-11-17 22:02:08 +01:00
twinaphex 089a1da8b2 (libxml2) Remove XML_CATALOG 2012-11-17 21:55:00 +01:00
twinaphex da3ec111e8 (Android) Get rid of unnecessary input_android.h header 2012-11-17 21:36:22 +01:00
twinaphex bd39d4c5fa (libxml2) Take out STANDALONE ifdefs 2012-11-17 18:04:36 +01:00
twinaphex af19546d8d (libxml) take out LIBXML_DEBUG_ENABLED 2012-11-17 17:34:26 +01:00
twinaphex 4285d9d128 (Android) Add libxml2 - will be heavily cut down/slimmed down
- already took out HTML parser and nanohttp/nanoftp webserver
2012-11-17 17:16:11 +01:00
Themaister 64ba845cf4 Do not strip copier headers.
This was a bSNES specific "thing". bSNES core now strips copier headers
anyways.
2012-11-17 00:32:36 +01:00
Themaister 63604a3e57 Logging align nit. 2012-11-16 12:03:23 +01:00
Themaister f643df4300 Log save ram more verbosely. 2012-11-16 11:47:39 +01:00
ToadKing 1e6558d18d [VC] log FPS to console 2012-11-15 19:08:24 -05:00
Themaister 2db883baa0 Reinit textures and FBO in reinit_textures(). 2012-11-15 23:25:13 +01:00
Themaister 1fb2d20779 Shut up compiler warning. 2012-11-15 22:29:02 +01:00
Themaister ed8433bd73 Add gfx_fps_title. 2012-11-15 17:30:31 +01:00
Themaister 4057b054b1 Minor cleanup in set_coords. 2012-11-15 17:17:55 +01:00
twinaphex 9e2ae7c500 (PS3) Fix FPS counter - note to maister - don't change this back
again - FPS message will not appear correctly if this variable
is not static
2012-11-15 15:07:34 +01:00
twinaphex 7b03e554ad (PS3) Build system simplification - remove separate step to compile
RetroArch as a static library
2012-11-15 14:40:50 +01:00
twinaphex 1a3b24004c (360) Build fix - see previous commit 2012-11-15 14:32:06 +01:00
twinaphex 1d99cb62a2 (Xbox 1) Build fixes - don't compile in pragma comments for
XBOX
2012-11-15 14:24:56 +01:00
Themaister 0e729bcaa0 Style nits. 2012-11-15 09:40:31 +01:00
twinaphex 4a198a83a8 (PS3) Build fix 2012-11-15 00:57:43 +01:00
OV2 d24e6bf792 win32: add $(CG_LIB/64_PATH) to project file 2012-11-15 00:22:36 +01:00
Themaister de925367e6 Fixup build for slim build. 2012-11-14 23:11:48 +01:00
Themaister 5a5983a656 Fix build for VC10. 2012-11-14 22:57:49 +01:00
Themaister 3e77039a42 Rewrite how gl.c interfaces with shader backends. 2012-11-14 22:51:08 +01:00
Themaister 02e1a2b402 Only declare "deleted" constructors. 2012-11-14 22:09:49 +01:00
Themaister 539d8123ed Merge git://github.com/OV2/RetroArch 2012-11-14 22:07:05 +01:00
Themaister 0cfb166625 Nits. 2012-11-14 22:03:17 +01:00
twinaphex 9565eb6ede Fix warnings in pixconv.c 2012-11-14 21:54:24 +01:00
twinaphex fdcc5cb569 (XDK - Xbox 1) Improve FPS logging
(PS3) Add FPS logging
2012-11-14 21:51:56 +01:00
OV2 54d39dff74 win32: make d3d9 compile in msvc, add linker pragmas to source files 2012-11-14 21:07:06 +01:00
Twinaphex512 46b958c7fa (MSVC 2010)) Add $(CG_INC_PATH) path 2012-11-14 01:27:33 +01:00
Twinaphex512 3005adffc3 (D3D driver) Add HAVE_CG defines 2012-11-14 01:13:08 +01:00
Twinaphex512 d786df681f (MSVC 2010) Change project version to v11 ) - include D3D driver 2012-11-14 00:45:43 +01:00
Squarepusher 08f2ea7644 Merge pull request #67 from OV2/master
MSVC project changes
2012-11-13 15:24:18 -08:00
OV2 7cf19f3c4a win32: Add x64 configuration 2012-11-13 21:21:59 +01:00
OV2 aafb553240 win32: update msvc project file 2012-11-13 20:54:46 +01:00
Themaister 7bd6f8e6c2 Update gitignore. 2012-11-13 10:27:36 +01:00
Themaister cc0038d076 Fix OSX build. 2012-11-13 10:27:00 +01:00
Themaister 64d9a6fbda 0.9.8-beta2 2012-11-13 00:52:23 +01:00
Themaister 2742125729 Enable rate control by default on PC. 2012-11-11 13:57:44 +01:00
Themaister 71c84af8fa Make windowed fullscreen default.
True fullscreen has a tendency to fail far more often than windowed
mode.
2012-11-11 12:11:31 +01:00
Themaister 1681741554 Reinit textures if pixel format changes in GL. 2012-11-10 23:56:04 +01:00
twinaphex 6d6c170f09 (Xbox 1) Set up for 32bit color now - just need a more elegant
way of automatically switching on 32bit/16bit color during init
instead of g_settings.video.color_format
2012-11-10 16:17:01 +01:00
twinaphex 013f833492 (XDK) Small optimization 2012-11-10 16:04:22 +01:00
twinaphex 35c96b17b9 (XDK) Set up now for 32bit color-capable libretro ports 2012-11-10 16:03:08 +01:00
twinaphex 5d315029ae (360 Set 32bit color format - screen currently cut in half 2012-11-10 15:57:05 +01:00
twinaphex a510387e9e remove ifndef around XRGB8888 for RARCH_CONSOLE 2012-11-10 15:44:59 +01:00
twinaphex 6f2c6fcaa1 (360) Put filebrowser on stack again - fixes crash at startup
in Gambatte
2012-11-10 15:39:39 +01:00
twinaphex e87477a75f (360) Now supports RGB565 2012-11-10 14:32:15 +01:00
twinaphex 93f9316a9b (Xbox 1) Build fixes 2012-11-10 13:46:24 +01:00
Themaister ca44dee735 Fix crash on frame dupes in D3D9. 2012-11-10 13:57:21 +01:00
Hans-Kristian Arntzen 3a473dfec2 Merge pull request #62 from almostalive/master
use tmpdir/filename instead of tmprom.
2012-11-09 15:09:35 -08:00
twinaphex de4648a127 (Android) Possible context fix 2012-11-09 22:33:54 +01:00
twinaphex 48b0bc7f2d (Android) Use eglGetError 2012-11-09 21:52:07 +01:00
twinaphex acb4f63cfb (Android) Build fix 2012-11-09 21:20:55 +01:00
twinaphex eb5bb55754 (Android) Need to know return val 2012-11-09 20:47:17 +01:00
Themaister 9d2ca33b5b Do not attempt to start rewind if state_size is 0. 2012-11-09 20:26:12 +01:00
almostalive f1da4e8fb0 Minor change to retorach-zip
removed tmprom and uses tmpdir/filename instead.
2012-11-09 12:56:39 -06:00
twinaphex 8ba727ab30 (Android) Build fix 2012-11-09 17:05:03 +01:00
twinaphex 0b6bbe04a3 (Android) Add log error messages for Android EGL context for debugging 2012-11-09 09:43:16 +01:00
Hans-Kristian Arntzen d1b23aeb42 Merge pull request #61 from almostalive/master
Adds Savestate support to retroarch-zip
2012-11-08 22:46:01 -08:00
almostalive ff25a0cb23 Adds Savestate support to retroarch-zip 2012-11-08 16:31:56 -06:00
Themaister 08cbefdeca Update icons to pixel-perfect (LexSfX). 2012-11-08 22:31:05 +01:00
Themaister d7c7ad279e Update version strings to 0.9.8-beta1. 2012-11-07 23:33:22 +01:00
Themaister 752b7608e7 Fix audio test. 2012-11-07 23:42:23 +01:00
Themaister 6421fe248b Optimize SINC resampler.
Trade memory for performance. Avoid using linear interpolation
between phases.
2012-11-07 23:27:31 +01:00
Themaister ef418260de Shut up clang about inline asm.
We make sure to only compile it in for GCC compatible compilers.
2012-11-06 19:05:00 +01:00
Themaister bebe0d78a7 Optimize sinc for AVX as well.
Disable it for now however, as it's slightly slower
than SSE1 for the few taps we're using.

From testing, it's 10-20% faster when number of taps are increased.
The AVX path might need some more tuning, but it's fair to
assume the algorithm is memory bound.
2012-11-06 18:52:09 +01:00
twinaphex 71191c1440 (RGLv2) Take out accidental swap file 2012-11-06 09:36:30 +01:00
twinaphex 5580c201b1 (PS3) Committed RGL v2 - PS3 build should now compile again 2012-11-06 09:23:41 +01:00
Themaister 330e724f34 Use vec_madd instead of vec_mul.
vec_mul was apparently a POWER7 instruction.
2012-11-06 09:26:28 +01:00
twinaphex 876bf69a80 (PS3) Hack around vec_mul not being supported for PS3 VMX/Altivec
for now
2012-11-06 03:33:00 +01:00
twinaphex fcf75398ea (PS3) Get build at least working again 2012-11-06 02:37:36 +01:00
Themaister cb6ae7726a Fix derp. 2012-11-06 01:50:10 +01:00
Themaister aa6d291707 Style nits. 2012-11-05 11:57:40 +01:00
twinaphex af648b6598 (Performance) Use one single unsigned variable instead of
multiple bools - also introduce bitmasks
2012-11-05 09:06:00 +01:00
Themaister 9f3af988f1 Only build D3D as C++ on Win32.
Fix a couple of headers with #ifdef __cplusplus.
2012-11-04 22:56:41 +01:00
Themaister df53e3eee4 Compile in D3D9 by default. 2012-11-04 00:48:13 +01:00
Themaister 18f704988d Add perf counter to d3d frame. 2012-11-04 00:14:43 +01:00
Themaister 29158640e6 Slim down double ifdef. 2012-11-03 23:11:27 +01:00
twinaphex c89a601b2e (Android) Take out (erroneous) HAVE_FIXED_POINT ifdef 2012-11-03 23:04:33 +01:00
Themaister 61a5b42ee7 Purge some more fixed point cruft. 2012-11-03 23:03:57 +01:00
Themaister aaefdbf27e Remove lingering HAVE_FIXED_POINT define. 2012-11-03 23:02:27 +01:00
twinaphex f6031379f4 Remove HAVE_FIXED_POINT in general.h 2012-11-03 23:00:42 +01:00
twinaphex 55562a96af (Android) Clean up native glue code + inline some stuff 2012-11-03 22:52:41 +01:00
twinaphex f4d6fedd44 (Android) Add commented-out NEON CFLAG for now 2012-11-03 22:26:15 +01:00
Themaister 879efadf01 Fix CXXBUILD. 2012-11-03 22:22:49 +01:00
twinaphex 6932f866ca (Android) Try to reduce call stack by pointing everything in thread entry function 2012-11-03 21:03:14 +01:00
Themaister 3e2863af4a Add VOLUME_UP, VOLUME_DOWN to command interface. 2012-11-03 20:12:57 +01:00
twinaphex 610b54e3b2 (Android) Some initial context restoring in EGL context 2012-11-03 19:23:52 +01:00
twinaphex 46a4efd885 (Android) Better lifecycle management - getting close to restoring state 2012-11-03 19:06:55 +01:00
twinaphex 2e58e25dbe (Android) Can now cleanly exit with back button - lifecycle event
improvements
2012-11-03 17:42:09 +01:00
twinaphex 09b4630ef4 (Griffin) Quick build fix 2012-11-03 16:40:47 +01:00
twinaphex 89e77ee9b5 (Griffin) Add audio override hooks for OpenSL 2012-11-03 16:40:47 +01:00
Themaister 91edc8ff49 Add volume control.
It imposes no performance loss as it is performed
during s16->float conversion.

It is however grouped together with check_mute.
2012-11-03 14:15:03 +01:00
twinaphex 71f71c909d (Android) Implement macro override calls for Android - for bypassing
several layers of function call indirection
2012-11-03 10:18:08 +01:00
twinaphex e0e5e8cb1b (Android GLSL) MAX_PROGRAMS 8 instead of 16, MAX_TEXTURES 4 instead
of 8, PREV_TEXTURES 3 instead of 7
2012-11-03 09:35:18 +01:00
twinaphex a3c14626a4 (GL) Use macro defines for context functions - will override this for
Griffin targets in order to avoid function pinter
2012-11-03 09:18:31 +01:00
twinaphex 9da9c8042b (Android) Use Griffin - faster 2012-11-03 08:42:33 +01:00
twinaphex 724206c348 (Android) reinsert native glue code 2012-11-03 07:17:55 +01:00
twinaphex faba5f4c13 (Android) Fixup input logs 2012-11-03 04:36:32 +01:00
twinaphex 1d31f7efa0 (Android) All keyboard hotkeys work now 2012-11-03 00:57:47 +01:00
twinaphex 0dbcdb087d (Android) Rewrite of input code 2012-11-03 00:31:05 +01:00
Themaister d875c78988 Add input_enable_hotkey to joyconfig. 2012-11-02 23:27:08 +01:00
Themaister 0ac3ee7d31 Add input_hotkey_enable.
Adds a mechanism to toggle when hotkeys are enabled.
2012-11-02 23:26:29 +01:00
twinaphex 02f81a38c2 (Android) Create input_state for Android app - can now signal that a window
was created, or that we want to shutdown
2012-11-02 22:27:22 +01:00
Themaister 6ce23c57df Fix x86_cpuid to preserve ebx for PIC. 2012-11-02 21:25:54 +01:00
twinaphex 312a81a663 (Android) Set -fno-stack-protector 2012-11-02 18:11:34 +01:00
twinaphex 66c830a9a1 (Android) Rename sse3 to ssse3 2012-11-02 05:32:52 +01:00
twinaphex 18aa791296 (Android) Now detects if CPU has NEON or SSE3 2012-11-02 05:27:58 +01:00
twinaphex 7ac8d02a05 (Android) Performance changes - build fix 2012-11-02 04:13:35 +01:00
Themaister 36f32696b2 Always compile in performance.c on Win32. 2012-11-01 22:40:42 +01:00
Themaister c6b50d2645 Add CPU feature detection for X86. 2012-11-01 22:31:24 +01:00
Themaister 2d5d1295cd Purge overkill perf checks. 2012-11-01 21:36:16 +01:00
twinaphex 34f5d0ceb6 Revert "(OpenSL/Android) Reduce latency by going from 8 to 6 buffers"
This reverts commit 26d6d18a02.
2012-11-01 21:08:04 +01:00
twinaphex 26d6d18a02 (OpenSL/Android) Reduce latency by going from 8 to 6 buffers 2012-11-01 20:21:07 +01:00
twinaphex 137ca5cefe (Linux) Try to log processor features 2012-11-01 07:57:39 +01:00
twinaphex b0e4ca599c (PC/Linux) performance_android.c works for PC Linux too - refactor as
performance_linux and compile it in for Linux build (but don't yet use it)
2012-11-01 07:41:36 +01:00
twinaphex 85f6ddc4ae (Android) We'll be able to tell now at runtime whether or not
a CPU has specific features (such as NEON, hard float, SSE, etc.).
Will refactor this later and add getters/setters
2012-11-01 07:15:01 +01:00
twinaphex cec29788bc (MSVC 2010) Add solution 2012-11-01 06:22:10 +01:00
twinaphex b240cfbc7e (RARCH_PERF) Rename benchmark.c to perforance.c
(MSVC2010) Rename incorrectly named MSVC2012 solution which was
really an MSVC 2010 solution
2012-11-01 06:21:18 +01:00
twinaphex 3837a503b7 (Android) Reimplement native glue code 2012-11-01 05:48:46 +01:00
Hans-Kristian Arntzen 01399a2295 Merge pull request #58 from OV2/master
wgl fix for preferred monitor!=main monitor and width=height=0 in regular fs
2012-10-31 14:35:37 -07:00
twinaphex a4d1305838 (Android) Some native glue code optimizations 2012-10-31 22:22:29 +01:00
Toad King bc392a7379 default to GL core on VideoCore
performance issues were fixed a while ago so this should be a safe default now.
2012-10-31 17:12:02 -04:00
OV2 eaa637aa4b win32: report correct monitor size for regular fullscreen in wgl 2012-10-31 21:36:17 +01:00
twinaphex a2ea556be5 (Android) Call process_cmd and process_input directly - try to get
rid of all these poll callbacks
2012-10-31 19:22:34 +01:00
twinaphex 5240f2d9f1 (Android) native glue code - fix indenting and remove savestate
leftovers
2012-10-31 18:52:43 +01:00
twinaphex 4d99d93df0 (Android) remove Android save state for now - unused and will
probably reimplement it later
2012-10-31 18:10:38 +01:00
twinaphex c0b8f28484 (Android) Also remove this - accelerometer-related 2012-10-31 17:33:58 +01:00
twinaphex cd92520983 (Android) Don't poll accelerometer - no use yet and in case we
want to support something like GBA WarioWare Twisted stuff, we
will have to add motion support to libretro anyway - so can be
shelved for now
2012-10-31 17:33:08 +01:00
Themaister 266d1984ee Fix crash on going fullscreen in D3D9.
Fixes crash when going from minimized to (true) fullscreen.
Adds some more robustness by potentially recreating the whole driver if
::Reset calls fail.
2012-10-31 17:32:48 +01:00
twinaphex cbcffbb5cf (Android) Get rid of unused width/height/animated in g_android struct 2012-10-31 17:12:45 +01:00
Themaister 291280670d Set shaders on the fly. 2012-10-31 16:28:44 +01:00
Themaister f3831a5558 Fix second pass D3D9. 2012-10-31 16:28:44 +01:00
twinaphex 0fe3ab8f2d (Android) Input - get rid of android_input_state_t struct - only
use a single uint64 array now for state
2012-10-31 16:18:58 +01:00
twinaphex ff599ac392 (Android) Change input process conditional to 'event' -also disable
PERF_TEST for regular usage
2012-10-31 16:04:40 +01:00
twinaphex 035713f124 (Android) performance counter for engine_handle_input 2012-10-31 15:18:47 +01:00
twinaphex 12f5434f3e (Android) use ALooper_pollOnce instead of ALooper_pollAll 2012-10-31 15:16:16 +01:00
twinaphex 94ccdd627b (Android) Input - now handles volume up/down and back buttons 2012-10-31 06:56:14 +01:00
twinaphex 0aa08c3b46 (Android) Input optimizations - this function has heavy overhead
depending on how many times you press buttons / input event activity
2012-10-31 04:01:17 +01:00
twinaphex 49cff6a46a (Android) Input - another cleanup 2012-10-31 01:59:15 +01:00
twinaphex 666e2910b3 (Android) Input - Small cleanups 2012-10-31 01:38:34 +01:00
twinaphex e426087ebc (Android) Input rewrite - should now be faster and support more
keycodes - keyboard keys are hooked up too for control with keyboard
2012-10-31 01:25:24 +01:00
Themaister 3f359cc362 Add support for second pass D3D9 Cg (untested). 2012-10-31 01:12:18 +01:00
Themaister b8abbf8131 Style nits. 2012-10-31 00:40:02 +01:00
Hans-Kristian Arntzen 60b8be65c2 Merge pull request #57 from OV2/master
D3D fullscreen stuff, resize
2012-10-30 16:34:14 -07:00
OV2 17b747d912 win32: fix for "current monitor" setting 2012-10-31 00:07:13 +01:00
OV2 69193e8b65 win32: regular fullscreen with multimon support, window resizing 2012-10-31 00:03:57 +01:00
Themaister 50d6080af5 Print more sensible output for SNR. 2012-10-31 00:03:15 +01:00
Themaister ff9167f56b Remove obsolete fixed-point test. 2012-10-30 23:54:30 +01:00
OV2 23dffd6877 win32: state_tracker and image do not require HAVE_XML 2012-10-30 23:47:21 +01:00
Themaister 434089c0ac Fix indent. 2012-10-30 23:47:14 +01:00
twinaphex 1902763f67 Performance counters for audio 2012-10-30 23:46:01 +01:00
Themaister a01c5dec69 Avoid some casting derp. 2012-10-30 23:44:36 +01:00
Themaister fbfbf1ed6a Log performance counters at the end. 2012-10-30 23:28:54 +01:00
Themaister a1f40f6009 Remove redundant makefile for android.
It's built from android/.
2012-10-30 22:33:23 +01:00
Themaister dc4eaea7b4 Fix build derp. 2012-10-30 22:02:15 +01:00
twinaphex 253741ccf5 (Android) Apply the same performance optimizations for RARCH_CONSOLE
to Android - call this compile-time option 'RARCH_PERFORMANCE_MODE'
2012-10-30 20:31:34 +01:00
twinaphex eb17f80cfa (Android) Don't do FPS reporting - might be more costly than it's worth
for regular usage
2012-10-30 20:17:30 +01:00
twinaphex 670289839f (Android/OpenSL) Improved latency - still not good enough though 2012-10-30 17:33:33 +01:00
twinaphex 50bc08aa7b (Android) Improved performance - avoid logging like the plague
apparently
2012-10-30 17:16:57 +01:00
Themaister 85b6437fdf Add multi-monitor to D3D9.
Untested as I don't have multiple monitors.
Refactored slightly in WGL to make the code more uniform.
The multi-monitor support should probably be refactored to w32_common or
something similar.
2012-10-30 11:49:40 +01:00
twinaphex b204b55386 (Android) Remove unnecessary animating conditional block in gfx_ctx_check_window 2012-10-30 06:36:38 +01:00
twinaphex 1ff6175bd2 (Android) Move polling for events into Android input driver instead
of EGL context check_window function
2012-10-30 06:20:49 +01:00
twinaphex c2f49f1c53 (Android) Input control improvements 2012-10-30 05:57:12 +01:00
twinaphex fb25f31598 (Android/OpenSL) Bigger audio buffers - bigger latency/longer
delay in audio, but no audio breakup - also applied -O3 and -funroll-loops
for Android Makefile - seems to help
2012-10-30 05:25:14 +01:00
twinaphex 033e94acfd (Android) Force audio input control rate in OpenSL ES driver 2012-10-30 03:50:18 +01:00
twinaphex 492bbc7d78 (OpenSL) Fix derp 2012-10-30 00:48:16 +01:00
Themaister 16d67a43cd Add rate-control interfaces to SL. 2012-10-30 00:40:05 +01:00
Themaister d9a903b293 Revert "Might improve audio performance in SL."
This broke stuff.
2012-10-30 00:37:00 +01:00
Themaister 5812a5e445 Might improve audio performance in SL. 2012-10-30 00:20:32 +01:00
twinaphex 6e79dd6046 (OpenSL) Fixed fall-through in sl_init 2012-10-30 00:05:24 +01:00
twinaphex dccfb80010 (OpenSL) compiles now 2012-10-30 00:01:47 +01:00
Themaister 1554f8ce2d Rewrite OpenSL driver (untested).
Use openal-soft-android as a starting point.
2012-10-29 23:55:36 +01:00
twinaphex 8123cb1013 (Android) Add alternate control layouts - will need to switch
between these with a button combo
2012-10-29 22:06:56 +01:00
twinaphex 6424513df8 (Android) Input - use custom binds 2012-10-29 14:45:25 +01:00
twinaphex 45142ed3d2 (Android) Get rid of do_pollblock - unnecessary now 2012-10-29 13:34:03 +01:00
twinaphex c2557e0d4f (Android) Input experiment 2012-10-29 05:09:10 +01:00
twinaphex db15975315 (Android) Small changes 2012-10-29 04:58:15 +01:00
twinaphex 2da102a13f (Android) Add native activity glue code 2012-10-29 02:34:27 +01:00
twinaphex 50875ce46c (Android) Working (but hoky) controls 2012-10-29 01:28:15 +01:00
twinaphex 1ce5869096 (Android) Add input_android.h 2012-10-28 22:22:04 +01:00
twinaphex 915f26cbd0 (Android) Initial work on input 2012-10-28 22:20:56 +01:00
Themaister 2ad31fc919 Use larger audio block sizes. 2012-10-28 12:51:02 +01:00
Themaister f3b2c8748a Add RETRO_DEVICE_POINTER support to SDL/Xv. 2012-10-28 11:04:07 +01:00
Themaister dc8f55c303 Add mouse support to DInput. 2012-10-28 10:42:20 +01:00
twinaphex aefb3ee3af (GL) Fix build for HAVE_OPENGLES target
(Android) Input - add device ID per joypad
2012-10-28 03:14:50 +01:00
twinaphex 43602b97c9 (Android) Flesh out Android input 2012-10-28 02:21:09 +01:00
Themaister 81a6328c62 Fix segfault in GPU screenshot path. 2012-10-28 00:59:12 +02:00
Themaister babec2f98a Win32 build fix. 2012-10-28 00:41:24 +02:00
Themaister 1908a81e1c Add RETRO_DEVICE_POINTER.
Implemented only for X11 so far.

Also clears up viewport_size call.
Changed to viewport_info to also grab X/Y info.
2012-10-28 00:38:31 +02:00
Themaister 690b592301 Purge SSNES-ism. 2012-10-27 22:05:58 +02:00
twinaphex 9cd7181813 (Android) AMotionEvent_getAxisValue function pointer - even USB
joystick support in NDK code requires hacks even in ICS 4.0 and
up - Google worst faildevs of the century
2012-10-27 20:22:53 +02:00
Themaister 1c32afa715 Clarifying comment in shader_cg. 2012-10-27 12:24:06 +02:00
Themaister c0323a5677 Use Rarch state tracker. 2012-10-27 12:20:52 +02:00
Themaister 476aaefce5 Build in D3D9 for full win32 builds. 2012-10-26 23:30:22 +02:00
Themaister f9693f7ea2 ARRAY_SIZE to simplify some for-loops. 2012-10-26 23:15:34 +02:00
Themaister be35179ec6 Explicitly cast string literal to avoid warning. 2012-10-26 23:04:36 +02:00
Themaister bda505c95b Set WM_CLASS in X11. 2012-10-26 23:01:32 +02:00
Themaister e53dd431b4 Begin merging D3D9 driver. 2012-10-26 22:18:26 +02:00
twinaphex cfdfcd4b8e (Android) Speed optimization 2012-10-25 20:58:05 +02:00
Themaister c2674328ec Fix broken CRLF, and minor fixes for VC12. 2012-10-24 17:19:37 +02:00
Twinaphex512 53868033b7 (MSVC 2012) Initial MSVC 2012 solution
Just need to sort out the linking errors - we'll need to create a
Direct3D driver that is not external for PC and do away with the
'external' one which is really an unacceptable extra dependency for such
a popular graphics API. Also, look if the WGL context file will even
work. Added some TODOs too.
2012-10-24 15:48:44 +02:00
Themaister 204a879380 Report if true fullscreen fails on X11. 2012-10-23 23:17:56 +02:00
Themaister c92f1e8281 Do not fail in OSS if write() returns 0. 2012-10-23 22:27:15 +02:00
Themaister 01569ab8ec Make GLES screenshots clearer. 2012-10-23 08:37:51 +02:00
Themaister 12f1eb926d Add warning when FBO textures are resized. 2012-10-23 08:28:02 +02:00
ToadKing 077317d94e Don't generate FBO textures too large for the platform 2012-10-22 22:03:00 -04:00
ToadKing 409a482dc5 Add viewport screenshot support to GLES 2012-10-22 19:03:57 -04:00
Toad King 0820f36d04 Update OpenVG for RGB565 2012-10-22 17:28:12 -04:00
Hans-Kristian Arntzen fdd99a9360 Merge pull request #56 from OV2/master
Remember this from the D3D driver? ;)
2012-10-22 13:21:21 -07:00
OV2 a97acbddb1 win32: ignore f10 and alt key presses 2012-10-22 21:27:49 +02:00
Themaister 4abed0b54e Ensure enum sizes in libretro header. 2012-10-22 21:06:22 +02:00
Themaister 85a89dc43e Fix build with --disable-netplay. 2012-10-22 20:48:51 +02:00
twinaphex 8161aec704 (Android Phoenix) Some build fixes 2012-10-22 20:11:00 +02:00
twinaphex dc767c521e (RARCH_CONSOLE) Bad regression broke SYSTEM_DIRECTORY getter/setters for libretro
cores on consoles
2012-10-22 18:54:21 +02:00
Themaister f59cb836d4 Fix warning. 2012-10-22 09:24:33 +02:00
twinaphex 9bc0f382ab (PS3/RMenu) refactored HAVE_CG_MENU out of existence - now
replaced with HAVE_RMENU - menu code has been moved over to
PS3 context file
2012-10-22 06:12:12 +02:00
twinaphex f37095e994 (PS3) 16bit textures work correctly now - the 'blending' done
on consoles (PS3/Wii) for the ingame menu needs to be done in
software rendering - will also help with RMenu for PC
2012-10-22 03:56:28 +02:00
twinaphex b6ed2cac67 Merge branch 'rgb565' of https://github.com/Themaister/RetroArch 2012-10-22 01:50:55 +02:00
Toad King 7f81422ae0 [CONSOLES] get compiling working
[GX] support rgb565, still need to fix a blending issue
2012-10-21 19:01:43 -04:00
Themaister a79ca54bc7 Fix CXX_BUILD. 2012-10-21 23:24:25 +02:00
Themaister 668ff7687e Let CPU filters work with any format. 2012-10-21 22:59:13 +02:00
twinaphex f5e9ac31d3 (Android) Add Android makefiles for libretro-test 2012-10-21 22:24:25 +02:00
twinaphex 84abbe110b Merge branch 'rgb565' of https://github.com/Themaister/RetroArch into rgb565 2012-10-21 22:11:30 +02:00
Themaister 1336820a15 Merge branch 'master' into rgb565 2012-10-21 22:01:54 +02:00
Themaister 411bf932b6 Update SDL and XVideo for RGB565. 2012-10-21 21:59:25 +02:00
twinaphex 3342bd4ec6 (Android) Teardown more or less works correctly now - have to do
exit() at the end because of the way dynamic libraries stay in
memory and can't be purged - so static variables retain their
state (ie. previous values from the previous session) - see

https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/XDO-Rar3ptY
http://comments.gmane.org/gmane.comp.handhelds.android.ndk/11500
2012-10-21 19:56:36 +02:00
twinaphex 702f99b80e (Android) Some teardown refinements 2012-10-21 17:38:47 +02:00
twinaphex 9b6425c1da (Android) Use DetachCurrentThread - first stab at setting up clean
deiniting
2012-10-21 17:30:02 +02:00
twinaphex 6d44198f8a (Android) Slight nit 2012-10-21 16:52:54 +02:00
twinaphex 3ec51cbd23 (Android) Comment out accelerometer code also in event callback 2012-10-21 16:51:04 +02:00
twinaphex f6e46ce8a4 (Android) Now builds RetroArch libraries for all Android ABIs -
ARM, ARMv7a, MIPS, x86
2012-10-21 16:38:56 +02:00
twinaphex 647fd0abf0 (Android) Not sure if we have to do this 'event loop' in gfx_ctx_check_window
- make it sample one frame of events and that is it - also comment out
accelerometer stuff for now
2012-10-21 16:37:15 +02:00
Themaister a2839001f7 Fix warning. 2012-10-21 12:20:53 +02:00
Themaister a545964be8 Fix crash on frame dupe. 2012-10-21 11:17:21 +01:00
Themaister a734e18295 Merge branch 'rgb565' of git://github.com/Themaister/RetroArch 2012-10-21 02:11:11 +01:00
Themaister 461cf0fef3 Pre-cache uniform locations in GLSL. 2012-10-21 03:05:10 +02:00
Themaister 81b2cce5ac Pre-cache uniform locations in GLSL. 2012-10-21 03:01:59 +02:00
Themaister 98f4edfe34 Merge branch 'master' of github.com:Themaister/RetroArch into rgb565 2012-10-20 23:52:47 +02:00
Themaister b6576e91ca Merge branch 'master' of git://github.com/Themaister/RetroArch 2012-10-20 22:46:19 +01:00
Themaister 5a4caf1c51 Fix build on VC.
Conflicts:
	gfx/gl_common.h
2012-10-20 23:46:09 +02:00
Themaister 2145d1c4e2 Use RGB565 in VC context. 2012-10-20 21:55:58 +01:00
Themaister 3bcbc605d7 Merge branch 'master' into rgb565 2012-10-20 22:47:23 +02:00
Themaister 283d17284b Do not use assert() as error handling. 2012-10-20 22:39:46 +02:00
Themaister 653cbf1baa Enforce static on globals that aren't used outside. 2012-10-20 22:36:43 +02:00
Themaister be491bdbe9 Use RGB565 in libretro-test. 2012-10-20 11:40:32 +02:00
Themaister cc4e41dafb Merge branch 'master' into rgb565
Conflicts:
	gfx/gl.c
2012-10-20 11:31:38 +02:00
Themaister dd21ae58d7 Don't initialize globals to NULL. 2012-10-20 10:58:02 +02:00
Toad King c7dad59402 Add EGLImage support to GL driver.
On videocore, uploading image textures using OpenVG instead of OpenGL ES saves us about 4.5 milliseconds per frame.
2012-10-19 23:08:53 -04:00
Toad King faf1b47d61 VideoCore EGLImage, still needs EGLImage support in GL driver 2012-10-19 21:24:28 -04:00
Themaister 93078889cc Begin reworking RGB565 as default pixel format. 2012-10-20 01:12:02 +02:00
Toad King 301848e037 compile fix 2012-10-18 19:09:16 -04:00
Toad King 86fb0984d2 beginning framework for EGLImage support, added (untested) example to OpenVG 2012-10-18 19:00:25 -04:00
twinaphex 497f4dfb31 (OpenSL ES) Add workaround for OutputMix - setting volume not working
with Android OSL ES implementation - seems to fail at init now though
2012-10-18 08:03:21 +02:00
twinaphex 943ee288e1 (OpenSL ES) memset pcmData to 0 at init 2012-10-18 07:51:57 +02:00
twinaphex 26fcdae48b (OpenSL ES) Small nits 2012-10-18 07:33:45 +02:00
twinaphex 161afd98dc (OpenSL ES) OpenSL init seems to work now despite OutputMix interface
apparently being unsupported on Android. Included note for workaround.
2012-10-18 07:28:56 +02:00
twinaphex 6bf7c3cb06 Update credits for collaborated files 2012-10-18 06:06:55 +02:00
twinaphex 63238d3b67 (OpenSL) Add preliminary driver - OpenSL ES implementation in NDK
is a half-baked, half-implemented hackfest, so will have to go over
Android-specific examples to get this to work
2012-10-18 05:46:09 +02:00
Themaister 8da0fd6f6d Drop another call to glClearColor. 2012-10-17 21:35:40 +02:00
Themaister b00194e52f Drop calling glClearColor. 2012-10-17 21:28:21 +02:00
twinaphex 6856a6651e (RGL) Ifndef glClearColor (if default clear color is always black, then
we should remove this)
2012-10-17 19:43:17 +02:00
Themaister 7ee9b8537f Actually load and not save SGB ram. 2012-10-17 08:46:56 +02:00
twinaphex 828762f6fd (Android) Take out excessive logging 2012-10-16 23:55:39 +02:00
twinaphex bed99bb0da (Android) Compile with DPERF_TEST enabled - replace CLOCK_MONOTONIC_RAW
with CLOCK_MONOTONIC
2012-10-16 23:29:03 +02:00
twinaphex 4212458625 (Android) Log touchscreen events for now 2012-10-16 20:03:45 +02:00
Themaister f68ea33d20 Use clock_gettime on Linux. 2012-10-16 19:56:15 +02:00
twinaphex a675c4348f (Android) Split off input code into its own driver 2012-10-16 19:46:59 +02:00
Themaister 6d3c12b9bd Use HAVE_GLSL instead of HAVE_XML.
Replace where it makes sense.
2012-10-16 19:43:05 +02:00
twinaphex 97ef554e31 (Android) Use g_android.app state instead of local variable 2012-10-16 18:38:41 +02:00
twinaphex 977155425a (Android) No longer have to click on the screen to get RetroArch
to start
2012-10-16 18:07:22 +02:00
twinaphex 90d5913faa (Android) Add optional fps logging 2012-10-16 17:18:10 +02:00
twinaphex 303c4968f2 (Android) Get rid of extra swap buffers call 2012-10-16 16:23:55 +02:00
twinaphex be1abb6f38 (Android) Runs now - note - we might want to refactor HAVE_XML ifdefs
to HAVE_GLSL since I currently don't have HAVE_XML defined for
Android NDK
2012-10-16 15:38:25 +02:00
twinaphex e2ec1586ba (Android) Loads a config file now from either $(INTERNAL_STORAGE)/retroarch.cfg,
$(EXTERNAL_STORAGE)/retroarch.cfg, or /mnt/extsd/retroarch.cfg. will need to
find a better catch-all location to put this and just use the rest as fallbacks
2012-10-16 15:18:40 +02:00
twinaphex 3cf0e3c984 (Android) Cleanups in context file - do away with everything related
to RARCH_CONSOLE
2012-10-16 14:43:34 +02:00
twinaphex 5977ab5be1 (Android) Implement gfx_ctx_get_video_size 2012-10-16 14:31:18 +02:00
twinaphex 608d3718a3 (Android) Android does not redirect stderr to the logger - so we
need to wrap all stderr fprintfs - this will help for Xbox 1 too
which also doesn't redirect stderr
2012-10-16 13:57:35 +02:00
twinaphex 2f26f8e76f (Android) Try to deinit RetroArch when closing - currently fails due to
not being able to dequeue native window buffer
2012-10-16 13:48:08 +02:00
twinaphex 5e85906f94 (Android) Comment out accelerometer logging for now - so that we
don't spam the logger
2012-10-16 13:27:49 +02:00
twinaphex 7bdd81b0bb (Android) Seems to run now (with GLES 2 forced) - but just shows
black right now
2012-10-16 13:15:11 +02:00
twinaphex d4dee21589 (Android) Runs now - brings window up - inits GLES through EGL -
but fails at shader init - 'called unimplemnted OpenGL ES API'
2012-10-16 13:08:36 +02:00
twinaphex 402f3ec364 (Android) Hack - loading libretro.so from /data/data/com.retroarch/lib/libretro.so for now - problem #2 - crashesat [ANDROID/EGL]: EGL version: 1.4 log - reason being
that window is not yet inited
2012-10-16 12:59:43 +02:00
Themaister be7a63932f Remove output_rate from DSP plug. 2012-10-16 12:54:58 +02:00
Themaister d027287d71 Leave some notes about downsampling. 2012-10-16 12:54:58 +02:00
twinaphex ff914dd862 (Android) Set up RetroArch for real (Android is retarded in that it
only allows us to use dlopen on shared libs that are in the app's
'lib' folder - 'security' concerns and all
2012-10-16 12:49:56 +02:00
twinaphex 24a7b25d6a (RARCH_CONSOLE) Android no longer uses RARCH_CONSOLE - so we can
get rid of all ANDROID ifdefs in console-side code
2012-10-16 12:05:01 +02:00
twinaphex 11465db9c1 (Android) We now do everything natively (including video) - so
we no longer need this
2012-10-16 12:01:00 +02:00
twinaphex 46fd925d01 (Android) Can now select libretro core from Phoenix too, argument
gets passed to native activity
2012-10-16 11:59:08 +02:00
twinaphex 99bb0734c8 (Android) Remove unnecessary icons for native activity 2012-10-16 02:20:53 +02:00
twinaphex 7a3e29539a (Android) Picks up ROM filename argument now in android_main -
passed from Java phoenix to native activity
2012-10-16 02:06:20 +02:00
Themaister a22193d83d Fix potential crash in hermite as well. 2012-10-15 23:13:51 +02:00
Themaister 34713f40d1 Fix spurious segfaults when ratio dips below 1. 2012-10-15 22:53:05 +02:00
Themaister d8d3442b29 Make rarch_main() the *real* entry point. 2012-10-15 21:50:22 +02:00
twinaphex bbbdb1ccc0 (Android) Cut down on engine_draw_frame usage 2012-10-15 21:49:17 +02:00
twinaphex ee1194d19a (Android EGL) don't needlessly set up GL state after gfx_ctx_init 2012-10-15 19:37:18 +02:00
twinaphex 8ac8b16d34 (Android) Use EGL context file 2012-10-15 19:33:57 +02:00
twinaphex d30d345d84 (Android) Cleanups - remove unneeded gfx_ctx_set_window/gfx_ctx_free_window 2012-10-15 19:15:09 +02:00
twinaphex 82d2ee63dc (Android) Move g_android outside of general.h 2012-10-15 19:09:59 +02:00
Themaister 2af0a43ad0 Link against Cg framework on OSX. 2012-10-15 11:01:15 +02:00
Themaister 298600781c Indentation fix. 2012-10-15 09:57:08 +02:00
twinaphex 5ffab01827 (Android) Add g_android global struct - EGLDisplay, EGLContext
and EGLSurface in this struct are temporarily and all code
will be moved to EGL context file
2012-10-15 08:57:23 +02:00
twinaphex f52d7f462e (360) Build fixes 2012-10-15 07:22:20 +02:00
twinaphex a7a7671ac0 (Xbox 1) Build fixes 2012-10-15 07:00:58 +02:00
twinaphex 174c7d9d98 (RARCH_CONSOLE) g_console struct removed now - console settings
now a part of g_extern and also compiled in for PC - will use
this for RMenu
2012-10-15 06:25:12 +02:00
Themaister 11b9f039b2 Remove some useless ifdefs. 2012-10-14 23:22:16 +02:00
twinaphex f4b197784c Move zip_extract_mode from g_console to g_extern.filebrowser_state 2012-10-14 20:45:30 +02:00
twinaphex dee990b267 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-10-14 20:34:41 +02:00
twinaphex fc17456581 (RMenu / RARCH_CONSOLE) Move more g_console state to g_extern 2012-10-14 20:34:16 +02:00
Themaister 80cbd44ccf OSX derp. 2012-10-14 20:31:59 +02:00
Themaister e5c24f963a Move HAVE_DYNAMIC ifdef. 2012-10-14 20:21:14 +02:00
Themaister 6574171f16 Ifdef for HAVE_DYNAMIC. 2012-10-14 20:10:07 +02:00
twinaphex 5443038b34 (Filebrowser) wrap-around now enabled by default 2012-10-14 19:16:00 +02:00
Themaister 081284c116 Might allow Cg to compile on OSX. 2012-10-14 15:54:48 +02:00
twinaphex 4f8a040411 (Android) Now starts up the native activity correctly when a ROM has been
selected - arguments still need to be passed and right now it's just doing
some glClears - however - POC more or less works - now to make it run Rarch
2012-10-14 07:21:12 +02:00
twinaphex b89e0e90c9 (Android) Phoenix works again 2012-10-14 05:24:34 +02:00
twinaphex 6e730dab47 (Android) Split up project into native / phoenix - phoenix now doesn't
show main screen/rom browser (sigh)
2012-10-14 05:18:53 +02:00
twinaphex 96f5c78304 (Android) removed bifrost.c - made libretroarch.so now a native
activity
2012-10-14 03:37:08 +02:00
twinaphex 1195e92850 (Android) Remove more unnecessary files / simplify fileio/Option.java 2012-10-14 02:44:36 +02:00
twinaphex 87cec1a077 (Android) Do removal of Android classes sanely - without local working
copy
2012-10-14 01:54:02 +02:00
twinaphex 73194640a0 Revert "(Android) Renamed GUI to RetroArch Android - Phoenix will be Java-only,"
This reverts commit ad27bedcb4.
2012-10-14 01:49:15 +02:00
twinaphex 158f4676a4 (Android Phoenix) Will no longer require GLES 2.0 2012-10-14 01:00:41 +02:00
twinaphex ad27bedcb4 (Android) Renamed GUI to RetroArch Android - Phoenix will be Java-only,
and the RetroArch program itself will be a native activity
2012-10-14 00:56:50 +02:00
Themaister 18191b2f18 Remove invalid configs. 2012-10-13 22:05:20 +02:00
Themaister f48b758cf0 Only need GBM 9.0 for KMS. 2012-10-13 21:44:25 +02:00
Themaister b8abf34785 Purge some now useless code.
Removes manual input rate adjustments.
Don't allow DSP plugs to resample as it would complicate things alot
with dynamic rate control.
Also purges optional ssnes_* symbols for external plugs.
2012-10-13 20:22:45 +02:00
Themaister 6fd1940741 Fix screensaver appearing in fullscreen. 2012-10-13 19:53:04 +02:00
Themaister ba647047ce Remove some redundant code in xvideo. 2012-10-13 16:58:29 +02:00
Themaister a0e6db636f Set window icon in X11. 2012-10-13 12:51:37 +02:00
Themaister a31aacf1a8 Fix derp. 2012-10-12 22:03:17 +02:00
Themaister 1968603451 Fix warning train on OSX. 2012-10-12 21:24:23 +02:00
Themaister 89cf228c30 Use monitor index setting. 2012-10-12 21:18:24 +02:00
Themaister f223c62fc8 Merge git://github.com/OV2/RetroArch 2012-10-12 21:16:19 +02:00
Themaister f6d8902462 Add monitor selection option. 2012-10-12 21:15:58 +02:00
Themaister 9208663c53 Add basic Xinerama support to X11. 2012-10-12 19:58:54 +02:00
OV2 1aef7faacb win32: selectable monitor in wgl context 2012-10-12 19:39:55 +02:00
Themaister b80227cf81 Addition to AUTHORS. 2012-10-11 23:35:30 +02:00
Themaister f605e8acf2 Fix compiler warnings. 2012-10-11 23:31:46 +02:00
Hans-Kristian Arntzen 24124ebdfc Merge pull request #53 from OV2/master
Current monitor for regular fullscreen (WGL).
2012-10-11 14:29:34 -07:00
OV2 e5fe88032a win32: specify device when restoring mode 2012-10-11 23:24:53 +02:00
Themaister 08f64edc84 Fix set_savestate_auto_index. 2012-10-11 22:54:07 +02:00
Themaister aa6a17b6ab Fix Win32 build. 2012-10-11 22:36:11 +02:00
OV2 0db21ccac1 win32: also use current monitor for regular fullscreen 2012-10-11 22:32:31 +02:00
Themaister 8a1327cefd Add directory support for libretro_path/-L. 2012-10-11 22:31:47 +02:00
Themaister 174d17b1a2 Should finally fix OSX build *shrug*. 2012-10-11 21:00:16 +02:00
Themaister 4474b18c8d Minor nit. 2012-10-11 00:21:08 +02:00
Themaister b7174a229e Merge git://github.com/OV2/RetroArch
Conflicts:
	gfx/context/wgl_ctx.c
2012-10-11 00:18:21 +02:00
Themaister 1dc73adeef Indent fix. 2012-10-11 00:11:02 +02:00
Themaister cf37629d0d Add icon to WGL. 2012-10-11 00:09:24 +02:00
Themaister 6e1b2c6291 Slight adjustments to WGL. 2012-10-10 23:52:59 +02:00
OV2 691491ccdb win32: windowed fullscreen on current monitor 2012-10-10 22:08:22 +02:00
OV2 13fafd80ab win32: only hide cursor if in fullscreen 2012-10-10 21:44:29 +02:00
OV2 8bd1ef77ff win32: no -lSDL if HAVE_SDL!=1 2012-10-10 20:41:00 +02:00
twinaphex 7f0f6bc0a7 (Android) Video init/deinit will only be invoked frm Java side/
surface - so ifndef it out for ANDROID
2012-10-09 18:48:04 +02:00
twinaphex 9a38d021c2 Rename confusing 'driver' member to 'ctx_driver' in gl struct 2012-10-09 17:47:48 +02:00
twinaphex 8132f9fd8a (Android) Add Android context hooks 2012-10-09 00:11:11 +02:00
twinaphex 7a761393dd (Griffin) refactor hook.h from Griffin 2012-10-08 23:42:08 +02:00
twinaphex 254239849a Revert "(Android) Cleanup - remove android java audio driver / remove android java video"
This reverts commit ba99f83aa5.
2012-10-08 22:55:31 +02:00
twinaphex ba99f83aa5 (Android) Cleanup - remove android java audio driver / remove android java video
driver - do as much stuff natively
2012-10-07 18:20:11 +02:00
Themaister 716f37f8bf Add untested windowed fullscreen in WGL. 2012-10-07 00:21:39 +02:00
Themaister 0241b463fc Fix build against static FFmpeg. 2012-10-06 10:30:45 +02:00
twinaphex 350b15b0f2 (Android) Add some initial funtions for setting native window 2012-10-06 06:51:42 +02:00
twinaphex 2c1980b7b0 (Android) Seems to run frames now - now to get video/sound 2012-10-05 19:02:32 +02:00
twinaphex 936daba8de (Android) Implement onActivityResult callback system 2012-10-05 18:49:13 +02:00
twinaphex 1fd32e0ae6 (Android) Implement gfx_ctx_set_swap_interval 2012-10-05 16:13:48 +02:00
Themaister afc611131c Make fullscreen branch slightly clearer. 2012-10-05 15:17:25 +02:00
Themaister 6104ce2163 Add option for windowed fullscreen. 2012-10-05 14:15:54 +02:00
Themaister 45a5895abf Attempt to recover from true fullscreen failing. 2012-10-05 13:55:24 +02:00
twinaphex e13ccc559a (Android) Don't set ext audio driver as default if HAVE_DYLIB is
enabled for ANDROID.
2012-10-05 02:00:21 +02:00
twinaphex 286edce639 (Android) Clean up EGL context file - bring it more in line with the
others
2012-10-05 01:47:52 +02:00
twinaphex 770aa757dd (Android) Loads ROM now - now need to define audio driver/input
driver
2012-10-05 01:28:15 +02:00
twinaphex de72779577 (Android) Add preliminary EGL context driver 2012-10-05 01:19:39 +02:00
twinaphex 94ac629d6a (Android) fails at video_gl.start right now 2012-10-04 20:13:02 +02:00
twinaphex c6cf258b42 Simplify rarch_config_load 2012-10-04 20:09:23 +02:00
twinaphex cd76a2c3b3 (Android) Added stub file so that gen is always a pregenerated directory 2012-10-04 19:39:28 +02:00
twinaphex f6e91732a1 (Android) Loads libretro library now but still SEGV at unspecified
location
2012-10-04 19:39:28 +02:00
Themaister 74e4ae7286 Fix CXX_BUILD. 2012-10-04 09:09:04 +02:00
Themaister 069cffb7b9 Fix broken build on Win32. 2012-10-03 23:33:17 +02:00
twinaphex b814f9c00d (DYLIB) If dlopen fails, return specific error message with dlerror
so we know what's happening
2012-10-03 23:16:32 +02:00
twinaphex 2dcb61cb53 (Android) Some more work - fails right now at dylib_load 2012-10-03 19:45:20 +02:00
twinaphex 0d0fd03e09 (Android) use RARCH_LOG in bifrost.c 2012-10-03 16:23:50 +02:00
twinaphex c49aa886a1 (Android) Need to add JNI_OnLoad and JNI_OnUnLoad in Bifrost 2012-10-03 06:11:33 +02:00
twinaphex ad7bc1bbe2 (Android) Add missing (and required by Eclipse) 'gen' directory 2012-10-03 06:02:03 +02:00
twinaphex 4cfafc65b7 (Android / JNI) Compiles RetroArch in ARM mode now instead of THUMB -
can now use mrc instruction
2012-10-03 00:02:46 +02:00
twinaphex 0a20857a44 (ARM) Add mrc ARM define for benchmark.c
- Some Android build fixes
- Removed doubly defined static inline function
2012-10-02 23:59:19 +02:00
Themaister 8dd51016dc Make sure LOAD_GL_SYM doesn't get double define. 2012-10-02 23:36:18 +02:00
Themaister aa74c185f3 Use glMapBuffer to copy data to texref bufs. 2012-10-02 22:18:53 +02:00
Themaister 657c9ea3e8 Fix build on PS3. 2012-10-02 20:23:10 +02:00
Themaister e351dcc59c Should allow fast path for PS3 on glTexImage2D. 2012-10-02 20:16:55 +02:00
twinaphex 93be96b9d2 (Wii) Bump up version number 2012-10-02 18:05:09 +02:00
twinaphex 977ed2f103 Add log regarding benchmark logic - and incrementing call count 2012-10-02 01:23:55 +02:00
Themaister 5b0525d2e2 Drop HAVE_PBO. Use custom conversion routines.
Measured custom 15->32 conversion to be up to 10x faster on my setup.
2012-10-02 01:04:47 +02:00
twinaphex c54035e3f3 (PS3) Fix benchmarking on PS3 by expanding ifdef of GNUC - also
add PERF_TEST options to most platforms
2012-10-02 00:47:20 +02:00
Themaister 018b97be72 Add logging code to gl_copy_frame. 2012-10-01 23:59:11 +02:00
Themaister 1bac5421ff Update benchmarks for GCC + x86.
Compile with make PERF_TEST=1 to enable performance logging.
2012-10-01 23:43:16 +02:00
twinaphex 8ffd954122 (Xbox 1) benchmark.c - add Xbox 1 support 2012-10-01 23:04:40 +02:00
Themaister 939749604f Try to avoid "dying" if EGL is missing. 2012-10-01 22:57:33 +02:00
Themaister 4db4d414a9 Should fix build on OSX. 2012-10-01 22:48:36 +02:00
twinaphex b9a426a954 (360) benhmark.c works on 360 now too 2012-10-01 22:26:27 +02:00
Themaister 9c462e19b7 Add basic turbo support. 2012-10-01 22:16:16 +02:00
twinaphex 10da277059 (Wii) benchmark.c compiles now for Wii too 2012-10-01 22:02:20 +02:00
twinaphex 535045a48b Add preliminary benchmark.c/benchmark.h - works on PS3 right now 2012-10-01 21:45:09 +02:00
twinaphex a36a546236 (RGL2) Change order of source input files - RGL2 2012-10-01 20:20:10 +02:00
twinaphex 691145f136 (PS3/ RGL) Add temporary RGLv2 Makefile 2012-10-01 18:46:14 +02:00
twinaphex 666ed41234 (PS3) Build fix
(RMenu) Get rid of (now) unnecessary includes
2012-10-01 04:04:50 +02:00
twinaphex 6c5d6515ce (XDK) 360 and Xbox 1 now both use the same Direct3D driver 2012-10-01 03:35:38 +02:00
twinaphex a457257164 (360) Remove duplicate function 2012-10-01 02:46:58 +02:00
twinaphex c7f8535ecf (360) Shows amount of shaders that were loaded at init 2012-10-01 02:45:29 +02:00
twinaphex 4ae233f1f0 (XDK) Reports screen resolution now at device init 2012-10-01 01:17:30 +02:00
twinaphex 011037eea2 (XDK Xbox 1) Refactor Xbox 1 code too 2012-10-01 00:41:06 +02:00
Themaister b73243b521 Fix CXX_BUILD. 2012-10-01 00:12:07 +02:00
twinaphex b954472295 (360) Move D3D init/destroy code to context file 2012-10-01 00:09:37 +02:00
Themaister 043bcfd1de Minor refactor. gl_set_shader_viewport(). 2012-09-30 19:55:33 +02:00
Themaister 66867c9b07 Remove breaking include of gl_common.h. 2012-09-30 19:28:36 +02:00
twinaphex 594aaa4600 (PS3) Some more refactorings to do with RMenu context files 2012-09-30 18:37:27 +02:00
twinaphex 7ab348dc40 (360) BUild fixes + 360 uses RMenu context file now 2012-09-30 18:29:32 +02:00
twinaphex 4d80a71f7e (XDK) Refactorings - build fixes 2012-09-30 17:57:32 +02:00
twinaphex 71443385e9 (PS3/XDK - Context) Some refactorings 2012-09-30 17:51:48 +02:00
twinaphex c1e3dcd00e (Xbox 1/360) XDK context file updated - fixes build 2012-09-30 17:10:04 +02:00
Themaister 5e70581a5f Return axis values that makes more sense. 2012-09-30 16:11:13 +02:00
Themaister c6c68dfcf1 Don't return bogus if joypad isn't connected. 2012-09-30 15:59:05 +02:00
Themaister 4e4972aa7a Drop packing in SDL.dll on Win32 slim. 2012-09-30 15:50:17 +02:00
Themaister 8d8dce7d2b Don't display mouse. Set window title immediately. 2012-09-30 15:08:11 +02:00
Themaister 5ae20a9f3c Log if graphics driver doesn't init input. 2012-09-30 15:03:53 +02:00
Themaister 74d7707875 Add dinput to input driver list. 2012-09-30 14:59:27 +02:00
Themaister dd6d27c108 Add WGL context. 2012-09-30 14:41:58 +02:00
Themaister 9a07e23ecb Simplify GLES ifdef. 2012-09-30 10:33:15 +02:00
twinaphex e4399884d9 (PS3) Needs ifndef around querying of BGRA888 - PSGL only has GL_BGRA
defined and not GL_BGRA888_EXT
2012-09-30 04:47:35 +02:00
Themaister fb78009e10 Remove "special" GLES2 paths in image.c. 2012-09-29 22:04:11 +02:00
Themaister 3b321cdc36 And yet another fix. 2012-09-29 22:02:25 +02:00
Themaister 63b2df0dbe Fix build on Win32. 2012-09-29 22:01:42 +02:00
Themaister d40cd53e24 Rewrite retroarch-joyconfig.
Rewrites a large chunk of retroarch-joyconfig to work with "any" joypad
driver. This allows e.g. the tool to work without X. SDL event pumps
require X to work (for some reason).
2012-09-29 21:57:03 +02:00
Themaister 55573b4726 Some PC fixups in OpenVG (still shows black though). 2012-09-29 20:18:24 +02:00
Themaister 5688f939a7 Use GL_BGRA_EXT on GLES. 2012-09-29 20:06:48 +02:00
Themaister 5d4019f4ab Have the scale value make more sense in freetype. 2012-09-29 19:20:30 +02:00
twinaphex 66cc23af34 (Freetype) Should allow for setting adjustable font positioning (x/y)
and scaling
2012-09-29 14:19:14 +02:00
Themaister 9747a594e8 Check for glXSwapInterval as well. 2012-09-29 12:35:26 +02:00
Themaister e58bdc4811 Add GLX context. 2012-09-29 12:13:11 +02:00
Themaister 4669aee283 Kill null_ctx.
Doesn't serve any purpose with new context abstraction.
2012-09-29 11:14:02 +02:00
Themaister f8de693eef Use true fullscreen in X/EGL. 2012-09-29 10:47:55 +02:00
Themaister 65fa84d3b7 Make sure to get initial state of joypad. 2012-09-29 09:57:28 +02:00
Themaister be7a4b4c09 Warn when SDL_image is disabled. 2012-09-29 00:42:36 +02:00
Themaister 258a29b9b1 Bind to correct joypad button in X11. 2012-09-29 00:34:59 +02:00
Themaister f5b6ae8e7e Raw Linux joypads work. 2012-09-29 00:27:09 +02:00
Themaister c6820af73e Fix CXX_BUILD. 2012-09-28 23:47:20 +02:00
Themaister cb153869ca Be able to disable everything X11. 2012-09-28 23:43:58 +02:00
Themaister 04e3fe185f Can build without SDL now (only RetroArch). 2012-09-28 23:34:19 +02:00
Themaister c655c1d4e5 Big refactor of joypad input. 2012-09-28 23:06:16 +02:00
Themaister ee8a93973f Drop redundant call to UNPACK_ROW_LENGTH. 2012-09-27 20:54:24 +02:00
TwinAphex51224 a8f255e357 Revert "(PS3) Use texture references for PSGL/RGL - NOTE: will form part"
This reverts commit 10605eabe3.
2012-09-27 20:24:05 +02:00
TwinAphex51224 9a249ea996 (PS3) Freetype modules need to be loaded in different order +
added SYSMODULE_FONTFT
2012-09-27 18:19:10 +02:00
TwinAphex51224 5fad20121f (PS3) Add preliminary Freetype support for PS3 2012-09-27 18:16:06 +02:00
TwinAphex51224 fdd78b08d3 Use new define HAVE_CG_RUNTIME_COMPILER 2012-09-27 17:45:49 +02:00
TwinAphex51224 903ab0ccad Comment out RARCH_CG_DEBUG again 2012-09-27 17:30:28 +02:00
TwinAphex51224 10605eabe3 (PS3) Use texture references for PSGL/RGL - NOTE: will form part
of RGL now
2012-09-27 17:28:38 +02:00
Themaister 2e168157c1 Sanitize font rendering in xv and SDL.
Fixes old bug where big chunks of fonts would often be just left out.
2012-09-27 01:42:46 +02:00
Themaister 5936fbf463 Minor fixes in VC context. 2012-09-26 16:00:06 +02:00
Themaister 31b12d7d00 Refactor out common X11 code. 2012-09-26 15:52:25 +02:00
Themaister df32409fb5 Add basic mouse support to X11 input. 2012-09-26 15:27:25 +02:00
Themaister f96d357017 Fix build on KMS. 2012-09-25 19:28:21 +02:00
Themaister 704af0e0b7 x_input depends on HAVE_X11. 2012-09-25 15:14:56 +02:00
Themaister fffd2fe504 Add in xinput if X11 is set, not XVIDEO. 2012-09-25 13:58:43 +02:00
Themaister d732aa4c2e Abstract aspect handling in vg.c. 2012-09-25 13:54:22 +02:00
Themaister 2674a67cdd Abstract away aspect ratio handling. 2012-09-25 13:51:44 +02:00
Themaister 254e711e2d Comment out spammy error message. 2012-09-25 13:33:11 +02:00
Themaister 9c24946ca5 Pick right visual attribs in EGL depending on API. 2012-09-25 13:25:03 +02:00
Themaister d059d3fba2 Add feature logs in --feature. 2012-09-25 12:58:45 +02:00
Toad King 58a2ff9594 leave a note for the future ;) 2012-09-25 00:42:03 -04:00
TwinAphex51224 accbb57e10 (PS3) Set NO_GL_FF_VERTEX for PSGL-based builds 2012-09-25 04:07:36 +02:00
TwinAphex51224 e42f515e11 (PS3) Works on PS3 again 2012-09-25 03:49:51 +02:00
Toad King eee9468900 fix GLES for VideoCore 2012-09-24 21:25:31 -04:00
Toad King df77bbd0bd compile fixes
bind API before initializing context
2012-09-24 20:47:48 -04:00
Themaister d0e220bbf1 Refactor all GL context handling code. 2012-09-25 01:37:23 +02:00
Toad King c1948b7c5d remove VGU requirement from VG video driver
MESA's libOpenVG does not supply the utility functions
2012-09-24 19:30:24 -04:00
Themaister a1999af4a7 Don't use projection abstraction in GL.
Makes no sense anymore as it's calculated with gfx/math/ ...
Keep abstraction for XBox.
2012-09-24 22:51:26 +02:00
Themaister 9b5ea744ac Add HAVE_VG= to config.params.sh. 2012-09-24 21:48:24 +02:00
Toad King b087a2cc76 rename oops 2012-09-24 15:31:46 -04:00
Toad King 500139f1b5 change video_rpi into a more generic video_vg 2012-09-24 15:19:07 -04:00
Toad King 60e255dd12 rename rpi.c to vg.c 2012-09-24 15:16:53 -04:00
Themaister c472688663 Do not segfault when snd_pcm_avail_update() fails. 2012-09-24 16:40:51 +02:00
Themaister 4107218a5f Should fix build on OSX (*shrug*). 2012-09-24 10:04:15 +02:00
Themaister ae8ab33e81 Properly be able to reinit KMS. 2012-09-24 00:01:04 +02:00
Themaister b1f5c83deb Make sure all page-flips are acknowledged. 2012-09-23 12:11:24 +02:00
Themaister 9297f028a4 ifdef out extension logging. 2012-09-23 11:54:51 +02:00
Themaister 35c3a4a252 Fix build on #ifndef _WIN32. 2012-09-23 11:06:26 +02:00
Themaister f8a57ef690 Fix crash in Windows when UDP CMD was disabled. 2012-09-23 10:53:19 +02:00
Themaister 066e13f647 Remove references to RetroArch in libretro.h. 2012-09-23 01:46:21 +02:00
Themaister 192ca096c9 Refactor out input_conv_analog* 2012-09-22 09:57:04 +02:00
Themaister bd9f8dbd3a Add RETRO_DEVICE_ANALOG to linuxraw. 2012-09-22 01:04:13 +02:00
Themaister 67c343c290 Lower compression rate of screens.
Big screenshots take a very long time to compress with 9.
2012-09-21 23:51:35 +02:00
Themaister c55f71c49d Shaders can be swapped out in command interface. 2012-09-21 21:56:54 +02:00
Themaister 102d30473e Shader directory looks for Cg/Cgp shaders. 2012-09-21 21:20:30 +02:00
Themaister 52cde797c1 Should fix build on OSX 10.8. 2012-09-21 21:11:10 +02:00
Themaister d9fce26801 Log DRM frame as well in KMS. 2012-09-20 19:55:25 +02:00
Toad King dc57af26b7 remove debugging code accidentally left over in OpenVG driver 2012-09-19 21:06:32 -04:00
Themaister e8666e4b4e Style nit. 2012-09-19 09:38:59 +02:00
Themaister 90a69ac33e Only define EGL attrib bits for GL if compiled in. 2012-09-19 09:09:46 +02:00
Themaister dc385ad0c5 Fix ifdefs for eglBindAPI in gl.c.
HAVE_OPENGL_MODERN is only defined for PSL1GHT at the moment.
2012-09-19 09:07:46 +02:00
Hans-Kristian Arntzen b78482d3c5 Merge pull request #50 from lifning/master
Updates to Pandora build scripts, config files, and launchers, plus exorcised SNESisms out of retroarch-zip script.
2012-09-19 00:02:41 -07:00
Toad King 8d5726a5ed add change to drm/x egl contexts for future OpenVG support 2012-09-18 22:59:51 -04:00
Toad King 66fd23d611 Fix VideoCore context for GLES2, video driver runs but texture is transparent 2012-09-18 22:16:43 -04:00
Toad King 44d3574aef GLES requires XML, reflect this in the configure script 2012-09-18 20:11:22 -04:00
Darren 4df7e775f9 Generalize retroarch-zip, no longer requires s[fm]c files.
Now it just assumes the largest file in the root of the archive is the desired ROM.
2012-09-18 20:02:59 -04:00
Darren 597cacf112 (Pandora) allow launcher to use retroarch-zip script 2012-09-18 20:02:26 -04:00
Toad King 012c7def7b big Raspberry Pi-related changes
* convert old rpi video driver into a generic OpenVG driver
* add VideoCore EGL context
* build GLES by default if VideoCore detected (currently does not run)
2012-09-18 19:42:17 -04:00
Themaister 580cf1c07e Report delta times for vblank misses.
For debugging purposes, report time from PageFlip is queued, till it
actually happens.
2012-09-19 00:44:50 +02:00
Themaister 145bf19208 Fix minor derp. 2012-09-18 23:55:36 +02:00
Themaister d750acedf3 system_directory defaults to ROM directory.
Also fires off a warning about this ...
2012-09-18 23:48:50 +02:00
Darren 42389d32f1 (Pandora) add *.smc to the launcher script for SNES cores 2012-09-18 17:26:51 -04:00
Darren 3c8b0b3d50 (Pandora) planning to use retroarch-zip later 2012-09-18 17:26:16 -04:00
Themaister 620769fbeb Ifdef out custom scheduling for now.
Doesn't appear to help much.
2012-09-18 23:09:23 +02:00
Themaister c309099e79 Attempt to use SCHED_FIFO in KMS.
This is mostly for testing purposes, to see how much scheduling affects
performance.
2012-09-18 21:51:50 +02:00
Themaister f6af4fc122 Add performance metrics to KMS driver. 2012-09-18 20:36:16 +02:00
Themaister 3c9e28e613 Update ./configure --help for correctness. 2012-09-18 17:52:42 +02:00
Themaister 8dcb59318b Require EGL to be present if KMS is compiled. 2012-09-18 12:18:16 +02:00
Themaister 1d2d09905b Allow using straight OpenGL API in KMS. 2012-09-18 12:16:27 +02:00
Darren b177185b0e (Pandora) factored out LD_PRELOAD since we need it for some cores too. 2012-09-18 04:42:21 -04:00
Darren 8a123b46f9 (Pandora) version bump in PXML. also better description. 2012-09-18 04:42:02 -04:00
Themaister bbcf7e5d86 Do not flicker when nonblock is applied in KMS. 2012-09-18 10:32:35 +02:00
Darren a23a5c4fe8 (Pandora) default config file fixes.
- point to libretro-fceu.so, which libretro-super names it, rather than fceumm
- strike the line about available gfx drivers, we've got GLES now
2012-09-18 02:23:17 -04:00
Darren 3553695a92 (Pandora) Enable GLES graphics driver. 2012-09-18 01:02:49 -04:00
Darren 428c09b0ab (Pandora) Launcher script tweaks, accomodating new cores.
Version bump in the XML.
2012-09-17 20:29:23 -04:00
Themaister c0d6e5e70c Free first framebuffer correctly in KMS driver. 2012-09-18 00:17:23 +02:00
Darren ab15b89247 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-09-17 15:16:12 -04:00
Themaister 0c805a200e Add dummy logs for page_flip_event. 2012-09-17 11:34:19 +02:00
Twinaphex 4d2cbd0095 (Android/HAVE_DYLIB) Add dynamic libretro path loading to rarch_startup 2012-09-17 05:35:36 +02:00
Twinaphex 8ad585ad34 (Android) Compile with HAVE_DYLIB 2012-09-17 05:31:29 +02:00
Twinaphex 7bec5ddb55 (Android) Add Android Makefile + commit auo-generated com_retroarch_rruntime.h
header
2012-09-17 02:40:34 +02:00
Twinaphex 84f0149c86 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-09-17 02:16:41 +02:00
Twinaphex 511e94dbd7 (Android) Add rruntime.java 2012-09-17 02:16:23 +02:00
Themaister ceb7e08c24 Allow fast-forward in framebuffer mode. 2012-09-16 22:56:58 +02:00
Themaister cc0fe7f8de KMS context can be restored after exit. 2012-09-16 22:39:29 +02:00
Twinaphex 6c05196e4f (Android) More exposed functions in Bifrost 2012-09-16 22:11:15 +02:00
Themaister de2f5ba4ba Add experimental KMS/GLES framebuffer driver. 2012-09-16 21:41:09 +02:00
Twinaphex e84db7ba1f (Android) Begin RetroArch bridge code - JNI - call it 'Bifrost' 2012-09-16 21:00:34 +02:00
Themaister dac374605d Go back to block_size correctly after sync change. 2012-09-16 16:52:04 +02:00
Themaister b9b9454c7d Report error if eglSwapInterval() fails. 2012-09-16 15:26:02 +02:00
Themaister 1a7d10fade Don't link against -lGL when GLES is used. 2012-09-16 11:15:49 +02:00
Themaister 22aae7802a Remove misplaced comment. 2012-09-16 10:52:44 +02:00
Themaister 0487fdb0e8 Set g_has_focus to true when MapNotify hits. 2012-09-16 10:47:53 +02:00
Twinaphex 79a75a43db (retroarch.c) Replace some fprintf to stderr with RARCH_ERR 2012-09-16 06:06:05 +02:00
Twinaphex aa054f76a3 (PSL1GHT) Crashes now at do_global_ctors_aux 2012-09-16 05:22:44 +02:00
Twinaphex f042162789 (PSL1GHT )Made custom PSL1GHT logger - still doesn't work 2012-09-16 04:37:42 +02:00
Twinaphex b9320ff491 (PSL1GHT) Attempt to load test ROM - netlogger still not showing
anything so impossible to debug right now
2012-09-16 04:18:27 +02:00
Twinaphex 34ea7f18fc (PSL1GHT/PS3) Move more header includes/redefinitions to sdk_defines.h 2012-09-16 04:04:59 +02:00
Themaister b2316efe05 No GLES2 extensions are used. Drop header include. 2012-09-16 01:29:45 +02:00
Themaister 6d2c0cdb17 Only allow keyboard input when in focus int x_input. 2012-09-16 01:27:32 +02:00
Themaister 282346572d Fix font rendering in GLES. 2012-09-16 00:57:39 +02:00
Themaister 5365087311 Fix LUT textures in GLES. 2012-09-15 23:59:52 +02:00
Themaister 759a4c811d Use GL_LUMINANCE_ALPHA for fonts. 2012-09-15 23:15:19 +02:00
Themaister 1ce547f277 Use 32-bit fonts to avoid tons of ifdeffing for GLES. 2012-09-15 16:03:20 +02:00
Themaister dd2982b148 Force modern XML shaders for GLES2. 2012-09-15 15:46:02 +02:00
Themaister 6052af0327 Don't segfault on fullscreen swapping. 2012-09-15 15:41:12 +02:00
Themaister b9f605cc9d Fall back to default shader in GLES2. 2012-09-15 15:37:08 +02:00
Themaister a55915b694 Should fix shader_cg build on PS3. 2012-09-15 15:21:58 +02:00
Themaister ff60bcb5e5 Add experimental X/EGL support. 2012-09-15 15:17:34 +02:00
Themaister d3b1780a66 Ifdef out CLAMP_TO_BORDER on Android specifically. 2012-09-15 11:43:47 +02:00
Themaister 9fc3c07181 Fallback for RETRO_DEVICE_ANALOG in X11 input. 2012-09-15 11:41:28 +02:00
Themaister 7eb9c8474a Use attrib arrays in Cg.
Attempt to modernize by avoiding glVertexPointer, etc if possible, so
that CG *might* work in a modern GL setting.

This appears to work fine on PC, but it is unknown if this will work
on PS3s CG implementation. If it works, it might be possible to strip
down RGL more by avoiding glVertexPointer and that jazz.

If not, this should be reverted.
2012-09-15 11:22:07 +02:00
Themaister d4712d97c9 Fixup error checking in ALSA. 2012-09-14 21:41:58 +02:00
Themaister 5a4c51a5cb Drop redundant branching in GL.
Pointers are always set.
2012-09-14 21:35:32 +02:00
Themaister ca50a90c09 Workaround/hack for platforms without working get_proc_address(). 2012-09-14 21:30:41 +02:00
Twinaphex 3c8b967008 (GL) Make EGL context file - have PSL1GHT build use eglGetProcAddress
- doesn't currently link
2012-09-14 11:07:50 +02:00
Twinaphex 2cf02a50b7 (PSL1GHT) At last it links... now prepare for onslaught of trouble 2012-09-14 05:07:33 +02:00
Twinaphex cfcd80328a (PSL1GHT) Avoid warnings in gl.c 2012-09-14 04:53:55 +02:00
Themaister 46cde06f55 Just use straight GL_TRIANGLE_STRIP. 2012-09-13 20:47:49 +02:00
Twinaphex 440d731a53 (PS3) RGL can use GL_TRIANGLESTRIP now - get rid of messy
GL_QUAD hack in gl.c
2012-09-13 20:35:06 +02:00
Themaister 311eb65e7d Shader_glsl.c can work without XML shader support. 2012-09-13 20:15:37 +02:00
Twinaphex 5349ad9e8a (PS3) PS3 still works after taking out HAVE_PBO 2012-09-13 19:45:18 +02:00
Themaister d8a89fe20e Add #ifdefs for GL_ES in stock frag shader. 2012-09-13 19:55:42 +02:00
Themaister df69517d79 Fixup build for PC. 2012-09-13 19:41:41 +02:00
Twinaphex 655006984e Reworked some code - PC-side still broken 2012-09-13 17:48:17 +02:00
Twinaphex df5089eb52 (PS3) Dirty hack to set GL_QUADS again - will probably change
RGL to use GL_TRIANGLE_STRIP and remove this hack later on
2012-09-13 17:27:14 +02:00
Twinaphex 713b309e3d (PS3) Works again but we can't have GL_TRIANGLE_STRIP for PS3
RGL
2012-09-13 17:19:13 +02:00
Twinaphex 483a361e72 (PS3) Commits - still broken 2012-09-13 17:11:23 +02:00
Themaister 4f82d237c3 Rework workaround ifdefs into something more sane. 2012-09-13 17:11:30 +02:00
Twinaphex 455f74ea46 (PS3) Fix build - GL side is totally screwed up now though -
investigate
2012-09-13 06:52:47 +02:00
Twinaphex c09fa1c7af Revert "(Android) Set up rarch_main_init_wrap so that it can load dynamic" - revisit
later

This reverts commit 42f2d068a7.
2012-09-13 06:45:41 +02:00
Twinaphex 42f2d068a7 (Android) Set up rarch_main_init_wrap so that it can load dynamic
libretro cores if supported
2012-09-13 06:28:57 +02:00
Themaister a4262fd0d6 Purge SDL_MODERN.
SDL 2.0 differs far more than 1.3 did, and it makes no sense
to support both now.
2012-09-12 23:37:25 +02:00
Themaister 2e538e0eb5 Drop "special macros" for apple. 2012-09-12 20:57:14 +02:00
Themaister cdb16feeb4 Enforce vertex shader in modern GLSL. 2012-09-12 20:46:38 +02:00
Themaister dcdb405267 Should fix build on GLES1. 2012-09-12 20:28:51 +02:00
Themaister 250fb340c7 Fixup some more ... 2012-09-12 20:26:59 +02:00
Themaister bb526ad3cd Fixup win32 build. 2012-09-12 20:24:57 +02:00
Themaister c29f678935 Don't include SDL headers in shader_glsl.c. 2012-09-12 20:20:22 +02:00
Twinaphex 95079a5cee (RGL PS3) Change some printfs to RARCH_LOG/RARCH_WARN 2012-09-12 16:56:09 +02:00
Twinaphex 939b9dd259 (GLSL) Add compatible header inludes for modern GL/GLES -
NOTE - we need a proper HAVE_SDL define since we are not going
to be using SDL for Rarch on either Android or PSL1GHT
2012-09-12 16:40:28 +02:00
Toad King c69b3ca938 (GX) support more resolution modes, attempt fix at clearing garbage left during screen switch 2012-09-12 09:36:38 -04:00
Twinaphex 50d8520085 (Android) Use GLES v2 - codepath for GLES v1 is broken if
GL_CLAMP_TO_BORDER is not available
2012-09-12 15:21:25 +02:00
Themaister e1fc6d7ab5 Do not use SDL_SYM_WRAP outside sdl_ctx.c. 2012-09-12 09:30:36 +02:00
Toad King 9f345b4483 (GX) prepare for more custom resolution modes 2012-09-12 00:17:33 -04:00
Toad King e8ad25aef3 (GX) fix up bugs on switching screen resolution
change RGUI dimensions to display better with different resolutions
2012-09-11 23:33:44 -04:00
Toad King 0a5c5ca1c5 (GX) big video code changes, added some custom resolutions for specific consoles 2012-09-11 21:19:45 -04:00
Themaister 4c99652a60 Rework attribute and MVP passing in GL. 2012-09-11 23:32:00 +02:00
Twinaphex 91cb9dd305 (PSL1GHT/GL) Don't compile in certain code for PSL1GHT 2012-09-11 12:38:54 +02:00
Twinaphex 201f5fd135 (PSL1GHT) More PSL1GHT work 2012-09-11 12:34:07 +02:00
Themaister f67fe439bf Fix CXX_BUILD=1. 2012-09-11 12:40:10 +02:00
Themaister 6f28393c11 Refactor extension handling slightly. Allow a path without GL_UNPACK_ROW_LENGTH. 2012-09-11 12:34:20 +02:00
Twinaphex 3d93b6a052 Add additional note 2012-09-11 10:21:22 +02:00
Twinaphex 0b7a022d75 Change HAVE_OPENGLES11 define to HAVE_OPENGLES1 2012-09-11 10:12:08 +02:00
Twinaphex 74ccee0d54 (PS3) Builds again - GL changes 2012-09-11 10:07:38 +02:00
Twinaphex 6206320e45 Stub paths for HAVE_OPENGLES || HAVE_OPENGL_MODERN 2012-09-11 10:01:23 +02:00
Twinaphex b6d2b0f3bf (GL) Use HAVE_OPENGL_MODERN ifdef in some places where it's needed 2012-09-11 09:57:53 +02:00
Twinaphex 079585d428 (GL) Clean up ifdefs - cut down on them (PS3 now uses HAVE_PSGL,
PSL1GHT now uses HAVE_OPENGL_MODERN)
2012-09-11 09:55:03 +02:00
Twinaphex e2348714ee (PSL1GHT) PSL1GHT gets further now due to changes made in gl
driver
2012-09-11 09:17:51 +02:00
Themaister 8fdd41cf76 Fix derp in man-page. 2012-09-11 00:13:29 +02:00
Themaister a8ab9c54bc Add --appendconfig option. 2012-09-11 00:10:44 +02:00
Themaister ddcc3119a9 Fix Win32 build. 2012-09-10 23:19:02 +02:00
Themaister 756f8fb3db Cleanup PBO handling. Makes it optional via ./configure. 2012-09-10 23:17:48 +02:00
Themaister 82d726f6dd Add some diagnostics for ALSA. 2012-09-10 21:25:03 +02:00
Themaister 2bf3514316 Properly use GL_UNPACK_ROW_WIDTH for FF GL. 2012-09-10 19:00:41 +02:00
Hans-Kristian Arntzen afb4474a64 Don't #ifdef for HAVE_OPENGLES in cellos. 2012-09-10 17:55:41 +03:00
Themaister 7b8d412a16 Should fix build on PS3. 2012-09-10 11:19:54 +02:00
Themaister 9871b8d56f Add preliminary PBO mode for GL. (GLES). 2012-09-10 11:15:48 +02:00
Themaister cfae6196a6 Cleanups in GL. Use GL_TRIANGLE_STRIP instead of GL_QUADS. 2012-09-10 10:29:50 +02:00
Themaister 3f84fc3263 Fix breakage of screenshots. 2012-09-10 09:52:34 +02:00
Themaister 0cb232a171 Avoid possible warnings in null_ctx. 2012-09-10 09:39:30 +02:00
Themaister 939f7a8d4c Update default bind for screenshot. 2012-09-10 09:34:52 +02:00
Toad King 08743c2111 (GX) poll both analog and digital values for GC L/R triggers 2012-09-09 23:45:48 -04:00
Twinaphex 005d25f709 (Android) Loads libretroarch library now 2012-09-10 04:51:22 +02:00
Twinaphex fb1853654b (Android) Add null_fonts, libretroarch links now 2012-09-10 02:02:30 +02:00
Twinaphex e6303c9615 Add null_ctx.c and use this for Android for now 2012-09-10 02:00:06 +02:00
Twinaphex e58d9f31dd (Android) Don't compile in linux_inputraw for Android - use
pretro_get_system_info instead of retro_get_system_info
2012-09-10 01:53:42 +02:00
Twinaphex b710babeb2 Move 'set default controls' function call outside 'set default
settings' function
2012-09-10 01:48:39 +02:00
Twinaphex 6cc534217a (Pandora) Updated Pandora icon 2012-09-10 01:39:20 +02:00
Twinaphex 8fcb79e86c (Android) Add logging 2012-09-10 01:11:49 +02:00
Twinaphex 61b0811501 (Android/GLES) Add HAVE_OPENGLES defines to gl.c - remaining stuff todo -
GL_QUADS not supported on GLES - GL_UNPACK_ROW_LENGTH/GL_PACK_ROW_LENGTH
not supported on GLES without extensions - all client state array
stuff unsupported -
- Query extensions and see if GL_UNPACK_ROW_LENGTH and GL_PACK_ROW_LENGTH
are available (on Tegra SOCs they should)
2012-09-10 00:39:26 +02:00
Themaister 4ff087cc36 Fix CXX_BUILD. 2012-09-09 23:37:12 +02:00
Themaister 8981dd6c6b Add RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS. 2012-09-09 23:35:23 +02:00
Themaister 4402fcb323 Should fix crash with --config. 2012-09-09 09:26:54 +02:00
Themaister bca1694183 Make path shell-style reading part of config reader. 2012-09-08 00:31:30 +02:00
Themaister 6a169513c9 Allow ~/ to be used in config for regular paths on *nix. 2012-09-07 22:20:49 +02:00
Themaister 369431d97d Remove some "not-so-serious" logs. 2012-09-07 21:59:20 +02:00
Themaister 29a1e7ac27 Purge some still lingering SSNES-isms. 2012-09-07 21:56:26 +02:00
Themaister 920982e34b Reword skeleton config to reflect RetroArch (and not SSNES :P). 2012-09-07 21:34:36 +02:00
Themaister 552cbd69fa Fix scaler build on 32-bit. 2012-09-07 11:14:07 +02:00
Toad King a502ca5d6f (WII) fix build on some weird environments 2012-09-04 18:42:14 -04:00
Toad King 8540752665 (RARCH_CONSOLE) fix potentially uninitialized values in aspect_ratio 2012-09-04 18:20:49 -04:00
Themaister 4a136205bc Add clarification on retro_get_system_av_info(). 2012-09-04 23:40:57 +02:00
Toad King 15e0eb04f6 (NGC) fix dol loading error 2012-09-03 19:46:21 -04:00
Toad King 40df50caf5 (NGC) add some logging messages to sidestep.c 2012-09-03 19:15:57 -04:00
Toad King 20db83cd93 (NGC) new dol booter, move app_booter to wii folder
move package folders to wii and ngc respectively
2012-09-03 18:05:23 -04:00
Themaister 41359681c3 Add special point scaler for optimal speed. 2012-09-03 00:48:00 +02:00
Themaister 3f613882a3 Avoid using IS_LINUX. Use plain __linux__. 2012-09-03 00:08:33 +02:00
Themaister ebd5bc85d5 Optimize -> bgr24 conversion paths. 2012-09-02 23:49:30 +02:00
Themaister b9630e2a2c Optimize rgb1555 -> argb8888 conversion in SSE2. 2012-09-02 20:04:35 +02:00
Themaister 86b444cb97 Use bilinear for downscales, point for upscales. 2012-09-02 15:30:15 +02:00
Themaister 064e8ff81b Replace swscale.
Swscale fails to preserve RGB colors correctly
when any kind of scaling is applied, even point filtering.
2012-09-02 15:12:00 +02:00
Themaister dff4e32cf6 Add licensing headers to scaler code. 2012-09-02 14:44:21 +02:00
Themaister 19fa31f17d Add custom scaling routines.
Implemented for point, bilinear, lanczos.
Partly optimized for SSE2.
2012-09-02 14:30:46 +02:00
Themaister 22e43d4d84 Fix typo. 2012-09-02 10:10:34 +02:00
Themaister 8663c1f009 Do not include SDL_syswm.h on OSX as it breaks. 2012-09-01 15:32:21 +02:00
Twinaphex d4754f4c6c (XDK) Same for Salamander XDK 2012-09-01 06:59:38 +02:00
Twinaphex 1b9c554690 (PS3 Salamander) Fix logic bug if libretro_path is empty 2012-09-01 06:57:57 +02:00
Toad King 3197a3177f (GX) different detection code 2012-08-31 23:55:12 -04:00
Toad King 1cbc08d9fe (GX) attempt to fix ARAM issues 2012-08-31 23:52:08 -04:00
Twinaphex d721d3c51c (Wii) Fixed define 2012-09-01 05:22:56 +02:00
Twinaphex cee5dfc1de (NGC) Links and builds again 2012-09-01 04:20:30 +02:00
Twinaphex 16b2358bf6 (GX) Wii now takes in libretro_wii.a, Cube takes in libretro_ngc.a -
DOL/ELF binary output filenames changed - split up code
2012-09-01 03:01:33 +02:00
Twinaphex f15a4a9631 (NGC) BBA (Broadband Adapter) net logging works now 2012-09-01 02:47:54 +02:00
Twinaphex e6322b9903 (NGC) Change ifdef in netlogger code from HW_RVL to GEKKO 2012-09-01 02:32:52 +02:00
Twinaphex 994325c5f9 (NGC) Small changes 2012-09-01 02:30:12 +02:00
Toad King 616af5e5ec (GX) initial work on gamecube app_booter 2012-08-31 19:38:12 -04:00
Toad King 297723b836 (GX) load new programs through app_booter instead of in MEM1 2012-08-30 18:59:21 -04:00
Toad King 3058363d49 (GX) fix menu button on GameCube 2012-08-29 23:33:51 -04:00
Toad King 348a240dee (GX) add GC makefile, fix up code so it compiles 2012-08-29 15:15:24 -04:00
Toad King 226c23d09a (GX) leave important note about MEM2 2012-08-29 14:35:04 -04:00
Toad King d87cb51848 (GX) initial forwarder support, still needs work on returning to forwarder 2012-08-28 23:00:57 -04:00
Toad King c163d0a298 (GX) have power button return to loader 2012-08-28 23:00:56 -04:00
Twinaphex 8a94595d5c (GX) Bump up version (for Wii only) to 0.9.7.1 2012-08-28 05:58:25 +02:00
Toad King d6b36c98e2 update .gitignore 2012-08-27 22:53:43 -04:00
Toad King 5f4076c755 (GX) implement hotswapping for SD/USB 2012-08-27 22:50:46 -04:00
Toad King ea70040cb3 (GX) save some MEM2 for libogc 2012-08-27 21:31:40 -04:00
Toad King baec67ebef (GX) add MEM2 manager 2012-08-27 20:36:05 -04:00
Toad King 535f83be3e (GX) implement debug text 2012-08-27 16:09:53 -04:00
Toad King fdd4adf76c (RGUI) refactor font code 2012-08-27 14:48:19 -04:00
Hans-Kristian Arntzen 0f3c3ff06c Fix small derp. 2012-08-27 15:56:42 +03:00
Hans-Kristian Arntzen 3278beb132 Add #ifdef for AVFMT_TS_NONSTRICT.
Fixes build on recent Debian.
2012-08-27 15:54:53 +03:00
Toad King 1ef0f4065d (RGUI) add support for loading font from .bin file
do not store two separate color buffers for font
saves around 400kb
2012-08-26 20:33:45 -04:00
Themaister d68f5424dc Add possibility to avoid screenshoting viewport. 2012-08-26 21:18:52 +02:00
Squarepusher 9d3f27510b Merge pull request #47 from freakdave/master
(Xbox 1) Fixed screen residues from temporary messages appearing in certain viewports
2012-08-26 11:06:02 -07:00
freakdave e525f20b2a (Xbox 1) Fixed screen residues from temporary messages appearing in certain viewports
(Xbox 1) Fixed include typo in xdk_d3d8.cpp
2012-08-26 20:00:53 +02:00
Themaister ac99ffe46e Fix minor oops. 2012-08-26 00:17:22 +02:00
Themaister 3681e4a846 Terminate recording if resolution changes.
Simpler this way.
2012-08-25 22:48:09 +02:00
Themaister 304615510a Start adding GPU recording to FFmpeg. 2012-08-25 22:38:49 +02:00
Toad King e479a50203 (GX) refactor EFB screenshot code
now might be feasible to implement it in normal compiles
2012-08-24 23:31:58 -04:00
Toad King 492e474826 (GX) change menu buffer back to 16-bit 2012-08-24 21:29:05 -04:00
Toad King 2554ec311d (GX) filter filebrowser by file extension 2012-08-24 19:42:08 -04:00
Themaister c26413dd9a (Wii) Fix build. 2012-08-24 23:32:40 +02:00
Themaister fc423995ee (Wii) Attempt to fix L/R channel issue. 2012-08-24 23:13:18 +02:00
Toad King 763dbe091f (GX) add hack for taking EFB screenshots on exit
only should be used for taking promotion screenshots
2012-08-24 16:51:11 -04:00
Toad King 31272e9a9d (GX) use dirent.d_type for deciding filetype instead of "stat"int each file
GREATLY reduces filebrowser lag for large folders
2012-08-24 02:24:13 -04:00
Themaister 4abe4fb6e0 Also create full+redist build when doing Win32 builds. 2012-08-23 21:37:46 +02:00
Twinaphex b3d1845b18 (PS3/Wii) Name ELF file targets uniquely 2012-08-23 12:25:50 +02:00
Twinaphex 51cd67bc89 (RMenu) Don't show prev messages for filebrowser-based menus 2012-08-23 05:10:11 +02:00
Twinaphex aedfb68603 Fix in rarch_configure_libretro 2012-08-23 00:46:44 +02:00
Twinaphex 51d17c1040 (PS3) Bug fix - first load the config file, then write back config file
with new libretro path
2012-08-23 00:21:49 +02:00
Twinaphex 08790a02f9 (Libretro management) if core file has been upgraded/renamed,
forcefully write to config file before loading it
2012-08-23 00:17:05 +02:00
Twinaphex 90b481acbd (Salamander PS3) Create config file with libretro_path if it doesn't exist 2012-08-23 00:09:51 +02:00
Toad King 946d09251c (GX) have salamander set libretro_path 2012-08-22 18:20:33 -04:00
twinaphex aba0d0de79 (Salamander XDK) Salamander takes care of setting a
config file with a proper libretro_path
2012-08-23 00:15:58 +02:00
Toad King 42b6fdf97a (GX) fix CORE renaming 2012-08-22 17:39:55 -04:00
Twinaphex bbaf29c4e6 Clean up rarch_console_load_game_wrap 2012-08-22 23:05:18 +02:00
Toad King 90c10a79b0 (RARCH_CONSOLE) always set libretro path if not set 2012-08-22 17:11:18 -04:00
Twinaphex 66b8d08fa8 (Libretro mgmt) Make IS_SALAMANDER ifdef the default 2012-08-22 22:46:34 +02:00
Themaister 07560e25b4 Allow dir_list_new to compare against dotted exts as well. 2012-08-22 22:43:44 +02:00
Twinaphex 5a07d757e9 (Libretro management) some cleanups 2012-08-22 22:04:46 +02:00
Toad King 059cfd3c24 (GX) fix potential null-pointer exceptions 2012-08-22 16:05:03 -04:00
Toad King a88e9e024f (GX) fix USB support 2012-08-22 15:56:39 -04:00
Twinaphex c065f93e7c (RMenu) Add 'Quit RetroArch' setting option 2012-08-22 21:27:21 +02:00
Themaister fa5164fb8d Update some more files. 2012-08-22 20:01:19 +02:00
Themaister b5918fa02a Update to 0.9.7. 2012-08-22 19:57:07 +02:00
Twinaphex 207eea3954 (Salamander/RetroArch) Add default_paths.salamander_file 2012-08-22 19:30:20 +02:00
Toad King 54234060dc (GX) hack for libretro_path on first boot 2012-08-22 13:21:07 -04:00
twinaphex ef3a84d6e0 (XDK Salamander) Small variable cleanups 2012-08-22 18:52:21 +02:00
twinaphex 51864da249 (360) set_first_file fixed - Salamander is called default.xex now 2012-08-22 18:45:40 +02:00
Toad King aaf898fde8 (RGUI) fix rom loading message not appearing 2012-08-22 12:26:11 -04:00
Twinaphex c48b5a30da (GX) Always try to save config file at exit 2012-08-22 18:10:27 +02:00
Twinaphex 3669de1228 (Salamander PS3) Fix set_first_file 2012-08-22 18:08:14 +02:00
twinaphex 2abe11cb55 (Xbox 1 Salamander) Set first file fixed
(RARCH_CONSOLE) If a config file doesn't exist, it has to
be created before we attempt to save it or else we will run
into an unfortunate 'chicken egg problem' - confirmed problem
on Xbox 1
2012-08-22 17:39:44 +02:00
twinaphex eca2c09fdd (Xbox 1 RMenu) Add sound volume level setting 2012-08-22 16:59:12 +02:00
twinaphex f921744ab4 (Xbox 1) Free up 8MB of RAM - Street Fighter Alpha 3 and all
big CPS2 ROMS work now
2012-08-22 16:22:42 +02:00
Twinaphex 16ef6ea771 (RMenu) Shortened some text messages so that it fits on Xbox 1 2012-08-22 15:50:14 +02:00
twinaphex 2ab41bbbeb (RMenu Xbox 1) Build fix 2012-08-22 15:54:23 +02:00
Twinaphex ec4fc43f57 (RMenu) Some aesthetic changes 2012-08-22 15:39:39 +02:00
Twinaphex 32df722960 (RMenu) L and R buttons now toggle between drive mappings 2012-08-22 14:35:08 +02:00
Toad King fcbcf03f65 (RGUI) change screenshot directory 2012-08-22 08:16:49 -04:00
Twinaphex 8adfd6e948 (RMenu/PS3/Xbox 1) Add D-pad emulation setting 2012-08-22 14:04:33 +02:00
twinaphex 077c3a6469 (360) Small change to input D-pad emulation logic 2012-08-22 13:50:07 +02:00
twinaphex 3c10e191f9 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-08-22 13:50:04 +02:00
twinaphex a6cd8bfe2c (360) Add D-pad emulation to controls 2012-08-22 13:44:02 +02:00
Toad King 68ff958252 (GX) generate memory map (for help with potential bug reports) 2012-08-22 06:43:02 -04:00
Toad King 2e1ad73a25 (GX) fix loading huge cores 2012-08-22 06:43:01 -04:00
twinaphex 203c3ed82e (360) Proper extension checking in 'Change libretro core' menu 2012-08-22 12:40:18 +02:00
twinaphex 26a459a234 (360) Improved usability plus improved font drawing speed 2012-08-22 03:57:28 +02:00
Toad King c88d5da147 (RGUI) strcasecmp needs strings.h, not just string.h 2012-08-21 21:31:01 -04:00
Toad King 613d330eb0 (RGUI) do a case-insensitive sort for filebrowser 2012-08-21 21:20:43 -04:00
Toad King a2dcebc33d (RGUI) add zip_extract_mode setting
add exit emulator option
trim long filenames
2012-08-21 21:16:01 -04:00
twinaphex ec22521636 (Xbox 1 RMenu) One-liner build fix 2012-08-22 02:02:13 +02:00
Twinaphex a7503eda92 (RMenu) Cleanups 2012-08-22 01:45:48 +02:00
Twinaphex 62aee43228 (RMenu) Refactored bloated menu stack code - should use less
memory now
2012-08-22 01:16:46 +02:00
Toad King 213823fd84 (RGUI) add dpad-emulation configuration 2012-08-21 18:42:09 -04:00
twinaphex 9c1725358b (Xbox 1/RMenu context) build fix 2012-08-22 00:37:42 +02:00
Twinaphex 66247dbb61 (Filebrowser) Get rid of bloated directory stack 2012-08-22 00:21:30 +02:00
Toad King faf0b6f676 (RARCH_CONSOLE) save input device selection
(GX) set dpad_emulation correctly for device on init
2012-08-21 18:14:34 -04:00
Twinaphex 9a0d6a0c33 (PS3) Bug fix - menu now starts up properly if 'Custom Scaling/Dual
Shaders' is set to 'OFF'
2012-08-22 00:01:59 +02:00
twinaphex bc30bca7d5 (XUI) Usability improvements 2012-08-21 21:31:15 +02:00
twinaphex 476f5a9fe3 (XDK) Abstracted screenshot code
(360) Fixed some XUI menu placements
2012-08-21 20:40:13 +02:00
Twinaphex 5b196e9b7d (GX) Combined savestate slot selection/savestate load/save options 2012-08-21 14:36:27 +02:00
Twinaphex 5ac07e4c3c (GX) Remove (now unnecessary) stub system files 2012-08-21 14:11:53 +02:00
Twinaphex 3b04e18739 (GX) Update Salamander so that it uses the new paths and loads
the config file from the right location
2012-08-21 14:10:10 +02:00
Toad King 0adeeaabf7 (RGUI) hold direction repeat 2012-08-21 01:14:46 -04:00
Toad King dc0b44d2f3 (GX) save input binds (per core) 2012-08-21 00:51:00 -04:00
Toad King 14af5ca589 (GX) more sane default keybinds for Wiimote 2012-08-21 00:50:33 -04:00
Toad King 1cb588f710 (GX) default paths changed to match de-facto wii homebrew layout 2012-08-21 00:28:38 -04:00
Toad King 7d4a320a17 (RGUI) add reset command to custom viewport setting
allow negative custom viewport offsets
2012-08-20 22:50:15 -04:00
Toad King fa643ee56d (RARCH_CONSOLE) do not set core aspect ratio until ROM is loaded 2012-08-20 22:28:12 -04:00
Toad King 3552f0ae16 (RGUI) custom viewport menu 2012-08-20 21:56:07 -04:00
Toad King 0c326bba2f (RARCH_CONSOLE) fix core-provided aspect ratio 2012-08-20 20:10:55 -04:00
Toad King dc76d834ae (GX) cleanup, silence warnings 2012-08-20 19:47:04 -04:00
Toad King 2087aa285e (GX) crash/compile fixes 2012-08-20 17:35:33 -04:00
Twinaphex 5a1f146dd6 (RMenu) Ingame menu selection now wraps-around 2012-08-20 21:45:34 +02:00
Twinaphex 196242aab1 (RMenu) Cleanups 2012-08-20 20:48:21 +02:00
twinaphex 3eceb86ffa (Xbox 1/RMenu) VLAs don't work here 2012-08-20 19:04:22 +02:00
Twinaphex aae20990b6 (RMenu) Add (missing) rmenu stack header file 2012-08-20 18:45:48 +02:00
Twinaphex 1822c677f8 (RMenu) Remove rmenu_entries.h 2012-08-20 18:44:24 +02:00
Twinaphex c3c72549dc (RMenu) Split up RMenu stack code into separate file 2012-08-20 18:17:08 +02:00
Twinaphex 1896ee2605 (PS3) Small Makefile fixes 2012-08-20 17:16:40 +02:00
twinaphex 19875aa709 (XDK) Added logs to xbox_io_mount 2012-08-20 16:14:13 +02:00
Twinaphex 160b96a7c3 (PS3) Some improvements to Makefiles 2012-08-20 15:55:13 +02:00
Twinaphex e2c3988103 (PS3 Salamander) Should compile on Win32 now 2012-08-20 15:07:50 +02:00
twinaphex fb3508564c (Xbox 1/360) Build fix 2012-08-20 15:07:06 +02:00
Twinaphex 969a92ac17 (RARCH_CONSOLE) Add apply_state_changes to video driver 2012-08-20 12:41:10 +02:00
Twinaphex ad576f18f5 Small cleanups 2012-08-20 12:04:32 +02:00
Toad King 6c500b45d5 (GX) add overscan code
change rotation code to not depend on vertex trickery
2012-08-19 23:20:41 -04:00
twinaphex 526558dcb3 (Xbox 1) screenshot path deployed with other targets too 2012-08-20 03:32:37 +02:00
twinaphex 6d5ed820e0 (Xbox 1/XDK) Screenshot code implemented 2012-08-20 03:30:36 +02:00
Toad King fda2dff40c (RARCH_CONSOLE) add core resolution (use aspect ratio provided by the emulation core) 2012-08-19 21:08:50 -04:00
Twinaphex 640d63d67c (RMenu) Add screenshot context functions - move more system-specific
code out of RMenu
2012-08-20 02:45:31 +02:00
Twinaphex 72d58954c3 (RMenu) Configured keybinds will no longer affect RMenu
controls
2012-08-20 02:31:18 +02:00
Toad King d478e8b0cd (RGUI) Add restart game item
fix messages only staying up for half as long as they should
general cleanup
(GX) force vsync for menu rendering
general cleanup
2012-08-19 17:22:49 -04:00
twinaphex 8ce7514871 (360) Add ZIP extract option 2012-08-19 22:53:01 +02:00
twinaphex 9cdb6991ea (360) Display tweaks 2012-08-19 22:03:24 +02:00
Themaister 982e8f7008 Make screenshot_generate_filename public. 2012-08-19 21:36:22 +02:00
Toad King 83c51f136a (RGUI) add screenshot command
(GX) general cleanups, change joystick threshold
2012-08-19 15:28:19 -04:00
Twinaphex 35c223fb12 (RMenu) rmenu_items now a local variable in select_settings 2012-08-19 18:03:50 +02:00
Twinaphex 0f25a708fc (RMenu) Don't needlessly call menu_stack_refresh 2012-08-19 16:16:47 +02:00
Twinaphex 985f25a8e4 (RMenu) Remove x_pos/y_pos 2012-08-19 16:05:00 +02:00
Twinaphex 0f4b2082c9 (RMenu) Settings items x/y are now autogenerated 2012-08-19 15:57:01 +02:00
Twinaphex 9f54285561 (RMenu) label text is now set in set_settings_label 2012-08-19 15:26:35 +02:00
Twinaphex ab91deea92 (RMenu) Fix some comments 2012-08-19 15:00:22 +02:00
Twinaphex 8c3b230e3b (RMenu) Cut down on excessive rmenu_items 2012-08-19 14:49:03 +02:00
Themaister d1029c3c92 Do not compare equal to empty string for cheats. 2012-08-19 14:05:28 +02:00
twinaphex fb06b3fc56 (RMenu Xbox 1) Get rid of unsigned mismatch warning 2012-08-19 12:14:12 +02:00
Twinaphex a94410a068 (RMenu) Refactor system-specific bits 2012-08-19 11:57:58 +02:00
Twinaphex e71851940f (RMenu) Minor cleanups 2012-08-19 02:18:01 +02:00
Twinaphex dbf8a62bd4 (RMenu PS3) Build fix + cleanups 2012-08-19 02:11:38 +02:00
twinaphex 519023542a (RMenu) More callbacks for platform-specific code 2012-08-19 02:00:40 +02:00
twinaphex 5fdb1577d8 (RMenu) Callback function for rendering font messages 2012-08-19 01:40:30 +02:00
Twinaphex 481b09a14a (RMenu PS3) Fixes ingame menu display 2012-08-19 01:19:48 +02:00
Twinaphex 0dcc3b96e9 (RMenu PS3) Build fix 2012-08-19 01:14:04 +02:00
twinaphex d8acc7e52b (RMenu) Abstract away all font positioning code 2012-08-19 01:21:31 +02:00
twinaphex f4485c29a6 (RMenu) split up font positioning code to context file 2012-08-19 00:29:38 +02:00
Twinaphex 2ebba4a347 (RMenu) Move more code to context file 2012-08-18 23:50:21 +02:00
twinaphex 0be71f9d08 (RMenu) Split up more system-specific code to the context file 2012-08-18 23:47:33 +02:00
twinaphex 8ba2faaeb6 (Xbox 1/RMenu) Context file build fix 2012-08-18 23:01:03 +02:00
Twinaphex 7c4189cdd5 (RMenu) Split up platform-specific code into Rmenu context files 2012-08-18 22:45:46 +02:00
Twinaphex c14b560255 (RARCH_CONSOLE) Refactor some console-specific things 2012-08-18 21:50:44 +02:00
twinaphex 9f75454391 (Rzlib) Add WIN32 include 2012-08-18 20:08:59 +02:00
Twinaphex 0ff9aa7b3c (RZlib) Now extracts directories in ZIP file too 2012-08-18 19:52:35 +02:00
Twinaphex 0e86504097 (PS3) 'Return to Multiman' option fixed 2012-08-18 18:25:38 +02:00
Twinaphex c8b3046c6e (Wii) Makefile update - should compile on both Win32 and Linux now 2012-08-18 16:54:57 +02:00
Twinaphex 7294049953 (RMenu) Try to cut down on size 2012-08-18 16:28:52 +02:00
twinaphex a7e28e4e67 (Xbox 1) Bump up stack size to 256K (Gambatte needs at least 256K
stack)
2012-08-18 15:38:40 +02:00
twinaphex f75f96269c (Filebrowser) change to PATH_MAX 2012-08-18 13:38:17 +02:00
twinaphex 8e559ee849 (Filebrowser) Use MAX_PATH 2012-08-18 13:17:55 +02:00
twinaphex b839910551 (Xbox 1) Set MAX_PATH to theoretical max - 260 - frees up around
20Kb
2012-08-18 12:25:37 +02:00
Twinaphex fdbea950f1 (Filebrowser) Do dir_list_free in parse_directory 2012-08-18 01:13:25 +02:00
Themaister 2234073c2f Readding static to globals in dsound. 2012-08-17 23:20:08 +02:00
Twinaphex 2790555f1c (PS3/Rmenu) Build fix 2012-08-17 21:43:12 +02:00
twinaphex a7fe9aa50a (Xbox 1) Make some variables non-static 2012-08-17 19:11:43 +02:00
twinaphex 07c6ff5666 (RMenu) filebrowser_free called at end of menu_loop - filebrowser_init
called at start of menu_loop
2012-08-17 18:22:28 +02:00
twinaphex d709cb04b4 (Xbox 1) Free up ROM select panel too - shaves off 0.34MB memory
usage
2012-08-17 18:08:15 +02:00
twinaphex 71c8dfb891 (Xbox 1) Free texture BG before going into game and reload texture
when going back to menu - frees up 3MB RAM
2012-08-17 18:02:09 +02:00
twinaphex 6a08c92ada (Xbox 1) Cut down on some static variables 2012-08-17 17:45:14 +02:00
Themaister f0d9cc09c9 Add --dualanalog/-A flag. 2012-08-16 21:21:19 +02:00
Toad King 8f3305a316 (GX) add custom linker script for increased stack size 2012-08-16 14:59:12 -04:00
twinaphex 1854388a56 (Xbox 1) Reapply stack size changes 2012-08-16 19:14:27 +02:00
twinaphex 878a141b4a (Xbox 1) Increase stack size to 131072 - Genesis Plus GX needs it 2012-08-16 19:12:34 +02:00
Toad King 9890a0ba9a (GX) aspect ratio selection
TODO: custom viewport code
2012-08-16 12:41:07 -04:00
Themaister db0501fa50 Do not log unless g_extern.verbose is set. 2012-08-16 10:52:28 +02:00
twinaphex b3d4044e09 (Xbox 1) Fix Salamander 2012-08-16 10:26:09 +02:00
Themaister 8198927260 Fixup build on Win32. 2012-08-16 10:09:44 +02:00
Themaister 38a3c72a21 Update to 0.9.7-rc2. 2012-08-16 09:31:05 +02:00
Themaister 70fd5350dc Always build in h264 support. 2012-08-16 09:25:13 +02:00
Twinaphex 979e45ea66 Remove redundant log 2012-08-15 21:02:06 +02:00
Twinaphex bbe0f00059 (GX) Should save soft_display_filter to config file now
(CONSOLE) throttle mode will not be enabled if force_nonblock
is set to true
2012-08-15 21:00:23 +02:00
Themaister 405a901d18 Be more careful about overwriting global settings in driver init. 2012-08-15 20:43:26 +02:00
Themaister 3ac159845d Set refresh_rate in console. 2012-08-15 19:59:22 +02:00
Themaister 7372509bef Revert "(Libretro) Add nonblock_state"
This reverts commit 211381bb89.
2012-08-15 19:52:48 +02:00
Twinaphex 0890fced4b (RGL) Add back cellGcmSetAlphaFunc 2012-08-15 13:54:17 +02:00
Twinaphex 8c7e235e32 (PSL1GHT/Rgl) Compatibility changes 2012-08-15 13:15:12 +02:00
Twinaphex a48376efd9 (PSL1GHT) Move GCM macro method defines to sdk_defines.h 2012-08-15 12:30:08 +02:00
Twinaphex 82fed93971 (PSL1GHT RGL) Add some GCM macro definitions for PSL1GHT 2012-08-15 12:06:04 +02:00
Twinaphex 408a0c34bc (RGL) Remove rglFifoGlVertexAttribPointer 2012-08-15 11:41:04 +02:00
Twinaphex 83a361cd82 (RGL) Replace messy initializers 2012-08-15 11:01:09 +02:00
Twinaphex 44ff5ec1c3 (RGL) Clean up RGLTransferDataVidToVid 2012-08-15 10:49:39 +02:00
Twinaphex 84de4f23e6 (Libretro) Correction to RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL
description - level 0 and 1 were described incorrectly
2012-08-15 10:03:00 +02:00
Twinaphex 211381bb89 (Libretro) Add nonblock_state 2012-08-15 09:44:17 +02:00
Themaister 447412c6df Abstract all use of *Pointer() functions to one point. 2012-08-14 23:32:55 +02:00
Themaister d0c4fdbc23 Only build in libpng if it's 1.5+.
libpng fails to build on 1.2 apparently.
It might build on 1.3 or 1.4, but 1.5+ is known to work.
2012-08-12 20:26:45 +02:00
Twinaphex 0e5528796d Set nonblock_state_func argument for >60Hz emu ports/games to true 2012-08-12 11:55:52 +02:00
Themaister 45579376f0 Add exception for RETRO_DEVICE_KEYBOARD in input_state callback. 2012-08-12 10:01:35 +02:00
Toad King 1b6b313787 (RGUI) add savestate support 2012-08-12 03:39:00 -04:00
Themaister 1794aa6dff Do not call set_nonblock_state for FF buttons if vsync isn't activated. 2012-08-12 09:36:15 +02:00
Twinaphex 1af593f910 (RARCH_CONSOLE) Run set_nonblock_state if an emu runs at more than
60fps/60Hz - to forcibly set vsync off
2012-08-12 09:19:42 +02:00
Toad King 3634136a3a (RGUI) display core name in menu 2012-08-12 01:32:22 -04:00
Themaister e14a679f83 Forcefully disable VSync if game FPS >> monitor FPS. 2012-08-12 00:40:21 +02:00
Themaister 9f452def9c Actually update rarch_video.h. 2012-08-11 20:36:52 +02:00
Themaister 5a34de395a Minor stylistic cleanups. 2012-08-11 19:43:55 +02:00
Twinaphex 4d7d35f0ef Move platform-specific thread code into common thread/ folder 2012-08-11 14:27:12 +02:00
Twinaphex e57a083697 (GX) Compile in HAVE_THREAD - provide pthread wrapper for GX 2012-08-11 13:33:32 +02:00
Themaister c9a22392c8 Update to 0.9.7-rc1. 2012-08-11 09:18:39 +02:00
Toad King 28c14e7946 (GX) silence warning 2012-08-10 23:42:24 -04:00
Toad King ce0ff54693 (GX) add devoptabs for logging stdout/stderr, useful for logging core messages 2012-08-10 22:49:12 -04:00
Toad King 545b530a50 (GX) fix asm blitter in optimized builds 2012-08-10 14:49:18 -04:00
Twinaphex e3e3e1f3bc (PS3) Create gfx_ctx_get_aspect_ratio 2012-08-10 07:20:49 +02:00
Twinaphex 28eb3604f9 (PS3/Gl) refactored stuff 2012-08-10 06:50:41 +02:00
Toad King 49922e730e (CONSOLE) port failed rom fix to other platforms 2012-08-09 23:52:51 -04:00
Toad King da0d300d54 (GX) fix exiting after failing to load a ROM 2012-08-09 23:50:49 -04:00
Twinaphex 82b3edfe86 (Xbox 1 Salamander) Fixed Salamander pathname 2012-08-10 05:28:11 +02:00
Twinaphex 6d87a1ab9f (PS3 Salamander) Build fix 2012-08-10 05:18:32 +02:00
Twinaphex 6929349c4f (GX) Salamander path refactor 2012-08-10 05:00:19 +02:00
Twinaphex fcebaca85e (PS3) Rewrite resolution context code 2012-08-10 04:48:21 +02:00
Toad King 552180f276 (SALAMANDER) fix rarch_manage_libretro_set_first_file so it doesn't select the salamander executable 2012-08-09 22:58:38 -04:00
Twinaphex 7491de4c95 (RARCH_CONSOLE) Add Salamander default path 2012-08-10 03:48:54 +02:00
Twinaphex 9d356c716d (Salamander) Remove console/salamander - Salamander is platform-independent
per port now
2012-08-10 03:37:12 +02:00
Twinaphex dfd5571f12 (RGL) Move some stuff around 2012-08-10 02:31:39 +02:00
Twinaphex f04e079d77 (RGL) Cleanups 2012-08-10 01:37:39 +02:00
Toad King 7ee8e1e524 (GX) implement core changing in RGUI
fix core management picking salamander, resulting in hard-lock
change tabs->spaces
2012-08-09 19:01:46 -04:00
Twinaphex 44209a4318 (PS3) Remove hardcoded tex coord matrices 2012-08-10 00:28:43 +02:00
Twinaphex e2c96f9a09 (RGL) Big cleanup 2012-08-10 00:00:33 +02:00
Themaister 92d18ec2f1 Add small test for RETRO_KEYBOARD to libretro-test. 2012-08-10 00:03:14 +02:00
Themaister f4ecdf2bce Remove use of cgGLSetStateMatrixParameter. 2012-08-09 23:53:15 +02:00
Twinaphex c369aa97df (RGL) Uses custom matrix code 2012-08-09 23:20:39 +02:00
Themaister a283a54bee Use calculated MVP directly in shader params. 2012-08-09 23:21:59 +02:00
Twinaphex 77b2ed5514 Revert "(PSL1GHT) Add PSL1GHT semaphore redefinitions"
This reverts commit 04a5a17409.
2012-08-09 23:06:39 +02:00
Twinaphex c45c49c5c2 (RGL) Include cgGLSetMatrixParameterfc 2012-08-09 22:15:30 +02:00
Themaister 450b59262b Avoid redundant FF GL calls. 2012-08-09 22:06:57 +02:00
Twinaphex 04a5a17409 (PSL1GHT) Add PSL1GHT semaphore redefinitions 2012-08-09 19:17:07 +02:00
Twinaphex 84a6c4d521 (RGL) Remove TextureMatrixStack 2012-08-09 18:58:08 +02:00
Themaister 749329f455 Fix build if freetype isn't enabled. 2012-08-09 10:36:51 +02:00
Themaister db6c0ee85c Use custom matrix calculation routines.
Aims for more compatibility with modern OpenGL.
2012-08-09 08:56:35 +02:00
Twinaphex 80eb46a51c (Xbox 1) Remove Arial.ttf font 2012-08-09 07:44:09 +02:00
Twinaphex abebe492af (PSL1GHT) Added some PSL1GHT GCM Defines 2012-08-09 07:39:32 +02:00
Twinaphex 9f2e1a816b (PSL1GHT) Minor cleanup 2012-08-09 07:30:42 +02:00
Twinaphex ddf33463ec (PSL1GHT) Add PSL1GHT ifdefs for input 2012-08-09 07:29:56 +02:00
Twinaphex 90786687d4 (RGL) Cleanup 2012-08-09 07:13:29 +02:00
Twinaphex 48480bc22f (PS3/RGL) Cleanup 2012-08-09 06:29:33 +02:00
Twinaphex 0c6017caff (GX) Cleanups 2012-08-09 05:27:06 +02:00
Twinaphex 5e97b86e65 (GX) Change wii_ naming conventions to gx_ 2012-08-09 03:54:27 +02:00
Twinaphex e277828526 (GX) Cleanup dirty hack a bit 2012-08-09 03:13:08 +02:00
Twinaphex 0fd65fccc1 (GX) Dirty hack to get Classic analog sticks mapped as D-pad working
properly (without messing up same controls in menu)
2012-08-09 03:07:08 +02:00
Toad King 4e8bb6580b (GX) more GC button combo changes
Exit is now Stick Down + C-Stick Down + L + R
2012-08-08 19:27:52 -04:00
Toad King 6598e71b9c (GX) Change button combos for GC controller for Menu/Exit
Stick Up + C-Stick Up + L + R for menu
Start + Select + L + R for exit
2012-08-08 18:23:33 -04:00
Twinaphex 4eb04a682c (GX) VIDEO_SetTrapFilter not run every frame now 2012-08-08 23:25:41 +02:00
Twinaphex d7fd90883b (GX) Slim down vi_encoder.c 2012-08-08 23:18:31 +02:00
Twinaphex 5de1373d23 Revert "Revert "(GX) Add VI_Trap Filter (for Wii)" - noticeable audio pops"
This reverts commit 827e69fabc.
2012-08-08 22:39:19 +02:00
Twinaphex 827e69fabc Revert "(GX) Add VI_Trap Filter (for Wii)" - noticeable audio pops
for little gain

This reverts commit 690ac65d3e.
2012-08-08 21:25:52 +02:00
Twinaphex 690ac65d3e (GX) Add VI_Trap Filter (for Wii) 2012-08-08 21:04:33 +02:00
Twinaphex c6032be256 (GX) Add gamma correction options in settings menu 2012-08-08 19:55:38 +02:00
Twinaphex 5e2307d9c9 (GX) Add rotation options in settings menu 2012-08-08 18:47:15 +02:00
Themaister 2f9585829e Implement for JOYPAD explicitly. Defaults to 0. 2012-08-08 08:33:44 +02:00
Themaister 2dfd32d694 Do not return early if id is large (likely so with RETROK_). 2012-08-08 07:52:20 +02:00
Themaister 50980263fb Correctly use RETRO_DEVICE_KEYBOARD in ext_gfx. 2012-08-08 07:47:10 +02:00
Themaister e3a2bf1463 Fix build if --disable-netplay is used. 2012-08-08 07:40:00 +02:00
Twinaphex c48d8e45a9 (GX) Quit shortcut combos added - for Wiimote (Home + B) - for
Classic (Home + ZL + ZR) and Gamecube (L + R + Z + Start + A)
2012-08-08 06:56:56 +02:00
Toad King 54a5845321 (GX) initial in-game menu 2012-08-07 23:40:17 -04:00
Twinaphex a5f8651dcd (GX) Add 90/180/270 degree rotation tex coord matrices -
wii_set_rotation just needs to be implemented now
2012-08-08 00:36:47 +02:00
Twinaphex ba2323c443 (GX) Update icon - no more SSNES icon 2012-08-08 00:12:10 +02:00
Twinaphex ab0ce82b1e (GX) Alpha blended image overlay when exiting back to menu 2012-08-07 23:52:36 +02:00
Themaister c76a4b4092 Nonblock console reads appear to work on Win32. 2012-08-07 22:36:44 +02:00
Themaister 01f9ad8d8d Build in STDIN_CMD on Win32. 2012-08-07 21:31:43 +02:00
Themaister 54353961e1 Fix build for Win32. 2012-08-07 21:27:59 +02:00
Toad King c850fa956f (GX) video changes 2012-08-07 13:12:51 -04:00
twinaphex ae7292b111 (Xbox 1) Save flicker filter and soft filter in config file 2012-08-07 18:33:16 +02:00
twinaphex a9de8e41e5 (Xbox 1) Add flicker filter and soft display filter options in
Settings menu
2012-08-07 18:26:52 +02:00
Squarepusher f41c252f6f Merge pull request #43 from freakdave/master
(Xbox 1) Fixed screen rotation code
2012-08-07 08:20:45 -07:00
freakdave 565e7e0a6d (Xbox 1) Set SDFilter to default value (disabled), leave FFilter at 1 though 2012-08-07 16:36:29 +02:00
freakdave b174eb3f7a (Xbox 1) Small but necessary bug fix in screen resize code (rmenu) 2012-08-07 16:26:12 +02:00
freakdave ee77a2dac7 (Xbox 1) Fixed screen rotation code 2012-08-07 14:39:27 +02:00
Twinaphex 0fc1a37872 (GX) Get rid of static variables in gx_video.c 2012-08-07 06:04:17 +02:00
Twinaphex a413b4126f (GX) Take out some unused and unimplemented stubs 2012-08-07 05:30:14 +02:00
Twinaphex d78cab023b (GX) Add HW_RVL ifdef 2012-08-07 05:27:27 +02:00
Twinaphex 46210fce54 (Wii) Rename all Wii files to gx/ 2012-08-07 05:24:12 +02:00
Toad King 4a328960a4 (Wii) prepare RGUI/gx_video for in-game menu 2012-08-06 22:30:18 -04:00
twinaphex cc154d21ab (Xbox 1) Add RetroArch Salamander project + fix config_file.c 2012-08-07 00:23:25 +02:00
Twinaphex a6424f02b0 (RMenu) Cleanup 2012-08-06 23:37:53 +02:00
twinaphex 8dae2d2179 (Xbox1/RMenu) Move Xbox init code to xdk/frontend/main.c 2012-08-06 22:53:57 +02:00
twinaphex 72b7ecaaff (RMenu) Take out some unused Xbox 1 definitions 2012-08-06 22:49:10 +02:00
Twinaphex 61d5977054 (Wii) Change WII_ prefixes to GX_ 2012-08-06 22:00:35 +02:00
Twinaphex f2343569bc Add rarch_settings_set_default - default rate control/enable for
GEKKO
2012-08-06 21:44:25 +02:00
Twinaphex ca82b46a3c (Wii) CORE.dol file is now renamed to sane filename - libretro
management code seems to be more or less up and running now
2012-08-06 21:32:06 +02:00
Toad King 0b47c01ef5 (Wii) change default values for audio rate control 2012-08-06 15:24:17 -04:00
Toad King c53f9ff982 (Wii) config file changes
(Consoles) save audio rate control
2012-08-06 15:13:37 -04:00
Toad King b64207a8aa Do not open config files on console in append mode 2012-08-06 15:12:59 -04:00
Toad King cc52ee9754 (Wii) forward arguments to loaded DOL files, fixes paths 2012-08-06 13:35:31 -04:00
Twinaphex fe5a11b051 (RGL) Cleanups 2012-08-06 18:24:54 +02:00
Squarepusher fba4f6273a Merge pull request #42 from freakdave/master
(Xbox 1) Fixed lockups that occurred due to negative viewport coordinates (X,Y in Resize Mode)
2012-08-06 07:41:13 -07:00
freakdave 64ef86ce06 (Xbox 1) Added ifdef's to the viewport fix, i don't know if other platforms allow negative values. 2012-08-06 15:15:58 +02:00
freakdave 0da3b628c6 (Xbox 1) Fixed lockups that occurred due to negative viewport coordinates (X,Y in Resize Mode) 2012-08-06 15:08:10 +02:00
Twinaphex 7fb25a76c8 (RGL) Tweaks 2012-08-06 05:05:16 +02:00
Toad King fd3ee5a9dd (Wii) salamander fixes 2012-08-05 22:26:03 -04:00
Twinaphex 4b4b704182 (PS3) Quick build fix - update RetroArch ELF name 2012-08-06 03:07:34 +02:00
Toad King 8fd7ca74b1 (Wii) compile salamander with correct link options 2012-08-05 20:52:15 -04:00
Twinaphex f9489dedcd (Wii Salamander) Salamander for Wii (WIP) 2012-08-06 02:36:41 +02:00
Twinaphex 465c2f9e33 (Salamander) Custom versions of Salamander 2012-08-06 02:07:57 +02:00
Toad King fec81d2ee4 (Wii) don't list "boot.dol" in core selector 2012-08-05 18:36:23 -04:00
Toad King 07ae3a873c (Wii) updated launcher code 2012-08-05 18:36:03 -04:00
Twinaphex abc16197d8 (RARCH_EXEC Wii) Change u32 to uint32_t 2012-08-06 00:06:01 +02:00
Twinaphex aecd2be860 (Wii) Add RARCH_EXEC for Wii port - should load values from
config file now and save them (WIP)
2012-08-06 00:01:10 +02:00
Twinaphex 07a2803515 (Libretro mgmt) Move comments to header 2012-08-05 21:55:53 +02:00
Twinaphex 62d01cbca7 (Libretro mgmt) Clean up rarch_configure_libretro 2012-08-05 21:52:54 +02:00
twinaphex a66291c309 (Xbox 1) Create RetroArch Salamander XBE file - default.xbe 2012-08-05 19:09:51 +02:00
twinaphex 9e6c9e5f7b (Xbox 1) Option for debug info messages 2012-08-05 18:42:54 +02:00
twinaphex 0ec872c917 (RMenu) PATH_SYSTEM_DIR_CHOICE works now 2012-08-05 17:53:01 +02:00
twinaphex 0625286a22 (Xbox 1) Only show debug messages if g_console.fps_info_enable
is set to true
2012-08-05 17:38:21 +02:00
twinaphex 1448761e73 (Xbox 1) Refactor surface code to implementation of texture_image 2012-08-05 17:18:19 +02:00
twinaphex 8e1dfde5cb (Xbox 1) Rename PNG files 2012-08-05 16:35:01 +02:00
Twinaphex ac579f2d6a (RMenu) Move image files to console/rmenu/images 2012-08-05 15:32:20 +02:00
Themaister 6f8f063b90 Simplify win32 read_stdin(). Still untested. 2012-08-05 13:01:33 +02:00
Twinaphex d521edd86a (libretro mgmt) Get rid of rarch_configure_libretro function 2012-08-05 07:43:37 +02:00
twinaphex 848ef3c1e4 (Libretro mgmt) use rarch_configure_libretro_core for
Xbox 1 port
2012-08-05 07:51:43 +02:00
twinaphex 6b02f6d21d (Xbox 1) Have to mess around to get libretro management working
properly again
2012-08-05 05:20:12 +02:00
twinaphex 51507235b4 (RMenu) Change dir passed to 'System dir selection' to
default_paths.system_dir
2012-08-05 04:56:27 +02:00
twinaphex 2affce8829 (RMenu) Take out _XBOX1-specific defines - make it more generic 2012-08-05 04:43:21 +02:00
twinaphex bbe0555185 (Xbox) Take out debug log 2012-08-05 04:36:04 +02:00
twinaphex fe62cf91a9 (Xbox 1) Fixes crashes when attempting to go to 'Libretro/paths'
dir selection screens - had to do with wrong path setting
2012-08-05 04:30:02 +02:00
twinaphex 8cfeeeb2b6 (Xbox 1) Updated Xbox 1 BG 2012-08-05 03:45:56 +02:00
Twinaphex beb052dc37 (PS3/RMenu) Small changes to menu background 2012-08-05 03:22:44 +02:00
Twinaphex 3c85d9f386 (PS3 / RMenu) Graphic changes 2012-08-05 03:00:38 +02:00
twinaphex c531908d21 (Xbox 1/RMenu) Aesthetic tweaks + original GIMP image 2012-08-04 22:55:37 +02:00
Twinaphex 755f73cee9 (RMenu) Graphical tweaks 2012-08-04 21:43:46 +02:00
twinaphex 104ff16169 (RMenu) New backgrounds 2012-08-04 20:57:59 +02:00
Twinaphex 6826301b75 (PS3) Debug fonts show again + menu label tweaks 2012-08-04 17:30:31 +02:00
twinaphex d1d587b988 (RMenu) Changes 2012-08-04 17:21:49 +02:00
twinaphex fe299c19a7 (RMenu) Dehardcode some font paths 2012-08-04 16:53:34 +02:00
twinaphex 50ce3fc6c9 More ifdeffing out of cheat settings if HAVE_XML is not defined 2012-08-04 07:26:50 +02:00
twinaphex a1eecbfcc5 (Xbox 1) Ifdef out PATH_CHEATS if HAVE_XML is not defined 2012-08-04 07:24:15 +02:00
twinaphex 529e5d7d18 (Xbox 1) Add D3D8 alpha blending 2012-08-04 05:59:30 +02:00
twinaphex 98385f8ccf (RMenu) Cosmetic tweaks -label adjustments 2012-08-04 05:37:02 +02:00
twinaphex 15e9860ab9 (Xbox 1/RMenu) Fixes for some of the 'set directory' settings 2012-08-04 05:26:46 +02:00
twinaphex 2d638d5708 Merge branch 'master' of https://github.com/Themaister/RetroArch
Conflicts:
	console/rmenu/rmenu.h
2012-08-04 05:12:29 +02:00
twinaphex 8ac6a7968e (RMenu) message queue works now on Xbox 1 too 2012-08-04 05:10:49 +02:00
Twinaphex 7ca0637418 (Xbox 1) Cleanups to IoSupport.cpp / Surface.cpp 2012-08-04 03:50:10 +02:00
Twinaphex 770123eb74 (RGUI) Move RGUI and make define for it - two competing menus/GUIs
now to choose from that are mostly platform agnostic
2012-08-04 03:32:25 +02:00
Twinaphex 80a01479b1 (RMenu) Add define HAVE_RMENU - add it to griffin.c 2012-08-04 03:25:44 +02:00
twinaphex 09c33a5aa9 (RMenu) More trimming of messages 2012-08-04 03:31:54 +02:00
twinaphex 41ff7bb1fc (RMenu) Trim down messages to fit on Xbox 1 screen (640x480 assumed) 2012-08-04 03:28:31 +02:00
twinaphex d1ae6e41b6 (Rmenu / Xbox 1) Highlighter for selected item in settings/ingame
menu
2012-08-04 03:11:49 +02:00
twinaphex 1cb896d0b6 (Xbox 1) Rmenu build fix 2012-08-04 02:44:02 +02:00
Twinaphex 17780cb5a8 (Rmenu/fonts) no longer use gl_render_msg_post 2012-08-04 02:28:38 +02:00
Twinaphex ab3b97cb40 (PS3) Clean up RMenu - don't use 'post' font functions 2012-08-04 02:06:46 +02:00
twinaphex ed0bda6869 (xbox 1) Have most menus work on xbox 1 - font placement needs
work
2012-08-04 01:49:59 +02:00
twinaphex b40dc9e1a7 (RMenu) Some cleanups 2012-08-03 21:41:07 +02:00
Twinaphex 275fdb104b (RMenu) Portable menu code - still WIP 2012-08-03 21:22:43 +02:00
twinaphex 0314580bb5 (Xbox 1) Now reuses PS3 menu code 2012-08-03 21:25:49 +02:00
Twinaphex 6071c25905 (Xbox 1/PS3) More changes 2012-08-03 21:06:52 +02:00
twinaphex bc92cbc40a (Xbox 1/PS3) more menu compatibility tweaks 2012-08-03 19:36:11 +02:00
Twinaphex a32fee16f4 (PS3) Add _XBOX1 defines to menu.c 2012-08-03 18:52:17 +02:00
twinaphex bb338d07d7 (PS3/Xbox 1) Menu unification changes 2012-08-03 18:54:59 +02:00
twinaphex 8e71b62748 (PS3/Xbox 1) Menu changes 2012-08-03 18:27:38 +02:00
twinaphex b06da6e259 (Xbox 1) Build fix 2012-08-03 18:10:00 +02:00
Twinaphex 9976b81f18 (PS3/Xbox 1) Menu changes 2012-08-03 17:54:22 +02:00
Twinaphex 9123da72ae (PS3/Xbox 1) Make menu code usable for both PS3/360 2012-08-03 06:34:33 +02:00
twinaphex 8a5641a585 (Xbox 1) Add BeginScene to gfx_ctx_clear 2012-08-03 06:24:19 +02:00
twinaphex bb4a516f6f (Xbox 1) Uses gfx_ctx_clear now 2012-08-03 06:20:43 +02:00
twinaphex dc21864405 (Xbox 1) Create more context functions for XDK 2012-08-03 04:39:37 +02:00
twinaphex 7cc14a6c4d (Xbox 1) Menu tweaks 2012-08-03 04:09:38 +02:00
Twinaphex c96608eadc (PS3) Make position values interchangeable between platform ports 2012-08-03 03:46:01 +02:00
twinaphex 670da875e7 (Xbox 1) Bring Xbox 1 menu code more inline with that of PS3 2012-08-03 03:24:36 +02:00
Darren 21e58c797c (Pandora) Update launcher script's file extension filters for PCSX (and FBA) 2012-08-02 21:16:29 -04:00
Darren 23c3aa5eda Merging changes from upstream... 2012-08-02 21:14:29 -04:00
Darren Alton 348a8f96db (Pandora) Give RetroArch-Phoenix a default config file. 2012-08-02 21:12:02 -04:00
Darren Alton a8b31c90e6 (Pandora) forgot to preload pixelperfect SDL for phoenix as well. 2012-08-02 21:12:02 -04:00
Darren Alton 2cd7def716 Add retroarch-phoenix to the PND, update scripts and PXML accordingly. 2012-08-02 21:12:02 -04:00
twinaphex 9baafe5267 (Xbox 1) Menu revisions 2012-08-03 01:57:53 +02:00
twinaphex d28ebe7644 (Xbox 1) Menu changes 2012-08-03 00:23:09 +02:00
Twinaphex 35ad0644a9 (PS3) Font change 2012-08-03 00:02:02 +02:00
Twinaphex 15cb863227 (PS3) Replace input_ps3 with input_ptr 2012-08-02 18:36:34 +02:00
twinaphex 9476cbe9eb (Xbox 1) Change hardcoded 'input_xinput' reference with macro
input_ptr
2012-08-02 17:57:53 +02:00
twinaphex 2f4d568ded (Xbox 1) Add some more menu logic 2012-08-02 17:22:13 +02:00
twinaphex cdb2a2b4e7 (Xbox 1) Streamline menu code with that of PS3's 2012-08-02 17:09:41 +02:00
twinaphex cd25e8b7c9 (Filebrowser) Cleanups 2012-08-02 16:27:40 +02:00
Twinaphex da9a47dfa2 (PS3) Platform-agnostic button labels - pt.3 2012-08-02 15:52:31 +02:00
Twinaphex d78ab56fee (PS3) Platform-agnostic button labels - pt.2 2012-08-02 05:49:37 +02:00
Twinaphex 1c09aa4fdd (PS3) RGL cleanups 2012-08-02 03:24:14 +02:00
Twinaphex 16119d8ad7 (PS3) Platform-agnostic button labels 2012-08-02 01:59:05 +02:00
Twinaphex a90171b9cc (PS3) Replace another hardcoded value 2012-08-01 21:19:13 +02:00
Twinaphex 136cd5db9c (PS3) Replace some hardcoded font values 2012-08-01 20:59:03 +02:00
Twinaphex 0f1e673b2e (PS3) Will no longer crash program if a directory can not be
loaded in the filebrowser (for whatever reason)
2012-08-01 17:22:10 +02:00
Twinaphex 931aa7de89 (PS3) Remove non-working info messages 2012-08-01 16:51:16 +02:00
Twinaphex 1e414eb398 (PS3) Dehardcode font width/height/scale variables for portability 2012-08-01 16:47:37 +02:00
Twinaphex 99bdfc6713 (PS3) Replace PS3-specific defines 2012-08-01 06:17:25 +02:00
Twinaphex bfb045066d (PS3) Fix warnings in menu.c 2012-08-01 05:48:39 +02:00
Toad King b1f5052fbc (Wii) GUI code for code switching
Actuall switching not yet implemented
2012-07-31 21:20:06 -04:00
Twinaphex 5cbdc41093 (PS3) Enums should be included regardless of whether or not HAVE_OSKUTIL
is defined
2012-08-01 03:01:29 +02:00
Twinaphex 6d280e9fbb (PS3) Clean up Cellframework2 leftovers from ps3_input.c 2012-08-01 03:00:12 +02:00
Twinaphex b7570aca07 (PS3) Platform-independent input code in menu 2012-08-01 02:56:15 +02:00
Twinaphex 62a69f01ac (PS3) Input refactoring 2012-08-01 00:00:44 +02:00
twinaphex bc8675f711 (360/Xbox 1) Use the same input driver now for both 360 and Xbox 1 2012-07-31 20:56:05 +02:00
twinaphex ff54bc6c0f (Xbox 1/360) Control input refactoring 2012-07-31 20:09:17 +02:00
twinaphex 881a1458af (Xbox 1) Fill in rarch_key_pressed 2012-07-31 17:56:32 +02:00
twinaphex 20490fe81b (Xbox 1) Bring menu code inline with that of PS3 2012-07-31 17:12:10 +02:00
Twinaphex 6146d64474 (PS3) Menu refactoring 2012-07-31 16:06:34 +02:00
Twinaphex c7937d321e Merge branch 'master' of github.com:Themaister/RetroArch 2012-07-31 05:05:10 +02:00
Twinaphex d5cc93213a (PS3) Menu cleanups 2012-07-31 05:04:47 +02:00
Toad King fa4898757c (Wii) testing code for core switching 2012-07-30 23:00:58 -04:00
Twinaphex 8f7b406611 (PS3) Small fix in display_menubar 2012-07-31 03:28:40 +02:00
Twinaphex 1365ac3aca (PS3) Use more wrapping in menu 2012-07-31 03:26:00 +02:00
twinaphex 43077df35b (Xbox 1) Use font wrapper functions 2012-07-31 01:23:42 +02:00
Twinaphex b425531dd9 (Xbox 1) Add Xbox 1 font files 2012-07-31 00:14:23 +02:00
Twinaphex d963e256d2 (PS3) Wrap cellDbgFont calls for portability 2012-07-30 23:42:29 +02:00
Twinaphex cfc694b193 (PS3) Some more menu changes 2012-07-30 23:27:16 +02:00
Twinaphex ab97a624f4 (PS3) Split up filebrowser code from menu stack code 2012-07-30 21:20:42 +02:00
Twinaphex e1e3909034 (PS3) Menu stack code can now be split up 2012-07-30 17:54:11 +02:00
Twinaphex d72bc6558a (PS3) Menu cleanup 2012-07-30 17:19:05 +02:00
Twinaphex 463c8c551c (PS3) Refactor menu code 2012-07-30 16:24:28 +02:00
Twinaphex 51b49ac027 (RGL) Tweaks 2012-07-30 14:28:36 +02:00
Themaister d038cdce37 Refactor ifdef logic in config to r/a+ modes. 2012-07-30 07:58:07 +02:00
Twinaphex 88e02be97a (RGL) Logging exit fix 2012-07-30 05:32:04 +02:00
Twinaphex b03fa0c37b (RGL) Cleanups 2012-07-30 04:02:15 +02:00
twinaphex d324683306 (xbox 1) Rewrite IoSupport.cpp 2012-07-30 02:11:50 +02:00
twinaphex 62673179ab (Xbox 1) Minor cleanup - menu 2012-07-30 01:46:23 +02:00
Twinaphex e4fe183a2c (PS3) Faster menu - cut down on unnecessary disk access 2012-07-30 01:35:11 +02:00
twinaphex 5811df47e3 (Xbox 1) Remove useless log 2012-07-30 01:30:14 +02:00
twinaphex 5264bbb7dc (Xbox 1) Clean up unsigned/signed comparison mismatch warning 2012-07-30 01:24:59 +02:00
Twinaphex 0067710c65 (RARCH_CONSOLE) Only compile in rarch_console_input.c if HAVE_DEFAULT_RETROPAD_INPUT
is defined
2012-07-30 01:10:36 +02:00
Twinaphex 3d47ee9ea4 (RARCH_ZLIB) Stick to 'ret' naming convention for return error values 2012-07-30 01:01:20 +02:00
Twinaphex 9d16bca7c8 Rename rarch_console_sound.c to rarch_console_rsound.c 2012-07-30 00:58:47 +02:00
Twinaphex daff4fb27c (PS3/UNIX-type FS) Skips '.' and '..' directories from being
included in the dir list when doing dir_list_new
2012-07-30 00:36:09 +02:00
twinaphex 1be33ff581 (RARCH_CONSOLE) Create default_paths.filebrowser_startup_dir -
to get rid of system-specific hacks
2012-07-30 00:26:37 +02:00
twinaphex 2d3a2ac7c9 (Xbox 1) Clean up Surface.cpp 2012-07-30 00:11:56 +02:00
twinaphex 676f16b284 (Xbox 1) Rewrite Surface.cpp 2012-07-30 00:08:07 +02:00
twinaphex 293740c4d5 (Xbox 1) Slim down surface class 2012-07-29 23:24:39 +02:00
twinaphex 23dbd820d2 (Xbox 1) Remove MenuMain and MenuManager 2012-07-29 23:09:23 +02:00
Twinaphex e96b29a4bb (PS3) Do same revisions in PS3 menu code - for later integration
with Xbox 1 code
2012-07-29 22:34:03 +02:00
twinaphex f8ee763cf9 (Xbox 1) Revisions to menu code 2012-07-29 22:42:55 +02:00
twinaphex 213bc33238 (Xbox 1) refactoring in MenuMain.cpp 2012-07-29 22:33:10 +02:00
twinaphex a478c88387 (Xbox 1) Build fix 2012-07-29 22:21:57 +02:00
Twinaphex 49847e90bd (Xbox 1) Cleanups to MenuMain.cpp 2012-07-29 22:09:47 +02:00
twinaphex 629dfe4a15 (Xbox 1) Uses filebrowser code now - now lists subdirs as well 2012-07-29 22:07:40 +02:00
twinaphex 49bbacdaf1 (Xbox 1) Remove Global.h header 2012-07-29 20:45:21 +02:00
twinaphex 6926b78840 (Xbox 1) Remove Font.cpp - shaves off another MB of memory usage 2012-07-29 19:54:20 +02:00
twinaphex 1b45c5b5de (Xbox 1) Use debug fonts for menu instead of textures per ROM
- we don't have much RAM on Xbox 1 - TODO: make certain text smaller
2012-07-29 19:47:45 +02:00
twinaphex d7fc00757d (Xbox 1) Change sprintfs to snprintfs 2012-07-29 18:46:52 +02:00
twinaphex c92c08ff31 Replace strcpys with strlcpy (except for librsound.c) 2012-07-29 18:38:55 +02:00
Twinaphex 22dc1b9e72 (RARCH_CONSOLE) If a config file does not exist, try to create it
first before entering out of config_file_new function - reduces
some code bloat in console ports
2012-07-29 18:17:53 +02:00
twinaphex 6aa0eea7bf (Xbox 1) Properly configure analog D-pad mapping
(Xbox 1) Build fix
2012-07-29 17:50:33 +02:00
twinaphex b2f9b90f1c (360) Gamma correction enabled by default now 2012-07-29 17:27:20 +02:00
Twinaphex 4cdd4eb8db We need to implement this properly or not at all - removing this
hackish thing for now
2012-07-29 17:09:48 +02:00
Themaister e5a7ef7cf5 Fix subtle bug in file_path_basedir.
Also applies minor stylistic fixes to file_path.c.
Adds return type to wchar/char conversion functions.
2012-07-29 09:23:04 +02:00
Twinaphex a75ca75fd1 (RGL) Cleanups 2012-07-29 01:10:15 +02:00
twinaphex c9607c4684 (360) Filebrowser open crash fix - was happening because of
path issue - remove retroarch.cfg and try again
2012-07-29 00:03:13 +02:00
Twinaphex 8451cf867e (Griffin) Cleanups 2012-07-28 22:58:08 +02:00
Twinaphex 08eb81ca64 (RARCH_CONSOLE) Remove rarch_console.c 2012-07-28 22:52:30 +02:00
twinaphex 376ca9d087 (360) Build fix 2012-07-28 22:51:33 +02:00
Twinaphex 6ada9080f1 Move char to wchar and wchar to char conversion functions to
file_path.c
2012-07-28 22:36:49 +02:00
twinaphex e9862014c2 (Xbox 1) Build fix 2012-07-28 22:34:18 +02:00
Toad King 183369fd4b (Wii) fix compile warnings 2012-07-28 15:36:03 -04:00
Toad King 649832e702 (Wii) disable ASM blitter, optimization breaks it 2012-07-28 15:15:47 -04:00
Twinaphex f4559bf636 Move rarch_extract_directory to file_path.c and rename it
fill_pathname_basedir
2012-07-28 20:43:34 +02:00
Twinaphex eff526076b (RARCH_CONSOLE) Make rarch_console_name_from_id static 2012-07-28 20:31:58 +02:00
Twinaphex fb85f5950e (RARCH_CONSOLE) Some refactorings to reduce dependencies on
g_console being there
2012-07-28 19:17:34 +02:00
twinaphex 383be7bd29 (360) Salamander build fix 2012-07-28 19:11:58 +02:00
Twinaphex 131444a9f8 (Salamander) Build fixes 2012-07-28 18:53:44 +02:00
twinaphex 4242295f93 (360)Include rarch_console_libretro_mgmt.c into Salamander solution
and remove duplicate code in Salamander
2012-07-28 18:55:40 +02:00
Twinaphex ba64d7fa3f (RARCH_CONSOLE) Refactor rarch_configure_libretro_core 2012-07-28 18:41:18 +02:00
twinaphex 528ba5c9bb (360) Include rarch_console_exec.c in Salamander solution 2012-07-28 18:40:09 +02:00
Twinaphex 7f269779ce (Salamander) Reuse rarch_console_exec for Salamander 2012-07-28 18:26:30 +02:00
Twinaphex 9e3848e423 (Wii) Makefile typo - fix CFLAGS typo and remove CXXFLAGS (RetroArch
is C - there is no C++ code being compiled in for Wii or PS3)
2012-07-28 17:57:36 +02:00
Twinaphex dd522e23bb (Logger) Throw error and stop compilation if UDP port and IP address are not defined
instead of ugly hardcoded static IP address/UDP port defaults
2012-07-28 17:43:45 +02:00
twinaphex 122943299a (360) Add IS_SALAMANDER to 360 Salamander solution 2012-07-28 17:48:52 +02:00
Twinaphex 5da0354257 Make logging defines reusable by Salamander without having to
include general.h (full of dependencies which can't be met for
standalone app)
2012-07-28 17:32:30 +02:00
Twinaphex eef755d525 (RARCH_CONSOLE) Split up rsound helper functions into rarch_console_sound.c 2012-07-28 16:42:57 +02:00
Twinaphex a5beb54ad4 (RARCH_CONSOLE) Split up HAVE_EXEC functions into new file rarch_console_exec.c 2012-07-28 16:35:07 +02:00
Twinaphex c77b49b19a (RARCH_CONSOLE) Split up main_wrap code into its own file 2012-07-28 16:21:05 +02:00
Twinaphex 739fd99a21 (RARCH_CONSOLE) Split up video code for console into rarch_console_video.c 2012-07-28 16:10:59 +02:00
twinaphex 10c00eaf70 (360) Build fix 2012-07-28 16:08:49 +02:00
twinaphex b03c18187a (Xbox 1) Build fix 2012-07-28 16:05:56 +02:00
Twinaphex 714837e8c0 (RARCH_CONSOLE) Namespaced all files in console/ 2012-07-28 15:54:35 +02:00
Twinaphex 5c5ab6e510 (RARCH_CONSOLE) Make rarch_main_init_wrap static 2012-07-28 15:35:11 +02:00
Twinaphex 38001bd65f (Wii) Use audio rate control delta 0.006 by default (better sound - less pops)
(Wii) Remove test defines from gx_input.c
2012-07-28 14:51:09 +02:00
Themaister f3d9eed89f Add preliminary stdin reading for Win32 (untested). 2012-07-28 10:57:14 +02:00
Themaister 3b4ac42724 Add missing command.h. 2012-07-28 07:47:35 +02:00
Themaister 4d5c4bfd08 Add additional comments for libretro defines. 2012-07-28 07:39:05 +02:00
Themaister 488d2c5a63 Move keysyms to libretro.h.
Should allow RETRO_KEYBOARD to work on GL/SDL/X11 drivers.
2012-07-28 07:39:05 +02:00
Themaister 8fe47d5c16 Log screensaver disable in xvideo. 2012-07-28 07:39:05 +02:00
Themaister e3a846ba54 Do not reinvent screensaver wheel in sdl_gfx.c. 2012-07-28 07:39:04 +02:00
Toad King b61720ab4d (Wii) set correct d-pad emulation
remove stray log
2012-07-28 00:17:38 -04:00
Toad King abcd2e50ac (Wii) Big GUI settings cleanup, added initial controller settings support
*NOTE: Settings currently do not save*
2012-07-27 23:17:12 -04:00
Twinaphex 091e91b945 Make some unused extern functions static in retroarch_console_input.c 2012-07-28 02:47:57 +02:00
Toad King 770715501b (Wii) fix message length 2012-07-27 20:46:16 -04:00
Toad King 33d3da8142 (Wii) device settings 2012-07-27 20:40:08 -04:00
Twinaphex e0f4953de8 (RARCH_CONSOLE) Add second param to set_default_keybind_lut (port
is player no)
2012-07-28 02:28:10 +02:00
twinaphex 33c54d0906 (360) Build fix 2012-07-28 02:26:37 +02:00
Themaister 7346d0f959 Suspend screensaver on SDL/GL as well. 2012-07-28 01:55:00 +02:00
Twinaphex b29b04b4b0 (RARCH_CONSOLE) Add 'device' param to set_default_keybind_lut and
set_analog_dpad_mapping
2012-07-28 01:37:15 +02:00
Twinaphex 4cf8b6e1ea (Wii) Fixes Classic controls 2012-07-28 01:21:16 +02:00
Toad King 995a7aee85 (Wii) Wiimote+Nunchuk default binds 2012-07-27 19:14:02 -04:00
Toad King 1a65439560 (Wii) input fixes 2012-07-27 18:23:48 -04:00
Toad King 1297bf4fd3 (Wii) enable verbose logging when net logging 2012-07-27 17:55:10 -04:00
Toad King e9440d7ac8 (Wii) fix net logging 2012-07-27 17:51:36 -04:00
Toad King 184821f60e Merge branch 'master' of github.com:Themaister/RetroArch 2012-07-27 16:23:05 -04:00
Toad King 1e91c7e6cd (Wii) configure network for net logger 2012-07-27 16:22:49 -04:00
Twinaphex 03f6fa9e90 Remove broken solution 2012-07-27 22:01:15 +02:00
Twinaphex 5643ef1473 (PS3) Compiles with HAVE_LOGGER set to 1 again 2012-07-27 21:36:49 +02:00
Twinaphex 44cd3dc701 (Wii) Should compile now with HAVE_LOGGER set to 1 2012-07-27 21:33:18 +02:00
Twinaphex af6f103014 (Wii) Compile fixes for compiling with HAVE_LOGGER 2012-07-27 21:29:42 +02:00
Twinaphex 9f899b1f01 (Wii) Add WIIMOTE_PAD LUT bindings 2012-07-27 21:13:24 +02:00
Twinaphex e6a3737386 (Wii) Add some ifdefs for different LUT bindings for now - will need
to be changeable on-the-fly later
2012-07-27 21:00:56 +02:00
Toad King 501f02df64 Merge branch 'master' of github.com:Themaister/RetroArch 2012-07-27 14:55:41 -04:00
Toad King a2575d939a (Wii) add polling of Classic Controller D-Pad 2012-07-27 14:54:57 -04:00
Twinaphex 5af83668fb (Wii) Set up most of the paths on Wii 2012-07-27 19:15:42 +02:00
Twinaphex 61bfa98f5e (Wii) Quick hack so that 'ROM loading' message shows again - should
just make it so that g_console.info_msg_enable can be enabled/disabled
in the menu
2012-07-27 17:51:38 +02:00
Twinaphex 6a28a741df (Wii) get rid of warnings 2012-07-27 16:10:35 +02:00
Themaister ba05aa9f8b Place #ifdeffed stuff in null input together. 2012-07-27 16:06:39 +02:00
twinaphex 0b0a9e0f96 (Xbox 1) Build fix 2012-07-27 16:03:54 +02:00
twinaphex 6bc690b774 (360) Build fix 2012-07-27 16:01:49 +02:00
Twinaphex bf9980d8bc (RARCH_CONSOLE) Control refactor - add post_init and set_analog_to_dpad_mapping
members
2012-07-27 15:46:15 +02:00
Themaister e13b2e1cb5 Cleanup screensaver code. 2012-07-27 15:47:56 +02:00
Themaister ff9820af68 Merge branch 'master' of github.com:Themaister/RetroArch
Conflicts:
	gfx/gfx_common.c
2012-07-27 15:37:10 +02:00
twinaphex 243944ac62 (360) Build fix
(XDK) Fix system_dir setting
2012-07-27 14:59:45 +02:00
Twinaphex 3a661bff71 (RARCH_CONSOLE) Add new load_game_wrap function that all
console ports use - this abstracts away ZIP loading of ROMs too
(PS3) Add new 'ZIP Extract' mode - 'Current dir and load first
file'
2012-07-27 14:32:23 +02:00
Squarepusher f2e22e4b70 Merge pull request #33 from ficoos/linux_screensaver
Linux screensaver
2012-07-26 14:54:59 -07:00
Twinaphex 870f3a4b19 (Wii) Rename wii input/audio/video drivers - add ToadKing
to Wii port credits
2012-07-26 23:11:52 +02:00
Twinaphex ea32b7ac6d Merge git://github.com/ToadKing/RetroArch-Rpi 2012-07-26 23:03:27 +02:00
Toad King 02ee5b7948 (Wii) use input driver for menu 2012-07-26 17:07:47 -04:00
Twinaphex 6ed82854bf Merge git://github.com/ToadKing/RetroArch-Rpi 2012-07-26 21:38:37 +02:00
Twinaphex 468f7256df (PS3) Add new ZIP extract mode - can extract ZIP to current directory
now
2012-07-26 13:08:08 +02:00
Toad King 30b77de46c Merge branch 'master' of git://github.com/Themaister/RetroArch
Conflicts:
	console/retroarch_console.c
	console/retroarch_console_input.h
	wii/input.c
2012-07-26 03:20:28 -04:00
Toad King 8d7ec021f5 (Wii) Lots of input work, interface is now ready for control rebinding
Issues:
* Wiimote with nunchuk attached has button holding issue, Classic Controller might have same issue
* Have to decide how D-Pad emulation should work with Wiimotes and GC controllers
* Add special cases for menu navigation for holding up/down/left/right
2012-07-26 01:28:57 -04:00
Twinaphex 61c5bef909 (RGL PS3) Get rid of 30 microsecond sleep 2012-07-26 00:49:09 +02:00
Twinaphex 19836d5f4c (RGL) Tweaks 2012-07-26 00:35:51 +02:00
Twinaphex 1ab3cdd30a (PS3) Small cleanup in ps3_audio.c 2012-07-25 23:31:15 +02:00
twinaphex 5087d9f69c (Xbox 1) build fix 2012-07-25 23:24:38 +02:00
Twinaphex bfb933d98d (PS3) Split up more code in retroarch_console.c 2012-07-25 23:09:36 +02:00
Twinaphex 2ab5f84e5c (360/PS3) Ports that support HAVE_HDD_CACHE_PARTITION will
fill in default_paths member with path to cache dir
2012-07-25 21:46:22 +02:00
Twinaphex 811abcf612 (RARCH_CONSOLE) Further Input rewrite for console ports 2012-07-25 21:02:01 +02:00
Twinaphex 4ed249fe18 (RARCH_CONSOLE) Split up input code into retroarch_console_input.c -
beter segregation of input code
2012-07-25 19:35:21 +02:00
Twinaphex 86067e3aeb (RARCH_CONSOLE) Split up rzlib helper functions into separate file 2012-07-25 19:03:01 +02:00
Squarepusher a6c2139a21 Merge pull request #34 from freakdave/master
(Xbox 1) Rom list/text position fixes, 720p background image fix
2012-07-25 06:43:53 -07:00
freakdave 3c1a55dce4 (Xbox 1) Fixed rom list/text position in 720p
(Xbox 1) Fixed 720p background image problem (loads native 720p image now)
2012-07-25 14:23:59 +02:00
twinaphex d1d10eefdf (360) Get rid of ifdefs in 360-specific input driver 2012-07-25 14:11:00 +02:00
Saggi Mizrahi de8c4b9a5f (Linux) Suspend screen saver when using SDL or XVIDEO
This doesn't add support for the opengl backend because I'm too tired to
figure out the context mess.

Signed-off-by: Saggi Mizrahi <[email protected]>
2012-07-25 02:04:33 -04:00
Saggi Mizrahi 5a6bec18b6 Remove trailing newlines from some files
Signed-off-by: Saggi Mizrahi <[email protected]>
2012-07-25 01:22:49 -04:00
Themaister dd3a1d0df2 Error out in linuxinput if stdin is used for rom loading. 2012-07-25 04:50:47 +02:00
Themaister 38f7673fac Add command functionality to stdin. 2012-07-25 04:50:46 +02:00
Themaister bfdb1615b5 Style nitting. 2012-07-25 04:50:46 +02:00
Themaister fa1c92d7cf Clear up ifdef usage. 2012-07-25 04:50:46 +02:00
twinaphex eb0b1f9327 (Xbox 1) Cleanups to Xinput 1 driver 2012-07-24 20:04:42 +02:00
Twinaphex 04e6ef4719 (Xbox 1) Change around default keybinds for Xbox 1 2012-07-24 19:50:12 +02:00
twinaphex 19c611bf42 (Xbox 1) Dehardcoded controls 2012-07-24 19:58:49 +02:00
twinaphex c29a7e80c9 (Xbox 1) Get rid of retrolaunch.cpp wrapper file - put include lines
in griffin.c instead
2012-07-24 18:35:29 +02:00
twinaphex e88c6b5cfe (Xbox 1) Add Griffin-like wrapper file for the RetroLaunch source
files
2012-07-24 18:16:03 +02:00
twinaphex 5d22842f75 (Xbox 1) Slimming down of RetroLaunch 2012-07-24 18:03:55 +02:00
twinaphex a82d0c7a9e (Xbox 1) Freed up some more memory (32MB to 36MB free in VBA Next) 2012-07-24 17:45:28 +02:00
twinaphex 2240e96b20 (Xbox 1) RetroLaunch - complexity cleanups 2012-07-24 17:00:24 +02:00
Twinaphex 53c5ff80ed (Xbox 1) Resize title image to 128x128 2012-07-24 16:09:48 +02:00
twinaphex 37f5799302 (Xbox 1) Remove retroarch.h header file 2012-07-24 16:17:50 +02:00
twinaphex 5930c85321 (Xbox 1) RetroLaunch- remove unnneeded files 2012-07-24 16:09:01 +02:00
twinaphex c0e7511d04 (Xbox 1) RetroLaunch's Input.cpp deleted too 2012-07-24 16:06:16 +02:00
twinaphex 3e82330132 (Xbox 1) Controls now work in menu - very twitchy - will be fixed 2012-07-24 16:00:59 +02:00
twinaphex 79bd5a844b (Xbox 1) Replaced Debug.cpp code with calls to RARCH_LOG/RARCH_WARN/
RARCH_ERR
2012-07-24 12:27:49 +02:00
twinaphex 199871955c (Xbox 1) Shows menu now 2012-07-24 12:04:26 +02:00
twinaphex 58a3c8ac86 (Xbox 1) Menu shows (corrupted) screen now 2012-07-24 11:58:11 +02:00
Twinaphex 7b01393941 (PSL1GHT/RGL) Add PSL1GHT defines for GCM method macros 2012-07-24 10:36:32 +02:00
Twinaphex 83ae89dc4c (RARCH_CONSOLE) Create more helper functions for RARCH_CONSOLE 2012-07-24 09:57:34 +02:00
Twinaphex 463b43724c (PS3) Added entries to default_paths 2012-07-24 00:15:33 +02:00
twinaphex 7a74886730 (Xbox 1) Split up Xbox 1-specific code into xbox1/frontend/menu.cpp 2012-07-23 18:52:58 +02:00
Twinaphex 0fb0b26838 (RARCH_CONSOLE) Clean up ZIP extraction error/warning messages 2012-07-23 18:29:41 +02:00
Twinaphex 0e6e563b08 (PS3/360/Xbox 1) Create and use default_paths struct 2012-07-23 18:17:50 +02:00
twinaphex 2f51da4034 (Xbox 1) Remove Video.cpp from RetroLaunch - still black 2012-07-23 16:38:29 +02:00
Squarepusher b9090fca96 Merge pull request #32 from freakdave/master
(Xbox 1) Modified RetroLaunch to use RetroArch's D3D device (!NOT TESTED!)
2012-07-23 07:10:58 -07:00
freakdave fe4b07d8b1 (Xbox 1) Modified RetroLaunch to use RetroArch's D3D device (!NOT TESTED!) 2012-07-23 16:05:16 +02:00
twinaphex 7395c805e6 (Xbox 1) For testing 2012-07-23 15:42:31 +02:00
twinaphex 99b8b40ab2 (Xbox 1) Rename 'media' folder to 'Media' folder 2012-07-23 15:22:08 +02:00
twinaphex baa25cdaa2 (Xbox 1) Included RetroLaunch into the solution - not yet working
though
2012-07-23 15:11:15 +02:00
Twinaphex cecc7613db (Xbox 1) Add system and roms dir 2012-07-23 14:49:33 +02:00
twinaphex 3b7da4c020 (Xbox 1) Add media files to xbox1 dir 2012-07-23 14:58:41 +02:00
Twinaphex ec827d862b (RGL) Cleanups 2012-07-23 14:14:38 +02:00
Twinaphex 2b0bbb9fa1 (RGL) Make RGL more compatible with PSL1GHT 2012-07-23 12:27:43 +02:00
Twinaphex bf746281bd (PS3) Cleaned up RGL code + fixed ifdef error in Salamander 2012-07-23 11:09:36 +02:00
twinaphex c800df6fd5 (360) Quick compile fix 2012-07-23 10:23:27 +02:00
twinaphex 009addb8d5 (360) remove redundant code in main.c 2012-07-23 10:18:32 +02:00
twinaphex c79dbebc90 (Xbox 1) Minor changes to RetroLaunch 2012-07-23 10:15:17 +02:00
twinaphex 772ff6005f (Xbox 1) Move bottom text to 'safe area' for SDTV screens 2012-07-22 22:32:54 +02:00
Squarepusher 4c96ce8054 Merge pull request #31 from freakdave/master
(Xbox 1) Added a simple GUI
2012-07-22 11:19:10 -07:00
freakdave 7fe5059267 (Xbox 1) Just a quick fix ^^ 2012-07-22 20:12:11 +02:00
freakdave 41de6da14e (Xbox 1) Added a simple GUI, right now it browses and lists all files contained in the "roms" folder. The selected rom (its filename) is saved into T:\\tmp.retro. Press start and core.xbe will be launched. If you want to apply changes to the launching code, take a look into MenuMain.cpp.
(Xbox 1) Todo: Pass arguments (filename, settings, etc.. ?) into core.xbe or read tmp.retro and get the filename / settings from there
2012-07-22 19:54:04 +02:00
Squarepusher 3ddb4a97ec Merge pull request #29 from freakdave/master
(Xbox 1) Fixed low volume issue
2012-07-22 04:28:43 -07:00
freakdave 64378ea072 (Xbox 1) Fixed low volume issue 2012-07-19 16:53:24 +02:00
freakdave 2400e92028 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-19 16:24:50 +02:00
Toad King f9d72f583e (Wii) implement audio controll rate settings
have left/right act as page up/down in file browser
change "Start" to reset values in settings
2012-07-18 20:38:09 -04:00
freakdave bec2a220b4 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-17 18:40:47 +02:00
Twinaphex 64260b8d33 (Wii) Settings value text can contain more characters now 2012-07-17 09:49:22 +02:00
Twinaphex 968924eca6 (Wii) Use rarch_settings_change for toggling settings-related options
as much as possible
2012-07-17 01:06:13 +02:00
Twinaphex 050441741b Merge git://github.com/ToadKing/RetroArch-Rpi 2012-07-16 23:51:36 +02:00
Toad King ad1ccae211 (Wii) allow basic Wiimote navigation
map Home button to quit
fix reset button for quit
2012-07-16 17:58:50 -04:00
Toad King 7f0d3c3e38 (Wii) initial code for a settings menu 2012-07-16 17:57:43 -04:00
Twinaphex a3b0f3164d (PS3) Redefine macros used for two SDKs 2012-07-16 23:30:13 +02:00
Twinaphex 7ba26db5e7 (PSL1GHT) Attempt to compile RGL driver with PSL1GHT 2012-07-16 22:22:05 +02:00
Twinaphex 5994f6b6df (PS3/PSL1GHT) Redefine SDK function macros - fix some PSL1GHT
incompatibilities
2012-07-16 21:49:51 +02:00
freakdave c81e083958 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 20:55:09 +02:00
freakdave 616bfea527 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 20:47:17 +02:00
Twinaphex 4b3a9c6a14 (PS3) menu - Remove useless trigger_st variable 2012-07-16 20:44:01 +02:00
freakdave 679e8934e1 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 20:39:08 +02:00
Twinaphex 57c90ffc69 (PS3) Small cleanups in menu code 2012-07-16 20:35:11 +02:00
Twinaphex 1ee3524820 (PS3) menu - cleaned up trigger_state 2012-07-16 20:11:39 +02:00
Twinaphex 812e903125 (PS3) More replacing of PS3-specific input code in menu 2012-07-16 19:47:32 +02:00
freakdave fd5908786b Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 19:22:26 +02:00
Twinaphex 0f483b041d (PS3) Replace PS3-specific input code 2012-07-16 19:10:22 +02:00
freakdave f270b0a723 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 18:59:50 +02:00
Twinaphex 05e83e2f92 (PS3) control_update_wrap placed at start of menu_loop now 2012-07-16 18:29:01 +02:00
Twinaphex 821b114c6b (PS3) Better held_state mechanics 2012-07-16 18:18:12 +02:00
freakdave baa174e5bf Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 16:56:46 +02:00
Twinaphex 74e118aec5 (PS3) More reworking of controls in menu code 2012-07-16 09:53:27 +02:00
Twinaphex d6c32186d6 (PS3) Beginning of platform-agnostic controls - using a wrapper
for now
2012-07-16 09:40:26 +02:00
Twinaphex dcb670f243 Revert "(PS3) Put filebrowsers on heap"
This reverts commit 69cd4ffc46.
2012-07-16 08:44:13 +02:00
twinaphex 28691bef9a (360) put filebrowser on heap 2012-07-16 08:37:58 +02:00
Twinaphex 69cd4ffc46 (PS3) Put filebrowsers on heap 2012-07-16 08:13:05 +02:00
Twinaphex 9695761cfe (PS3) Fix build on PS3 2012-07-16 06:10:02 +02:00
twinaphex eb20bf47ea (Xbox 1) Fix FPS onscreen - needs an additional temp char buffer 2012-07-16 05:55:44 +02:00
Twinaphex d1231fb55b (Xbox 1/RARCH_CONSOLE) Create member in console_settings for showing
FPS onscreen
2012-07-16 05:40:57 +02:00
Twinaphex 58595a7c97 (Salamander) Add Xbox 1 defines 2012-07-16 05:24:32 +02:00
freakdave 8da3f8c387 Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-16 05:15:44 +02:00
twinaphex 38cde55b78 (360/Xbox 1) Move frontend/main.c to xdk dir 2012-07-16 05:13:30 +02:00
Twinaphex ec291ed398 Remove bloat code for custom gettimeofday implementation 2012-07-16 05:12:33 +02:00
twinaphex 14eb5a53cb (360) Move 360 Xinput driver back to 360 dir 2012-07-16 04:24:46 +02:00
twinaphex 4b0d3620c7 (360/Xbox 1) Move reusable XDK files to new folder - xdk -and
create header for XDK definitions
2012-07-16 02:15:47 +02:00
twinaphex 077d9a1f63 (360/Xbox 1) Xbox 1 and 360 now use the same resource
ile - xdk_resources.cpp
2012-07-16 01:58:15 +02:00
freakdave 6608b3facb Merge branch 'master' of https://github.com/Themaister/RetroArch 2012-07-15 21:39:21 +02:00
Squarepusher 14a998e3d1 Merge pull request #26 from freakdave/master
(Xbox 1) Debug output bugfixes
2012-07-15 12:28:33 -07:00
freakdave 4994404006 Merge branch 'master' of https://github.com/freakdave/RetroArch 2012-07-15 21:22:52 +02:00
freakdave 7cfe0fef40 (Xbox 1) Fixed debug output not showing correctly on HDTV's
(Xbox 1) Fixed debug output in debug mode not showing the second line (FPS/Frames)
2012-07-15 21:22:33 +02:00
Twinaphex b79a87932e Cleanups 2012-07-15 21:09:37 +02:00
freakdave ff7b280321 (Xbox 1) Fixed debug output not showing correctly on HDTV's
(Xbox 1) Fixed debug output in debug mode not showing the second line (FPS/Frames)
2012-07-15 20:49:34 +02:00
twinaphex aa150c439f (Xbox 1) FPS reporting for Xbox 1 2012-07-15 19:12:58 +02:00
Twinaphex 15e08db76e Use gfx_window_title for console ports as well - make gfx_get_fps
static
2012-07-15 18:40:41 +02:00
Twinaphex ddc1e0fda7 Make it possible to reuse FPS logging in console ports 2012-07-15 18:37:59 +02:00
Squarepusher 29d269b282 Merge pull request #24 from freakdave/master
(Xbox 1) Even more indenting fixes
2012-07-15 09:14:33 -07:00
freakdave ac83729207 (Xbox 1) Even more indenting fixes 2012-07-15 18:11:24 +02:00
twinaphex fb8c08c998 (Xbox 1) More indenting nits 2012-07-15 18:04:54 +02:00
Twinaphex a1adf7ac4b (Xbox 1) Indenting nits 2012-07-15 17:40:12 +02:00
Squarepusher 69e5223e1d Merge pull request #23 from freakdave/master
(Xbox 1) Fixed analog stick controls
2012-07-15 08:06:15 -07:00
freakdave 987943a52c (Xbox 1) Added on-screen debug output (memory usage), this can be toggled in xdk_d3d8.h -> #define SHOW_DEBUG_INFO 2012-07-15 16:27:50 +02:00
freakdave c8d74c35c9 (Xbox 1) Fixed analog stick controls 2012-07-15 15:50:30 +02:00
twinaphex ee5ca45396 (360) Move 360-specific code out of xdk360_video_resources 2012-07-15 07:25:42 +02:00
twinaphex bbd7d4d410 (360) Cleanup xdk360_fonts.cpp 2012-07-15 05:54:28 +02:00
twinaphex eb3c3d4362 (360) Cleanups in font code 2012-07-15 05:35:45 +02:00
twinaphex c2e2104c3b (360) Clean up xdk360_fonts.cpp 2012-07-15 05:21:39 +02:00
twinaphex c480c6a3d1 (Xbox 1) Working controls - hardcoded binds - will be done
properly later
2012-07-14 17:47:57 +02:00
Twinaphex 3913697cd2 (AUTHORS) Add e-mail address 2012-07-14 16:53:33 +02:00
Twinaphex 204633b0ca Add to AUTHORS 2012-07-14 16:39:48 +02:00
Squarepusher 4ffcb10a23 Merge pull request #22 from freakdave/master
(Xbox 1) Additional D3D8 driver fixes
2012-07-14 07:39:30 -07:00
freakdave 0208a18b81 (Xbox 1) Fixed a small bug in xdk_d3d_set_viewport which was causing scaling issues with some HDTV/PAL resolutions 2012-07-14 16:16:28 +02:00
freakdave 303d5c7eac (Xbox 1) Revisited and cleaned up video initialization code, this also fixes lockups for PAL users using 16:9 mode
(Xbox 1) Fixed back buffer artifacts (it's now showing proper black instead of garbled gfx)
2012-07-14 15:54:26 +02:00
freakdave bf5bfd481e (Xbox 1) Minor cleanup in D3D8 driver 2012-07-14 12:56:18 +02:00
twinaphex 57f6a06647 (360) rarch_xinput2 - Turn hardcoded values into bitshifts 2012-07-14 06:30:39 +02:00
twinaphex 6b04a46c59 (Xbox 1) (Broken) controls 2012-07-14 06:15:03 +02:00
twinaphex d9ff2d7c8f (Xbox 1) Compile in keybinds 2012-07-14 03:19:28 +02:00
twinaphex a82c1cb6e5 (xbox 1) Changes to Xinput1 driver - still not working - WIP 2012-07-13 23:34:46 +02:00
Squarepusher 6ccc887542 Merge pull request #21 from freakdave/master
XBOX 1 HDTV / wide screen modes
2012-07-12 13:29:23 -07:00
freakdave 64e4724663 (XBOX 1) Added HDTV and wide screen (some needs to test this with standard video cables) modes
(XBOX 1) Several cleanups and minor fixes
2012-07-12 22:23:25 +02:00
Twinaphex 2a9441d411 (PS3) Fix startup ROM directory not being used 2012-07-12 16:27:39 +02:00
twinaphex 5431601083 (360/Xbox 1) Input changes 2012-07-12 02:27:00 +02:00
twinaphex 6eb392766a (360/Xbox 1) Standardize Xbox1 and 360 input code 2012-07-12 02:01:13 +02:00
twinaphex 4b07c7dfc1 (Xbox 1) take out unused surface 2012-07-11 22:31:16 +02:00
Squarepusher 3bfe0a82c8 Merge pull request #18 from freakdave/master
XBOX1 D3D8 driver fixes
2012-07-11 13:08:56 -07:00
freakdave 191763a5c6 Fixed: Garbled output which was caused by missing and faulty D3D formats
Fixed: Minor speedup for Release build, see project properties-> C/C++ ->Optimization
Fixed: Texture scaling issue, at least it displays full screen now, it may still need some work though
2012-07-11 21:41:06 +02:00
twinaphex 11e2367cda (Xbox 1) Always compile as C++ for all targets 2012-07-11 18:00:19 +02:00
Twinaphex bf668ad37e (PS3) Fixed System Directory path in Settings menu 2012-07-11 05:26:52 +02:00
twinaphex 41cb7cae63 (360) Fix for SYSTEM_DIR environ 2012-07-11 04:08:36 +02:00
twinaphex 1c0fb47c59 (Xbox 1) Shows 'something' now - courtesy of freakdave 2012-07-10 22:48:41 +02:00
twinaphex 875082748c (360/Xbox 1) Small build fix 2012-07-10 17:39:26 +02:00
Themaister fe88693c90 Fix font rendering on Pi. 2012-07-10 13:40:52 +02:00
Twinaphex 9e56315cdf (PS3) Change PNG background 2012-07-10 06:48:33 +02:00
Twinaphex af560abfa4 (PS3) Don't assume slash is appended at the end of systemDirPath 2012-07-10 05:44:05 +02:00
Twinaphex 93cbc72733 (PS3) Use SYSTEM_DIRECTORY environ 2012-07-10 04:00:04 +02:00
Themaister faedd18b1c Check more explicitly for X11 presence. 2012-07-09 16:57:23 +02:00
Themaister ffbf6d7586 Fix build on ArchLinux/Pi. 2012-07-09 16:49:20 +02:00
twinaphex 29f3543b06 (Xbox 1) Add BeginScene/EndScene 2012-07-09 05:35:37 +02:00
twinaphex 5039fec1fd (Xbox 1) FF viewport stuff 2012-07-09 01:07:36 +02:00
twinaphex 91fca12b05 (Xbox 1) Add z to vertex struct 2012-07-09 00:27:37 +02:00
twinaphex 96cb6c8f53 (Xbox 1) Fixed crash - was due to BackBufferFormat being set to
erroneous value - device could not be created
2012-07-08 23:36:27 +02:00
twinaphex 7f915e3718 (Xbox 1) Some debug printfs for init device function 2012-07-08 23:21:19 +02:00
twinaphex c23f47c41f (360) Use LPDIRECT3DVERTEXBUFFER typedef 2012-07-08 23:06:57 +02:00
twinaphex fd94eee988 (Xbox 1) Compile with HAVE_D3D8 defined - cleaned up some stuff
from xdK_d3d8.cpp/h that we won't need for Xbox 1
2012-07-08 21:57:26 +02:00
twinaphex ce9601e491 (Xbox 1) Small build fix 2012-07-08 21:45:24 +02:00
twinaphex c3d9899dd1 (360/Xbox 1) Split up video/input drivers for systems 2012-07-08 21:42:26 +02:00
twinaphex c676341404 (Xbox 1) DirectSound works 2012-07-08 19:30:19 +03:00
twinaphex ae1f0cdb6d (Xbox 1) Runs a ROM now - null video/audio 2012-07-08 19:09:49 +03:00
Twinaphex 2d237784b3 (RARCH_CONSOLE) rarch_console_load_game created 2012-07-08 17:49:58 +02:00
Themaister 23904c4740 Only build in start/stop/restart on RARCH_CONSOLE. 2012-07-08 17:29:09 +02:00
twinaphex ded6f69933 (Xbox) Added RARCH_CONSOLE functions for null video driver - using null video driver for Xbox 1 for now 2012-07-08 18:21:29 +03:00
twinaphex 15dff68684 (Xbox 1/360) clean up configure_libretro 2012-07-08 17:29:36 +03:00
twinaphex 072abdb8bf (Xbox 1) Libretro management code works now - have to debug xdk_d3d_init now 2012-07-08 17:25:33 +03:00
twinaphex 6fb7e71871 (Xbox) Small cleanup to logger_override.h 2012-07-08 16:47:00 +03:00
twinaphex 65d4d44dc6 (Xbox 1) Debug output working 2012-07-08 16:43:50 +03:00
twinaphex 9a1fe3dbfb (xbox 1) changes 2012-07-08 00:34:11 +03:00
twinaphex 189ac29b11 (Xbox 1/360) main.c changes in xdk-frontend/ 2012-07-08 00:27:48 +03:00
twinaphex 8f9f7116a1 (Xbox) Fixed-function FVF for Xbox 1 2012-07-07 23:02:01 +03:00
twinaphex 1c5861650b (360/Xbox 1) Some more work on xdk_d3d.cpp 2012-07-07 22:47:23 +03:00
twinaphex 80afd6a73f (Xbox 1) Inserted XInput 1 code 2012-07-07 22:10:27 +03:00
twinaphex 0951020196 (360/Xbox 1) Refactor XInput driver with portability in mind 2012-07-07 20:56:46 +03:00
twinaphex fcb7be874e (360) Add HAVE_FBO defines 2012-07-07 20:31:04 +03:00
twinaphex 9d5978cb3e (360/Xbox 1) xdk360_video changed 2012-07-07 20:15:06 +03:00
Twinaphex dcae878cd0 getopt_long_ssnes -> getopt_long_rarch 2012-07-07 17:22:25 +02:00
Twinaphex c3d40d0f5a Snes exorcism 2012-07-07 17:19:32 +02:00
Twinaphex 2fd12edfb6 Libsnes exorcism 2012-07-07 17:08:55 +02:00
twinaphex de6d88959f (Griffin) Add compiling in of sync resampler if HAVE_FIXED_POINT is defined 2012-07-07 18:06:42 +03:00
twinaphex 6203c787bb (360) Resolve new names for video/input drivers 2012-07-07 17:53:33 +03:00
Twinaphex 4ba68cf450 Snes-isms changed 2012-07-07 16:28:01 +02:00
Twinaphex d2dfe38170 Merge branch 'master' of github.com:Themaister/RetroArch 2012-07-07 16:24:50 +02:00
Twinaphex 67d6308ffe (360) Setup Griffin for Xinput2 driver 2012-07-07 16:24:25 +02:00
Twinaphex 5b8c426b3c (360) Xinput2 driver moved to input/ 2012-07-07 16:20:31 +02:00
twinaphex 7d38649d3c (Xbox/360) Changes for interoperability 2012-07-07 16:40:14 +03:00
twinaphex e2484ce545 (360) Build fixes 2012-07-07 15:55:44 +03:00
Twinaphex 4216cded79 (360) Add 360-specific ifdefs 2012-07-07 14:41:58 +02:00
twinaphex d6718adb97 Add *.ncb to gitignore 2012-07-07 15:46:23 +03:00
twinaphex fddeac7fa9 (360/Xbox 1) Move more 360-specific code out of xdk360_video.cpp 2012-07-07 15:39:19 +03:00
twinaphex 2818673d4b (360) Include xgraphics.h in xdk360_video_resources.cpp 2012-07-07 15:31:54 +03:00
Twinaphex 12a97e675a (360/Xbox 1) Make more 360-only code generic (for Xbox 1 reuse) 2012-07-07 14:06:21 +02:00
Twinaphex 39be012268 (360/Xbox 1) Refactor code so it can be reused for Xbox 1 2012-07-07 13:57:19 +02:00
twinaphex 8a0a5b6e41 (Xbox 1) Xbox 1 solution updates 2012-07-07 06:19:29 +03:00
Themaister b84bcc3670 Check if use_float is set while doing fixed point. 2012-07-06 18:15:14 +02:00
Themaister 45481634f2 Add tests for fixed point sinc. 2012-07-06 17:04:54 +01:00
Themaister 7b12182a0f Add optional fixed point resampler. 2012-07-06 17:36:37 +02:00
Themaister 0649d36c7d Fix wording. 2012-07-06 16:00:36 +02:00
Darren Alton 4493eb646f (Pandora) Give RetroArch-Phoenix a default config file. 2012-07-05 03:34:53 -04:00
Darren Alton d4f425638e (Pandora) forgot to preload pixelperfect SDL for phoenix as well. 2012-07-05 03:29:13 -04:00
Darren Alton c6c268f8c0 Add retroarch-phoenix to the PND, update scripts and PXML accordingly. 2012-07-05 03:16:42 -04:00
Twinaphex 4e139465d2 Merge git://github.com/lifning/RetroArch 2012-07-04 15:49:14 +02:00
Twinaphex c21c51732a Added Darren Alton to AUTHORS for Pandora port - e-mail address missing 2012-07-04 15:18:58 +02:00
Darren Alton 5a97075c95 (Pandora) Remember last-selected ROM for each backend. 2012-07-04 03:32:51 -04:00
Darren Alton 2213a4d977 (Pandora) Tweaks to default cfg file.
- Enable on-screen text with DejaVuSansMono.ttf.
- Let libretro decide the aspect ratio (TODO: determine whether this is good)
- Comments above settings specifically chosen for Pandora.
2012-07-03 22:17:27 -04:00
Darren Alton 94b8325244 (Pandora) More emulator-specific resolutions for whole-number scaling.
Also added ".zip" for the arcade emulators' file choosers.
2012-07-03 22:16:27 -04:00
Squarepusher 16586eae4e Merge pull request #17 from lifning/master
OpenPandora support.
2012-07-03 11:35:57 -07:00
Darren Alton 20d1c0e250 (Pandora) Prefer squashfs to iso9660 for building PND. 2012-07-03 03:43:43 -04:00
Darren Alton 7a71f4dce6 (Pandora) Remind packager to include libretro cores. 2012-07-03 03:40:02 -04:00
Darren Alton d8fca2014e (Pandora) Makefile.pandora creates $(BINDIR) if it doesn't exist 2012-07-03 03:33:43 -04:00
Darren Alton f307084ba5 (Pandora) Config files and build scripts for OpenPandora 2012-07-03 02:36:27 -04:00
Twinaphex c770717e91 (PSL1GHT) Take out XML support 2012-07-02 02:33:19 +02:00
Twinaphex 90c6e9d069 (PSLIGHT) Compile with HAVE_XML and include libxml2 lib 2012-07-01 23:09:34 +02:00
Twinaphex 241368b0f6 Add HAVE_GLSL define 2012-07-01 22:46:25 +02:00
Twinaphex 2ec2b70a72 (PSL1GHT) Add some GL ES 2.0 hooks 2012-07-01 22:44:33 +02:00
Twinaphex 34bcb938b8 (PS3) Use HAVE_OPENGLES11 for PS3 RGL/PSGL driver 2012-07-01 22:31:44 +02:00
Twinaphex a6e1844dfd Add skeleton OpenGL ES driver 2012-07-01 22:25:02 +02:00
Twinaphex 0490e80fb2 (PSL1GHT) Add some ifdef includes 2012-07-01 22:20:59 +02:00
Twinaphex 4848403161 (PS3) refactored input 2012-07-01 22:14:09 +02:00
Twinaphex 277e1f61cd (PS3/PSL1GHT) Make commented out line SDK-agnostic too 2012-07-01 20:49:22 +02:00
Twinaphex cd00eb2b04 (PSL1GHT) Compile in OSK now too 2012-07-01 20:45:13 +02:00
Twinaphex e59d66251b (PSL1GHT) Links now 2012-07-01 18:39:40 +02:00
Twinaphex c6f6b66278 (PS3) Add HAVE_OPENGL ifdefs to ps3_input.c 2012-07-01 18:30:51 +02:00
Twinaphex 1ad679faac (PSL1GHT) ps3_audio.c compiles now 2012-07-01 18:22:57 +02:00
Twinaphex f8a2fc9fc1 (PS3) ps3_audio.c no longer uses pthread 2012-07-01 17:54:04 +02:00
Twinaphex 8bbd63ccb9 (RARCH_CONSOLE) Only compile in thread.c if HAVE_THREAD is
defined - shouldn't need it for consoles - only used for FFMPEG
recording and autosaves
2012-07-01 17:29:24 +02:00
Twinaphex 3aeb74c920 (PS3/PSL1GHT) Add stub thread.c file - now to edit it 2012-07-01 16:35:20 +02:00
Twinaphex de972fd0a3 (PSL1GHT) Add compatibility for mouse code 2012-07-01 16:32:15 +02:00
Twinaphex 51600c82d1 (PSL1GHT) Add PSL1GHT header includes for OSK/mouse 2012-07-01 16:20:33 +02:00
Twinaphex 593dae2833 (PS3/PSL1GHT) Move define party over to separate file - sdk_defines.h 2012-07-01 16:13:25 +02:00
Twinaphex d47cf7cddc (PSL1GHT) Add HAVE_FILEBROWSER - get rid of warnings in file_browser.c 2012-07-01 15:51:49 +02:00
Twinaphex b9cae6e0af (PSL1GHT) audioAddData is there in SPRX it seems but there is no
prototype in the audio.h header in PSL1GHT - found way to
workaround mutex / cond attribute initialize functions
missing
2012-07-01 15:47:57 +02:00
Twinaphex 960fc7651f (PSL1GHT) Initial PSL1GHT compatibility for ps3/audio.c -
missing pthread, missing cellAudioAddData
2012-07-01 15:18:26 +02:00
Twinaphex 4a703f80fb (PSL1GHT) Made ps3_input.c PSL1GHT-compatible 2012-07-01 14:10:13 +02:00
Twinaphex b5753c1d8a (PSL1GHT) Start to make PS3 port compatible with PSL1GHT too 2012-07-01 13:33:30 +02:00
Twinaphex 0930ff1269 Updated README.md to reflect changes 2012-06-30 16:41:35 +02:00
Twinaphex 46f64f2627 (PS3) The separate libs for PS3 (libretroarch.a and librgl.a) should
now be named libretroarch_ps3.a and librgl_ps3.a - changed in
Makefile too
2012-06-30 15:06:59 +02:00
Twinaphex ba03ae59e7 Each platform now links in a differently named libretro file - ie.
libretro_ps3.a, libretro_wii.a, libretro_xdk360.a, libretro_xenon360.a,
libretro_xdk1.a, and so on
2012-06-30 14:59:39 +02:00
Twinaphex eb76385a45 (PS3) Much-needed style nits 2012-06-30 14:04:34 +02:00
Twinaphex 23f18bd494 (PS3) Ifdef include for syscache header as well 2012-06-30 13:39:41 +02:00
Twinaphex 3ad124e4af (PS3/360) Add HAVE_HDD_CACHE_PARTITION define 2012-06-30 13:37:18 +02:00
Themaister 50acc3dcf6 Clean compat/*.o as well. 2012-06-30 13:09:34 +02:00
Twinaphex 313086482b Merge git://github.com/ToadKing/RetroArch-Rpi 2012-06-30 11:14:26 +02:00
Toad King aae5870412 (Wii) remember file browser position after returning from game 2012-06-30 04:54:20 -04:00
Toad King c6fdbaa86d (Wii) remember position in file browser when going back up the folder hierarchy 2012-06-30 04:49:50 -04:00
Toad King 89d2be66da (Wii) display current directory in file browser 2012-06-30 04:03:48 -04:00
Toad King 66300fa787 Windows Makefile fix 2012-06-30 03:25:00 -04:00
Toad King c9c723482a (Wii) allow changing between SD and USB 2012-06-30 03:08:05 -04:00
Toad King 65a269a532 do not specify device, let launcher choose default one 2012-06-30 01:54:32 -04:00
Toad King 581591591c some message display changes 2012-06-30 04:36:36 +02:00
Toad King e1110718f2 only for Wii, not GC 2012-06-30 04:36:36 +02:00
Toad King b8ae9f3c8a L2Enhance() 2012-06-30 04:36:36 +02:00
Toad King 7666d376ab some message display changes 2012-06-29 21:53:00 -04:00
Themaister c7179404e0 Fix embarassing memory leak. *hides* 2012-06-30 01:18:08 +02:00
Toad King 0d4c14c6d6 Merge branch 'master' of git://github.com/Themaister/RetroArch 2012-06-29 19:14:29 -04:00
Toad King 8f5300072d only for Wii, not GC 2012-06-29 19:10:41 -04:00
Toad King 7156c47054 L2Enhance() 2012-06-29 18:42:42 -04:00
Twinaphex 81c35236fa (Wii) Set audiorate control delta to 0.004 2012-06-29 21:39:28 +02:00
Twinaphex 824f62fd8e (Wii) Use audio rate control - seems to eliminate frame skipping
problem for now
2012-06-29 21:06:38 +02:00
Twinaphex 21241ddbf0 Merge git://github.com/ToadKing/RetroArch-Rpi
Conflicts:
	console/console_settings.h
	wii/frontend/rgui.c
2012-06-29 17:18:13 +02:00
Twinaphex 1a760f2448 (PS3) Add ROM loading message 2012-06-29 16:47:02 +02:00
Twinaphex 2832ca0fb1 (PS3) Change background to accomodate for message queue buffer 2012-06-29 16:29:52 +02:00
Twinaphex b273659975 (PS3) OSD message now at same position both ingame and in menu 2012-06-29 16:02:31 +02:00
Twinaphex 9c03883149 (PS3) More aesthetic improvements 2012-06-29 15:43:09 +02:00
Twinaphex bac23cc7de (PS3) Aesthetic improvements 2012-06-29 14:40:50 +02:00
Twinaphex 5ea167a2c3 (PS3) Beginning ingame menu refactor 2012-06-29 13:30:25 +02:00
Themaister 30fd6ddca0 Merge branch 'master' of github.com:Themaister/RetroArch 2012-06-29 13:35:14 +02:00
Twinaphex df306320e5 (PS3) Reuse some settings code in ingame menu - cut down on loc 2012-06-29 12:44:11 +02:00
Twinaphex e773381f4c (PS3) Cut down on loc 2012-06-29 12:27:17 +02:00
Twinaphex 1d2f7634d7 (PS3) Move filebrowser menu stack push to menu_init so it isn't
being done everytime we go back from ingame to menu
2012-06-29 11:56:58 +02:00
Twinaphex 62925dcda1 (PS3) refactor messy set_initial_dir_tmpbrowser logic 2012-06-29 11:44:50 +02:00
Twinaphex 511fe80b9a (PS3) Fix typos in ingame menu caused by regex replace 2012-06-29 11:15:37 +02:00
Twinaphex e764fbb08d (360/PS3) Fix regression - libretro path is no longer being
cleared after first boot
2012-06-29 11:09:01 +02:00
Themaister 83da5f2035 DRIVER_X11 appears to be defined on OSX. 2012-06-29 09:48:37 +02:00
Toad King 43ead728b3 Merge branch 'master' of git://github.com/Themaister/RetroArch 2012-06-28 21:14:09 -04:00
Toad King 1db8efedbc (Wii) message box fixes
Have ROM error boxes display for a short period and not reset the file browser
2012-06-28 21:13:45 -04:00
TwinAphex51224 f9f564c6c9 (360) Fix unused variable warning 2012-06-29 00:38:26 +02:00
Twinaphex 86df47497e (PS3/360) Create rarch_configure_libretro_core for console ports 2012-06-29 00:24:10 +02:00
Twinaphex a8c3b9c8ee (PS3) Cut down on memory usage menus 2012-06-28 22:55:55 +02:00
Twinaphex 5ad0a94b73 (PS3) remove static menus 2012-06-28 22:19:03 +02:00
Twinaphex e1e7faacc6 (PS3) Refactor menu - add menu_stack_refresh 2012-06-28 21:49:40 +02:00
Twinaphex 74e15d89f3 (PS3) Remove pointer(s) to items_generalsettings in menu struct 2012-06-28 21:29:12 +02:00
Twinaphex 98b1ecab58 (PS3) Fix: don't render filebrowser in ingame menu 2012-06-28 21:19:23 +02:00
Twinaphex 6a5ddee67e (PS3) Menu stack code cleanups 2012-06-28 21:03:14 +02:00
TwinAphex51224 4293872f5c (360) Move xdk360_input_loop to menu.cpp 2012-06-28 18:54:06 +02:00
Twinaphex c0f10f41ed (Console) rarch_startup returns bool value now - indicating
ROM loading error/success
2012-06-28 18:33:40 +02:00
Themaister c440c7a50a Add support for RETRO_DEVICE_ANALOG. 2012-06-28 18:32:06 +02:00
Twinaphex 32383f168b (Console) Attempt to trap ROM loading errors 2012-06-28 18:10:04 +02:00
Twinaphex f0026384d3 (Console) Rename console_ext.c to retroarch_console.c 2012-06-28 17:52:51 +02:00
Twinaphex ed57cc81f9 (PS3/360) Add load_shader wrapper function for consoles 2012-06-28 17:35:20 +02:00
Twinaphex 2865fc1fc9 (PS3) Menu refactor - get rid of hardcoded waitstates for every action 2012-06-28 17:11:22 +02:00
Twinaphex 968d8b300a (PS3) More shoddy menu code refactored 2012-06-28 14:10:05 +02:00
Twinaphex 56a05bdbee (PS3) Refactor sucky menu code - beginning with input 2012-06-28 13:11:07 +02:00
Twinaphex f6b1d8cfca (Wii) Use rarch_settings_msg for platform-agnostic string representation
in RetroArch console ports
2012-06-28 12:05:36 +02:00
Themaister 41868ac1da Hoist out #ifdefs from gfx_ctx_get_window_size (SDL). 2012-06-27 20:03:36 +02:00
Toad King 470dda1e3c (WII) add message box when loading a rom (feedback when loading large roms)
fix file browser list stretching past the bottom of the screen
2012-06-27 02:30:14 -04:00
Toad King 6b28b48c37 (WII) compile fix 2012-06-27 02:26:56 -04:00
Toad King bae4f75d2c Merge branch 'master' of git://github.com/Themaister/RetroArch 2012-06-27 00:57:59 -04:00
Toad King 0eac1aea7d .gitignore 2012-06-27 00:56:56 -04:00
Toad King c32b5985b8 better sdl_x11 detection, don't resize on non-x11 video 2012-06-27 00:54:42 -04:00
Toad King 0a64640303 don't error on no window manager SDL video 2012-06-27 00:44:20 -04:00
Toad King 5713f88f11 (WII) enable file browser loop-around 2012-06-27 00:43:25 -04:00
Twinaphex 41259ad334 (Wii) Add File Browser string on top - move filebrowser entries
down
2012-06-27 00:17:02 +02:00
Themaister b3c270d3f3 Add rate control interface for Wii audio. 2012-06-26 20:11:52 +02:00
Twinaphex ad8cc4a37e (Wii) Support video frame duping - for Gambatte 2012-06-26 19:04:37 +02:00
Twinaphex d97465d16d (Wii) Removed freetype dependency 2012-06-26 18:58:41 +02:00
Twinaphex 2133691d9d (PS3) Add CELL_MK_DIR define to Salamander makefile 2012-06-26 17:19:59 +02:00
Hans-Kristian Arntzen 921a91210f Merge pull request #16 from ToadKing/master
Optimizations and fixups for Wii port.
2012-06-25 13:48:22 -07:00
Toad King 25a55c1565 audio fix 2012-06-25 16:46:09 -04:00
Toad King 6b90c32d3f audio fixes 2012-06-25 16:33:40 -04:00
Toad King 077ebdafa7 Merge branch 'master' of github.com:ToadKing/RetroArch-Rpi 2012-06-25 15:34:48 -04:00
Toad King 96cf65f70e Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-06-25 15:31:50 -04:00
Toad King ebf7259128 Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-06-25 15:27:55 -04:00
Toad King 49c9e766af Wii changes 2012-06-25 15:27:41 -04:00
Twinaphex adecf622eb (Wii) Updated links to RGUI 2012-06-25 21:20:56 +02:00
TwinAphex51224 0ba4dd8eae (Xbox 1) Links 2012-06-25 00:13:24 +02:00
TwinAphex51224 2e18773ad7 (Xbox 1) Use Sleep for Xbox 1 as well 2012-06-25 00:03:56 +02:00
TwinAphex51224 1654c5b7d1 (Xbox 1) Down to 3 linking errors 2012-06-24 23:59:16 +02:00
TwinAphex51224 0faac2faf9 (Xbox 1) Don't include in the Xbox 360 drivers 2012-06-24 23:31:36 +02:00
TwinAphex51224 f3cbdb2522 (Xbox 1) Add __STDC_CONSTANT_MACROS to preprocessor defines 2012-06-24 23:28:18 +02:00
TwinAphex51224 4de1348dc2 (Xbox 1) Add fprintf pre-appending to Xbox 1 logger_override 2012-06-24 23:26:04 +02:00
TwinAphex51224 675b033eba (Xbox 1) Use xtl.h for Xbox 1 too 2012-06-24 23:22:46 +02:00
TwinAphex51224 fd31071451 (Xbox 1) Add _XBOX define rule for custom stdint.h 2012-06-24 23:19:30 +02:00
TwinAphex51224 38abfd9ed1 (Xbox 1) Include 'include' dir for Xbox 1 so xtl.h is accessible 2012-06-24 23:14:49 +02:00
TwinAphex51224 0ef1e9e4ab (Xbox 1) Fixups to PACKAGE_VERSION define / settings function 2012-06-24 22:54:43 +02:00
TwinAphex51224 b5acc3863e (Xbox 1) Variadic macros workaround for VC 7.1 2012-06-24 22:47:51 +02:00
TwinAphex51224 31bab3015a (Xbox1) Non-hardcoded include path 2012-06-24 22:08:01 +02:00
TwinAphex51224 2b1a4e22ca (Xbox 1) stdint.h inclusion in a clean way 2012-06-24 22:04:20 +02:00
Twinaphex 6ba868a8ff Fix rarch_stdint.h reference in fifo_buffer.c 2012-06-24 21:48:10 +02:00
TwinAphex51224 e4e7216b90 Revert rarch_stdint.h references 2012-06-24 21:55:36 +02:00
TwinAphex51224 d5bb5fd7af (Xbox 1)) Changes 2012-06-24 21:25:11 +02:00
TwinAphex51224 f201819ce0 (360) Introduce new 360 define - _XBOX360 - for differentating between
Xbox 1 and 360
2012-06-24 21:13:56 +02:00
TwinAphex51224 abca1fca60 (Xbox 1) Add initial Xbox 1 solution + cover stdint.h missing in
pre-MSVC 2010
2012-06-24 21:09:52 +02:00
Twinaphex 3cd656313b (PS3) Filebrowser - directories are colored green 2012-06-24 17:55:31 +02:00
Squarepusher 15032d065f Update master 2012-06-24 14:38:06 +03:00
Twinaphex 08e50935ca (PS3) Remove some frontend/shared.h includes 2012-06-24 13:23:57 +02:00
Twinaphex 3e4f09d66d (Wii) Move RGUI code over to wii/frontend 2012-06-24 13:20:55 +02:00
Twinaphex a62893610e (PS3) don't use Griffin override for audio_flush anymore, but
do keep optimizations when we aren't using DSP audio plugins
2012-06-24 13:11:10 +02:00
TwinAphex51224 82b18e7cad (360) cleanup font code (again) 2012-06-24 12:03:46 +02:00
TwinAphex51224 33340aa870 (360) font code cleanup 2012-06-24 11:41:12 +02:00
TwinAphex51224 7b84d5c3d7 (360) Move font files 2012-06-24 11:33:25 +02:00
TwinAphex51224 1c495f1f94 (360) Refactor font code 2012-06-24 11:20:52 +02:00
TwinAphex51224 ca52859b7a (360) Cleanup reinterpret_cast party 2012-06-24 09:39:12 +02:00
TwinAphex51224 9c0cab70d6 (360) Small cleanups 2012-06-24 08:57:48 +02:00
Toad King ad345918dd compile fix 2012-06-23 20:55:26 -04:00
Themaister e5b3a61f9f Replace use of unsafe strtok() with strtok_r.
Implement compatibility for strtok_r() on Win32.
2012-06-24 02:37:19 +02:00
TwinAphex51224 35f1cfa7b9 (360) Simplified xd360_console_format 2012-06-23 23:47:16 +02:00
TwinAphex51224 a19e359362 (360) Some refactoring in fonts.cpp 2012-06-23 23:39:13 +02:00
TwinAphex51224 d6fedb0522 (360) Create rarch_settings_create_menu_item_label_w 2012-06-23 22:55:46 +02:00
Twinaphex 347e03b767 (PS3) Small cleanups 2012-06-23 22:36:35 +02:00
Twinaphex 0f7c24fd49 (360/PS3) Get rid of XBOX ifdef for rarch_convert_char_to_wchar 2012-06-23 22:09:53 +02:00
TwinAphex51224 9e76591e11 Portable convert_char_to_wchar function 2012-06-23 22:13:50 +02:00
Twinaphex 3cec90b1ed Relocate MSVC solutions / vcxprojs into single directory 2012-06-23 21:39:24 +02:00
TwinAphex51224 c58d18b1c1 (360/Wii) Move to frontend directories 2012-06-23 21:06:38 +02:00
TwinAphex51224 c38df90f20 (360) Works wit new dir_list code + fixes Gambatte (dupe frames) 2012-06-23 19:58:30 +02:00
Twinaphex 322473f348 (Salamander) Fixes for new dir_list_new code 2012-06-23 19:17:41 +02:00
Twinaphex 5b5ba8ac58 (PS3) Works with new dir_list code 2012-06-23 18:22:48 +02:00
Themaister 9f60e48a98 Redefine behavior of NULL in video_frame(). 2012-06-23 18:01:01 +02:00
Themaister 83c60aa94e Add some some FIXMEs for broken code. 2012-06-23 16:10:56 +02:00
Themaister 14f7f641f3 Refactor directory listing to greatly optimize sorting. 2012-06-23 15:32:46 +02:00
Toad King ea806a6203 Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-06-22 21:11:44 -04:00
Themaister 031e37db9c Should clarify error message when pkg-config is missing. 2012-06-23 00:00:23 +02:00
Themaister 084bdcef97 Style nitting. 2012-06-22 19:17:28 +02:00
Twinaphex 7d60c06679 (360) Moved libxenon files to 360/ directory 2012-06-22 18:58:19 +02:00
Themaister 951721d2ab Clean up ifdef properly this time ... 2012-06-22 19:03:46 +02:00
TwinAphex51224 4711b6c7e3 (360) Move frontend files to frontend/ directory 2012-06-22 07:38:53 +02:00
TwinAphex51224 32287f0f41 (360) Set file extensions per browser session 2012-06-22 07:30:26 +02:00
TwinAphex51224 99679001cb (360) Use rarch_input_get_default_keybind_name 2012-06-22 07:20:58 +02:00
Twinaphex ce0422c780 Revert "Kill useless ifdef." - this breaks PS3/360 port -
so moving it back

This reverts commit f9c347cb0a.
2012-06-20 19:03:52 +02:00
Themaister f9c347cb0a Kill useless ifdef. 2012-06-20 09:53:32 +02:00
Twinaphex 47b3453c29 (PS3) RetroArch compiles as a static library - and gets linked in
with the rest of the package - README for compilation instructions
updated
2012-06-20 08:25:23 +02:00
Twinaphex eae8ac714f (PS3/360) Create rarch_input_controls_set_default and use it 2012-06-20 07:52:05 +02:00
Twinaphex 8bd85e1bfe (PS3/360) Get rid of Griffin override for rarch_render_cached_frame 2012-06-20 07:39:20 +02:00
Twinaphex 0ff97b4213 (PS3/360) Quick fix 2012-06-20 07:30:31 +02:00
Twinaphex 0c7af232cc (Android) Have Android port use null video/input/audio drivers
for now - also changed some things in Griffin so things work again
after null drivers commit
2012-06-20 06:39:52 +02:00
Themaister acda9dea35 Forgot to commit null drivers ... 2012-06-20 00:44:40 +02:00
Themaister fd017b8f57 Add NULL drivers. 2012-06-20 00:43:41 +02:00
Squarepusher e6ba30f722 Update master 2012-06-20 00:57:46 +03:00
Themaister 613c86be68 Drop useless gl error check. 2012-06-19 23:49:10 +02:00
Twinaphex 50a538b120 (Android) JNI Makefile for retroarch - don't define HAVE_OPENGL*
right now
2012-06-19 23:38:51 +02:00
Twinaphex 4dbfbbfe7f (Android) Preliminary NDK Makefile for compiling retroarch as a
shared library - we will need a separate gles driver
2012-06-19 23:34:19 +02:00
Toad King 91e7855bd6 only detect CTRL+C for SIGINT, not C+CTRL 2012-06-19 15:26:09 -04:00
Hans-Kristian Arntzen ca552db8d2 Merge pull request #14 from ToadKing/master
Raspberry Pi support for RetroArch.
2012-06-19 12:04:08 -07:00
Toad King c5a2fbc6e6 EOL fixes 2012-06-19 15:01:34 -04:00
Toad King 92f345cb5e AUTHORS 2012-06-19 14:55:06 -04:00
Toad King ed14c8c6b8 misc. fixes
add ctrl+c handler to linuxraw_input
2012-06-19 14:49:38 -04:00
Toad King 3e1b621e7a signal -> sigaction 2012-06-19 14:14:00 -04:00
Toad King 0337e4fc0f move SIGINT and SIGTERM handlers to video driver 2012-06-19 13:40:49 -04:00
Toad King 55b7267694 tabs -> 3 spaces 2012-06-19 12:44:10 -04:00
Toad King 8e360138d3 detect Raspberry Pi through bcm_host library 2012-06-19 12:42:32 -04:00
Toad King 9a35040fe6 try to restore keyboard mode on program crashes
use keycode defines instead of numbers
2012-06-19 12:42:08 -04:00
Toad King f21371f166 reuse font code for Raspberry Pi graphics core
also move bcm_host_init() to graphics core
2012-06-19 12:41:06 -04:00
Twinaphex 0aa3ad0ce2 (Android) Small tweaks 2012-06-19 09:55:02 +02:00
Twinaphex 9697937130 (Android) We shouldn't be including a bin directory 2012-06-19 09:10:49 +02:00
Twinaphex 080a7ea96f (Android) Add resource XML files for filebrowser 2012-06-19 09:09:30 +02:00
Twinaphex bc36993f8b (Android) Rudimentary filebrowser code - copy/paste of a copy/paste
from a tutorial for now - we'll slim it down and extend it later
2012-06-19 09:08:07 +02:00
Twinaphex b07f73d302 (Android) Add missing rombrowser.java 2012-06-19 07:50:04 +02:00
Twinaphex 9404548080 Some menu navigation now possible - can go from main screen to
'open' (rom browser screen - stub for now) and back
2012-06-19 07:48:13 +02:00
Twinaphex b429637d1c (Wii) Makefile fixes to wii 2012-06-19 06:44:36 +02:00
Twinaphex 733c3f25c7 (PS3) Add preliminary USB/Bluetooth mouse support 2012-06-19 05:10:42 +02:00
TwinAphex51224 1e6bcb6b7f (360) Updated to work with new code refactorings 2012-06-19 04:18:41 +02:00
Twinaphex 8e2c3717de (PS3) menu code/file browser refactoring 2012-06-19 03:44:17 +02:00
TwinAphex51224 3eddb91750 (360) Updated to work with filebrowser code changes 2012-06-19 02:05:02 +02:00
Twinaphex cc993e341f (PS3) Cleanup filebrowser code 2012-06-19 01:48:46 +02:00
Toad King 4f3e54529b Merge branch 'master' of http://github.com/Themaister/RetroArch
Conflicts:
	qb/config.libs.sh
2012-06-18 18:50:22 -04:00
Twinaphex 958b869c81 (PS3/360) Directories are now correctly placed before files 2012-06-19 00:11:51 +02:00
Themaister f0fab577e7 Take the slow but more correct path for directory sorting. 2012-06-19 00:16:59 +02:00
Themaister 7d05d051b4 Sort directories before files. 2012-06-19 00:01:13 +02:00
Twinaphex d8b9d4b4f6 (PS3) Got rid of cell_fs includes 2012-06-18 23:43:21 +02:00
Themaister bebc4462a6 Should fix dir_list_new on 360. 2012-06-18 23:43:24 +02:00
Twinaphex 75f1cef303 (PS3) Directory / extension filtering works on PS3 now 2012-06-18 23:29:43 +02:00
Twinaphex 2e94fdca36 (PS3/360) Made libretro_mgmt.c portable 2012-06-18 23:27:18 +02:00
Themaister e252ab8f61 Optimize dir reading on Unix. 2012-06-18 23:27:49 +02:00
Twinaphex f81c9c3166 (PS3) use stat for PS3 - get rid of cellFsStat 2012-06-18 22:59:33 +02:00
TwinAphex51224 d300656990 (Filebrowser) nit 2012-06-18 21:06:01 +02:00
Twinaphex 72985dd4d6 (Filebrowser) Get rid of platform-specific ifdefs 2012-06-18 20:44:21 +02:00
Twinaphex f335ee2dab (Filebrowser) Remove duplicate code 2012-06-18 20:37:17 +02:00
Themaister 84cf67525a Use strcasecmp() for sorting. 2012-06-18 20:37:35 +02:00
Themaister 214f8563c4 Fix bug when ext is NULL in dir_list_new. 2012-06-18 10:02:00 +02:00
TwinAphex51224 e760807d47 (360) Add filebrowser free to menu_deinit (now renamed menu_free) 2012-06-18 06:22:26 +02:00
Twinaphex 54273d94b1 (PS3) Deallocate filebrowser code at shutdown 2012-06-18 06:06:49 +02:00
TwinAphex51224 21a344e61b (360) Works now too with refactored filebrowser code 2012-06-18 06:12:37 +02:00
Twinaphex 805ca7e027 (PS3) More refactoring of filebrowser - should be mostly platform-
agnostic now
2012-06-18 05:31:43 +02:00
TwinAphex51224 0b84f1744e (360) Updated for filebrowser changes 2012-06-18 02:27:54 +02:00
Twinaphex 49535b3a54 (PS3) Refactor of filebrowser 2012-06-18 02:07:19 +02:00
Themaister a1f5715431 Add sorting and size query to dir_list_new. 2012-06-18 01:11:03 +02:00
Themaister e455e52e06 MAJOR refactor of dir_list_new. 2012-06-18 00:34:47 +02:00
Themaister e71115151b Add libpng screenshot support. 2012-06-17 13:11:39 +02:00
Twinaphex 999ece77af (Android) Most Action Bar actions now part of popup menu 2012-06-17 05:53:59 +02:00
Twinaphex 93d2e69773 (Android) Upload drawable-xhdpi 2012-06-17 04:41:00 +02:00
Twinaphex d843dacfd4 (Android) Added placeholder ActionBar 2012-06-17 03:36:59 +02:00
Twinaphex 13839bc511 (Android) Add initial audio driver 2012-06-17 00:48:07 +02:00
Themaister 042eb51d74 Don't automatically add -O3 to Makefile.win. 2012-06-17 00:20:12 +02:00
Themaister 7fcfbecf0f Add DEBUG=1 to Makefile.win. 2012-06-17 00:18:23 +02:00
Twinaphex 3ad9c7ba84 (Android) OpenGL ES 2.0 skeleton driver - shows a triangle right now 2012-06-16 22:47:16 +02:00
Twinaphex f432463aed (Android) Replace icons 2012-06-16 22:07:29 +02:00
Twinaphex b3e74aa189 (Android) Start skeleton app dir 2012-06-16 22:03:08 +02:00
Themaister 53f645ed0b Add SET_PIXEL_FORMAT environ. 2012-06-16 15:07:31 +02:00
Toad King 0ca21ef321 ignore extended scancodes 2012-06-16 03:58:21 -04:00
Toad King e1b58ca683 calculate aspect ratio better 2012-06-14 03:04:17 -04:00
Toad King 7986e01cbf Merge branch 'master' of http://github.com/Themaister/RetroArch
Conflicts:
	qb/config.libs.sh
2012-06-14 03:03:12 -04:00
tukuyomi ae33d8c899 Refactored quickbuild. 2012-06-13 20:46:56 +02:00
Themaister 4ee0bde039 Add RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. 2012-06-12 00:28:34 +02:00
Themaister 649dd03fce Fix C++ build. 2012-06-11 07:56:25 +02:00
Themaister e4556ab73c Update input indices to 8. 2012-06-10 12:00:25 +02:00
Themaister 43be487a39 Update external GFX plugin interface. 2012-06-10 11:46:24 +02:00
Themaister a0b9e6b55e Fix screenshot crashes. 2012-06-10 11:10:14 +02:00
Themaister 0668fa4062 Change default screenshot key to F8. 2012-06-10 10:48:44 +02:00
Themaister e32f879179 Fix C++ build. 2012-06-10 10:44:08 +02:00
Twinaphex df6a9a0f85 Set up dir_list_new so that we can use it for the 360/PS3 filebrowser 2012-06-10 03:50:06 +02:00
Twinaphex 3a01bad0ec (PS3/360) Slimmed down filebrowser - still too big though 2012-06-10 01:30:53 +02:00
Themaister 9e650a9540 Add some clarifying comments on screenshots. 2012-06-09 10:29:50 +02:00
Themaister 553b1d640a Ifdef for HAVE_RGL. 2012-06-09 00:24:43 +02:00
Themaister 19f0c04021 Add screenshot support from backbuffer. 2012-06-08 22:39:18 +02:00
Toad King 217b0157f3 fixes for new Raspberry Pi SDK 2012-06-07 20:24:06 -04:00
Toad King 88144ba6d2 Merge branch 'master' of http://github.com/Themaister/RetroArch
Conflicts:
	qb/config.libs.sh
2012-06-07 20:22:50 -04:00
TwinAphex51224 f088ba7bb4 (360) SD menu placement fixed 2012-06-05 21:01:58 +02:00
Twinaphex cc1d5600b8 Set Makefile for PS3 RGL back to SNC as default compiler 2012-06-05 19:37:05 +02:00
Twinaphex 7b511f064a (PS3) Removed ps3_video_psgl.h 2012-06-05 19:35:36 +02:00
Twinaphex ec63eb6434 Refactored some code - added 5x scale 2012-06-05 18:11:42 +02:00
Themaister 33271647af Update joyconfig for l2/r2/l3/r3. 2012-06-05 00:32:44 +02:00
Themaister bc5d73dbdd Update to 0.9.6. 2012-06-03 22:09:04 +02:00
Twinaphex c39cc503df Updated common-shaders link 2012-06-03 21:40:28 +02:00
Themaister 5c564723df Update libretro link. 2012-06-03 21:40:10 +02:00
Themaister b6ca3e0e33 More verbose logging on auto save states. 2012-06-02 22:32:27 +02:00
Themaister 1b02235b8f Change "ssnes" to "retroarch". 2012-06-02 22:19:42 +02:00
tukuyomi d7c16c7b30 Greatly clean up quickbuild's handling of parameters. 2012-06-02 22:11:39 +02:00
Themaister 7a4ef581a4 Add auto save state on end. 2012-06-02 21:34:26 +02:00
Twinaphex ddb03333e3 (Rzlib) Included uncompress 2012-06-02 14:37:10 +02:00
Themaister e00edebc98 Clarify where *_LEVEL should be called. 2012-06-01 16:52:05 +02:00
Themaister b2387e06bc Add RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL. 2012-06-01 16:50:38 +02:00
Themaister b97644f52f Make sure that network is inited. 2012-06-01 15:20:53 +02:00
Themaister a0ec6da2a8 Allow sending UDP commands from RetroArch. 2012-06-01 15:15:06 +02:00
Themaister 02c77d3685 Drop useless (void). 2012-06-01 14:22:13 +02:00
Themaister 2c674ef8d1 Correctly walk the addrinfo tree to determine all addresses. 2012-05-31 20:34:33 +02:00
Toad King 9340830991 Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-05-31 10:55:06 -04:00
Toad King 8833bd0fd1 code cleanup 2012-05-31 10:54:50 -04:00
TwinAphex51224 e9cf861f7f (360) fix 360 build 2012-05-30 17:24:02 +02:00
Twinaphex 3e6a10ffb6 (PS3) Add some Griffin overrides 2012-05-30 17:03:23 +02:00
Themaister 3902bc19b3 Fix strange newlines. 2012-05-30 16:55:23 +02:00
Themaister 10b0c2ee94 Merge branch 'master' of github.com:Themaister/RetroArch 2012-05-30 16:53:34 +02:00
Twinaphex 3fd10a723d (PS3) Cleanups 2012-05-30 16:30:25 +02:00
Themaister f600bf437c Move message queue out of RetroArch core's control. 2012-05-30 01:20:47 +02:00
Twinaphex 2f8c4c10a9 (PS3) Fix reentrant ROM loading - input wasn't being brought up
again after deiniting input - will just comment out cellPadEnd
for now
2012-05-30 01:19:25 +02:00
TwinAphex51224 502fd8ff54 (360) Use S_START_RARCH setting 2012-05-29 23:00:38 +02:00
TwinAphex51224 6222329a7b (360) Fixed control strings in Controls menu 2012-05-29 22:52:08 +02:00
Twinaphex 8e37cd4d89 (360/PS3) Make Quick Menu enums universal for console ports 2012-05-29 22:36:17 +02:00
Twinaphex 369e99efa8 (PS3) Use rarch_settings_create_menu_item_label in PS3 port now too 2012-05-29 22:22:47 +02:00
TwinAphex51224 841304619d (360) Add LBL_LOAD_STATE_SLOT and LBL_SAVE_STATE_SLOT 2012-05-29 22:12:28 +02:00
TwinAphex51224 fcdeed2a82 (RARCH_CONSOLE) Non-unicode version of rarch_settings_create_menu_item_label
if _XBOX is undefined
2012-05-29 21:59:03 +02:00
TwinAphex51224 074ff4b2fc (360) Add S_LBL_RARCH_VERSION 2012-05-29 21:47:53 +02:00
TwinAphex51224 5f0991c052 (360) Can increment/decrement save state slots now in Quick Menu 2012-05-29 21:40:45 +02:00
TwinAphex51224 321697f029 (360) Add changing of rotation / aspect ratio with left/right
D-pad buttons
2012-05-29 21:29:32 +02:00
TwinAphex51224 37140c1cd9 (360) Use rarch_settings_set_menu_item_label more 2012-05-29 20:34:06 +02:00
TwinAphex51224 346745e24b (360) Use rarch_settings_create_menu_item_label 2012-05-29 20:01:29 +02:00
TwinAphex51224 4e6b50b8ee (360) Fixed placement of some rarch_convert_char_to_wchar calls 2012-05-29 19:54:05 +02:00
TwinAphex51224 6c7e3ec571 (360) char to wchar helper revisions - now uses a wchar_t buffer
in menu.cpp - buffer is passed to helper functions
2012-05-29 19:51:35 +02:00
TwinAphex51224 67ffd5226a (360) Properly implement OnControlNavigate 2012-05-29 19:00:48 +02:00
Twinaphex 7ce9e4f9b0 (PS3) Use S_ASPECT_RATIO_DECREMENT / S_ASPECT_RATIO_INCREMENT 2012-05-29 17:55:45 +02:00
TwinAphex51224 f7bf8e9725 (360) Add S_ASPECT_RATIO_INCREMENT and S_ASPECT_RATIO_DECREMENT 2012-05-29 18:03:58 +02:00
Themaister ef3adc7c42 Not supposed to declare variables. 2012-05-29 17:45:32 +02:00
TwinAphex51224 0c4f14a14f (360) message queue stuff works properly now before Rarch is inited 2012-05-29 17:44:07 +02:00
Twinaphex 27aa887fcb (PS3) gl_restart works properly now 2012-05-29 17:20:23 +02:00
Twinaphex 8f6c4f30c3 (PS3) Use rarch_settings_msg 2012-05-29 16:51:08 +02:00
TwinAphex51224 1597c5a2cf (360) Abstracted message queue push code for generating messages -
seems to only work when Rarch is initialized - if not, it will
keep returning the first message that was pushed in the queue.
2012-05-29 16:45:37 +02:00
Twinaphex 68af1626d9 Indentation fixes 2012-05-29 15:25:39 +02:00
Twinaphex b995f8da9f (gl.c) Turned some functions inline 2012-05-29 04:53:42 +02:00
TwinAphex51224 0473785f65 (360) Small cleanups 2012-05-29 04:54:45 +02:00
TwinAphex51224 0555a703a7 (360) Cleanups 2012-05-29 04:39:54 +02:00
Twinaphex 7de2e41c32 (PS3) Add S_QUIT 2012-05-29 04:16:38 +02:00
Twinaphex 9edeec41b7 (PS3) cleanups to menu code, fixes 2012-05-29 04:05:16 +02:00
TwinAphex51224 ca2e20be84 (360) Use S_REWIND 2012-05-29 03:49:19 +02:00
Twinaphex b0cf650e97 Implement S_REWIND 2012-05-29 03:35:59 +02:00
Twinaphex 4f662ff0e2 (PS3) Implement S_RETURN_TO_LAUNCHER 2012-05-29 02:48:13 +02:00
Twinaphex 4bb5066691 (PS3) Add S_RETURN_TO_MENU 2012-05-29 02:33:27 +02:00
TwinAphex51224 487856c2c3 (360) Indenting cleanups 2012-05-29 02:33:00 +02:00
Twinaphex 28e10c9ad4 (PS3) Implemented S_RETURN_TO_DASHBOARD 2012-05-29 02:08:54 +02:00
TwinAphex51224 396d57ae77 (360) Implemented S_RETURN_TO_DASHBOARD 2012-05-29 02:17:35 +02:00
Twinaphex 60165d4cd7 (PS3) Use rarch_settings_change for replacing return_to_game
static function for PS3 too
2012-05-29 01:57:33 +02:00
TwinAphex51224 87d04b4bbd (360) Replace static function return_to_game() with calls to new
rarch_settings_change
2012-05-29 02:05:23 +02:00
Twinaphex e49e23687a (RARCH_CONSOLE) Expand console_settings.c some more 2012-05-29 01:37:09 +02:00
Twinaphex e0b85596f6 (RARCH_CONSOLE) Add console_settings.c 2012-05-29 01:27:45 +02:00
TwinAphex51224 294e922ecc (360) Small fix 2012-05-29 00:08:58 +02:00
TwinAphex51224 f6f101b6ab (360) rarch_convert_char_to_wchar - use malloc 2012-05-29 00:06:43 +02:00
Twinaphex a133d2ebb5 (PS3) Menu speed tweaks 2012-05-28 23:41:06 +02:00
Themaister 6d1198bf55 Make rarch_init_msg_queue() public. 2012-05-28 23:30:29 +02:00
Twinaphex a171f4c9fd (RARCH_CONSOLE) We want to init the message queue way before RetroArch
actually starts on consoles - therefore we add this ifdef -
beats having to add this for every console port
2012-05-28 23:14:18 +02:00
TwinAphex51224 6a48f1e187 (360) Add menu toggle (between HD and SD) and add info message
enable/disable option
2012-05-28 23:19:40 +02:00
Twinaphex 705a0dd62e (PS3) Add info message enable/disable option 2012-05-28 22:43:08 +02:00
Twinaphex 75c1e56edf (PS3) OSD messages using frame_count used in menu now - same
as on 360
2012-05-28 22:18:50 +02:00
TwinAphex51224 82b7d4d046 (360) remove g_first_msg 2012-05-28 21:46:32 +02:00
Twinaphex 472ac47344 (360/PS3) use rarch_config_load for PS3 and 360 2012-05-28 21:21:03 +02:00
TwinAphex51224 148526a638 (360) Small build fix 2012-05-28 21:02:43 +02:00
Twinaphex 3e7b2b8fd4 (PS3/360) Refactor rarch_manage_libretro_install 2012-05-28 20:07:08 +02:00
Twinaphex cf77233896 Libretro management refactor 2012-05-28 19:39:31 +02:00
Twinaphex b43d4a27b9 (PS3/360) Add header file as well + cleanup 2012-05-28 18:58:34 +02:00
Twinaphex 4a7f10c94a (PS3/360) Split up libretro management code into file libretro_mgmt.c 2012-05-28 18:50:30 +02:00
Twinaphex 10ad19bf76 (360/PS3) rarch_manage_libretro_set_first_file - no more dependency on
HAVE_CONFIGFILE
2012-05-28 18:33:25 +02:00
Twinaphex eca9b3ddc9 (360/PS3) 360 and PS3 both use rarch_manage_libretro_set_first_file
now
2012-05-28 18:25:01 +02:00
Twinaphex 593376b9aa (360/PS3) Both ports use rarch_config_save now for saving
settings to config file
2012-05-28 17:49:31 +02:00
Twinaphex 944ddc589b (360/PS3) Use PATH_MAX instead of MAX_PATH_LENGTH 2012-05-28 17:34:58 +02:00
Twinaphex c4e0e45722 (PS3/RARCH_CONSOLE) Replace strncpys with strlcpys 2012-05-28 17:28:29 +02:00
Twinaphex 15b7e0fafc (360/PS3) Use rarch_create_default_config_file 2012-05-28 16:50:18 +02:00
TwinAphex51224 c9ce831e22 (360) Inits second shader in FBO mode on startup now 2012-05-28 15:53:04 +02:00
TwinAphex51224 c1143f9e2e (360) Restore xdk360_set_nonblock_state 2012-05-28 15:47:27 +02:00
TwinAphex51224 8889af2d19 (360) Starts up with default generated config file again 2012-05-28 15:43:56 +02:00
Themaister 79d508b05a Fix crash when only scale_type_x/y were used. 2012-05-28 14:05:34 +02:00
TwinAphex51224 70dbebcb5e (360) Clean up font code + remove some Win32-isms 2012-05-28 14:05:28 +02:00
Toad King 619db3a047 change default font paths to point to Debian font location 2012-05-28 07:53:39 -04:00
Toad King eaff0d0f38 Added messages support to the Raspberry Pi video driver 2012-05-28 06:33:13 -04:00
Toad King ec87f858f2 Merge branch 'master' of http://github.com/Themaister/RetroArch
Conflicts:
	qb/config.libs.sh
2012-05-28 02:27:25 -04:00
TwinAphex51224 232cf0d122 (360) Only print char * messages, not wchar 2012-05-28 05:42:00 +02:00
Twinaphex 663bab2c14 (Griffin) ifdef include config_file.c with ifdef HAVE_CONFIGFILE 2012-05-28 05:21:19 +02:00
Twinaphex dac3713454 (Griffin) Ifdef changes / annotations 2012-05-28 05:19:04 +02:00
Twinaphex c5735e0aec (360/Wii/PS3) Abstracted input code 2012-05-28 05:06:25 +02:00
Twinaphex 663268be24 (Wii) Remove some obsolete functions 2012-05-28 04:47:29 +02:00
Twinaphex 7dccb123f3 (PS3) Menu speed duration changed to one speed mode 2012-05-28 03:53:25 +02:00
Twinaphex ae4b8563c8 (PS3) Use identical TIMER macros as 360 2012-05-28 03:46:44 +02:00
TwinAphex51224 6e8e5ec89b (360) Remove xdk360_video_general.h header file - use uniform
IS_TIMER/SET_TIMER macros
2012-05-28 03:45:22 +02:00
TwinAphex51224 ca9b6ac0e2 (360) Turned xdk360_init_fbo static 2012-05-28 03:29:07 +02:00
TwinAphex51224 c1d8bf8bea (360) Fast forwarding mode works again 2012-05-28 02:51:34 +02:00
TwinAphex51224 463fdd9bdf (360) Add 360 context file and use it 2012-05-28 02:29:51 +02:00
Twinaphex 85850ffba1 (PS3) Add HAVE_VID_CONTEXT define 2012-05-28 01:15:00 +02:00
TwinAphex51224 b7fce9a98e (360) Removed g_d3d global pointer 2012-05-28 00:56:58 +02:00
TwinAphex51224 f8ad3dcc91 (360) Font subsystem works again - font crap needs to be badly
refactored
2012-05-28 00:45:30 +02:00
TwinAphex51224 e871f9523f (360) Fix 360 build 2012-05-28 00:37:54 +02:00
Themaister 28f3e473e3 Build fixes. 2012-05-28 00:27:53 +02:00
Themaister 5989fa0405 Nit. 2012-05-28 00:21:51 +02:00
Twinaphex ef0ab68c4b (PS3) Applies overscan / aspect ratio / rotation in non-FBO
mode now
2012-05-28 00:06:18 +02:00
Twinaphex 49e69a530d (RGL) Stripped some unused stuff 2012-05-27 23:57:16 +02:00
Themaister 2d3fed35e7 Avoid ugly #undefs. 2012-05-27 23:33:52 +02:00
Twinaphex fea9aa9e9c Removed glRotatef from RGL - didn't work anyway 2012-05-27 23:23:27 +02:00
Themaister 4e9a5a5360 DOS retardations creep in. 2012-05-27 23:30:00 +02:00
Themaister 6aa621a8f8 Minor refactor. 2012-05-27 23:21:30 +02:00
Themaister 4ffecbb058 Minor initializer fixup. 2012-05-27 23:16:22 +02:00
Themaister 72310b6661 Style nit party. 2012-05-27 23:15:02 +02:00
Twinaphex 1d05161723 (Griffin) Small nit 2012-05-27 22:58:14 +02:00
Twinaphex e88318e886 Fixed up initializer for gl driver 2012-05-27 22:50:03 +02:00
Twinaphex 15e16728f2 PC fix build 2012-05-27 22:45:00 +02:00
Twinaphex b6131dfcd7 (PS3) PS3 now uses gl.c - ps3_video_psgl.c removed 2012-05-27 22:39:29 +02:00
Twinaphex 4f9b284c6d (PS3) Restructure / move set functions to ps3_ctx.c 2012-05-27 21:52:52 +02:00
Twinaphex 232a3850d1 (PS3) Menu texture is no longer rotated 2012-05-27 21:42:30 +02:00
Themaister 0171023edc Fix build. 2012-05-27 21:24:55 +02:00
Twinaphex 1c2c2e1a37 Rename to gfx_ctx_set_projection 2012-05-27 20:55:11 +02:00
Twinaphex 6ff8154d19 (PS3) Abstracted rotation code to allow for different implementations 2012-05-27 20:50:06 +02:00
Twinaphex 1f6efc65ca (PS3) Don't use set_swap_block callback anymore 2012-05-27 19:36:31 +02:00
Twinaphex 29ba19bc73 (PS3) Implement start/stop/restart 2012-05-27 19:29:10 +02:00
Themaister 448bf2cdc8 Add static start/stop/restart to console video drivers. 2012-05-27 19:25:53 +02:00
Twinaphex e4367646c4 (PS3) Move resolution code to ps3_ctx.c 2012-05-27 19:11:52 +02:00
Twinaphex 4c1c9cfff5 (PS3) Sets vsync correctly now on startup 2012-05-27 19:03:14 +02:00
Twinaphex 1a4c122310 (PS3) Don't use custom type macros in ps3_video_psgl.c anymore 2012-05-27 18:46:20 +02:00
Twinaphex 336a805a5a (PS3) Got rid of warning ps3_video_psgl.c 2012-05-27 18:33:35 +02:00
Themaister 1b01a00e3e Fix trigger happy warnings. 2012-05-27 18:40:07 +02:00
Themaister 9cd51921cb Apply vsync on init. 2012-05-27 18:22:55 +02:00
Twinaphex 9ef37ca9d9 (PS3) Works just fine using standard texture formats 2012-05-27 18:08:46 +02:00
Twinaphex 90d6aca1e1 (PS3) Move set_filtering and set_fbo to ps3_ctx.c 2012-05-27 18:04:25 +02:00
Twinaphex f32bc9e017 (PS3) Implemented gfx_ctx_init, gfx_ctx_destroy and other
functions
2012-05-27 17:46:47 +02:00
Twinaphex 754e36ea33 (PS3) Moved gfx_ctx_menu_init to ps3_ctx.c 2012-05-27 17:20:02 +02:00
Twinaphex f3ea8aa051 (PS3) Fixed Resize Mode menu rendering 2012-05-27 17:11:30 +02:00
Twinaphex dfb5678ce1 (PS3) Put menu rendering code in gl_frame 2012-05-27 17:03:43 +02:00
Themaister ac96bee03d Fix build for Win32. 2012-05-27 16:52:30 +02:00
Twinaphex d1db5abb99 (PS3) ps3_video_psgl.c - cleanups 2012-05-27 16:30:38 +02:00
Twinaphex d72751956e (PS3) Implement gfx_ctx_swap_buffers 2012-05-27 16:23:01 +02:00
Twinaphex 3dbc1a3e7f (PS3) Clean up set_overscan 2012-05-27 15:03:33 +02:00
Themaister 9aaf878908 Init gl handle early. 2012-05-27 15:04:43 +02:00
Themaister a61e52b419 Do not call gl_render_msg_pre(). 2012-05-27 14:43:30 +02:00
Themaister 86295bf057 Re-add gl_render_msg_post(). 2012-05-27 14:27:17 +02:00
Themaister 65b78348f0 Use HAVE_NETWORK_CMD 2012-05-27 14:23:30 +02:00
Themaister 20472ae36d Don't include <fcntl.h> in Win32. 2012-05-27 14:18:37 +02:00
Themaister b01fc8b4f7 Handle errors. 2012-05-27 14:17:32 +02:00
Themaister 0b729e1707 SOCK_NONBLOCK doesn't exist on Win32. 2012-05-27 14:16:24 +02:00
Themaister 0375de48a2 Add preliminary network command interface. 2012-05-27 14:12:29 +02:00
Themaister e1a3bf48fd Use correlating ifdef. 2012-05-27 12:38:07 +02:00
Themaister 8e45e6bc4a Fix warnings on non-freetype builds. 2012-05-27 12:28:16 +02:00
Themaister 8e17f8695e Remove unneeded pre/post calls. 2012-05-27 12:26:43 +02:00
Twinaphex efa3bef528 (PS3) Move header file include for libdbgfont 2012-05-27 04:34:21 +02:00
Twinaphex 7f13257d1b Move remaining FREETYPE/font code from gl.c to font files 2012-05-27 04:21:54 +02:00
Twinaphex 503f01867a (PS3) Use new font abstraction code 2012-05-27 04:02:07 +02:00
Themaister ca0a5b9f76 Move font stuff to gfx/fonts. 2012-05-27 02:04:50 +02:00
Twinaphex 4176ddeccc Split up font code so that it's more portable 2012-05-27 01:16:55 +02:00
Twinaphex e53db23031 (PS3) Change HAVE_OPENGL_PBO to HAVE_OPENGL_TEXREF 2012-05-27 01:00:05 +02:00
Themaister 5d70568003 Micronit. 2012-05-27 01:03:58 +02:00
Twinaphex 42bcc8ea59 (PS3) Add HAVE_OPENGL_PBO and HAVE_CG_MENU defines 2012-05-27 00:51:02 +02:00
Twinaphex dd101ff04a (PS3) Updated set_viewport in ps3_video_psgl.c 2012-05-26 20:51:36 +02:00
Twinaphex 987d9c0b24 (PS3) Use fbo_inited 2012-05-26 20:25:37 +02:00
Twinaphex c40edf878c (PS3) Removed g_frame_count - will use pointer to gl->frame_count 2012-05-26 18:18:09 +02:00
Twinaphex e34f6aa774 (PS3) Removed g_gl - will use pointer to driver.video_data from now on 2012-05-26 17:35:40 +02:00
Twinaphex 87e850ea08 (PS3) Don't use global g_quitting anymore 2012-05-26 16:44:02 +02:00
Themaister 9e50b0a8bb Make GL texture types more generic. 2012-05-26 16:29:22 +02:00
Twinaphex 7ddad8ade9 (PS3) Streamline ps3_video_psgl.c with gl.c 2012-05-26 16:09:43 +02:00
Twinaphex 7ec17f1437 (PS3) Cleanup ps3_video_psgl.h header 2012-05-26 15:58:17 +02:00
Themaister f873960224 init_textures for ps3. 2012-05-26 16:01:59 +02:00
Themaister f121f8d2bc Style nits. 2012-05-26 15:59:58 +02:00
Twinaphex 6000bd33e9 (PS3) Cleaned up ps3_video_psgl.c code - added some PS3-specific
ifdefs to gl.c
2012-05-26 15:45:36 +02:00
Themaister 04f325dcc9 Refactor texture init. 2012-05-26 15:46:37 +02:00
Themaister 9040e3348f Delete unneeded prototype. 2012-05-26 15:36:42 +02:00
Themaister a10a5badcc Move font code to gl_font. 2012-05-26 15:22:48 +02:00
Twinaphex 15760c6a8b (PS3) Use gfx_ctx_set_swap_interval in gl_set_nonblock_state too 2012-05-26 15:04:10 +02:00
Twinaphex 97b966ab59 (PS3)_Made ps3_ctx file - implemented set_swap_interval function -
removed gl_common.c
2012-05-26 15:00:20 +02:00
Themaister 8f74b1a555 Build fixes for Win32. 2012-05-26 10:20:06 +02:00
Themaister 7cfd0a3660 Fix build. 2012-05-26 10:17:06 +02:00
Twinaphex 6583d8262b Add gl_common.c and move commonly used helper GL functions there 2012-05-26 06:45:55 +02:00
Twinaphex 95a236ac61 (PS3) Some cleanups to RGL 2012-05-26 06:20:14 +02:00
Twinaphex 69ffd1c7a7 (RGL PS3) Implemented glRotatef 2012-05-26 05:59:55 +02:00
Twinaphex 426daa117c Add missing sdl_ctx.h 2012-05-26 04:48:55 +02:00
Twinaphex 1386e2ee90 Restructuring of sdlwrap.c for portability reasons -
could need a code review
2012-05-26 04:47:24 +02:00
Toad King 2cb3ae3476 Change quality for smooth setting
Keep alpha channel for rgb32 mode
2012-05-25 20:38:14 -04:00
Toad King c0050a7c8b Don't use linuxraw input if the user isn't running RetroArch from a terminal 2012-05-25 18:12:07 -04:00
Themaister f29338580b Add missing config.h. 2012-05-25 23:31:24 +02:00
Twinaphex c3cb3ba876 Add some HAVE_SDL ifdefs to gl.c 2012-05-25 23:18:38 +02:00
Themaister 4fdfe6a935 Fix header. 2012-05-25 22:30:40 +02:00
Themaister a2e7805524 Move more SDL specifics to sdlwrap. 2012-05-25 22:28:20 +02:00
Themaister 1e73ba4661 Move SDL input driver init to sdlwrap. 2012-05-25 22:11:44 +02:00
Toad King 38ceb89ce4 set vsync correctly first time 2012-05-25 16:07:11 -04:00
Toad King f651b6d706 Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-05-25 15:48:06 -04:00
Toad King 6c79d66e1b linuxraw input: gets input straight from stdin
WARNING: this mode uses a raw keyboard mode. if the emulator does not exit cleanly, you could be left at a terminal with no form of input. do not use this mode for testing.
2012-05-25 15:44:39 -04:00
Twinaphex b2c7b766ae Revert "(PS3) ps3_video_psgl.c cleanups"
This reverts commit 824d2923a5.
2012-05-25 21:40:28 +02:00
Twinaphex 417cb55a6e Revert "(PS3) ps3_video_psgl.c cleanups #2"
This reverts commit 8aafbf63b8.
2012-05-25 21:40:19 +02:00
Twinaphex 3649376c03 Revert "(PS3) Added HAVE_LIBDBGFONTS define for PS3 port"
This reverts commit 06bb45a856.
2012-05-25 21:39:59 +02:00
Themaister f248d8b54a Reserve defines for RETRO_DEVICE_ANALOG. 2012-05-25 18:24:23 +02:00
Twinaphex 06bb45a856 (PS3) Added HAVE_LIBDBGFONTS define for PS3 port 2012-05-25 18:05:30 +02:00
Twinaphex 8aafbf63b8 (PS3) ps3_video_psgl.c cleanups #2 2012-05-25 17:37:48 +02:00
Twinaphex 824d2923a5 (PS3) ps3_video_psgl.c cleanups 2012-05-25 16:43:07 +02:00
Twinaphex 1b4cb55846 (PS3) Made HAVE_SYSUTILS and HAVE_SYSMODULES defines for PS3 port 2012-05-25 16:24:51 +02:00
Themaister c986eb3491 Remove unneeded parens. 2012-05-25 16:20:28 +02:00
Twinaphex 989731bbd0 Add HAVE_OPENGLES define to Makefile.ps3 - add HAVE_OPENGLES ifdef
to gl.c
2012-05-25 16:00:54 +02:00
Themaister 1b962e1b0d Remove useless check. 2012-05-25 11:55:00 +02:00
TwinAphex51224 83d6fd3cbb (360) Preliminary FBO scaling options - need to restart before change
is applied, fbo_reinit function doesn't seem to work on-the-fly yet,
and 3x/4x FBO seems to crash right now
2012-05-24 11:34:10 +02:00
TwinAphex51224 11a03290ce (360) Got rid of crashes while repeatedly loading HLSL shaders -
apparently HLSL needs no memory management? (see comment for
source)
2012-05-24 09:39:03 +02:00
Toad King dca427c1ad Merge branch 'master' of http://github.com/Themaister/RetroArch 2012-05-24 03:17:02 -04:00
Toad King 4e600c5edd Drop OpenGLES in favor of OpenVG. Video now works.
Audio might work with the ALSA drivers, but SDL input is not playing nice with OpenVG/EGL.
2012-05-24 01:29:35 -04:00
Themaister 1bc5e338b9 Should fix crash. 2012-05-23 23:54:31 +02:00
Themaister 0657fd8e1d Hoist some FBO code outside. 2012-05-23 23:46:45 +02:00
TwinAphex51224 cef6dcec66 (360) Small fix - (preliminary) FBO mode seems to work 2012-05-23 23:36:42 +02:00
Themaister 45566c3663 Set identity matrices by default in HLSL. 2012-05-23 23:27:09 +02:00
Themaister 37d3163f76 Further PC/MSVC builds requires paid version.
Microsoft has stated that Visual Studio 11 will no longer
build desktop Windows applications with their free version.
We cannot require a paid version ($1k++) just to build RetroArch.
C++ compatibility however, will be maintained for XBox 360 port.

Source: http://www.microsoft.com/visualstudio/11/en-us/products/express
2012-05-23 11:11:52 +02:00
TwinAphex51224 176e4b2cb3 (360) Added preliminary controls settings/menu 2012-05-23 08:38:14 +02:00
Toad King 350af0a458 initial Raspberry Pi work. Currently just displays a solid blue screen. 2012-05-23 02:31:29 -04:00
Twinaphex b453bedcee Add HAVE_FILEBROWSER define 2012-05-22 22:11:21 +02:00
Themaister 802851ecf2 SHUTDOWN should exit RetroArch. 2012-05-22 20:25:03 +02:00
Themaister d2b55f38cd Add RETRO_ENVIRONMENT_SHUTDOWN. 2012-05-22 20:14:07 +02:00
TwinAphex51224 5185fb7baa (360) Filebrowser sorts files by name now 2012-05-22 20:50:29 +02:00
TwinAphex51224 1355f1204d (360) Cleanup to viewport resize function 2012-05-22 20:39:27 +02:00
TwinAphex51224 d7f8f847e5 (360) Implemented auto aspect ratio 2012-05-22 20:15:27 +02:00
Twinaphex 69209b5e2e Replace remaining strcats with strlcat 2012-05-22 19:03:42 +02:00
TwinAphex51224 3e10f615bd (360) small fix for 360 build 2012-05-22 19:03:47 +02:00
Twinaphex e8e9a71b60 replace remaining strcpys with strlcpy (except for librsound.c) 2012-05-22 18:51:06 +02:00
Twinaphex f5c4a29584 Replace remaining sprintfs with snprintf 2012-05-22 18:32:08 +02:00
Twinaphex f6839e58a1 Remove redundant auto_vp 2012-05-22 18:26:35 +02:00
Twinaphex 03f081ace6 (PS3) Automatic aspect ratio based on game width/height works
now
2012-05-22 18:23:58 +02:00
TwinAphex51224 e7e0b9ca27 (MSVC) Updated MSVC solution files 2012-05-22 17:38:33 +02:00
TwinAphex51224 4ad1a6243e (PS3) Some fixes to outdated MSVC PS3 project files 2012-05-22 17:26:23 +02:00
TwinAphex51224 3ec196d9e2 (360) Fix 360 build 2012-05-22 17:06:02 +02:00
TwinAphex51224 62beb6f63d (360/RARCH_CONSOLE) Change sprintfs to snprintfs 2012-05-22 17:02:24 +02:00
TwinAphex51224 dd6ec8222f (360) Shader selection - start in shaders subdir 2012-05-22 16:43:46 +02:00
Themaister 7137bfc10e Globally visible struct gets namespacing. 2012-05-22 15:36:29 +02:00
Themaister 2b712f5f46 Avoid ifdef. 2012-05-22 15:34:53 +02:00
TwinAphex51224 6d0c569f0a (360) Add color format setting for changing backbuffer color format -
32bit ARGB and 16bit RGBA
2012-05-22 16:04:39 +02:00
TwinAphex51224 56a9d359ba (360) OSD messages now also work if g_console.emulator_initialized
is false
2012-05-22 15:21:45 +02:00
TwinAphex51224 0a1cf3edba (360) Add more OSD messages for options 2012-05-22 04:52:12 +02:00
TwinAphex51224 4e05524172 (360) Add some more OSD messages 2012-05-22 04:25:45 +02:00
TwinAphex51224 7064abded5 (RARCH_CONSOLE) message queue needs to be inited long before
Retro arch main init function - also added some onscreen
messages to some of the settings for the 360 port
2012-05-22 04:14:28 +02:00
TwinAphex51224 611dd9f34e (360) Some menu usability tweaks 2012-05-22 03:40:55 +02:00
TwinAphex51224 81203de0a2 (360) B button works better now in menu 2012-05-22 03:10:56 +02:00
Twinaphex d51772dcb1 (PS3) Updated to work with new viewport settings code 2012-05-22 02:32:32 +02:00
TwinAphex51224 4ecdddb2cb (360) refactor viewport settings code - also need to update
PS3 after this commit
2012-05-22 02:36:31 +02:00
TwinAphex51224 74d12bf1a1 (360) Custom resize mode now works 2012-05-22 02:19:40 +02:00
Twinaphex 2103440c91 (PS3) Cleanups 2012-05-21 21:52:30 +02:00
TwinAphex51224 ad17453d5c (360) Shader filenames are now shown in settings menu 2012-05-21 21:20:28 +02:00
TwinAphex51224 025ea6608f rarch_convert_wchar_to_const_char function is portable, so
hose it out of ifdef _XBOX define
2012-05-21 19:08:37 +02:00
TwinAphex51224 8cb3172eea (360) Cleaned up messy char to wchar and vice versa conversion routines
in 360 menu code by using new helper functions
2012-05-21 19:06:31 +02:00
TwinAphex51224 9cd3db85aa (360) Very rough shader selection in Settings menu - second pass doesn't work yet - blank screen - some memory leaks when loading a lot of shaders one after another 2012-05-21 18:02:59 +02:00
Themaister 068b3b90f5 Update version to 0.9.6-rc1. 2012-05-11 21:43:56 +02:00
Themaister 4ddc5a9912 Fix strange bug where binds in player 2 would carry over to player 1. 2012-05-09 23:25:30 +02:00
Themaister 4debf60bad Do not output FFT sanity test to stdout. 2012-05-08 13:02:29 +02:00
Themaister bc604f5029 Output SNR results to CSV. 2012-05-08 12:55:12 +02:00
Themaister 3878e81ce4 Improve SNR measurement. 2012-05-08 12:14:03 +02:00
TwinAphex51224 16e7355314 (360) Add second hardware filter option 2012-05-08 04:22:53 +02:00
TwinAphex51224 9272fdcdd6 (360) Add FBO on/off switch 2012-05-08 03:37:06 +02:00
Twinaphex 318d7a85d6 Merge branch 'master' of github.com:Themaister/RetroArch
rsound works but sound is FUBAR

Conflicts:
	console/console_ext.c
2012-05-07 23:59:20 +02:00
Themaister da941b8c6c Do not start audio driver out of the blue. 2012-05-07 23:57:39 +02:00
Twinaphex bdba331096 (PS3) Preliminary rsound patches 2012-05-07 23:52:15 +02:00
Themaister a9eaa86683 Cleanup in driver selection. 2012-05-07 23:20:13 +02:00
TwinAphex51224 24d9f815ce (360) Added extra buttons 2012-05-07 22:47:36 +02:00
Twinaphex 9351ac9fd9 (PS3) Added extra buttons for PS3 port 2012-05-07 22:25:56 +02:00
Themaister 34553627b2 Add Python lookups to L2/R2/L3/R3. 2012-05-07 21:59:39 +02:00
Themaister dd90a338d5 Add L2/R2/L3/R3 keys. 2012-05-07 21:51:32 +02:00
Themaister 2e205f6a94 Update Makefiles to 0.9.6. 2012-05-07 20:58:32 +02:00
TwinAphex51224 df650a5e64 (360) Aspect ratio selection fix 2012-05-07 20:55:33 +02:00
Twinaphex ff9f07e23f (PS3) Aspect ratio selection fix 2012-05-07 20:33:46 +02:00
Twinaphex be5695f802 (PS3) Small cleanups to RetroArch Salamander 2012-05-07 19:45:13 +02:00
TwinAphex51224 b198fd1237 (360) More settings saved 2012-05-07 17:27:14 +02:00
TwinAphex51224 d50fb9ad06 Changed README.md to reflect changes on 360 side 2012-05-07 17:00:39 +02:00
TwinAphex51224 e0f3522892 (360) Renamed some solution files 2012-05-07 16:58:20 +02:00
TwinAphex51224 15d9af091e Revert "(360) Small code cleanups in fonts.cpp"
This reverts commit 4b7b47fbf1.
2012-05-07 16:43:26 +02:00
TwinAphex51224 8f7ca9130a Revert "(360) Cleanups fonts.cpp"
This reverts commit 0c5c3c4299.
2012-05-07 16:43:16 +02:00
TwinAphex51224 8e4d2f6feb (360) FBO/render target changes 2012-05-07 05:35:10 +02:00
Twinaphex 0c5c3c4299 (360) Cleanups fonts.cpp 2012-05-07 03:41:52 +02:00
TwinAphex51224 4b7b47fbf1 (360) Small code cleanups in fonts.cpp 2012-05-07 03:35:29 +02:00
Twinaphex d40c1b3be6 (PS3) Use built-in stock shader program 2012-05-07 00:18:02 +02:00
Themaister 549a6c1349 Condom code. Playing it safe. 2012-05-06 23:40:29 +02:00
Themaister f73a8d9875 Fix coding derp. 2012-05-06 22:38:25 +02:00
Themaister a5f1634dca NULL sets a program to stock. 2012-05-06 22:35:29 +02:00
TwinAphex51224 43dbec58a3 (360) Small fix 2012-05-06 22:11:06 +02:00
Themaister 51890d2609 Align vertex/texels. 2012-05-06 22:02:54 +02:00
TwinAphex51224 3af750de3a (360) HLSL shader code expanded 2012-05-06 21:57:01 +02:00
Twinaphex 959a0ea809 (PS3) FBO changes - no more needless deinit when not necessary 2012-05-06 20:05:13 +02:00
TwinAphex51224 cfe5ce5286 (360) Lay the groundwork for FBO mode 2012-05-06 18:54:17 +02:00
Themaister b69ba24a05 Update README. 2012-05-06 13:01:19 +02:00
Twinaphex 2a704179ea fixed typo in README.md 2012-05-06 05:00:11 +02:00
Twinaphex 5cce1f70e4 Expanded README.md 2012-05-06 04:56:36 +02:00
Twinaphex e6ef8a8682 (PS3) UI tweaks 2012-05-06 04:38:32 +02:00
Twinaphex 419bfc17ef (Rgui) Rename SGUI to RGUI 2012-05-06 04:04:33 +02:00
Twinaphex 20a1d5df29 (Rzlib) Rename szlib to Rzlib 2012-05-06 03:58:29 +02:00
Twinaphex 5107eb4fe3 (PS3) Some cleanups to RGL Makefile 2012-05-06 03:53:07 +02:00
Twinaphex 77bfce7cc7 (PS3) Add RGL video driver - compile with Makefile.ps3.rgl before
compiling RetroArch itself
2012-05-06 03:47:35 +02:00
Themaister 3c9d4cf73b Add small test for libretro. 2012-05-05 13:49:41 +02:00
Themaister 1c172d7947 Fix spectator mode crash. 2012-05-04 19:57:15 +02:00
Themaister 1e0ef3d08d Be more strict about init ordering of netplay, movies and states. 2012-05-04 00:47:35 +02:00
Themaister 81c4d29064 Move parse_input() after setjmp init. 2012-05-04 00:14:42 +02:00
Themaister 0b0da3c335 Should fix netplay segfault. 2012-05-03 20:29:58 +02:00
Themaister 5cf8b6041b Add convenience functions to start/stop RSound on consoles. 2012-05-02 18:16:45 +02:00
Themaister 1a744d33d6 Check for presence of -Wno-unused-result. 2012-05-01 23:00:37 +02:00
Themaister 202ecbb701 Fix wording in README. 2012-04-30 22:01:56 +02:00
Themaister 16ef16c733 Fixup wording. 2012-04-30 21:46:57 +02:00
Themaister 2c9eb8e840 Update version to 0.9.6-beta1. 2012-04-29 01:06:53 +02:00
Themaister 8e85275418 Do not look for libretro.so by default. 2012-04-28 10:06:10 +02:00
Twinaphex 7e850cd265 (PS3) Fix at exit/deiniting of context - don't do glFinish -
calls on jsValidateStates one more time when fragment/vertex
shaders have been debinded/deinited
2012-04-26 18:37:11 +02:00
Themaister 2453aaf513 Add VIDEO_RAM. 2012-04-26 08:45:08 +02:00
Themaister 6b6e1556f6 Clean up ALSA plug a bit. 2012-04-25 19:49:56 +02:00
Themaister dbfd847a60 Naming fixups. 2012-04-23 22:43:07 +02:00
Themaister c26b372fa5 Fixup in readme. 2012-04-22 18:05:08 +02:00
Themaister 2f26017197 Update README. 2012-04-22 17:13:26 +02:00
Themaister 9845710e24 Rename invocation. 2012-04-22 15:38:37 +02:00
Themaister 3db4a0da22 Fixups to Win32 makefile. 2012-04-22 12:17:22 +02:00
Themaister 37bb784e70 Move ssnes_dinput. 2012-04-22 12:15:51 +02:00
Themaister cc95e3b66b Fixups in readme. 2012-04-22 11:59:31 +02:00
Themaister 7bcb82a25e Updates to mingw build. 2012-04-22 11:42:22 +02:00
Themaister 58bf26caad Fixups in manpages. 2012-04-22 11:40:36 +02:00
Themaister 5e032d2677 Fix non-dynamic builds (mziab). 2012-04-22 10:46:06 +02:00
Twinaphex 69496bc291 Replace more SSNES strings/references 2012-04-22 02:06:34 +02:00
Twinaphex a00e8581e8 (Salamander) Get rid of SNES_ prefix 2012-04-22 01:51:20 +02:00
Twinaphex 5219ecaf67 (Salamander) Update Salamander for retroarch.cfg among other things 2012-04-22 01:50:04 +02:00
Twinaphex 4893696e22 Use retroarch.cfg now 2012-04-22 01:45:55 +02:00
Twinaphex 520f7a823a (PS3) Add Retro Arch logo to PS3 menu 2012-04-22 01:33:08 +02:00
Twinaphex b34da9df49 (Wii) Wii port compiles again. 2012-04-22 00:38:24 +02:00
Twinaphex 676e4f6348 (PS3) Works on PS3 now. 2012-04-22 00:32:01 +02:00
TwinAphex51224 61d88fe42d (360) Fixup 2012-04-22 00:34:33 +02:00
TwinAphex51224 7fa59c7f6a (360) 360 port mostly works again - some small things to take care of 2012-04-22 00:27:54 +02:00
TwinAphex51224 4514e67c6f (360) CSSNES instances changed to CRetroArch 2012-04-22 00:14:18 +02:00
TwinAphex51224 61eb18fa8a (360) More 360 changes 2012-04-22 00:11:48 +02:00
TwinAphex51224 7c462a1edc (360) Some more changes to vcxproj 2012-04-22 00:02:41 +02:00
TwinAphex51224 5672ac098b (360) Some more changes 2012-04-21 23:58:03 +02:00
TwinAphex51224 b93ca1653c (360) Fix up filenames 2012-04-21 23:54:20 +02:00
Themaister 161bed281f Win32 makefile fixes. 2012-04-21 23:51:05 +02:00
TwinAphex51224 96fbb76345 (360) Small 360 fixups 2012-04-21 23:48:27 +02:00
Themaister 19b2839eca Updates to retroarch-zip. 2012-04-21 23:43:29 +02:00
TwinAphex51224 959950d55e Fixup some console Makefiles 2012-04-21 23:42:20 +02:00
TwinAphex51224 52e4f7ad58 (360) Change references to SSNES in vcxproj file to rarch 2012-04-21 23:38:55 +02:00
Themaister b95b101a37 Add compat to external APIs. 2012-04-21 23:36:55 +02:00
Themaister 109dc7a64f More changes to RetroArch. 2012-04-21 23:33:35 +02:00
Themaister ce740f8948 More fixups. 2012-04-21 23:31:57 +02:00
Themaister d000563d89 Update README. 2012-04-21 23:27:15 +02:00
Themaister aab8fb6151 ssnes_* => rarch_*. 2012-04-21 23:25:32 +02:00
Themaister 9ab51ad23a SSNES => RetroArch. 2012-04-21 23:17:43 +02:00
Themaister 3a7ad61879 Rename ssnes.c to retroarch.c. 2012-04-21 23:11:18 +02:00
Twinaphex f74d5a03a9 (PS3) New icon/PARAM.SFO 2012-04-21 04:13:57 +02:00
Twinaphex 2fb6e84018 (PS3) Name change 2012-04-21 03:28:32 +02:00
TwinAphex51224 8da73e0434 (360) Name change 2012-04-21 02:55:55 +02:00
Themaister da4f176053 Fix segfault when audio driver fails to initialize. 2012-04-19 21:09:27 +02:00
Twinaphex 1eb1841c9b Revert "(360) Add offscreen render targets (FBO for D3D) to video driver"
This reverts commit 97aba979c0.
2012-04-19 15:59:47 +02:00
Twinaphex 3851664399 Revert "(360) Quick fix to gfx_frame"
This reverts commit 9d5da1e9e0.
2012-04-19 15:59:38 +02:00
Twinaphex c09fdcc14a Revert "(360) Corrections to gfx_init and fbo_init"
This reverts commit 7bab422a44.
2012-04-19 15:59:15 +02:00
Twinaphex 3492d89147 Revert "(360) FBO changes"
This reverts commit 77b4b76db4.
2012-04-19 15:59:07 +02:00
Twinaphex 808a7cee4a Merge branch 'master' of github.com:Themaister/SSNES 2012-04-19 15:58:15 +02:00
TwinAphex51224 77b4b76db4 (360) FBO changes 2012-04-18 23:57:01 +02:00
TwinAphex51224 7bab422a44 (360) Corrections to gfx_init and fbo_init 2012-04-18 23:35:01 +02:00
TwinAphex51224 9d5da1e9e0 (360) Quick fix to gfx_frame 2012-04-18 23:29:42 +02:00
TwinAphex51224 97aba979c0 (360) Add offscreen render targets (FBO for D3D) to video driver 2012-04-18 23:19:11 +02:00
Themaister 8fed2d1efb Should fix high CPU bug in Pulse. (Thanks to fable2012). 2012-04-18 20:30:32 +02:00
Themaister 00fd46c0f6 Style nit. 2012-04-18 20:19:58 +02:00
Twinaphex f764808578 Merge branch 'master' of github.com:Themaister/SSNES 2012-04-18 15:36:53 +02:00
TwinAphex51224 8e950ba5be (360) Convert texture first to some color format suitable for
GPU/sampling - this fixes most of the problems with the shaders
such as Lanzcos, Bead and Blinky.
2012-04-18 05:01:17 +02:00
TwinAphex51224 1f10d2d18a (360) Changes to shader_hlsl.c 2012-04-18 02:57:46 +02:00
TwinAphex51224 9bd2a4256b (360) Move to ps_3_0/vs_3_0 2012-04-17 21:27:47 +02:00
TwinAphex51224 23d05ea55d (360) Assume Release of d3d render device / device will also
free all associated resources
2012-04-17 05:45:55 +02:00
TwinAphex51224 3a99b0602e (360) Fixed memory freeing bug to do with XUI when exiting
program
2012-04-17 05:35:25 +02:00
TwinAphex51224 3868f42687 (360) Don't exclude stock.cg from deploy any longer 2012-04-17 05:27:16 +02:00
TwinAphex51224 ce7275393e (360) Attempt to make clear in xdk360_video.cpp what is 360-specific
and what is not
2012-04-17 05:23:54 +02:00
TwinAphex51224 6c5285c792 (360) Rewrite of xdk360_video.cpp and shader_hlsl.c - use
portable class-based function invocations
2012-04-17 05:12:47 +02:00
Themaister 2f693ad7f2 Add some comments to libretro header. 2012-04-16 22:25:09 +02:00
Themaister 0934d81a52 Add -Wno-unused-result. 2012-04-16 20:38:25 +02:00
Themaister 6824174397 Clarify README. 2012-04-16 18:52:14 +02:00
Themaister d51cce764d Update README a bit. 2012-04-16 18:41:29 +02:00
TwinAphex51224 731f3e7bba (360) found bug while in debug mode - have to set texture to NULL
first before doing lockrect / unlockrect
2012-04-16 18:32:57 +02:00
Themaister dcbd252c38 Style nits. 2012-04-16 18:11:20 +02:00
Twinaphex ac8ca5a526 Merge branch 'master' of github.com:Themaister/SSNES 2012-04-16 06:32:15 +02:00
TwinAphex51224 a8af68217f (360) Frame count in shaders works now 2012-04-16 04:22:16 +02:00
Themaister f6ed5902c2 Fixups for aspect_ratio_auto. 2012-04-15 21:48:32 +02:00
TwinAphex51224 6a942e046a (360) Flesh out hlsl_set_params 2012-04-15 20:02:51 +02:00
Twinaphex 10c2e86d14 Merge branch 'master' of github.com:Themaister/SSNES 2012-04-15 20:00:55 +02:00
TwinAphex51224 1cdaa652a9 (360) Attempt to fix memory leaks - still broken 2012-04-15 18:13:24 +02:00
TwinAphex51224 48b8c78de2 (360) Remove register specification for MVP - no longer need it 2012-04-15 17:53:48 +02:00
TwinAphex51224 17aa782223 (360) MVP now gets fetched from constant table too - stock.cg
now requires zero changes from Cg file
2012-04-15 17:51:01 +02:00
Themaister abaa4f371d Add video_aspect_ratio_auto setting. 2012-04-15 17:36:09 +02:00
Themaister 186ea8898b Add LIGHTGUN_START. 2012-04-15 17:08:43 +02:00
Themaister a725d2c506 Fix libretro header. 2012-04-15 16:47:16 +02:00
TwinAphex51224 f9ef9cd1f4 (HLSL) Implement set_program_attributes 2012-04-15 16:34:09 +02:00
Twinaphex 9f8f831450 Merge branch 'master' of github.com:Themaister/SSNES 2012-04-15 16:28:01 +02:00
TwinAphex51224 7271f61da0 (Libretro) Update to libretro header file - for when compiling in
C89 mode in MSVC 360
2012-04-15 15:00:26 +02:00
Twinaphex 5932829fd8 (PS3/360) Small indent cleanups 2012-04-15 02:41:44 +02:00
TwinAphex51224 dee9b69661 (HLSL) Implement constant table for HLSL 2012-04-14 22:44:46 +02:00
TwinAphex51224 2a8ea913c0 (HLSL) small cleanups 2012-04-14 22:19:39 +02:00
TwinAphex51224 f4f2ff386a (HLSL) D3D device ptr for shader_hlsl.c 2012-04-14 22:05:56 +02:00
TwinAphex51224 a50a9a6ba1 (360) 360 port works with skeleton HLSL driver now 2012-04-14 21:45:43 +02:00
Twinaphex 6f56942d44 (HLSL) Add skeleton gfx/shader_hlsl.c (for initial use with 360) 2012-04-14 20:33:56 +02:00
Twinaphex d95f5131c0 (PS3) Optimizations to ps3_video_psgl.c 2012-04-14 18:26:12 +02:00
Twinaphex a853964755 (Wii) Simplify macros in wii/video.c 2012-04-14 16:41:01 +02:00
Twinaphex fe38d090b3 (Wii) Use Griffin 2012-04-14 14:08:00 +02:00
Twinaphex 3b4644cd16 (Wii) Add Wii defines to Griffin 2012-04-14 13:42:25 +02:00
Twinaphex 00a20e80aa (360) menu.h indenting nits 2012-04-14 05:36:54 +02:00
Twinaphex 499a22df72 (PS3) main.c indenting nits 2012-04-14 05:30:10 +02:00
Twinaphex df5b772462 (PS3) menu.c indenting nits 2012-04-14 05:24:09 +02:00
Twinaphex 7273b9901d Nits in file_browser.h 2012-04-14 05:06:59 +02:00
Twinaphex d1e7a96e2b Change header guards of console_ext_input.h 2012-04-14 05:05:32 +02:00
Twinaphex 233730d03b (360) 360/fonts.cpp - indenting nits 2012-04-14 05:01:26 +02:00
Twinaphex 76493d26d4 (Xenon) Indenting nits 2012-04-14 04:43:29 +02:00
Twinaphex 089e97b942 (360/PS3) Indenting nits 2012-04-14 04:38:40 +02:00
Twinaphex 80e2f61eab (PS3/360) Moved some shared enums to console_ext.h 2012-04-14 03:51:25 +02:00
Twinaphex dd50c986ec (Wii) Some small fixes in wii/video.c 2012-04-14 02:35:19 +02:00
Twinaphex 0907eccc9c (Griffin) Removed Griffin by mistake 2012-04-14 01:02:37 +02:00
Twinaphex b0cc4a6f61 (Wii) Prepare for Griffin 2012-04-14 01:00:09 +02:00
Twinaphex 1bcb253ce7 (Wii) Works now - GETOPT_LONG on Wii seems to be broken 2012-04-13 23:43:38 +02:00
Twinaphex 1352c29f39 (Wii) Add HAVE_FILE_LOGGER debugging code 2012-04-13 23:40:10 +02:00
Twinaphex 9be0365b0e (SSNES_CONSOLE) Remove useless ifdef 2012-04-13 23:20:12 +02:00
Twinaphex 6fb2f9b161 Move to HAVE_SSNES_MAIN_WRAP for Wii 2012-04-13 23:16:51 +02:00
Twinaphex 1193d41360 Add some file logging stuff for Wii debugging 2012-04-13 22:54:30 +02:00
Twinaphex 96c20550b5 (SSNES_CONSOLE) Get rid of main_wrap.h header file - include
this in console_ext.h instead
2012-04-13 22:07:21 +02:00
TwinAphex51224 ab8c3085a6 (360) Added file_path to 360 solution for Salamander 2012-04-13 22:05:26 +02:00
Twinaphex 6ab12d1844 (Salamander) Move include of file.h below SSNES_ERR/SSNES_WARN/SSNES_LOG
defines in Salamander
2012-04-13 21:44:59 +02:00
Themaister 1bfba2f575 Macro guard loggers. 2012-04-13 21:50:52 +02:00
Twinaphex 6691ca2c91 (SSNES_CONSOLE) SSNES Salamander uses file_path.c now 2012-04-13 21:30:04 +02:00
Themaister 687d5a2b2b Fix build for Win32. 2012-04-13 21:30:55 +02:00
Themaister 8c426ed49a Split file.c in two. 2012-04-13 21:29:25 +02:00
Twinaphex 10be750aa6 (SSNES_CONSOLE) Introduce HAVE_SSNES_EXEC define 2012-04-13 21:01:04 +02:00
Twinaphex 79737aecf3 (SSNES_CONSOLE) Introduce HAVE_SSNES_MAIN_WRAP define 2012-04-13 20:40:22 +02:00
Twinaphex 782e8b8da9 (PS3/360) Removed duplicate keybind LUT 2012-04-13 17:03:30 +02:00
Themaister 38aa7da1ab Style nits and cleanups. 2012-04-13 16:30:13 +02:00
Twinaphex ad03ce8b58 (360) Unnecessary enum duplications in 360/shared.h 2012-04-13 16:15:57 +02:00
Twinaphex ccd160ac0d (PS3/360) Fixed ifdef in console_ext.h - change to HAVE_LIBRETRO_MANAGEMENT 2012-04-13 15:59:22 +02:00
Twinaphex 2ffffee571 (PS3/360) libretro_manage_core made portable and moved to console_ext.c 2012-04-13 15:57:59 +02:00
Twinaphex add97b9ef5 (360) Don't make a copy of dir_list_new in 360/main.c but rather use
the one in file.c with two small Xbox 360 tweaks to make it work
2012-04-13 14:52:51 +02:00
Twinaphex 5646140755 (360) Use ssnes_input_set_default_keybinds in 360 code too 2012-04-13 14:41:12 +02:00
Twinaphex 55d621e062 (PS3) Make use of ssnes_set_default_keybinds in ps3/main.c 2012-04-13 06:12:51 +02:00
Twinaphex 331d596940 (PS3) Made keybind changing code portable 2012-04-13 04:31:51 +02:00
TwinAphex51224 77bab1ad2d (360) Small cleanup to Salamander for 360 2012-04-13 03:55:09 +02:00
Twinaphex 9db2a51a81 Updated meta.xml + fixed some indenting in xdk360_video.cpp 2012-04-13 03:23:23 +02:00
Twinaphex 3e2769d199 (360) Updated 360 for new aspect ratio code too 2012-04-13 03:07:10 +02:00
Twinaphex 6c80cd81d0 (PS3) Cleaner aspect ratio changing code 2012-04-13 03:03:21 +02:00
Twinaphex 0ec50e8bc4 Moved font.bmp for Wii - had difficulty linking otherwise 2012-04-13 02:18:55 +02:00
Twinaphex 9cb9597e8a (Wii) Wii port updates - broken right now -
exits to HBC right after loading a ROM
2012-04-13 02:17:27 +02:00
Twinaphex 49a4ba73e0 whoops - SSNES PC seems to automatically overwrite this when
SSNES is started up from compile dir
2012-04-12 22:57:35 +02:00
Twinaphex 533d2683c5 (PS3/360) Uses block_extract from libretro API now 2012-04-12 22:53:05 +02:00
Twinaphex cb387342ba Small change for console ports who do not have HAVE_BSV_MOVIE
defined
2012-04-12 14:32:50 +02:00
Themaister c7e6a0de06 Fix bug when maximum geometry was not POT. 2012-04-11 23:14:08 +02:00
Themaister 60cf4e569a Fix some warnings. 2012-04-11 20:17:17 +02:00
Themaister 16d123dfab Fix home/end/pgup/pgdown keys. 2012-04-11 18:56:21 +02:00
Twinaphex d33e0250b6 (Wii/NGC) Add HW_RVL defines to wii/input.c (there will be
SSNES GameCube too)
2012-04-11 04:25:55 +02:00
Twinaphex 24ecf1c4e5 (Wii) Some cleanups to wii/input.c 2012-04-11 04:22:41 +02:00
Twinaphex f313d3c6bb (360/PS3) 360 and PS3 now both use the same salamander source
file
2012-04-11 04:07:17 +02:00
Twinaphex 61cea3f027 (PS3) Some indenting nits 2012-04-11 03:32:58 +02:00
Twinaphex 726fa479fa (SSNES_CONSOLE) Numerous cleanups, indenting cleanups, include header file fixes,
etc.
2012-04-11 02:42:27 +02:00
Twinaphex 1cdba6b0c5 (Wii) Updated Wii makefile again 2012-04-10 23:07:23 +02:00
Twinaphex 24ec735380 (Wii) Ifdeffed out LAST_PLATFORM_KEY 2012-04-10 23:03:08 +02:00
Twinaphex 0f473ddc4e (Wii) Another fix to Makefile 2012-04-10 22:58:05 +02:00
Twinaphex cd1d71120c (Wii) Update out-of-date Makefile 2012-04-10 22:56:30 +02:00
Twinaphex 063a736f4d (Wii) Updated Wii makefile -excluded Freetype font stuff 2012-04-10 22:53:16 +02:00
Twinaphex cb9fa07ad9 (Wii) Fix include path 2012-04-10 22:40:44 +02:00
Twinaphex 2e92640d2b (PS3) Fixed analog controls 2012-04-10 21:58:58 +02:00
Twinaphex db00f689c8 Fixed indenting in a lot of console files 2012-04-10 21:24:05 +02:00
Themaister 867df49fcf Reword for consistency. 2012-04-10 19:24:08 +02:00
Twinaphex 55d09ee494 (Salamander) Changes - now looks for libretro_path instead of
libsnes_path
2012-04-10 18:57:14 +02:00
Twinaphex b22f122c93 (PS3 Fixed two-player controls 2012-04-10 18:07:21 +02:00
Twinaphex eaaeda8c38 (PS3/360) ssnes_render_cached_frame fixed 2012-04-10 17:45:58 +02:00
TwinAphex51224 6c39e981a4 Merge branch 'master' of github.com:Themaister/SSNES 2012-04-10 13:58:49 +02:00
TwinAphex51224 678fbaff3b (360) 360 fix 2012-04-10 13:58:23 +02:00
Twinaphex 5906754468 (Libretro) libretro-related to ports 2012-04-10 03:14:21 +02:00
TwinAphex51224 9d3d696b3e (360) Some libretro ABI-related changes for 360 port 2012-04-10 03:13:04 +02:00
Twinaphex b2fcf5b281 (PS3) More libretro commits - broken right now on retro_run 2012-04-10 01:00:25 +02:00
Themaister 7c5c04bf36 Warning fixups. 2012-04-10 00:37:30 +02:00
Twinaphex 6c05eac2f5 (PS3) Preliminary PS3 conversion to libretro 2012-04-10 00:22:02 +02:00
Themaister a949c0ed37 Change another use of snes_library_id(). 2012-04-10 00:18:49 +02:00
Themaister 0cf7e2811e Use retro_get_system_info. 2012-04-09 23:52:05 +02:00
Themaister 1959f0d17b Add block_extract. 2012-04-09 23:46:26 +02:00
Themaister 9f0211d9d7 Fixup C++ build. 2012-04-09 22:30:29 +02:00
Themaister 0dff4dad52 Allow cores to infer aspect ratios other than PAR 1:1. 2012-04-09 22:19:51 +02:00
Themaister ba2e913908 Use unsigned port. 2012-04-09 22:05:26 +02:00
Themaister e3a71a8c5b Fixup headers. 2012-04-09 22:05:26 +02:00
Themaister 0f8a47467c Fixups. 2012-04-09 22:04:44 +02:00
Themaister e012e290ae Builds clean. 2012-04-09 22:04:44 +02:00
Themaister 5d51942f69 libretro fixups. 2012-04-09 22:04:43 +02:00
Themaister cb3a65a358 Minor tweaks. 2012-04-09 22:03:57 +02:00
Themaister cd3c9a548c Begin fixing up SSNES for libretro. 2012-04-09 22:03:57 +02:00
Themaister 9b57081097 Work on new libretro API. 2012-04-09 22:03:57 +02:00
Themaister fd5f495991 Fixup build script to reflect libretro. 2012-04-09 22:03:57 +02:00
Themaister 62c96ea937 Change license header. 2012-04-09 22:03:57 +02:00
Themaister 9698cd7dbd Change headers. 2012-04-09 22:03:57 +02:00
Themaister 84f40dab16 Move set_aspect_ratio to SSNES_CONSOLE. 2012-04-09 22:02:46 +02:00
Twinaphex e18a9e1001 Added set_aspect_ratio callback function 2012-04-09 16:04:24 +02:00
Twinaphex d617e50bbf Revert "Allow for preinit of message queue."
This reverts commit 7d2a00df4e.
2012-04-09 14:35:00 +02:00
Twinaphex 3dee9662e2 Revert "Add a FIFO-style interface to message queue."
This reverts commit fd44e0b9c6.
2012-04-09 14:34:48 +02:00
Twinaphex eb59aa6028 Revert "Fix FTBFS." See above revert message
This reverts commit da939a9986.
2012-04-09 14:34:31 +02:00
Twinaphex 755aeec226 Revert "(PS3) Initial implementation of new message queue" Get rid of
this stuff and the entire FIFO-style interface for the message
queue. It's far too unstable, the ports routinely crash for no
good reason - and I can't get it to display right anyway.
So, get rid of it all and back to the drawing board with it -
because this isn't working out

This reverts commit 29b2a560c3.
2012-04-09 14:32:56 +02:00
Twinaphex 29b2a560c3 (PS3) Initial implementation of new message queue 2012-04-05 00:00:33 +02:00
Themaister da939a9986 Fix FTBFS. 2012-04-04 23:54:37 +02:00
Themaister fd44e0b9c6 Add a FIFO-style interface to message queue.
Implement a virtual stderr for consoles.
2012-04-04 23:36:09 +02:00
Twinaphex ff7cbf5be2 (PS3) Fix 'change libsnes core' option 2012-04-04 23:12:21 +02:00
Themaister 7d2a00df4e Allow for preinit of message queue. 2012-04-04 20:02:41 +02:00
TwinAphex51224 55ddfb0dc6 (360) Add version number for emu cores in menu 2012-04-04 03:33:06 +02:00
TwinAphex51224 113e3006fa (360) Added HD menus / SD menus available too - will be autoselected
based on aspect ratio / HD availability - will need more refinement
2012-04-04 02:54:21 +02:00
Twinaphex 13e22788c9 (PS3) Add version string for emulators in menu 2012-04-03 23:23:54 +02:00
Themaister 865229820a Fix edge case on rotation with multiple pass shaders. 2012-04-02 17:26:23 +02:00
Twinaphex debba76dc4 (PS3) Multiman fix - different version 2012-04-01 20:15:58 +02:00
Twinaphex 163a7c2e87 (PS3) Hopefully fixes Multiman issue 2012-04-01 20:15:12 +02:00
Themaister fdcfd3fc71 SET_CORE_VERSION. 2012-04-01 20:11:19 +02:00
Themaister 2178a14952 Find drivers before snes_init() to allow rotation to work properly. 2012-04-01 19:38:50 +02:00
Themaister 34bdea0f1c Add rotation to GL driver (PC). 2012-04-01 19:20:37 +02:00
Themaister 2815d5f5cb Defer autoload after sram load. 2012-04-01 16:58:53 +02:00
Themaister 562b28caa7 Add savestate auto load on boot. 2012-04-01 16:57:39 +02:00
Themaister 38a4141eef Add allow_rotate. 2012-04-01 16:13:04 +02:00
TwinAphex51224 525d9b3cf5 (360) Implemented rotation callback function 2012-04-01 16:10:02 +02:00
Twinaphex 0eb49deaa8 (PS3) Forgot to hook up set_rotate function pointer 2012-04-01 01:32:05 +02:00
Twinaphex 239e491382 (PS3) Implemented rotation callback function 2012-04-01 01:01:01 +02:00
Twinaphex ed75cb8031 (PS3) Fixed 'Set default Libsnes core' option 2012-04-01 00:13:45 +02:00
Themaister ba0e7d5f2a Style nit. 2012-03-30 21:18:15 +02:00
Hans-Kristian Arntzen 0308d3fe2b Merge pull request #8 from AlexFolland/master
On ROM checksum mismatch, warn instead of stopping bsv playback.
2012-03-30 12:16:22 -07:00
AlexFolland a2013276d5 instead of stopping, warn about checksum mismatch on bsv playback 2012-03-30 15:13:26 -04:00
Themaister eca337ee55 Allow device to be selected in DirectSound. 2012-03-30 20:09:40 +02:00
Themaister 996d6d25b7 Add support to select device in XAudio2. 2012-03-30 19:53:12 +02:00
Themaister 35a9123bf8 Fix build on Mingw CXX_BUILD. 2012-03-30 19:15:18 +02:00
Themaister 5d4e32ef9d Add support for rotation. 2012-03-30 19:09:34 +02:00
Themaister 29ccd1a5a1 Should fix it properly. 2012-03-29 23:19:41 +02:00
Twinaphex 8ff9ae6b32 Revert "Avoid redundant copy. Remove some now unneeded ifdefs."
This reverts commit b52110f642.
2012-03-29 22:28:46 +02:00
Themaister b52110f642 Avoid redundant copy. Remove some now unneeded ifdefs. 2012-03-29 20:28:22 +02:00
TwinAphex51224 a7b486cef1 (360) Some cleanups to xdk360_video_resources 2012-03-29 17:27:42 +02:00
TwinAphex51224 a33c610149 (360) Don't copy over ssnes.cfg every time during Deployment 2012-03-29 16:54:16 +02:00
Twinaphex 1cc8a24b3c Get rid of Cellframework2 headers in file_browser.h 2012-03-29 16:21:30 +02:00
Twinaphex 75661e7527 (360/PS3) Moved file_browser.c to console/ - 360/PS3 now use
the same file browser code
2012-03-29 16:18:23 +02:00
TwinAphex51224 765ba65188 (360/PS3) Attempt to use the same file browsing code for 360 and
PS3
2012-03-29 16:10:16 +02:00
Twinaphex db7be5736b (360/PS3) OVERRIDE_VIDEO_FRAME_FUNC ifdeffed for 360/PS3 2012-03-29 15:33:28 +02:00
TwinAphex51224 23f9cf8618 (360) Have 360 use HAVE_GRIFFIN_OVERRIDE_VIDEO_FRAME_FUNC too 2012-03-29 15:30:27 +02:00
Twinaphex cf5fb8baaa (PS3) Some more Griffin overrides 2012-03-29 15:07:48 +02:00
Twinaphex 6b88330540 (Griffin) Griffin function override hooks 2012-03-29 14:17:03 +02:00
TwinAphex51224 9653e1f028 (360) Dodge function pointers / make direct calls through HAVE_GRIFFIN
define
2012-03-29 12:14:12 +02:00
TwinAphex51224 a860a71016 (360) 360 uses Griffin now too 2012-03-29 12:04:58 +02:00
Twinaphex 07c839f003 (Griffin) Integrate more source files into griffin.c 2012-03-29 02:10:49 +02:00
Twinaphex dc1616b7ce (PS3) No warnings when compiling griffin.c now 2012-03-29 02:07:05 +02:00
Twinaphex 5553774f6f (PS3) Dodge function pointers / make direct calls through
HAVE_GRIFFIN define
2012-03-29 01:15:22 +02:00
Themaister eee0233abb Wrap driver calls in overridable macros. 2012-03-29 00:30:50 +02:00
Twinaphex f8509ff325 Merge branch 'master' of github.com:Themaister/SSNES 2012-03-28 23:25:40 +02:00
Themaister a3e504ec49 Shut up compiler warning. 2012-03-28 23:32:29 +02:00
Twinaphex 105b6dbddc Merge branch 'master' of github.com:Themaister/SSNES 2012-03-28 23:22:54 +02:00
Twinaphex 24f5b2675b (PS3) Add Griffin to mass include files into one single source unit 2012-03-28 23:22:28 +02:00
Themaister da075bb261 Default initialize config macro values to stop eager compiler warnings. 2012-03-28 23:18:05 +02:00
Themaister 3ae401a2a4 Do not compile in main() in ssnes.c for consoles. 2012-03-28 23:08:57 +02:00
Themaister 104c92fa5d Add audio batch callback. 2012-03-27 22:24:46 +02:00
Twinaphex 29f1138ec6 (PS3) Fix indenting in ps3/file_browser.c 2012-03-26 15:14:25 +02:00
Twinaphex e7419d2fa5 (PS3) Menu cleanups 2012-03-26 15:03:50 +02:00
Twinaphex 6d0b8d1129 (PS3) Add some Windows-specific defines in Makefile 2012-03-26 14:52:58 +02:00
Twinaphex 6332ba3025 ssnes.c - better placement of HAVE_THREADS defines - some more
SSNES_CONSOLE defines
2012-03-26 03:24:28 +02:00
Twinaphex 45021bda3f (PS3) oskutil.c merged with ps3_input.c 2012-03-26 00:36:40 +02:00
TwinAphex51224 64fa27cdad (360) Update 360 solution 2012-03-26 00:27:48 +02:00
Twinaphex e75c1e9923 (PS3) Excluded movie.c from PS3 Makefile 2012-03-26 00:04:12 +02:00
Themaister a63968377a Fix warning. 2012-03-26 00:10:39 +02:00
Themaister 066e9608a1 Add HAVE_BSV_MOVIE define. 2012-03-26 00:06:25 +02:00
Themaister b273de1e99 Move netplay related bsv code to netplay. 2012-03-26 00:06:25 +02:00
Twinaphex 739bbe3aa6 (PS3) Update header on file_browser.c 2012-03-25 23:57:54 +02:00
Twinaphex 1ed6a622f1 (PS3) Move file_browser.c to root of PS3 dir 2012-03-25 23:57:07 +02:00
Twinaphex 5d535f6d54 Remove -DHAVE_SCREENSHOTS_BUILTIN from PS3 Makefile 2012-03-25 23:49:29 +02:00
Themaister c79e536b17 Use positive HAVE_SCREENSHOTS rather than a negative ifdef. 2012-03-25 23:41:20 +02:00
Themaister d73ec9b645 Move hashing code to hash.o. 2012-03-25 23:29:39 +02:00
Themaister 0726204505 If HAVE_ZLIB is set, use zlib internal crc32. 2012-03-25 22:21:08 +02:00
TwinAphex51224 a0a27658bd (360) 360 compile update 2012-03-25 03:12:31 +02:00
Twinaphex db6b9ba4a3 (SSNES_CONSOLE) Merged input_luts.c with console_ext.c 2012-03-25 01:56:27 +01:00
Twinaphex 38ae16f425 SSNES_CONSOLE ifdefs in ssnes.c 2012-03-25 01:19:44 +01:00
Themaister a569625ce9 Do not crash if ffmpeg format cannot be found. 2012-03-23 23:48:17 +01:00
Twinaphex 42b756480b (PS3) Integrated local shader_cg.c into ps3_video_psgl.c 2012-03-23 01:19:44 +01:00
Themaister 4a5104bfcf Use a more correct ifdef. 2012-03-22 22:55:30 +01:00
TwinAphex51224 6e24901d95 (MSVC 2010) Updated MSVC 2010 solution 2012-03-22 01:41:10 +01:00
Twinaphex e5a38bbd51 (SSNES_CONSOLE) More SSNES_CONSOLE ifdefs 2012-03-21 23:58:31 +01:00
Themaister 7ffc9db413 Do not care about cropping on consoles. 2012-03-21 22:47:03 +01:00
Themaister 63274f6f61 Only allow duping if ffmpeg is compiled in. 2012-03-21 22:36:11 +01:00
Themaister b907cb667a Mask away useless code for consoles. 2012-03-21 22:12:18 +01:00
Themaister 5272008f54 Add --no-patch to forcefully disable all patching. 2012-03-20 23:45:58 +01:00
Themaister 4e772003c8 Style nit. 2012-03-20 23:18:10 +01:00
Themaister 48cddde84a Add IPS patching. 2012-03-20 23:08:34 +01:00
Themaister acdc6179bb Add possibility to disable -static-libstdc++ for TDM_GCC. 2012-03-19 23:45:46 +01:00
Twinaphex fadd954618 (PS3) Made local PS3 copy of shader_cg.c 2012-03-19 03:28:04 +01:00
Twinaphex e0295a726a (PS3) Merged Cellframework2 pad_input.c with ps3_input.c from SSNES 2012-03-19 02:55:13 +01:00
Twinaphex f442c8ab5f (PS3) Small change 2012-03-19 01:41:55 +01:00
TwinAphex51224 885c165716 (360) Combine xdk360_video.cpp and xdk360_video_resources.cpp 2012-03-18 00:23:11 +01:00
TwinAphex51224 bd90e1c1a3 (360) Compile fix 2012-03-18 00:16:40 +01:00
Twinaphex 1b995917ce Moved SGUI files to subdir in console/ 2012-03-17 23:59:15 +01:00
Twinaphex 4e3359ec19 Merged console_ext.c / main_wrap.c and got rid of warning in file.c 2012-03-17 23:05:48 +01:00
Twinaphex 8ab536a968 Fix typo 2012-03-17 22:55:48 +01:00
Twinaphex ca25e51812 (PS3) Salamander fixes - still doesn't link with GCC though 2012-03-17 22:51:42 +01:00
Themaister 56e5c9fcec Refactor patch handling. 2012-03-17 01:12:29 +01:00
TwinAphex51224 cd0973d213 (360) Fixed build 2012-03-17 01:10:17 +01:00
Twinaphex 72efdbd916 (PS3) Fixed PS3 and Salamander PS3 builds 2012-03-17 00:58:44 +01:00
Themaister 13373f4873 Merge compat implementations into compat/compat.c. 2012-03-17 00:56:55 +01:00
Twinaphex edad44c950 (PS3) PS3 builds again 2012-03-17 00:45:00 +01:00
TwinAphex51224 6cd800f6ae (360) 360 builds again 2012-03-17 00:52:10 +01:00
Themaister 0ee6aa948e Merge netplay_compat.c into netplay.c. 2012-03-17 00:49:05 +01:00
TwinAphex51224 7974533452 (360) Fixed SSNES Salamander 360 2012-03-17 00:40:48 +01:00
Twinaphex 6c8dd72cd8 (PS3) Build fix for PS3 2012-03-17 00:09:38 +01:00
TwinAphex51224 6b45efa7bc (360) Some build fixes - still not compiling though 2012-03-17 00:13:49 +01:00
Themaister 224db6a4c8 Merge ups.h/bps.h into patch.h. 2012-03-16 23:47:31 +01:00
Themaister ef72584568 Merge ups/bps into patch.c. 2012-03-16 23:42:29 +01:00
Twinaphex 2a6551a62a Fixup includes 2012-03-16 23:31:26 +01:00
Themaister 9ab02b12be Move compat functionality to compat/. 2012-03-16 23:26:57 +01:00
Twinaphex e6b3b96400 (PS3) SDK is always Win32 anyway -so if run on Linux/WINE, we
just use .exe extension instead of setting up all sorts of
complicated symlinks from host-linux to host-win32
2012-03-14 03:19:13 +01:00
TwinAphex51224 47dcb54c1f (PS3/Wii) Make netlogger code portable 2012-03-13 00:45:12 +01:00
Themaister 6cd4989651 Rename macro. 2012-03-12 22:55:19 +01:00
TwinAphex51224 dd9f4be2aa (Wii) Some work on Wii port - included szlib.c - moved input-related
function over to input_luts.c
2012-03-12 22:40:04 +01:00
Themaister 36885e35d7 Kill obsolete test code. 2012-03-12 22:02:34 +01:00
Themaister 49f27c68ff Style nits. 2012-03-12 21:45:43 +01:00
Themaister 5d6c5af8be Style nit. 2012-03-12 18:50:25 +01:00
Themaister 0a2b3ede59 Cleanup. 2012-03-12 17:31:15 +01:00
TwinAphex51224 07a4619a70 (PS3) Now uses new environment extensions too 2012-03-12 17:05:37 +01:00
TwinAphex51224 37b8585df4 (Console) Clean up ssnes_console_get_rom_ext 2012-03-12 14:30:15 +01:00
TwinAphex51224 71189737de (360) Stack size increase - Gunbird 2 in FBA boots now 2012-03-12 06:30:41 +01:00
TwinAphex51224 8781b5c7d3 (360) Works now - environment settings were getting 'defaulted'
- placed init_libsnes_syms now right before menu_init
2012-03-12 04:34:49 +01:00
TwinAphex51224 ed4a81e497 (360) More of aforementioned 2012-03-12 03:53:44 +01:00
TwinAphex51224 e1bbaee64c (360) Set up SSNES 360 for new console environment settings 2012-03-12 03:08:15 +01:00
Themaister d7afd20346 Add new extensions to help FBA. 2012-03-12 00:39:24 +01:00
TwinAphex51224 fe0a6c8d07 (360 FB Alpha 360 libsnes works now 2012-03-11 23:03:20 +01:00
TwinAphex51224 a328bd578e (360/PS3) Some changes needed for FBA on consoles in specific 2012-03-11 22:39:48 +01:00
Themaister 7f4d701b19 Preparations for 0.9.5 release. 2012-03-11 17:52:10 +01:00
TwinAphex51224 06a951ef7f (360) Add NOD3D define to netplay.c too 2012-03-11 16:26:10 +01:00
TwinAphex51224 51b3cafed7 (360) Add xdk360_video_general.h header file 2012-03-11 16:19:47 +01:00
TwinAphex51224 81988fc1ef (360) Don't include D3D/Netcode where not needed through NOD3D/
NONET defines
2012-03-11 16:17:42 +01:00
TwinAphex51224 1f00ce1812 (360) Use C version code in objbase.h for XAudio2 2012-03-11 15:00:15 +01:00
TwinAphex51224 2295c4abd8 (360) Add objbase.h 2012-03-11 14:45:20 +01:00
TwinAphex51224 48230ba533 (360) Use more direct functions for Xaudio2 2012-03-11 07:24:53 +01:00
TwinAphex51224 4737d28644 (360) Add custom Xaudio header 2012-03-11 06:58:56 +01:00
TwinAphex51224 5c4ad2884e (360) Get rid of unused font_texture 2012-03-11 03:57:07 +01:00
TwinAphex51224 e30966bfd0 (360) Get rid of constant table - seem to be getting nowhere with
this
2012-03-11 03:40:52 +01:00
TwinAphex51224 c5d8e1a75c (360) Add constant table for fragment shader too 2012-03-10 20:55:55 +01:00
TwinAphex51224 c2cc7a278f (360) Nit 2012-03-10 18:54:07 +01:00
TwinAphex51224 5cad1e4c39 (360) Stock Cg/HLSL shaders should be now almost the same - only
mall 1/2-line ifdefs should be needed
2012-03-10 18:50:30 +01:00
Themaister 8a6b628bee Allow stopping playback early. 2012-03-10 18:31:25 +01:00
Themaister f78df09c38 Do not fail hard if serializer doesn't match. 2012-03-10 18:10:54 +01:00
TwinAphex51224 40035908f3 (360) Nit. 2012-03-10 17:00:21 +01:00
TwinAphex51224 b0de19f3e0 (360) force_resize_enable member was a hack for hacky orientation,
can go now that we do it properly
2012-03-10 16:57:59 +01:00
TwinAphex51224 a47bcf6cc1 (360) Texture coordinates updated now again per video width/height change 2012-03-10 16:50:11 +01:00
TwinAphex51224 bc307d4b63 (360) Moving away from crufty orientation code 2012-03-10 16:41:10 +01:00
TwinAphex51224 bdb8b3f0fe (360) MVP shader stuff fixed 2012-03-10 15:51:42 +01:00
TwinAphex51224 6053b61b5b (360) MVP stuff - right now ouputs black - to be fixed shortly 2012-03-10 15:32:36 +01:00
Themaister 7489f387c1 Do not block state saving when playing/recording a movie. 2012-03-10 14:08:04 +01:00
TwinAphex51224 31be6766c6 (360) Uses runtime shader compiler - loads stock shader from
file now
2012-03-09 21:50:12 +01:00
Themaister 6b552cfba1 Revert derp. 2012-03-09 18:20:03 +01:00
Themaister 848a67252f Fix subtle regression. 2012-03-09 18:18:35 +01:00
TwinAphex51224 8d5385d1d7 (PS3) Aspect ratio fix 2012-03-09 01:21:10 +01:00
TwinAphex51224 7d8d8f39f7 (360) Add aspect ratio changing - fixed bugs 2012-03-09 01:22:01 +01:00
TwinAphex51224 760d3bbecf (360) WIP aspect ratio changing - currently broken 2012-03-09 00:09:39 +01:00
TwinAphex51224 ac070a6b2b (360) Added gamma correction setting 2012-03-08 23:29:18 +01:00
TwinAphex51224 94f09d2093 (360) Some more replacing of D3D functions 2012-03-08 21:15:18 +01:00
TwinAphex51224 b8e6443710 (360) Use C functions for D3D 2012-03-08 16:14:09 +01:00
TwinAphex51224 8823b47a05 (360) Added screen orientation options - might want to refactor
this later on
2012-03-08 13:45:00 +01:00
Themaister a3351e17f1 Fix hang with FFV1. 2012-03-08 00:45:03 +01:00
Themaister c1544e88aa Cleanups, and fixes h264 with recent FFmpegs. 2012-03-08 00:33:22 +01:00
TwinAphex51224 4e68eb12ab Add back HAVE_ZLIB ifdefs for console_ext.c 2012-03-07 20:32:51 +01:00
TwinAphex51224 428050904c (360) ZIP files can now be unzipped - press X on a ZIP file to
unzip the files to the cache: partition - from the filebrowser
you can then go to the cache partition and load the unzipped ROM.
2012-03-07 20:33:14 +01:00
TwinAphex51224 ee806a0e2c (PS3) Don't compile in gfx_common.c 2012-03-07 17:55:04 +01:00
Themaister e318a1d5a7 Fix incompatibility with non-compilant C runtime. 2012-03-07 12:42:22 +01:00
Themaister ca0986064d Micronit (pt. 2). 2012-03-06 23:50:44 +01:00
Themaister 057846e45b Micronit. 2012-03-06 22:48:45 +01:00
Themaister d4c1cf4853 Style nits. 2012-03-06 22:45:51 +01:00
TwinAphex51224 9708536cd8 (PS3) ZIP files can now be unzipped - if you press X on a ZIP file
in the file browser, it will extract the contents to the /dev_hdd1
partition. You can then start the ROM from there. (problem right
now - savestates/SRAM get saved to this swap partition too -
which we flush at SSNES exit)
2012-03-06 22:20:15 +01:00
TwinAphex51224 f61348e53f (PS3) Mount system cache partition at startup and clear it at
exit - we'll use this for uncompressing ROMs in ZIP archives
2012-03-06 21:03:43 +01:00
TwinAphex51224 556e158020 (Szlib) Added unzip.c and fileapi.c to szlib.c 2012-03-06 20:23:24 +01:00
TwinAphex51224 d9337a2589 (Szlib) Cleanups #3 2012-03-06 18:15:48 +01:00
TwinAphex51224 cc476af1fe (Szlib) Cleanups #2 2012-03-06 18:02:54 +01:00
TwinAphex51224 4365b77577 (Szlib) cleanup 2012-03-06 17:49:49 +01:00
TwinAphex51224 f7c2bfe530 (PS3) Libsnes ports can now set per-system default keybind names 2012-03-06 16:06:47 +01:00
TwinAphex51224 44b873af5b Rename rom_ext.c to console_ext.c - rename xdk360_input.cpp to
xdk360_input.c
2012-03-06 14:12:28 +01:00
TwinAphex51224 4ff4957a45 (360) Use input LUTs in code 2012-03-06 13:35:20 +01:00
TwinAphex51224 3239edccb9 (360) Add keybind LUTs for 360 too 2012-03-06 12:59:40 +01:00
TwinAphex51224 fe0da105b5 (PS3) Add ssnes_ * to LUTs 2012-03-05 23:40:40 +01:00
Themaister 4c361bc648 Nit. 2012-03-05 23:48:14 +01:00
TwinAphex51224 9d17ccf4f3 (PS3) Ping pong commit to get everything working again 2012-03-05 23:32:51 +01:00
Themaister 25a97b1d8c Refactor. 2012-03-05 23:32:38 +01:00
TwinAphex51224 cd9dd6511d (PS3) Input can now be reconfigured 2012-03-05 23:01:26 +01:00
Themaister 37c29144d8 Log error code on dylib failure in Windows. 2012-03-05 21:40:00 +01:00
TwinAphex51224 3c2591f71f Revert "Revert "Remove useless return.""
This reverts commit 4959b8e20e.
2012-03-05 21:31:11 +01:00
TwinAphex51224 6ef7eae423 Revert "Attempt to fix set_keybind_digital."
This reverts commit 379614ca1c.
2012-03-05 21:30:28 +01:00
TwinAphex51224 4959b8e20e Revert "Remove useless return."
This reverts commit 24e807f520.
2012-03-05 21:30:28 +01:00
TwinAphex51224 7e1e293547 (PS3) Input changes 2012-03-05 21:30:28 +01:00
Themaister 4bd53c0b96 Properly extern. 2012-03-05 19:49:19 +01:00
Themaister 47f95020f0 Style nits. 2012-03-05 18:01:27 +01:00
TwinAphex51224 e4506d5a3e (PS3) Keybind name LUT 2012-03-05 17:33:41 +01:00
Themaister b612bb5290 Fix typo. 2012-03-05 17:37:18 +01:00
TwinAphex51224 f453ee7954 (PS3) Input LUTs 2012-03-05 16:57:43 +01:00
TwinAphex51224 0b3f0de625 (360) Will now start at root of game:\\ volume in ROM browser
as default path
2012-03-05 13:27:10 +01:00
TwinAphex51224 80a680a7ee (360) You can change between libsnes cores now from the menu 2012-03-05 13:06:24 +01:00
TwinAphex51224 762c2cb170 (360) Added SSNES Salamander to 360 - will now boot CORE.xex
from SSNES-Salamander.xex and rename CORE.xex once booted.
2012-03-05 12:07:09 +01:00
TwinAphex51224 7b4d48a69f (PS3) Use MAX_PADS for input state array 2012-03-05 07:35:50 +01:00
TwinAphex51224 bd500ae249 (360) Header typos 2012-03-05 01:15:27 +01:00
TwinAphex51224 ad5c890603 (360) Forgot to add new xdk360_input.h header file 2012-03-05 01:10:26 +01:00
TwinAphex51224 f46889daae (360) D-pad mapped to left analog stick -make this configurable
later on (same for PS3 port)
2012-03-05 01:00:09 +01:00
TwinAphex51224 b82d9be0ae (360) Compile in szlib.c 2012-03-04 23:28:32 +01:00
Themaister 449b08e9d5 Fix warning. 2012-03-04 23:17:27 +01:00
TwinAphex51224 a2fe0330eb (360) 360 compiles again 2012-03-04 23:15:25 +01:00
Themaister e3c5ebd937 Add define for strtoull. 2012-03-04 23:09:05 +01:00
TwinAphex51224 afdcae3ee8 (PS3) Link libsnes.a last in link order 2012-03-04 22:43:10 +01:00
TwinAphex51224 d2e3d8db28 (PS3) Compiles in szlib.c now 2012-03-04 21:53:04 +01:00
Themaister 10ac66e734 Legal stuff. 2012-03-04 21:54:07 +01:00
TwinAphex51224 5ebd0b4ed1 Initial commit of SZlib 2012-03-04 21:38:33 +01:00
Themaister 227ae4ca74 Small fix. 2012-03-04 18:24:11 +01:00
Themaister 379614ca1c Attempt to fix set_keybind_digital. 2012-03-04 14:51:43 +01:00
Themaister 24e807f520 Remove useless return. 2012-03-04 13:59:45 +01:00
Themaister 2463924d69 Use uint64_t across the board for joykeys. 2012-03-04 13:55:35 +01:00
Themaister 6e0da33c60 Fix allocation. 2012-03-04 13:20:09 +01:00
Themaister fd54b26532 Add to joyconfig. 2012-03-04 12:01:41 +01:00
Themaister ea0233716e Slow motion mode. 2012-03-04 12:01:07 +01:00
Themaister d891230800 Minor fix. 2012-03-04 01:11:49 +01:00
Themaister 1bf564955c Cleanup. 2012-03-04 00:36:28 +01:00
Themaister f548ebb1a2 Cleanup typedefs. 2012-03-03 23:57:42 +01:00
TwinAphex51224 6e1d48a625 (PS3) Default emulator core setting 2012-03-03 23:26:14 +01:00
TwinAphex51224 b73d8bb569 (PS3) Blending in menu now works correctly across all shaders 2012-03-03 17:58:14 +01:00
TwinAphex51224 ed5e67425c (PS3) Added custom BGM music hooks 2012-03-03 17:23:00 +01:00
TwinAphex51224 d76d8a7d9c (PS3) Updated PARAM.SFO - should now support custom BGM music 2012-03-03 16:53:38 +01:00
TwinAphex51224 8ef9e99960 (PS3) Saves custom viewport settings now 2012-03-03 16:10:03 +01:00
TwinAphex51224 cd08339051 (PS3) D-pad analog stick left mapping - make this configurable later
on
2012-03-03 14:57:28 +01:00
TwinAphex51224 85ee49b2cd (PS3) Add HAVE_RSOUND to PS3 Makefile 2012-03-03 14:12:14 +01:00
TwinAphex51224 5f3453bc38 (PS3) Another commit for multiMAN compatibility 2012-03-03 12:31:51 +01:00
TwinAphex51224 d8720ab9d8 (PS3) Should fix multiMAN compatibility 2012-03-03 12:29:16 +01:00
TwinAphex51224 04a1388640 (PS3) Fixed some settings 2012-03-03 12:09:56 +01:00
TwinAphex51224 db87f664b8 (PS3) Sound options added - reiniting sound has yet to happen 2012-03-03 11:54:14 +01:00
Themaister ae5900aaa1 Add video_h264_record option. 2012-03-02 22:19:49 +01:00
TwinAphex51224 4b67a3c59e (PS3) Compiles in rsound now 2012-03-01 21:32:01 +01:00
TwinAphex51224 c6fa39fde0 (PS3) Implemented Resize mode 2012-03-01 16:55:19 +01:00
TwinAphex51224 051c82daed (PS3) CGP files can now be saved 2012-03-01 14:50:37 +01:00
TwinAphex51224 de9db9bcea (PS3) More control settings - NOTE: public controller config save/load
functions do not work properly and do not save the proper values
2012-03-01 14:22:16 +01:00
TwinAphex51224 9a1cf7525e (PS3) Added oskutil.c 2012-02-29 20:20:25 +01:00
Themaister 90984ce3cc config_read_keybinds takes path. 2012-02-29 19:25:54 +01:00
Themaister dc1d9b674a config_save_keybinds takes a pathname directly. 2012-02-29 19:07:25 +01:00
Themaister 47c9fda3c9 Fix off-by-one bug in joypad ID handling. 2012-02-29 18:59:44 +01:00
TwinAphex51224 452f3f4c43 (PS3) Last control setting can now be changed 2012-02-29 18:41:09 +01:00
TwinAphex51224 6c64a024eb (PS3) Initial joypad button rebinding through menu 2012-02-29 09:16:21 +01:00
Themaister 59dbc4727b Generate for rest of slide window. 2012-02-28 23:01:18 +01:00
Themaister 57e17d9b14 Optimize resampler some more. 2012-02-28 22:58:19 +01:00
Themaister 7b0b1a7004 Only enable SINC by default for 64-bit Windows. 2012-02-28 19:28:06 +01:00
TwinAphex51224 fd99d9f3bc (PS3) You can set IP address of development PC and UDP port (for
UDP logging)
2012-02-28 16:32:52 +01:00
TwinAphex51224 1386c97ad2 (PS3) Multiman fixes 2012-02-28 16:26:54 +01:00
TwinAphex51224 9d19ef4969 (PS3) Small fix for Multiman - argc > 1 2012-02-28 15:54:51 +01:00
TwinAphex51224 ffc6fc5e24 (PS3) Added Multiman hooks 2012-02-28 14:42:29 +01:00
TwinAphex51224 11720b8113 (PS3) Added EMULATOR_CORE_DIR define 2012-02-28 12:07:55 +01:00
TwinAphex51224 308d89ead7 (PS3) Cleaned up Salamander 2012-02-28 11:09:43 +01:00
TwinAphex51224 c5cee1f945 (PS3) Salamander and exitspawn work now - thanks to deank 2012-02-28 10:42:34 +01:00
TwinAphex51224 ee99acfd71 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-28 09:38:50 +01:00
TwinAphex51224 08414d1f5c (PS3) Small push 2012-02-28 09:38:31 +01:00
Themaister 18aebfedc2 Test for IDFT. 2012-02-28 00:52:49 +01:00
Themaister c8173aaf62 Calculate imaginary part correctly. 2012-02-28 00:29:45 +01:00
Themaister c975145914 Use omega to report response. 2012-02-27 21:34:31 +01:00
Themaister 2fecfc7fca Drop phase measurement as they're kinda useless. 2012-02-27 21:13:50 +01:00
TwinAphex51224 a4b3fbcebe Merge branch 'master' of github.com:Themaister/SSNES 2012-02-27 20:08:04 +01:00
TwinAphex51224 f01663550c Added logging features - set HAVE_LOGGING to enable 2012-02-27 20:07:24 +01:00
Themaister 24817543e0 Implement FFT for better SNR verification. 2012-02-27 19:49:00 +01:00
Themaister b50ddfc87a Fix some static analyzer warnings. 2012-02-27 17:29:59 +01:00
Themaister 302dc9460f Add override possibility for logger interface. 2012-02-27 17:24:11 +01:00
TwinAphex51224 351e58b856 (PS3) fixed pkg rule 2012-02-27 14:01:05 +01:00
TwinAphex51224 8aa2eb9741 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-27 13:44:46 +01:00
TwinAphex51224 90165492a1 (PS3) Added makefile targets for PS3 CFW - NOTE: SSNES Salamander
doesn't seem to work yet on CFW PS3 - use make pkg-signed-standalone
for now on CFW PS3 until this gets sorted out.
2012-02-27 13:43:44 +01:00
Themaister afa6776b1d Add cutoff. 2012-02-26 19:18:51 +01:00
TwinAphex51224 60edff831a (PS3) Add override for Salamander -press and hold Triangle button
at startup to launch the first SELF file found in the cores/ directory
2012-02-26 18:12:18 +01:00
TwinAphex51224 98bd071fd3 (PS3) Add non-NPDRM exitspawn fallback 2012-02-26 17:30:01 +01:00
TwinAphex51224 ac5fb991a2 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-26 15:19:40 +01:00
TwinAphex51224 2e5e5f3c35 (PS3) Added SSNES Salamander - emulator cores can now be installed and
you can now switch between cores - if on an older install, remove your
ssnes.cfg file
2012-02-26 15:18:44 +01:00
Themaister 9d0a55285d Rename msvc-ps3 folder. 2012-02-26 02:50:52 +01:00
Themaister 9b4a91fd29 Add rate control to coreaudio. 2012-02-26 01:22:07 +01:00
Themaister b4fe5198b3 Win32 doesn't have memalign ... 2012-02-25 22:37:40 +01:00
Themaister c20df730e3 Make sinc resampler default on PC. 2012-02-25 22:12:49 +01:00
Themaister 37ed625bab Use shuffles/movehl. 2012-02-25 21:47:40 +01:00
Themaister 3446774547 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-25 21:18:09 +01:00
Themaister a5c47a568e Attempt to measure phase distortion as well. 2012-02-25 21:17:48 +01:00
TwinAphex51224 e70ea21a3a (PS3) Remove selected border option again 2012-02-25 20:40:02 +01:00
TwinAphex51224 c310e32dd0 Merge branch 'master' of github.com:Themaister/SSNES
Conflicts:
	console/rom_ext.c
	console/rom_ext.h
2012-02-25 20:15:22 +01:00
TwinAphex51224 248f5efbd6 (PS3) Initial WIP exitspawn loading of external executables -
will flesh this out in subsequent ports
2012-02-25 20:11:57 +01:00
Themaister a03c11d7d0 Clarify a bit. 2012-02-25 17:29:02 +01:00
Themaister 2e9fade00a Add name generation from id. 2012-02-25 17:05:52 +01:00
Themaister 3dc5b21b78 Use lanzcos instead (better SNR). 2012-02-25 16:45:06 +01:00
Themaister dd57e0ae63 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-25 16:33:51 +01:00
Themaister bdc8cd1cb1 Apply deltas to last phase as well. 2012-02-25 16:33:33 +01:00
TwinAphex51224 cacf15a065 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-25 14:39:07 +01:00
TwinAphex51224 989962f5a9 (PS3) Better environment detection rules for Windows 2012-02-25 14:38:28 +01:00
Themaister 7c15f5a537 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-25 14:32:59 +01:00
Themaister 6643bf3e1c Use floating point for sample offsets. 2012-02-25 14:31:57 +01:00
TwinAphex51224 60256eb52f (PS3) Remove SETTING_BORDER - will reintroduce this in CGP Manager
menu (implemented better)
2012-02-25 14:15:25 +01:00
Themaister 74de5350d2 Merge branch 'master' of github.com:Themaister/SSNES
Conflicts:
	audio/test/snr.c
2012-02-25 14:06:15 +01:00
Themaister cd54cc6822 Improve SNR testing routines. 2012-02-25 14:02:56 +01:00
Themaister 2fba62867f Attempt to account for make-up-gain. Still not good ... 2012-02-25 04:51:01 +01:00
Themaister 5f330cbfa5 Fix printf format. 2012-02-25 01:50:08 +01:00
Themaister 9bad6f2bba Add resampler tests. 2012-02-25 01:47:23 +01:00
Themaister 0496ffc007 Optimize sinc resampler a bit. 2012-02-24 21:01:29 +01:00
Themaister bb824b5679 Optional SINC. 2012-02-24 00:28:41 +01:00
Themaister 1ea4b5ce7c Fix build. 2012-02-23 23:57:35 +01:00
Themaister f5a4ea55f5 Add sinc resampler. 2012-02-23 23:53:18 +01:00
Themaister aecd9a1ecb Rename resampler functions to something more generic. 2012-02-23 23:22:08 +01:00
Themaister a797e1dbf4 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-22 23:35:29 +01:00
Themaister 9c664b875a LUT info for Cg. 2012-02-22 23:35:01 +01:00
TwinAphex51224 375d05ed13 (PS3) Fixes the issue with resolution switching + cleaned up
some stuff
2012-02-22 21:42:17 +01:00
Themaister a13684c80c gl_cg_invalidate_context. 2012-02-22 20:45:58 +01:00
TwinAphex51224 678269039b Merge branch 'master' of github.com:Themaister/SSNES 2012-02-22 19:49:51 +01:00
TwinAphex51224 ece5935ef9 (PS3) Improved controls in menu - less twitchy controls 2012-02-22 19:49:22 +01:00
Themaister 341baf6918 If samplerate is not supported, do not fail. 2012-02-21 23:39:50 +01:00
TwinAphex51224 4acf66edfd (PS3) Enable image SPU decompression again 2012-02-21 00:00:17 +01:00
TwinAphex51224 10cfe3daa8 (PS3) update_input works now on PS3 2012-02-20 23:44:56 +01:00
TwinAphex51224 be3839a9df (PS3) Proper FBO scales now 2012-02-20 22:34:11 +01:00
TwinAphex51224 0023b4b2ce Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 21:06:13 +01:00
TwinAphex51224 17e0f19859 (PS3) Do malloc of pixels inside texture_image_load instead
of outside - same with free - still a problem with load_cgp
2012-02-20 21:05:34 +01:00
Themaister 383b2abe58 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 20:36:42 +01:00
Themaister 5ce54cbbab Implement config_save_keybinds. 2012-02-20 20:36:21 +01:00
TwinAphex51224 2c2dcd58f2 (PS3) Initial cgp file loading - not yet working 2012-02-20 20:24:23 +01:00
TwinAphex51224 ee76898cab Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 19:01:31 +01:00
TwinAphex51224 a41e84749a (PS3) Quit crashes fixed 2012-02-20 19:01:09 +01:00
Themaister d68658b7fb Merge branch 'ratecontrol' 2012-02-20 18:40:07 +01:00
Themaister c833a71d2c Rate control for Pulse and Jack. 2012-02-20 18:39:50 +01:00
Themaister f1b135978c Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 18:30:44 +01:00
Themaister 6f04c38fda Use larger fragsize for OSS. 2012-02-20 18:30:26 +01:00
TwinAphex51224 cc979581eb Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 18:17:15 +01:00
TwinAphex51224 fe0ce2b78b (PS3) Better deiniting/freeing up of resources 2012-02-20 18:16:51 +01:00
Themaister b8382416ee Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 16:23:19 +01:00
Themaister 9bcbd27988 Add gl_cg_reinit(). 2012-02-20 16:22:58 +01:00
TwinAphex51224 3845844b83 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-20 16:11:14 +01:00
TwinAphex51224 d7a29a66b4 (PS3) Add some more notifications to get_environment_settings -
clean up 'block/unblock swap' printfs
2012-02-20 16:10:32 +01:00
Themaister 6a7144d41c Add absolute paths to .cgp. 2012-02-20 15:45:38 +01:00
TwinAphex51224 12cf639dfe (PS3) Initial (WIP) support for external launchers like multiMAN -
also some control flow cleanups
2012-02-20 07:50:59 +01:00
TwinAphex51224 4604a995e9 (PS3) Scale factor can now be changed from ingame menu and
regular menu
2012-02-20 04:07:18 +01:00
Themaister 0b9ee6055f Merge branch 'master' into ratecontrol 2012-02-19 20:22:02 +01:00
TwinAphex51224 acd51a7dad Merge branch 'master' of github.com:Themaister/SSNES 2012-02-19 03:27:15 +01:00
TwinAphex51224 6d98da16b0 (PS3) Add experimental HAVE_SSNES_GL option (for custom GL libs) 2012-02-19 03:26:45 +01:00
Themaister 3407e765c3 Merge branch 'master' into ratecontrol 2012-02-18 13:05:47 +01:00
Themaister 2ef54a7e01 Might fix hat lookup. 2012-02-18 13:00:14 +01:00
Themaister aac2533075 Streamline hat lookup. 2012-02-18 12:32:49 +01:00
Themaister fd2be071f8 Merge branch 'master' into ratecontrol 2012-02-18 12:12:05 +01:00
Themaister 947d2a3514 Fixed joypad index lookup. 2012-02-18 12:09:20 +01:00
Themaister 3fd630e062 Log anatomy of input device. 2012-02-18 11:59:55 +01:00
TwinAphex51224 471dfcd478 (360) Filebrowser can now load ROMs from subdir 2012-02-17 21:28:23 +01:00
TwinAphex51224 8e8f56b5e8 (360) Combined console and font code into one file 2012-02-17 19:35:51 +01:00
Themaister 744a433595 Merge branch 'master' into ratecontrol 2012-02-16 23:02:18 +01:00
TwinAphex51224 f9ab3711eb (360) Remove some comments 2012-02-16 22:34:19 +01:00
TwinAphex51224 96cb22dbaa Merge branch 'master' of github.com:Themaister/SSNES 2012-02-16 22:11:42 +01:00
TwinAphex51224 f2f09ce2ed (360) xdk360_video_debugfonts is no longer class-based 2012-02-16 22:10:54 +01:00
Themaister 6d1ab7ebfd Revert changes with HAVE_XML. The XML read for memory map are not parsed
in any way by SSNES and does not depend on libxml2.

Also keep removal of log where XML map is not found (very likely
anyways).
2012-02-16 20:25:25 +01:00
TwinAphex51224 356d565ce6 (360) xdk360_video_console no longer class-based 2012-02-16 18:19:22 +01:00
TwinAphex51224 8ec0cb4f6c (360) Simplified video console 2012-02-16 17:45:11 +01:00
TwinAphex51224 fd9f020afa (360) Remove PIX calls 2012-02-16 16:28:31 +01:00
TwinAphex51224 52402d02c5 (360) Some improvements to font rendering 2012-02-16 16:14:31 +01:00
TwinAphex51224 1373ba167d (360) Remove font centering/alignment code 2012-02-16 15:43:15 +01:00
TwinAphex51224 668aa9a9ac (360) removed some unused code in console/debug fonts 2012-02-16 15:27:51 +01:00
TwinAphex51224 3585e046de (Core) Add some more HAVE_XML ifdefs 2012-02-16 03:55:22 +01:00
TwinAphex51224 2760b5b0c2 (Core) Don't create 'can't load XML memory map' if HAVE_XML
is not defined for the port
2012-02-16 03:49:13 +01:00
TwinAphex51224 441cd2b82a (PS3) Some cleanups in ps3_video_psgl.c 2012-02-16 03:36:40 +01:00
Themaister fe2134cb8c Fix warning. 2012-02-15 20:19:29 +01:00
TwinAphex51224 04e2541694 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-15 18:58:02 +01:00
TwinAphex51224 878e612584 (PS3) Use new public save slot increment/decrement functions 2012-02-15 18:57:36 +01:00
TwinAphex51224 8dcf132b0c (360) Updated 360 port too 2012-02-15 18:57:29 +01:00
Themaister da7cf7e01d Merge branch 'master' into ratecontrol 2012-02-15 18:55:56 +01:00
TwinAphex51224 317f255eae (Core) Remove obsolete file checking function 2012-02-15 18:43:35 +01:00
Themaister b87e1c4f48 Make ssnes_state_slot_increase/decrease public. 2012-02-15 18:49:23 +01:00
TwinAphex51224 3cc042e2a6 (360) Compile fix for filepath_exists 2012-02-15 02:24:22 +01:00
TwinAphex51224 2cb946ec8b (Core) Add filepath_exists to file.c - needed for console ports 2012-02-15 02:09:55 +01:00
TwinAphex51224 8459f39933 (360) Remove PNGs we are no longer going to use in our GUI 2012-02-15 01:44:16 +01:00
TwinAphex51224 56e57d15bc (PS3) Fixed settings appearance 2012-02-15 01:37:49 +01:00
TwinAphex51224 975536ddbf (PS3) Some cleanups to ingame menu 2012-02-15 01:27:53 +01:00
TwinAphex51224 df997f6d23 (PS3) Better-looking Quick Menu/menu 2012-02-14 22:46:48 +01:00
TwinAphex51224 cb3064201e (PS3) Trying to have tranparent PNG with game image on back
in ingame menu
2012-02-14 21:34:18 +01:00
TwinAphex51224 48d589ffce (360) New Quick Menu 2012-02-14 17:34:25 +01:00
Themaister 16c740ffd8 Merge branch 'master' into ratecontrol 2012-02-14 16:58:55 +01:00
Themaister 80372f54a6 Add rate control calls for more backends. 2012-02-14 16:58:13 +01:00
Themaister a6a068e09e Add write_avail/buffer_size for XAudio. 2012-02-14 16:16:22 +01:00
TwinAphex51224 227f347e70 (360) Added initial Quick Menu 2012-02-14 02:41:35 +01:00
Themaister 438ac4ca4b Begin adding rate control. 2012-02-14 01:16:37 +01:00
TwinAphex51224 69a5faaaab (360) Implement swap callback 2012-02-13 22:53:07 +01:00
TwinAphex51224 1b28ea4945 (360) implement set swap block callback 2012-02-13 22:45:28 +01:00
TwinAphex51224 55a400f521 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-13 22:25:46 +01:00
TwinAphex51224 d77560f1ea (PS3) Implement swap callback as well 2012-02-13 22:25:25 +01:00
TwinAphex51224 786adb23ac (PS3) Implement ssnes_load_state/ssnes_save_state 2012-02-13 22:16:41 +01:00
TwinAphex51224 a03dd57166 (PS3) Use new set swap block callback 2012-02-13 22:07:19 +01:00
Themaister bb642d3010 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-13 22:04:46 +01:00
Themaister 21e39eea2b Use config_get_float. 2012-02-13 22:04:25 +01:00
TwinAphex51224 761f5d7a5c (PS3) Refactoring of ingame menu 2012-02-13 21:37:32 +01:00
Themaister e0408c30ae Slight refactor. Make ssnes_load_state(), ssnes_save_state() public. 2012-02-13 20:57:32 +01:00
Themaister 78136e0191 Make keybind loader public. 2012-02-13 19:20:24 +01:00
Themaister 77e55bb577 Add some video callbacks for consoles. 2012-02-13 19:17:13 +01:00
TwinAphex51224 89b99428f9 (PS3) Fix to Makefile for Win 2012-02-13 17:18:22 +01:00
TwinAphex51224 beeb660103 (360) Added new ingame menu (Right thumb stick) - will still have
to add a 'Quick Menu'
2012-02-13 16:45:08 +01:00
TwinAphex51224 9969474326 (360) Dehardcode control binds 2012-02-13 15:53:50 +01:00
TwinAphex51224 1307648d08 (360) Simplify filtering types to 'point filtering' and 'linear
interpolation' (anisotropic is useless for 2D) - also get rid
of filter_type member in g_console
2012-02-13 15:16:01 +01:00
TwinAphex51224 eeafd335fa (PS3) ingame_menu_item now part of console_settings 2012-02-13 14:33:24 +01:00
TwinAphex51224 32a52f5d01 (PS3) Windows compiler compatibility fix 2012-02-13 14:00:27 +01:00
TwinAphex51224 08f3313a3b (360) Some more cleanups to console/debug fonts/resources 2012-02-13 04:28:44 +01:00
TwinAphex51224 98f30469eb (360) Some cleanups 2012-02-13 02:51:07 +01:00
TwinAphex51224 36309050c4 (360) Skeleton ingame menu - doesn't yet draw anything yet other
than cached game image
2012-02-13 02:35:01 +01:00
TwinAphex51224 5a3b88bdd6 (360) Added /privilege=6 to imagexex command line (allow insecure
sockets - no more 'couldn't resolve symbolic link root name
XlfsUploadCache'
2012-02-13 00:05:23 +01:00
Themaister 000d863ae0 Fix nonblock bug. 2012-02-12 21:12:55 +01:00
Themaister 38d73e9da2 Use SSNES_CONSOLE. 2012-02-12 20:56:57 +01:00
TwinAphex51224 5f649bf2be Merge branch 'master' of github.com:Themaister/SSNES 2012-02-12 18:43:25 +01:00
TwinAphex51224 9609eca940 (360) Added fast forwarding option (hold down RStick down) 2012-02-12 18:42:51 +01:00
Themaister 5f71f48973 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-12 18:07:07 +01:00
Themaister 5aa6acf031 Add *_equal semantics. 2012-02-12 18:05:33 +01:00
TwinAphex51224 ccfa448a66 (360) Some more cleanups 2012-02-12 17:39:02 +01:00
TwinAphex51224 1090eeb159 (360) Some cleanups 2012-02-12 17:13:13 +01:00
TwinAphex51224 3a66829933 (360) Working debug fonts 2012-02-12 15:23:35 +01:00
TwinAphex51224 045e72661a Merge branch 'master' of github.com:Themaister/SSNES 2012-02-12 01:36:01 +01:00
TwinAphex51224 b9ef2ff133 (360) Added missing header file for debug fonts 2012-02-12 01:35:38 +01:00
TwinAphex51224 80136435d2 (360) Experimental WIP debug fonts (not yet working) 2012-02-12 01:34:48 +01:00
Themaister 9c861f13be Fix additional exclamation marks. 2012-02-11 21:16:01 +01:00
Themaister 1cff87c758 Change exclamation marks with dots for less scream factor. 2012-02-11 20:59:41 +01:00
TwinAphex51224 ffc0c1d77e (PS3) Frame advance implemented 2012-02-11 19:22:51 +01:00
TwinAphex51224 2148ce9dec (PS3) Can now return to menu from game by pressing L3 + R3 2012-02-11 16:27:13 +01:00
TwinAphex51224 390628b1e3 (360) Can now return back to game from the menu by pressing
L3 + R3 (if a ROM has already been loaded)
2012-02-11 15:31:11 +01:00
TwinAphex51224 6e753d7d99 (360) Non-HD height fix 2012-02-10 17:32:43 +01:00
TwinAphex51224 c07bcbea53 (360) Support for non-HD TVs 2012-02-10 17:31:20 +01:00
TwinAphex51224 c0cba36dec (360) Added hardware filtering settings 2012-02-10 17:17:44 +01:00
TwinAphex51224 34b85e115b Merge branch 'master' of github.com:Themaister/SSNES 2012-02-09 18:12:37 +01:00
TwinAphex51224 40c3158d7e (360) Some more settings read from/saved to config file 2012-02-09 16:47:29 +01:00
TwinAphex51224 64728e38a4 (PS3) Use new members in g_console 2012-02-09 14:25:13 +01:00
TwinAphex51224 979b54178e (360) Moved some state variables to g_console struct 2012-02-09 14:11:55 +01:00
TwinAphex51224 3a33c5e1ec (360) Push small fix for config file loading/saving 2012-02-09 03:06:43 +01:00
TwinAphex51224 aeeb491a49 (360) Config file gets loaded and saved now 2012-02-09 03:10:20 +01:00
TwinAphex51224 38fb6f0a62 (360) Added header for menu.h 2012-02-09 02:36:09 +01:00
TwinAphex51224 b094151abb (360) Use LTCG 2012-02-09 02:00:24 +01:00
TwinAphex51224 e5e19edc65 (360) Special button mappings added - RSTICK Up - Rewind - RSTICK
Up + RT - Load State - RSTICK Down + RT - Save State -RSTICK
Left + RT - Save State Minus - RSTICK Right + RT - Save State Plus
2012-02-09 00:58:22 +01:00
TwinAphex51224 2cd7349cac (360) No more memset in input_poll function 2012-02-08 21:10:13 +01:00
TwinAphex51224 dc1a32f7f7 (360) Can exit back to menu and load another ROM with thumb stick
left + thumb stick right - loads several ROMs fine but might still
be crash-prone
2012-02-08 18:52:42 +01:00
Themaister 315b28862a Add gl_cg_save_cgp(). 2012-02-08 17:23:44 +01:00
TwinAphex51224 f6edb9a607 (360) Menu - A/B images show up now 2012-02-08 16:10:01 +01:00
TwinAphex51224 93072b926e Merge branch 'master' of github.com:Themaister/SSNES 2012-02-08 15:23:59 +01:00
TwinAphex51224 c161e3bc35 (360) Filebrowser can now navigate subdirs 2012-02-08 15:23:12 +01:00
Themaister 3bda32d6f1 Add SET_VARIABLES interface. 2012-02-06 16:13:29 +01:00
Themaister fea632b0e9 Add environment variable system extension. 2012-02-06 15:51:35 +01:00
TwinAphex51224 d959bc968a Merge branch 'master' of github.com:Themaister/SSNES 2012-02-05 01:49:36 +01:00
TwinAphex51224 e33221b52a (360) Linked static library should now be called libsnes.lib 2012-02-05 01:49:08 +01:00
Themaister c32d321b06 stdbool.h is C99. Use a more proper define. 2012-02-05 00:50:47 +01:00
TwinAphex51224 18d6d58a2b (360) Small fix 2012-02-05 00:32:31 +01:00
TwinAphex51224 996794134f (360) Give menu screens some more real estate (480p lowest res) 2012-02-05 00:25:57 +01:00
TwinAphex51224 02996fbe2e (360) Rudimentary working filebrowser - hardcoded to game://roms/
path right now
2012-02-04 23:40:11 +01:00
TwinAphex51224 e85471a239 (360) renamed fileio.c to file_browser.c 2012-02-04 20:43:56 +01:00
TwinAphex51224 0e2de25f85 (360) Add fileio for 360 2012-02-04 20:33:51 +01:00
TwinAphex51224 402be572ea (360) Added some extra printf reports to get_environment_settting 2012-02-04 14:25:44 +01:00
TwinAphex51224 1317ce1aea (PS3) Rename get_path_settings to get_environment_settings for
consistency
2012-02-04 13:29:02 +01:00
TwinAphex51224 884e39c58d (360) Added get_environment_settings 2012-02-04 13:33:19 +01:00
Themaister 0bb0b96623 Bump to 8 players bind input. 2012-02-04 01:54:19 +01:00
TwinAphex51224 61c1b2bb1b (360) Some settings XUI tweaks 2012-02-03 11:35:47 +01:00
TwinAphex51224 979b7e6479 (360) Can now enable/disable rewind setting in Settings menu -
can now return from Settings menu to main menu
2012-02-03 11:32:31 +01:00
TwinAphex51224 862082915b (360) Fix 360 build 2012-02-02 21:50:11 +01:00
Themaister fba6f36cb8 Fix typo. 2012-02-02 21:04:05 +01:00
Themaister 0cb2436a59 Bump to 8 players max. Futureproofing a bit. 2012-02-02 21:02:36 +01:00
Themaister 18c259e19a Revert "(PS3) Fix for Cg reset context - seems to work on PS3"
This reverts commit 56e862edf8.
Implementation is not quite correct.
2012-02-02 20:42:20 +01:00
Themaister e3a2ab0347 Change perform_reset() to ssnes_game_reset() to better advertise itself
as a public function.
2012-02-02 20:39:28 +01:00
TwinAphex51224 15bc0e0813 (360) Have 360 port use same setting variables as PS3 port
from g_console struct
2012-02-02 19:01:52 +01:00
TwinAphex51224 a328dbd213 (PS3) Overscan options added 2012-02-02 18:39:09 +01:00
TwinAphex51224 09a6566be0 (PS3) Moved some setting variables to g_console 2012-02-02 16:59:06 +01:00
TwinAphex51224 3eaa942e58 (PS3) Some cleanups for keybinding 2012-02-02 16:12:38 +01:00
TwinAphex51224 40ce42c87c (PS3) Initial keybind implementation 2012-02-02 15:46:27 +01:00
TwinAphex51224 a14bdb82b1 (PS3/Core) Increase MAX_PLAYERS from 5 to 7 - PS3 supports 7
controllers at once and there are games in FBA that have simultaneous
six-player support
2012-02-02 15:19:01 +01:00
TwinAphex51224 ee5d43486c (PS3) Use msg_queue for outputting text in-game 2012-02-02 14:41:05 +01:00
TwinAphex51224 02c3977e9d (PS3/Core) Make reset into an extern function so it can be called
from port-specific code
2012-02-02 14:22:43 +01:00
TwinAphex51224 a509d40bf6 Add some information for Wii target 2012-02-02 13:51:15 +01:00
TwinAphex51224 4501832997 Added some information in README.md for the new ports 2012-02-02 13:45:59 +01:00
TwinAphex51224 56e862edf8 (PS3) Fix for Cg reset context - seems to work on PS3 2012-02-02 13:13:16 +01:00
Themaister 945a086edf Verify that binds are in correct order. 2012-02-01 23:02:17 +01:00
Themaister 72f5748b28 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-01 21:33:05 +01:00
Themaister 79f29a3966 Add test case and some fixes for re-entrancy. 2012-02-01 21:32:27 +01:00
TwinAphex51224 6843514f86 (PS3) Initial stab at frame advance - WIP - doesn't work yet -
probably some unforeseen gotcha I need to be aware of
2012-02-01 15:15:15 +01:00
TwinAphex51224 ff6b9bd0bf (PS3) Refactoring of FBO code 2012-02-01 14:24:48 +01:00
Themaister 3576613f52 Merge branch 'master' of github.com:Themaister/SSNES 2012-02-01 00:14:35 +01:00
Themaister 02cfa3f651 Big refactor of GL routines. 2012-02-01 00:14:04 +01:00
TwinAphex51224 87a0d3f413 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-31 20:17:33 +01:00
TwinAphex51224 407205a4e5 (PS3) Create reinit_fbo function 2012-01-31 20:17:12 +01:00
Themaister 6f368200b9 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-31 19:15:34 +01:00
Themaister f669f02407 Drop redundant ifs. 2012-01-31 19:14:48 +01:00
TwinAphex51224 e7d3e524bb (PS3) Added menu font options/settings 2012-01-31 18:51:45 +01:00
TwinAphex51224 d3d97bf11e Merge branch 'master' of github.com:Themaister/SSNES 2012-01-31 18:22:14 +01:00
TwinAphex51224 766bdf727c (PS3) Added aspect ratio settings/options 2012-01-31 18:21:53 +01:00
Themaister f2264ebb3e Do not use av_samples_get_buffer_size as it breaks older FFmpeg. 2012-01-31 18:06:20 +01:00
TwinAphex51224 2c61f2b1e7 (PS3) Use fill_pathname_base for displaying shader names in settings
screen
2012-01-31 14:34:43 +01:00
TwinAphex51224 cab8fd2a80 (PS3) WIP aspect ratio settings 2012-01-31 14:12:00 +01:00
TwinAphex51224 56a1877d15 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-31 12:14:00 +01:00
TwinAphex51224 3096e154c9 (PS3) Add some settings 2012-01-31 12:13:43 +01:00
Themaister accb011196 Add fill_pathname_base. 2012-01-30 22:45:43 +01:00
TwinAphex51224 93068a376a (PS3 MSVS 2010) Get rid of ssnes.cfg copy buildevent rule 2012-01-30 21:43:25 +01:00
TwinAphex51224 5be17933e9 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-30 20:28:21 +01:00
TwinAphex51224 f4183d2c8f (PS3) MSVS 2010f fix plus got rid of some warnings 2012-01-30 20:27:52 +01:00
Themaister 576855de4f Slight refactor. 2012-01-30 20:23:36 +01:00
TwinAphex51224 35b386df0d (PS3) Implemented savestate functionality in ingame menu 2012-01-30 20:05:36 +01:00
TwinAphex51224 2702299e7b (PS3) Added orientation options 2012-01-30 19:44:21 +01:00
TwinAphex51224 65e4357af7 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-30 18:46:43 +01:00
Themaister 904cdd3fb4 Add ps3graphics_set_orientation. 2012-01-30 18:49:05 +01:00
TwinAphex51224 e48ec1ea20 (PS3) Rely on custom border-only.cg file being in the common-shader
subrepo instead of overwriting it for every 'make pkg' operation
2012-01-30 18:45:59 +01:00
Themaister 467023692f Should fix set_filter. 2012-01-30 18:33:47 +01:00
Themaister b861c11253 Fix screenshots. (Mziab) 2012-01-30 18:28:11 +01:00
TwinAphex51224 e538fe4364 (PS3) Implement ssnes_main wrap 2012-01-30 18:17:47 +01:00
Themaister e0aa65efc3 Should fix crash. 2012-01-30 18:21:46 +01:00
Themaister c569d9e179 Call ssnes_main_init(). 2012-01-30 18:15:14 +01:00
Themaister ef280919d3 Add a ssnes_main wrapper for more simple code. 2012-01-30 17:50:00 +01:00
TwinAphex51224 734afe2058 (PS3) Implement file_is_directory on PS3 2012-01-30 17:18:31 +01:00
TwinAphex51224 b4e3786aa1 (PS3) Free 'conf' pointer after use in save_settings 2012-01-30 16:36:08 +01:00
TwinAphex51224 feec19940a (PS3) 'Get all available resolutions' is only fetched one time at
startup
2012-01-30 16:21:22 +01:00
TwinAphex51224 ec97970206 (PS3) Saves to config file now 2012-01-30 15:59:15 +01:00
TwinAphex51224 4a9e7f7b7e Merge branch 'master' of github.com:Themaister/SSNES 2012-01-30 15:18:12 +01:00
TwinAphex51224 73fa4ea199 (PS3) Implemented a bunch of settings :
* Audio can be muted
* Buffering mode can be changed from double to triple buffering
and vice versa
* Default ROM startup dir and cheat path can be specified - now
to save the config file at exit
2012-01-30 15:16:29 +01:00
Themaister ce08251f53 Replace usage of DOUBLE with FLOAT in configs. 2012-01-30 15:14:30 +01:00
TwinAphex51224 bbd6e16bbe (Core) Remove float macros 2012-01-30 14:13:04 +01:00
TwinAphex51224 959411c094 (PS3) Uses config file macros now 2012-01-30 13:45:37 +01:00
TwinAphex51224 a64ae92d9d (PS3) Resolution can be changed now - deiniting/initing of video 2012-01-30 13:18:13 +01:00
TwinAphex51224 bad72987d0 (PS3) V-sync can be switched on/off now 2012-01-30 09:53:16 +01:00
TwinAphex51224 8deab9ea35 (PS3) set_filtering function (WIP) 2012-01-30 09:28:41 +01:00
TwinAphex51224 35e5f2dbc6 (PS3) Remove unnecessary debug printf 2012-01-30 01:43:50 +01:00
Themaister cd11f65956 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-30 01:46:02 +01:00
Themaister 08686bcd06 Debork input some more ... 2012-01-30 01:45:18 +01:00
Themaister 5b0a948797 Refactor input config. 2012-01-30 01:20:35 +01:00
TwinAphex51224 b060c71de4 (PS3) Shaders can be loaded through the menu 2012-01-30 00:48:42 +01:00
Themaister fac78083ca Clarify path operations. 2012-01-30 00:01:59 +01:00
Themaister 230f47d00c Add helper function to replace Cg shaders on-the-fly. 2012-01-29 23:43:11 +01:00
TwinAphex51224 1cfc4c6cc0 (PS3) Fix indenting - somewhat 2012-01-29 23:16:39 +01:00
TwinAphex51224 f89060e7ff (PS3) Take out setting callback - was crashing the PS3 port 2012-01-29 23:11:47 +01:00
TwinAphex51224 16faee9ae2 (PS3) Add MSVS 2010 solution 2012-01-29 23:08:20 +01:00
TwinAphex51224 352b8e4cef (PS3) Still broke, still crashes after 'loading texture image' 2012-01-29 22:06:51 +01:00
Themaister 2c40567030 Properly return false from config_load_file. 2012-01-29 22:00:21 +01:00
Themaister ac3f80d738 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-29 21:44:54 +01:00
Themaister 2721ccb52a Style nits. 2012-01-29 21:44:37 +01:00
TwinAphex51224 0fc36bfe0a (PS3) Some fixes in main.c 2012-01-29 21:35:20 +01:00
Themaister 559fc5b67f Fix issue with _CONSOLE config macro. 2012-01-29 21:32:13 +01:00
Themaister bd15206599 Fixup C++ build. 2012-01-29 19:12:29 +01:00
Themaister e5d3894bc4 Check for AV_NOPTS_VALUE. 2012-01-29 19:10:58 +01:00
Themaister 0bc0ae40a5 Fix audio_encode2. 2012-01-29 19:08:22 +01:00
Themaister 3c15bb06db Attempt to completely flush audio stream as well. 2012-01-29 18:59:56 +01:00
Themaister 9ce3331f04 Use av_samples_get_buffer_size. 2012-01-29 18:13:20 +01:00
Themaister 9508cc4eb3 Start fixing deprecation. Not used as it's broken atm. 2012-01-29 18:01:10 +01:00
Themaister 0bb1f7292c Cleanup settings handling a bit to avoid lots of dummy variables. 2012-01-29 15:52:59 +01:00
TwinAphex51224 b56b09af35 Added common macro file for CONFIG_ macros - used now too by PS3
port
2012-01-29 14:10:57 +01:00
TwinAphex51224 a685701805 (PS3) use custom Makefile rules for shader subrepo 2012-01-29 04:35:42 +01:00
Themaister d207eb0b1e Add callback system to config_set_defaults. 2012-01-28 16:49:06 +01:00
Themaister e8b2cde4cf More graceful error handling. 2012-01-28 15:47:02 +01:00
Themaister bedd5a691b Merge branch 'master' of github.com:Themaister/SSNES 2012-01-28 15:42:20 +01:00
Themaister 57fbad1a54 Expose config load as a global function. 2012-01-28 15:41:57 +01:00
TwinAphex51224 12deb9c54a (Git submodule) Changed url to read-only address so general users
can checkout
2012-01-28 14:04:07 +01:00
TwinAphex51224 8b1be981d3 (PS3) Added Git subrepo checkout rules in Makefile 2012-01-28 13:23:25 +01:00
TwinAphex51224 30d229c30b (PS3) Small rewrite of ps3_video_psgl.c 2012-01-28 11:38:24 +01:00
Themaister f3d9588e37 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-28 00:34:29 +01:00
Themaister b5f77bf65e Use sthread in rsound. 2012-01-28 00:34:06 +01:00
TwinAphex51224 5bfc7be450 (PS3) Added Git subrepo for shaders 2012-01-28 00:34:06 +01:00
TwinAphex51224 fcab353201 (PS3) Updated menu image 2012-01-28 00:34:06 +01:00
Hans-Kristian Arntzen e968d26ba8 Unbind FBO before returning from gl_init_fbo(). 2012-01-28 00:34:06 +01:00
TwinAphex51224 db1765e788 (PS3) Shader texture is correctly applied after first booting a
game, but not before
2012-01-28 00:34:06 +01:00
TwinAphex51224 6e4277d9a6 (PS3) Change to border shader - still texture problems 2012-01-28 00:34:06 +01:00
TwinAphex51224 be56e901bb (PS3) More commits 2012-01-28 00:34:06 +01:00
TwinAphex51224 f803b5fbd3 (PS3) Shader menu texture (WIP) 2012-01-28 00:34:06 +01:00
TwinAphex51224 be62e537c6 (PS3) Added HAVE_SCREENSHOTS_BUILTIN define - is meant for targets
where native screenshot functionality is already supplied, negating
the need of compiling in screenshot.c
2012-01-28 00:34:06 +01:00
TwinAphex51224 7af7d55068 (PS3) use uint32_t * for pixels member as well for PS3 2012-01-28 00:34:06 +01:00
TwinAphex51224 15c5c69241 (PS3) Texture is now loaded 2012-01-28 00:34:06 +01:00
TwinAphex51224 b89554d11a (PS3) Added error logs to image.c for debugging purposes 2012-01-28 00:34:05 +01:00
TwinAphex51224 60760d69db (PS3) Added texture loading hooks, fails somewhere ATM 2012-01-28 00:34:05 +01:00
TwinAphex51224 ab687190a9 (PS3) Added border shaders - we will need a subrepo for all these shaders eventually 2012-01-28 00:34:05 +01:00
TwinAphex51224 a07514c88b (PS3) Fixed the crash at SYSUTIL_REQUEST_EXITGAME triggering 2012-01-28 00:34:05 +01:00
TwinAphex51224 f9de1a8831 (PS3) Doesn't crash anymore 2012-01-28 00:34:05 +01:00
Themaister badf807ae9 Remove useless macro. 2012-01-28 00:34:05 +01:00
TwinAphex51224 36e2b51827 (PS3) Added Git subrepo for shaders 2012-01-27 23:35:38 +01:00
TwinAphex51224 afae4a5cb4 (PS3) Updated menu image 2012-01-27 02:21:02 +01:00
Hans-Kristian Arntzen e9fb18f594 Unbind FBO before returning from gl_init_fbo(). 2012-01-27 01:00:09 +01:00
TwinAphex51224 a061fa081c (PS3) Shader texture is correctly applied after first booting a
game, but not before
2012-01-27 00:40:25 +01:00
TwinAphex51224 88b819ffff (PS3) Change to border shader - still texture problems 2012-01-27 00:31:10 +01:00
TwinAphex51224 730fb03c07 (PS3) More commits 2012-01-27 00:14:42 +01:00
TwinAphex51224 a571cf5e92 (PS3) Shader menu texture (WIP) 2012-01-27 00:07:24 +01:00
TwinAphex51224 7ce5733a45 (PS3) Added HAVE_SCREENSHOTS_BUILTIN define - is meant for targets
where native screenshot functionality is already supplied, negating
the need of compiling in screenshot.c
2012-01-26 03:00:56 +01:00
TwinAphex51224 e73df5e6a9 (PS3) use uint32_t * for pixels member as well for PS3 2012-01-26 02:53:59 +01:00
TwinAphex51224 c2cb9fead0 (PS3) Texture is now loaded 2012-01-26 02:28:54 +01:00
TwinAphex51224 01fb168f51 (PS3) Added error logs to image.c for debugging purposes 2012-01-26 02:01:06 +01:00
TwinAphex51224 f16b269685 (PS3) Added texture loading hooks, fails somewhere ATM 2012-01-26 01:33:39 +01:00
TwinAphex51224 1bfabea14a (PS3) Added border shaders - we will need a subrepo for all these shaders eventually 2012-01-26 00:35:14 +01:00
TwinAphex51224 1160aeed3d (PS3) Fixed the crash at SYSUTIL_REQUEST_EXITGAME triggering 2012-01-25 23:47:30 +01:00
TwinAphex51224 61019ac48c (PS3) Doesn't crash anymore 2012-01-25 23:44:32 +01:00
TwinAphex51224 4642e0ce96 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-25 23:29:16 +01:00
TwinAphex51224 0a81b47932 (PS3) Hook up menu shader code - crashes currently 2012-01-25 23:28:50 +01:00
Themaister 0faa8c3855 Remove useless macro. 2012-01-25 23:08:12 +01:00
Themaister 388e2bb5fc Recognize kp_plus/kp_minus properly. 2012-01-25 23:03:02 +01:00
Themaister 14ffd07b70 Refactorin' ... 2012-01-25 22:55:34 +01:00
Themaister 9cb5eea20b Add some useful interfaces to Cg for PS3. Some cleanups ... 2012-01-25 22:00:18 +01:00
Themaister be03b8ac95 Fix indentation. 2012-01-25 19:57:37 +01:00
TwinAphex51224 b9ce2d4142 (360) Can now navigate to settings screen 2012-01-25 07:19:07 +01:00
TwinAphex51224 422c13242f (PS3) Add menu shader code (WIP) 2012-01-25 04:38:19 +01:00
TwinAphex51224 9e917d4835 (PS3) Take out redundant printf calls for 'rewind_enable' 2012-01-25 03:14:18 +01:00
TwinAphex51224 1cc8a8a121 (PS3) Use ssnes_console_get_rom_ext function in file browser 2012-01-25 03:11:21 +01:00
TwinAphex51224 05e49db12a (360) Compile in rom_ext.c file in 360 build 2012-01-25 03:00:38 +01:00
TwinAphex51224 2acc30e1a4 (PS3) Filled in ssnes_console_get_rom_ext function 2012-01-25 02:49:15 +01:00
Themaister dd1d83768b Add stubs for future rom_ext handling. 2012-01-25 01:10:53 +01:00
Themaister 1451ba9610 Use ARGB_SCE on PS3. 2012-01-25 00:17:00 +01:00
Themaister 3d8c50a768 Netplay compat define no longer needed. 2012-01-25 00:06:32 +01:00
TwinAphex51224 f5f8a71af2 (360) 360 fixes for netplay.c and netplay_compat.c - compiles and
links now
2012-01-25 00:02:59 +01:00
Themaister 5368d0d148 Attempt to implement gethostbyname for 360. 2012-01-24 23:54:06 +01:00
TwinAphex51224 c9fc51fe2a (PS3) Compiles and links in netplay now 2012-01-24 23:09:21 +01:00
Themaister 0e5a9a7772 Adjustments for PS3. 2012-01-24 23:14:11 +01:00
Themaister 6ff762f088 Some init stuff needed for PS3. 2012-01-24 22:38:25 +01:00
Themaister bda70a9168 Fix C++ build. 2012-01-24 22:31:26 +01:00
Themaister 03a892c7f2 Start adding netplay compat layer for legacy stuff. 2012-01-24 21:12:12 +01:00
TwinAphex51224 e6f2aa81f7 (360) Added settings XUI - navigation not yet working 2012-01-24 06:55:27 +01:00
TwinAphex51224 42b101b024 (360) Added libsnes core text to SSNES main screen and
dehardcoded SSNES version number - ASCII to Unicode messiness
inside
2012-01-24 06:11:01 +01:00
TwinAphex51224 38845d6ad5 (360) Add missing shared.h file 2012-01-24 01:20:26 +01:00
TwinAphex51224 a5db76d7db (360) Some error return fixes in menu_init 2012-01-24 01:09:34 +01:00
TwinAphex51224 5181463606 (360) Use SSNES_ERR instead of OutputDebugString 2012-01-24 01:06:12 +01:00
TwinAphex51224 a9ffab7854 (360) Quit button returns to dash 2012-01-24 00:32:44 +01:00
TwinAphex51224 2797ec3a79 (360) file browser button now goes to ROM loading/emulation state 2012-01-24 00:29:03 +01:00
TwinAphex51224 8c672bc613 (360) Added XUI logic (test) 2012-01-24 00:02:02 +01:00
TwinAphex51224 458abe3611 (360) Added image files for menu 2012-01-23 23:09:44 +01:00
TwinAphex51224 08a9525508 (360) XUI additions 2012-01-23 22:22:54 +01:00
TwinAphex51224 730983bf59 (360) Truetype font gets loaded now 2012-01-23 21:49:21 +01:00
TwinAphex51224 c7692e7a72 (360) XUI scene renders now 2012-01-23 21:36:54 +01:00
TwinAphex51224 8da940d0e5 (360) Fixed some deployment rules 2012-01-23 21:30:59 +01:00
TwinAphex51224 05607880f8 (360) Add some more XUI code - resource files from xzp files still
not loading - also added drive mounting code
2012-01-23 05:10:23 +01:00
TwinAphex51224 94ff302111 (360) Changed ZeroMemory to memset - ZeroMemory is just a stupid
typedef for memset
2012-01-23 00:10:25 +01:00
TwinAphex51224 aa32810151 (360) More work on XUI + fixed a bug in input code 2012-01-22 22:45:32 +01:00
TwinAphex51224 6614e4ef92 (360) Added custom build steps 2012-01-22 21:47:34 +01:00
Themaister 7374480126 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-22 19:51:57 +01:00
Themaister d5dc910e5b Cleanups in skeleton config. 2012-01-22 19:51:37 +01:00
TwinAphex51224 367d554fff Merge branch 'master' of github.com:Themaister/SSNES 2012-01-22 19:46:23 +01:00
TwinAphex51224 ea49b02380 (360) Three-stage SSNES main 2012-01-22 19:45:58 +01:00
Themaister b0ddf78db0 Updates for 0.9.4.1. 2012-01-22 19:43:13 +01:00
TwinAphex51224 d4d97bfae1 (360) Use game image drive instead of devkit drive partition -
should work on retail
2012-01-22 02:05:09 +01:00
TwinAphex51224 5706713905 (360) Updated vcxproj files 2012-01-22 01:46:08 +01:00
TwinAphex51224 2fd7c1bb9f (360) Add preliminary WIP XUI menu code - far from complete 2012-01-22 01:43:54 +01:00
TwinAphex51224 e46f09c3b1 (360) Video gets inited before SSNES starts in preparation for XUI 2012-01-21 23:59:27 +01:00
TwinAphex51224 a4dd8bdf30 (360) Exclude netplay.c from Release build for now (again) 2012-01-21 18:57:23 +01:00
TwinAphex51224 2be040a8a7 (360) Added small ifdef to netplay.c - next stumbling block -
both 360 and PS3 don't support sockaddr_storage and getaddrinfo
2012-01-21 18:56:07 +01:00
Themaister e14f5e9ea5 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-21 18:34:28 +01:00
Themaister f9870dfb24 Nicknames for spectator mode as well. 2012-01-21 18:34:07 +01:00
Themaister ec5612a12b Merge branch 'master' of github.com:Themaister/SSNES 2012-01-21 18:13:18 +01:00
TwinAphex51224 d12532aef1 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-21 18:12:57 +01:00
Themaister 7082561e21 Nicknames for regular connection. 2012-01-21 18:12:42 +01:00
TwinAphex51224 763f257d92 (PS3) Show static libsnes library in menu 2012-01-21 18:12:33 +01:00
TwinAphex51224 d55c86bc41 (PS3) Use ssnes_main_clear_state() 2012-01-21 18:00:07 +01:00
TwinAphex51224 3695cf78b9 (PS3) Swap is blocked before going into ingame menu - and unblocked
after exiting ingame menu
2012-01-21 17:50:21 +01:00
TwinAphex51224 26cb567bb9 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-21 17:24:48 +01:00
TwinAphex51224 fabceb0e84 (PS3) Rewind can be set now 2012-01-21 17:24:25 +01:00
Themaister 0a3dc05c27 Fix custom getopt_long for certain arguments.
getopt_long() treats this as equivalent: {"-c", "foo"}, {"-cfoo"}.
This is fixed.
2012-01-21 16:27:51 +01:00
Themaister 8f0a47e6c3 Small cleanup. 2012-01-21 16:14:10 +01:00
Themaister 20528b9d1f Fix buggy log_connection. 2012-01-21 14:58:39 +01:00
Themaister d262049f6b Additional fixes. 2012-01-21 14:46:33 +01:00
Themaister 75408b689d Hook up binds. 2012-01-21 14:24:38 +01:00
Themaister d551d93ce4 Start implementing player flipping. 2012-01-21 14:00:11 +01:00
Themaister 99f622de0e Just rename video_render_cached(). 2012-01-21 12:12:44 +01:00
TwinAphex51224 64cbfd0183 (PS3) Updated main-menu.jpg border picture 2012-01-21 06:42:04 +01:00
TwinAphex51224 64de1a3260 (PS3) Add rewind menu option - note - g_settings.rewind_enable gets
cleared to '0' somewhere in first-stage SSNES init for some weird
reason - can't even enable it right now beacuse of that
2012-01-21 06:06:01 +01:00
TwinAphex51224 4d95765cb5 (PS3) No longer gives framebuffer objects error 2012-01-21 05:20:44 +01:00
TwinAphex51224 e90b7e6a03 (PS3) Added ssnes_render_cached_frame - this is necessary for the
ingame menu - another problem - swap occurs at end of frame
function - this interferes with the swap done later on in the
ingame menu, leading to flickered libdbgfont text. We will somehow
need to divorce the swap from the main frame function
2012-01-21 03:56:31 +01:00
TwinAphex51224 e044275c3e (360) Fix for 360 - INVALID_FILE_ATTRIBUTES is not defined in a
360 header
(PS3) Added g_console.rom_path setting - not using g_extern.system.
fullpath anymore
2012-01-21 02:58:19 +01:00
TwinAphex51224 c5e8eb0283 (PS3) Ingame menu - can return now to SSNES 2012-01-21 02:32:55 +01:00
TwinAphex51224 8e74333ef4 (PS3) First stab at ingame menu 2012-01-21 00:30:01 +01:00
Themaister 2089521856 Menu/in-game-menu logic. 2012-01-20 19:29:26 +01:00
Themaister 057d29bea1 Check for INVALID_FILE_ATTRIBUTES. 2012-01-20 18:31:46 +01:00
Themaister 026fd10bd4 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-20 18:10:29 +01:00
Themaister c492195ab1 Empty string should not be a directory. 2012-01-20 18:09:53 +01:00
TwinAphex51224 d9a72ea076 (PS3) Implemented SSNES control flow 2012-01-20 18:00:33 +01:00
TwinAphex51224 955c0e85c8 (PS3) image.c - added header 2012-01-18 01:02:34 +01:00
TwinAphex51224 3c99021b60 (PS3) custom image.c (for PNG/JPEG decoding) 2012-01-18 00:59:35 +01:00
TwinAphex51224 5453cc0448 (PS3) Added preliminary resolution switching options 2012-01-18 00:18:23 +01:00
TwinAphex51224 c7e32cbbd2 (PS3) Some more work on PS3 menu front 2012-01-17 23:59:23 +01:00
Themaister 5edf67bba8 Fixup comment. 2012-01-17 23:49:03 +01:00
Themaister d109c22b49 Update Windows makefile. 2012-01-16 22:10:31 +01:00
Themaister 98f2f1c23d Updates for 0.9.4. 2012-01-16 22:08:54 +01:00
TwinAphex51224 94bc6ff3a2 (PS3) Some more settings filled in 2012-01-16 17:15:16 +01:00
TwinAphex51224 62dc63542c (PS3) Clean up PS3 GL driver always assume HAVE_FBO and HAVE_CG 2012-01-16 16:46:35 +01:00
TwinAphex51224 dd8acd5872 (PS3) Added SN version number in 'print compiler' function 2012-01-16 16:38:27 +01:00
TwinAphex51224 d1113a5af0 (PS3) Added sysutil screenshot feature 2012-01-16 15:45:55 +01:00
TwinAphex51224 024e10b5a9 (PS3) Implemented some settings 2012-01-16 15:33:18 +01:00
TwinAphex51224 c4b2492872 (PS3) Some cleanups 2012-01-16 04:09:28 +01:00
TwinAphex51224 44bc9fe291 (PS3) Menu refactoring 2012-01-16 04:07:02 +01:00
Themaister ee7bacd2bc Fix critical performance regression. 2012-01-14 23:15:25 +01:00
Themaister 90a2070718 Return 0 from main().
On console targets, main() is overridden to ssnes_main().
2012-01-14 20:45:05 +01:00
Themaister abf34c06c1 Attempt to always return from ssnes_main_init() when errors occur. 2012-01-14 16:08:54 +01:00
Themaister 661836fd77 Deconstruct main() into three separate functions.
Split main() into init/iterate/deinit functions.
2012-01-14 14:08:43 +01:00
Themaister 260f3ac7ce Use a more general SSNES_CONSOLE define. 2012-01-14 13:43:15 +01:00
Themaister f57ab1ccd8 Handle zero sized writes. 2012-01-14 02:03:49 +01:00
Themaister ef206b3a27 Fix directory detection. 2012-01-14 01:42:51 +01:00
TwinAphex51224 2dce493240 (PS3) Sysutil exit callback works in menu too 2012-01-13 01:27:18 +01:00
TwinAphex51224 83c3d7be57 (PS3) Menu fixes 2012-01-13 01:01:08 +01:00
TwinAphex51224 7b0e1e8022 (PS3) Got rid of warnings in main.c 2012-01-13 00:22:43 +01:00
Themaister 86950b4d2a FBO scale are float. 2012-01-13 00:29:01 +01:00
Themaister fe02783fc7 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-13 00:09:27 +01:00
Themaister 072406e3c3 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-13 00:09:13 +01:00
Themaister 751761d99c Add config_get_float. 2012-01-13 00:08:55 +01:00
TwinAphex51224 fe993fafd5 (PS3) Fixed menu speed 2012-01-13 00:01:52 +01:00
TwinAphex51224 057785539b Merge branch 'master' of github.com:Themaister/SSNES 2012-01-12 23:46:10 +01:00
TwinAphex51224 048d2f65e0 (PS3) Fixed controller 2 2012-01-12 23:45:48 +01:00
Themaister c305f4347d Add g_console struct. 2012-01-12 22:53:14 +01:00
TwinAphex51224 3ca62fbbbc (PS3) Pushed PS3 video fix 2012-01-12 22:02:28 +01:00
Themaister 225699f545 No real need to memset(). 2012-01-12 20:41:52 +01:00
Themaister 35ae61fbc7 Use more correct UINT*_C() constants. 2012-01-12 20:16:47 +01:00
Themaister 86dac8c979 Make sure sockets are not closed twice on error. 2012-01-12 09:21:33 +01:00
TwinAphex51224 95431414ae (PS3) Initialize some settings 2012-01-12 00:24:17 +01:00
TwinAphex51224 b3f7224ea1 (PS3) menu works, ROM loads, but screen is black 2012-01-12 00:05:32 +01:00
Themaister e583546778 Add some more needed stuff. 2012-01-11 23:48:48 +01:00
Themaister a39c37e1ee Add some hooks to video init/deinit for PS3. 2012-01-11 23:44:29 +01:00
Themaister 67fb35b645 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-11 23:10:05 +01:00
Themaister 3c1e4c879a Integer scale is bad mmkay. 2012-01-11 23:09:22 +01:00
TwinAphex51224 83a11be669 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-11 22:55:37 +01:00
TwinAphex51224 08e35a62d4 (PS3) Can now compile with SNC as well 2012-01-11 22:55:07 +01:00
Themaister 5461c0d86e Merge branch 'master' of github.com:Themaister/SSNES 2012-01-11 22:52:57 +01:00
Themaister 4eab7c4387 Font scale option. 2012-01-11 22:52:25 +01:00
TwinAphex51224 59aeb77744 (PS3) Some more work on menu 2012-01-11 22:27:07 +01:00
Themaister c6fc8e45ff Log more clearly disconnects. 2012-01-11 21:08:44 +01:00
Themaister 4dde927c12 Add some logging and increase buffer sizes. 2012-01-11 20:50:21 +01:00
Themaister 6325b4cd2e Set larger buffer size to mitigate lags on client connect. 2012-01-11 20:14:59 +01:00
Themaister 4beec3870f Spectator mode. 2012-01-11 19:22:18 +01:00
Themaister 36a2c96cb7 ifdef console oriented binds. 2012-01-11 10:00:24 +01:00
TwinAphex51224 a4a68a2ad5 (PS3) Implemented menu code some more 2012-01-11 02:25:49 +01:00
TwinAphex51224 13a2010ed6 (PS3) Fix 2012-01-11 01:17:04 +01:00
TwinAphex51224 e37fd21424 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-11 01:04:47 +01:00
TwinAphex51224 a2698061a6 (PS3) Loads settings from config file 2012-01-11 01:04:17 +01:00
Themaister d00257382a Always dump 16-bit little endian values for movie record. 2012-01-11 00:55:50 +01:00
TwinAphex51224 51ab2f2509 (PS3) Added initial menu - not yet compiled in 2012-01-10 23:33:44 +01:00
TwinAphex51224 61f9ceccab PATH_MAX gets redefined for PS3/Libxenon 2012-01-10 22:08:24 +01:00
Themaister f836a291a0 Reinstate ssnes.cfg. 2012-01-09 16:05:02 +01:00
Themaister 97725e69eb Add missing license header. 2012-01-08 02:30:32 +01:00
Themaister d186e14eeb VSync one frame earlier. 2012-01-08 02:21:28 +01:00
Themaister 08aaa1021c More aestethically pleasing effect. 2012-01-08 01:32:45 +01:00
Themaister b4248038fb Update license headers. 2012-01-08 01:12:05 +01:00
Themaister ca587ab92e Actually runs. 2012-01-08 01:07:26 +01:00
Themaister 6f5c33848e Begin work on menu for Wii. 2012-01-08 00:57:44 +01:00
Themaister 17d380400e Update AUTHORS. 2012-01-07 17:07:22 +01:00
Themaister 2e456b2570 Rename gl-> to vid-> for consistency. 2012-01-07 15:30:52 +01:00
TwinAphex51224 fe17a42e62 (360) Fixed 2012-01-07 15:28:39 +01:00
Themaister c46866c6e5 Use correct geometries (I hope). 2012-01-07 15:21:23 +01:00
Themaister 3117633adf Actually use a viewport. 2012-01-07 15:11:57 +01:00
Themaister 8a49321648 Rename shader vars again. :D 2012-01-07 15:03:09 +01:00
Themaister 18f027ed41 Rename shader variable names. 2012-01-07 15:00:51 +01:00
TwinAphex51224 79b9c68cb5 (360) Compile fixes 2012-01-07 14:59:11 +01:00
Themaister 2b1344c3cf Clean up and add missing bits to 360 D3D9. 2012-01-07 14:54:55 +01:00
TwinAphex51224 da26925118 (360) Fleshed out video driver some more 2012-01-07 14:13:23 +01:00
Themaister f2a152f7c9 Minor cleanup. 2012-01-07 11:47:53 +01:00
Themaister 1953ea7312 Fix Xenon build. 2012-01-07 11:32:39 +01:00
TwinAphex51224 e55dbe944d (360) changed buf to uint8_t * 2012-01-06 22:55:07 +01:00
Themaister f5ad906e7b Don't need byteswapping on 360. 2012-01-06 22:49:30 +01:00
TwinAphex51224 7cad2bcd6e (360) Some sound fixes 2012-01-06 22:40:40 +01:00
Themaister cc921f25ed Use integer audio on 360. 2012-01-06 22:30:12 +01:00
Themaister 435109ceae Rework SRAM semantics for Sufami. 2012-01-06 20:32:30 +01:00
Themaister ca375f65d5 Call CreateEvent. 2012-01-06 19:45:27 +01:00
Themaister 76212f47bf Fix indentation. 2012-01-06 18:51:45 +01:00
TwinAphex51224 6efb904919 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-06 14:12:38 +01:00
TwinAphex51224 072342cdab (360) Gets to initing audio 2012-01-06 14:12:12 +01:00
Themaister 09761c0786 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-06 00:05:05 +01:00
Themaister c48fab00e8 Remove unneeded header. 2012-01-06 00:04:48 +01:00
TwinAphex51224 d1c562ce4e (360) Small correction to main.c file 2012-01-05 23:19:14 +01:00
Themaister 45cae81d51 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 23:10:28 +01:00
Themaister 30e28acfb3 Workaround GetFullPathName not existing on XDK. 2012-01-05 23:09:52 +01:00
TwinAphex51224 00459365c4 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 22:47:54 +01:00
TwinAphex51224 649884bc05 (360) Added main files 2012-01-05 22:47:34 +01:00
TwinAphex51224 e1af420b2d (360) More work on 360 2012-01-05 22:46:11 +01:00
Themaister 613f50dd14 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 21:45:32 +01:00
Themaister a18c0b2b14 Use const. 2012-01-05 21:43:55 +01:00
TwinAphex51224 d7f8500b3a Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 20:54:26 +01:00
TwinAphex51224 7ecf9681c5 (360) Updated vcxproj file 2012-01-05 20:54:04 +01:00
Themaister e9ca7acce9 Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 19:44:39 +01:00
Themaister ea68de8070 Don't use *A() version. 2012-01-05 19:44:11 +01:00
TwinAphex51224 0fa0bfeb74 (360) Compiles in dynamic.c 2012-01-05 19:42:29 +01:00
TwinAphex51224 4a5d0d8dfb (360) Updated solution 2012-01-05 19:35:56 +01:00
Themaister af35a18515 :v 2012-01-05 19:34:15 +01:00
Themaister 5560babc11 Some build fixups. 2012-01-05 19:33:38 +01:00
Themaister 3e76201d80 Rename to C++. 2012-01-05 19:28:19 +01:00
Themaister 5b15d8626c Restructure XAudio2 360 driver. 2012-01-05 19:27:58 +01:00
TwinAphex51224 f8a03a7d5d Merge branch 'master' of github.com:Themaister/SSNES 2012-01-05 18:38:49 +01:00
TwinAphex51224 b7b9acb336 (360) compiles now 2012-01-05 18:38:29 +01:00
Themaister 44e2d66cf5 Mainstub clean. 2012-01-05 17:53:30 +01:00
Themaister 9747767474 Use GetFileAttributes. 2012-01-05 17:41:04 +01:00
Themaister cee33327f8 Ugh 2012-01-05 17:28:11 +01:00
Themaister f70b52a0df Don't use unicode. 2012-01-05 17:27:48 +01:00
Themaister 0b62771b54 Don't use getenv on XBOX. 2012-01-05 17:27:18 +01:00
Themaister b168109672 Fix missing stuff. 2012-01-05 17:23:22 +01:00
Themaister d8b6aebe9a Use plain ASCII for directories. 2012-01-05 17:22:03 +01:00
TwinAphex51224 4812b632c3 (360) Fixed most compile errors for 360 2012-01-05 15:11:55 +01:00
TwinAphex51224 8320d0a0e9 (360) Xaudio2 driver compiles now 2012-01-05 14:48:54 +01:00
TwinAphex51224 a287ebe736 (360) New Xaudio2 driver 2012-01-05 14:17:35 +01:00
TwinAphex51224 ebea0220cd (360) Added 360 solution and added some defines 2012-01-05 13:30:13 +01:00
TwinAphex51224 2b01f36fc0 (360) Added preliminary xdk 360 drivers 2012-01-05 12:37:27 +01:00
Themaister 7e3092dc93 Build in freetype. Will be used later. 2012-01-03 13:04:23 +01:00
Themaister 114c723d59 Only init input once. 2012-01-03 12:22:07 +01:00
Themaister da39f8d3d6 Support classic controller. 2012-01-03 12:11:02 +01:00
Themaister 33b76628aa Far better vsync handling. 2012-01-03 11:32:07 +01:00
Themaister 94162f452d Use RGB5A3 for Wii. 2012-01-03 10:32:51 +01:00
Themaister 318d875981 Small cleanups. 2012-01-03 02:50:45 +01:00
Themaister 520878272c Checks if swapinterval succeeds. 2012-01-02 22:09:55 +01:00
Themaister fc87336c45 MSVC doesn't have PATH_MAX. 2012-01-02 16:03:39 +01:00
Themaister d66e039536 Fix 15->16 bit conversions. 2012-01-02 15:43:46 +01:00
Themaister eeebc2d06b Optimize a bit. 2012-01-02 14:50:03 +01:00
Themaister 7d1ebdf94a Pick linear/nearest filtering correctly. 2012-01-02 13:45:31 +01:00
Themaister 3d1b0ef35b Merge branch 'fix' 2012-01-02 13:33:27 +01:00
Themaister c2ba0d474c Use limits.h and PATH_MAX. 2012-01-02 13:33:03 +01:00
Themaister 793c00e614 Attempt on tiled textures for Wii. 2012-01-02 12:56:09 +01:00
Themaister d4093dc31c Fix build for gekko. 2012-01-02 12:12:30 +01:00
Themaister bc66841a29 More correct save state and rewind handling. 2011-12-27 18:30:14 +01:00
Themaister f4cc8a4bca Update filters. 2011-12-27 03:33:18 +01:00
Themaister 539563f0f4 Add filters to project. 2011-12-27 03:27:28 +01:00
Themaister 8c5d86a6eb Add logging to SDL_Init(). 2011-12-27 01:04:50 +01:00
Themaister 884c113645 Cleanup stupid code. 2011-12-27 00:54:31 +01:00
Themaister 70587bc0df More verbosely log SDL failure. 2011-12-27 00:37:29 +01:00
Themaister df4e0bb1e4 Don't use x64libs. 2011-12-27 00:15:58 +01:00
Themaister cdc92af959 Cleanups. 2011-12-26 16:43:47 +01:00
Themaister 763a5bf2c0 Style nit. 2011-12-26 16:22:34 +01:00
Themaister 8301cf8a2f Style nit. 2011-12-26 16:14:33 +01:00
Themaister 44da8a6749 :v 2011-12-26 01:32:19 +01:00
Themaister 06309ba1e0 Build some more stuff. 2011-12-26 00:06:41 +01:00
Themaister 004ca0fe89 Better formatting. 2011-12-25 21:43:00 +01:00
Themaister 40cce7c9d6 Also log compiler version normally. 2011-12-25 21:39:58 +01:00
Themaister 1c29d31859 Better formatting. 2011-12-25 21:20:07 +01:00
Themaister d3af29fa1f Compiler logging macros. 2011-12-25 21:16:48 +01:00
Themaister c5d1fd32d5 Deinit audio before video. 2011-12-25 19:31:05 +01:00
Themaister a4767d3d43 Add python build. Fix ssize_t define. 2011-12-25 18:25:37 +01:00
Themaister c26f527c20 Enable SSE for 64-bit builds. 2011-12-25 16:50:13 +01:00
Themaister 0c8d85d589 Minor fixes. 2011-12-25 16:47:03 +01:00
Themaister 0c16e1a134 x64 build. 2011-12-25 16:36:56 +01:00
Themaister 0a887395eb Remove useless global. 2011-12-25 16:11:48 +01:00
Themaister 9118976c49 Don't include general.h 2011-12-25 12:56:21 +01:00
Themaister 7f1e599186 Use modern FFmpeg defines. 2011-12-25 12:50:34 +01:00
Themaister 672102d377 Change asserts to ssnes_assert(). 2011-12-25 12:47:47 +01:00
Themaister fe7f05e717 Style nit. 2011-12-25 12:14:26 +01:00
Themaister 0724ab2ca1 Fix assertion bugs. 2011-12-25 12:13:19 +01:00
Themaister c272ba56ad Fix build for Release mode. 2011-12-25 11:45:27 +01:00
Themaister 381498e945 Print feature for DirectSound. 2011-12-25 01:59:30 +01:00
Themaister 70f07196ea gettimeofday() should return int. 2011-12-25 01:54:29 +01:00
Themaister c8dee57278 Set constant macros with define. 2011-12-25 01:45:09 +01:00
Themaister 0ab305156b Fixup header. 2011-12-25 01:41:12 +01:00
Themaister eac468ba19 MSVC compat. 2011-12-25 01:38:59 +01:00
Themaister 18f407110b Fixup compatibility. 2011-12-24 20:43:58 +01:00
Themaister ceee10b56c Fix types. 2011-12-24 15:57:43 +01:00
Themaister 9805bcc5f9 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-24 15:47:47 +01:00
Themaister d5fca50a2f Can build for C++. 2011-12-24 15:26:01 +01:00
Themaister 4ca72bd7e6 Fix endian issues and strict aliasing. 2011-12-24 14:41:19 +01:00
Themaister 62ead00f0f Some additions, but still broken. 2011-12-24 14:41:19 +01:00
TwinAphex51224 5dc573ed38 (Libxenon) Changed texture size to 512x512 - stop libxenon development
for now - no double buffering/triple buffering available - return to
it when it's more mature
2011-12-24 14:41:19 +01:00
TwinAphex51224 fa053ffc2b (Libxenon) Fixed colors 2011-12-24 14:41:18 +01:00
TwinAphex51224 be6c7bad24 (Libxenon) Revert to Xenos driver that works - current issues - colors
are wrong (doing | XE_FMT_ARGB produces 'distorted' graphics but right colors) - no vsync (doing while Xe_IsVBlank(device) Xe_Sync(device) makes everything too
slow
2011-12-24 14:41:18 +01:00
Themaister 2680971bb3 Try some stuff. 2011-12-24 14:41:18 +01:00
Themaister 630f19f248 ... 2011-12-24 14:41:18 +01:00
Themaister ef4bee2e4e Minor fix. 2011-12-24 14:41:18 +01:00
Themaister f182a2ad24 Debork party. Untested. 2011-12-24 14:41:18 +01:00
Themaister 3eb98951f7 :v 2011-12-24 14:41:18 +01:00
Themaister f9d4bbf4d3 Fix endian issues and strict aliasing. 2011-12-19 01:27:04 +01:00
Themaister eff4fcecae Some additions, but still broken. 2011-12-18 13:27:06 +01:00
TwinAphex51224 cbfdc9cf97 (Libxenon) Changed texture size to 512x512 - stop libxenon development
for now - no double buffering/triple buffering available - return to
it when it's more mature
2011-12-16 18:54:12 +01:00
TwinAphex51224 034c7c70fb (Libxenon) Fixed colors 2011-12-16 17:22:37 +01:00
TwinAphex51224 44ad016b91 (Libxenon) Revert to Xenos driver that works - current issues - colors
are wrong (doing | XE_FMT_ARGB produces 'distorted' graphics but right colors) - no vsync (doing while Xe_IsVBlank(device) Xe_Sync(device) makes everything too
slow
2011-12-16 17:09:33 +01:00
Themaister 5ed0d00249 Try some stuff. 2011-12-16 16:38:25 +01:00
Themaister 6336fb4a1b ... 2011-12-16 16:26:44 +01:00
Themaister 99497e21cf Minor fix. 2011-12-16 16:21:58 +01:00
Themaister 0181d97cae Debork party. Untested. 2011-12-16 16:02:30 +01:00
TwinAphex51224 968c73a748 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-16 15:22:56 +01:00
TwinAphex51224 13f9e94f61 (Libxenon 360) Shows video for one/two frames, then crashes 2011-12-16 15:22:25 +01:00
Themaister 8c1018d573 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-16 15:09:46 +01:00
Themaister d4d00a35d7 :v 2011-12-16 15:09:15 +01:00
TwinAphex51224 e3177fd489 (Libxenon) Xenos gfx commit - still broken 2011-12-16 14:43:09 +01:00
Themaister dd1300f1cc Fix rewind granularity setting when not playing movies. 2011-12-16 10:19:45 +01:00
TwinAphex51224 7f03af2b2b (Libxenon) starts up now - borked graphics though :) 2011-12-15 15:32:47 +01:00
TwinAphex51224 f431f77834 (Libxenon) fix (still crashes during init) 2011-12-15 15:19:03 +01:00
TwinAphex51224 7c28a62b40 (Libxenon) No more SDL 2011-12-15 13:54:22 +01:00
TwinAphex51224 a360042f77 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-15 13:38:55 +01:00
TwinAphex51224 82af27cf33 (Libxenon) Initial xenos graphics driver 2011-12-15 13:38:28 +01:00
Themaister 0b78abb31d hrr drr. 2011-12-15 00:28:47 +01:00
Themaister 2fd8ffbf22 Some progress at least. 2011-12-14 23:56:07 +01:00
Themaister 83f7be0cbb Some more stuff. 2011-12-14 22:29:12 +01:00
Themaister 7f5db4d70f Boots up, but broken graphics. 2011-12-14 21:44:03 +01:00
Themaister 4f04c1288b Use fatInit default. 2011-12-14 19:11:46 +01:00
Themaister 8a2c5bf9e1 Some cleanups. 2011-12-14 17:05:23 +01:00
Themaister 5c05e309c1 Xenon input takes prio. 2011-12-14 16:53:13 +01:00
Themaister bd147270eb Use built-in getopt. 2011-12-14 16:40:25 +01:00
Themaister 528cf8d472 Don't use SDL input on xenon. 2011-12-14 16:37:31 +01:00
Themaister 0fce2f409f Add a warning. :3 2011-12-14 16:29:38 +01:00
Themaister fd7b0b05b8 Hurr. 2011-12-14 16:01:16 +01:00
Themaister 9abc7c00c9 It links :o 2011-12-14 14:52:58 +01:00
Themaister ebc5f433cd It links :o 2011-12-14 14:36:23 +01:00
Themaister aa4f79f236 Start working on video. 2011-12-14 14:26:40 +01:00
Themaister 62f5c53b72 Start on Wii input. 2011-12-14 13:20:22 +01:00
Themaister 534163a57f Start adding stuff for Wii. 2011-12-14 12:49:13 +01:00
TwinAphex51224 325a9fb48e (Libxenon) D-pad works now in ROM browser menu 2011-12-14 08:36:04 +01:00
TwinAphex51224 ee43531a99 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-14 01:35:46 +01:00
TwinAphex51224 757fa71469 (Libxenon) Added (non-working) input driver 2011-12-14 01:35:17 +01:00
Themaister bfee7986bd Fix missing break; 2011-12-14 00:58:17 +01:00
Themaister 9aaad17c1a Update Makefile. 2011-12-14 00:44:38 +01:00
Themaister 93874bba83 Fixup makefile. 2011-12-14 00:41:06 +01:00
Themaister 9c67452f10 <________________________< 2011-12-14 00:36:28 +01:00
Themaister 0416a2ae61 Don't use float <_< 2011-12-14 00:30:03 +01:00
Themaister 8bbde14019 Merge branch 'master' of github.com:Themaister/SSNES 2011-12-14 00:25:26 +01:00
Themaister 0e8f2339d8 Might work better ... 2011-12-14 00:25:04 +01:00
TwinAphex51224 9f37427d7a (Libxenon) Compile with -O3 2011-12-13 23:50:56 +01:00
Themaister 6ad4b1f15a Little endian DAC on 360 (lolwut?) 2011-12-13 23:44:55 +01:00
Themaister a39c0f01f9 Should fix up audio driver a bit. 2011-12-13 23:38:05 +01:00
TwinAphex51224 1136820124 (Libxenon) Terribly borked libxenon audio driver :) 2011-12-13 23:17:37 +01:00
TwinAphex51224 2a3f3bad23 (360 Libxenon) Initial xenon 360 audio driver 2011-12-13 22:57:49 +01:00
Themaister 74def91a53 Debork main a bit. 2011-12-13 21:48:17 +01:00
TwinAphex51224 bc62e1be08 (Libxenon) Added slimjim Libxenon filebrowser - from examples 2011-12-13 21:12:50 +01:00
Themaister 25aea134ef Add temporary hack for SDL cond in Xenon. 2011-12-13 19:34:45 +01:00
Themaister e488c3081d Small nit. 2011-12-11 13:14:44 +01:00
Themaister 331f46fb24 Missing stuff. 2011-12-11 12:51:32 +01:00
Themaister e88662cab0 Updates for 0.9.3. 2011-12-11 12:50:16 +01:00
Themaister 395f6d1d3c Build fixups. 2011-12-10 18:02:50 +01:00
Themaister 94bd78b3e1 Merge branch 'master' of github.com:Themaister/SSNES
Conflicts:
	Makefile.xenon
2011-12-10 17:42:07 +01:00
Themaister dc373fb7d0 Gets to link, but fails there. 2011-12-10 17:41:16 +01:00
Themaister 140812d64a Fixup xenon makefile a bit. 2011-12-10 16:26:26 +01:00
TwinAphex51224 a91c4e556f (360 Libxenon) change to makefile - use built-in getopt 2011-12-10 16:22:37 +01:00
Themaister 372c622166 Nits. 2011-12-10 15:23:20 +01:00
TwinAphex51224 d961d68e9c (360 / Libxenon) Added Libxenon Makefile 2011-12-07 03:19:12 +01:00
Themaister 33a325a730 Nit. 2011-12-07 01:13:06 +01:00
Themaister 909b25c7ac Remove XML stuff. 2011-12-04 18:44:50 +01:00
Themaister 77f110c23e Nits. 2011-12-04 18:26:17 +01:00
Themaister 9dc9416ef9 Merge branch 'ssnes-ps3' 2011-12-04 18:13:31 +01:00
Themaister 0b20f11617 Nits. 2011-12-04 18:06:50 +01:00
Themaister c9594776f8 Style nits. 2011-12-04 18:06:50 +01:00
Themaister 8f55b9904d Update license. 2011-12-04 18:06:50 +01:00
Themaister 093ba1c33d Dynamic fix. 2011-12-04 18:06:50 +01:00
Themaister 67a434d563 Clean. 2011-12-04 18:06:50 +01:00
Themaister ff0c3f047a Some cleanups. 2011-12-04 18:06:50 +01:00
Themaister 2934ba301b Nit. 2011-12-04 18:06:50 +01:00
Themaister f3627aaf59 Nits. 2011-12-04 18:03:08 +01:00
Themaister dc8a2dea72 Style nits. 2011-12-04 18:00:55 +01:00
Themaister 329969eb05 Update license. 2011-12-04 17:57:25 +01:00
Themaister 71923af675 Dynamic fix. 2011-12-04 17:54:00 +01:00
Themaister 18e58ca5f4 Clean. 2011-12-04 17:30:44 +01:00
Themaister 8c3aebbbc8 Some cleanups. 2011-12-04 17:29:59 +01:00
Themaister 7f40c11eb7 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-ps3 2011-12-04 17:24:28 +01:00
Themaister 0ed668d1b5 Minor cleanups. 2011-12-04 17:19:21 +01:00
Themaister 1c8632cac9 Nit. 2011-12-04 17:17:49 +01:00
TwinAphex51224 e7324989fc (PS3) Better extra button bindings 2011-12-04 04:11:02 +01:00
TwinAphex51224 a7fc3807b9 (PS3) Cleaned up indenting in ps3_input.c 2011-12-04 04:00:17 +01:00
TwinAphex51224 99ad7bcc51 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-04 03:43:52 +01:00
Themaister 5b88e338df Nits. 2011-12-04 01:42:00 +01:00
Themaister 425af71450 GET_CAN_REWIND. 2011-12-04 01:40:25 +01:00
Themaister 19c5eab07a Minor clean. 2011-12-04 01:30:16 +01:00
Themaister e5286cbe39 Update XAudio for pure C. 2011-12-04 01:10:16 +01:00
Themaister 02d40aa212 Drop shadows for fonts. 2011-12-03 19:48:13 +01:00
Themaister 8a5c537e15 Fix warning. 2011-12-03 04:09:40 +01:00
TwinAphex51224 c6c4f2f4d1 (PS3) Debug fonts hooked up 2011-12-03 03:52:53 +01:00
TwinAphex51224 5bc7ea4045 (PS3) Properly exits now with shader loaded 2011-12-03 03:10:23 +01:00
TwinAphex51224 077acf7894 (PS3) Savestates hooked up (R2 + R3 - save state - L2 + R3 - load state -
R2 + Right stick right - save state plus - R2 + Right stick left - save state minus)
2011-12-03 02:40:20 +01:00
TwinAphex51224 c5f86f12c0 Revert "(PS3) Would not cleanly exit on PS3 without this - perhaps something"
This reverts commit 243e941d81.
2011-12-03 01:56:41 +01:00
TwinAphex51224 243e941d81 (PS3) Would not cleanly exit on PS3 without this - perhaps something
Cg-related needs deiniting prior to exit(0)
2011-12-03 01:54:57 +01:00
TwinAphex51224 d67e6b7c15 (PS3) Cg shader support fixed 2011-12-03 01:26:56 +01:00
Themaister f76bf59fed Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-03 00:49:26 +01:00
Themaister 1c4d88eb04 Compiles ... properly. 2011-12-03 00:49:09 +01:00
Themaister ad04db8365 Fix includes. 2011-12-03 00:48:42 +01:00
TwinAphex51224 a63ccbbdab (PS3) Implemented rewind/fast forward hooks 2011-12-03 00:07:01 +01:00
Themaister 278f314c03 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 22:57:13 +01:00
Themaister a3abda7e7b Refactor. 2011-12-02 22:56:11 +01:00
Themaister c0a9db111d Fix bug with reordering. 2011-12-02 22:23:19 +01:00
TwinAphex51224 676ce10119 (PS3) Now reads from config file 2011-12-02 22:22:44 +01:00
Themaister c18dce4783 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 22:25:37 +01:00
Themaister 088b01b52e More logial ordering. 2011-12-02 21:37:35 +01:00
Themaister c0f436b8ab Minor nit. 2011-12-02 21:25:25 +01:00
Themaister 3377020242 Fixup build. 2011-12-02 21:24:33 +01:00
Themaister 6db58fe1dd Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 21:22:36 +01:00
Themaister 67c7cd8de9 No default config path on ps3. 2011-12-02 21:22:14 +01:00
Themaister 457a3d458a Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles
Conflicts:
	general.h
2011-12-02 21:18:09 +01:00
Themaister 6538312d86 Fix some includes. 2011-12-02 21:16:51 +01:00
TwinAphex51224 7f1a5075b1 Updated Makefile 2011-12-02 21:14:25 +01:00
Themaister e412ecdefe Do not exit() prematurely. 2011-12-02 19:28:39 +01:00
Themaister 67b89d6f42 Kill off useless font rendering code. 2011-12-02 19:19:48 +01:00
Themaister c8d3278dbc Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 19:15:21 +01:00
Themaister 3556445660 Add new extension support. 2011-12-02 19:12:47 +01:00
Themaister f28fc0cabb Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 16:22:05 +01:00
Themaister e0bc548400 sys_lw synchro. 2011-12-02 16:21:01 +01:00
TwinAphex51224 011a4c8a89 Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 15:59:40 +01:00
TwinAphex51224 87bc5220eb (PS3) Takes care of audio pop 2011-12-02 15:59:07 +01:00
Themaister 673d0ed1a2 Minor fix. 2011-12-02 15:55:49 +01:00
Themaister a5079bdda1 Should improve the state of audio. 2011-12-02 15:50:51 +01:00
Themaister fc43e7155e Should fixup input. 2011-12-02 15:33:14 +01:00
TwinAphex51224 4935333b63 (PS3) Updated icon + PARAM.SFO title 2011-12-02 04:52:29 +01:00
TwinAphex51224 5a3232adff (PS3) SSNES PS3 lives :) - audio, video works - controls don't
seem to work
2011-12-02 03:46:31 +01:00
TwinAphex51224 d03f351f33 (PS3) Crashes in find_audio_driver (driver.c) 2011-12-02 03:32:04 +01:00
TwinAphex51224 8d5bf997a9 Made global g_quitting variable in PSGL driver 2011-12-02 02:51:21 +01:00
Themaister 0738480439 Make sure set_defaults is called. 2011-12-02 02:48:04 +01:00
TwinAphex51224 9a5e1a31ad Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 02:47:28 +01:00
Themaister 5ab7664f49 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 02:48:26 +01:00
TwinAphex51224 1cb2c60ccc Calblack put in video_psgl.c - not sure how to use it there 2011-12-02 02:46:47 +01:00
Themaister 1356d0ab4c .___. 2011-12-02 02:41:32 +01:00
Themaister b4c4a65f2d Clear up input. 2011-12-02 02:34:06 +01:00
Themaister ab3cf8daca Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 02:25:40 +01:00
Themaister 2b6c252747 Minor fixes. 2011-12-02 02:22:29 +01:00
TwinAphex51224 ec9a6ac90a Can make a PKG now 2011-12-02 02:07:46 +01:00
Themaister a207549f18 fixup stub. 2011-12-02 01:59:44 +01:00
Themaister efbf9354f9 It ... links! 2011-12-02 01:59:07 +01:00
Themaister 216ddc9fd6 Merge branch 'ssnes-consoles' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 01:38:24 +01:00
Themaister 3b668cccd3 Add audio/utils.o. 2011-12-02 01:38:04 +01:00
Themaister 30a86a2845 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 01:35:15 +01:00
Themaister a7870aa888 Altivec sample conversion. 2011-12-02 01:34:02 +01:00
TwinAphex51224 271b99981c Won't link right now 2011-12-02 01:28:47 +01:00
Themaister 08ef01bb13 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles
Conflicts:
	dynamic.c
2011-12-02 00:07:54 +01:00
Themaister e778af462a Stub main. 2011-12-02 00:01:48 +01:00
Themaister 9d124b2380 Do not use anything dylib related if not compiled in. 2011-12-01 22:36:26 +01:00
Themaister f24e7cd665 Texrefs (untested). 2011-12-01 22:21:15 +01:00
Themaister e7f1526942 Fix compilation errors. 2011-12-01 21:54:42 +01:00
TwinAphex51224 647b1ba53c (PS3) Comiles now, doesn't link 2011-12-01 21:23:49 +01:00
TwinAphex51224 eac8d9f191 Update to PSGL driver 2011-12-01 11:25:08 +01:00
TwinAphex51224 50babe8432 More commits to PSGL driver 2011-11-30 23:50:31 +01:00
TwinAphex51224 8171977ed7 Preliminary version of PSGL video driver 2011-11-30 21:54:25 +01:00
TwinAphex51224 f8aaf1df1e (PS3) Some more commits 2011-11-30 18:32:45 +01:00
Themaister 04d0d84d01 Fix up more paths. 2011-11-30 18:31:09 +01:00
TwinAphex51224 f4aa9fa865 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 18:27:11 +01:00
TwinAphex51224 40ef7d6f00 Improved Makefile a bit 2011-11-30 18:26:42 +01:00
TwinAphex51224 66b7b1691c (PS3) Removed thread.o from Makefile 2011-11-30 18:19:34 +01:00
Themaister 43972d4c35 Fix build. 2011-11-30 18:18:50 +01:00
TwinAphex51224 632545c409 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 18:13:27 +01:00
TwinAphex51224 3a47e2cd63 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 18:11:06 +01:00
Themaister a221e3e4cd Enable/disable threading support. 2011-11-30 17:46:58 +01:00
Themaister b87f50dc9d Fix include path. 2011-11-30 17:34:18 +01:00
Themaister a5b3f421d1 Fix include paths for libsnes header. 2011-11-30 17:32:30 +01:00
TwinAphex51224 182525afa9 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 17:28:11 +01:00
TwinAphex51224 419afbcb83 Progresses to thread.c now 2011-11-30 17:27:47 +01:00
Themaister 12ca70a308 Refactor binds. 2011-11-30 17:25:44 +01:00
TwinAphex51224 1fa7663d3b Put in old input driver too - progresses to dynamic.c now 2011-11-30 17:24:18 +01:00
TwinAphex51224 2e34c6fc5c Moved in old PS3 audio driver 2011-11-30 17:11:42 +01:00
Themaister cb7002559d Put defines in makefile. 2011-11-30 17:01:15 +01:00
TwinAphex51224 36ec92793f Put PACKAGE_VERSION define in Makefile 2011-11-30 16:58:20 +01:00
TwinAphex51224 4187d70b30 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 16:56:38 +01:00
Themaister 5969655c3c Do not allow netplay args if not compiled in. 2011-11-30 16:43:09 +01:00
Themaister 09d2ec7d3a Do not build in anything netplay related if not included. 2011-11-30 16:41:00 +01:00
TwinAphex51224 27b975d0fc Add in PS3 define for ssnes_sleep 2011-11-30 16:40:52 +01:00
TwinAphex51224 6da64013fa Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 16:38:53 +01:00
Themaister d8eb5de380 Do not include netplay header needlessly. 2011-11-30 16:27:16 +01:00
Themaister 23aa8bbe7a Actually use sleep param. 2011-11-30 16:26:23 +01:00
TwinAphex51224 3b5472dbac Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 16:22:16 +01:00
TwinAphex51224 3b4e60aada Header guards for netplay.c not necessary 2011-11-30 16:21:21 +01:00
TwinAphex51224 8d8fb44c18 Use getopt replacement 2011-11-30 16:19:12 +01:00
TwinAphex51224 b46fb60a6e Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-11-30 16:02:49 +01:00
Themaister f7399bbc8b Fix docs. 2011-11-30 12:09:22 +01:00
Themaister 7f7d47b120 Custom getopt for portability. 2011-11-30 11:48:53 +01:00
TwinAphex51224 e7aa3ed0cc Compile in OpenGL and Cg 2011-11-30 01:41:50 +01:00
TwinAphex51224 0ece8b1319 Added static Makefile for PS3 2011-11-30 01:33:14 +01:00
TwinAphex51224 557e05dd12 initial new branch 2011-11-30 01:07:38 +01:00
Themaister 08a1496501 Use big-endian BSV1 magic.
Keep compatibility with old implementation.
Documentation was suggesting little-endian, but this was not correct.
2011-11-28 02:11:33 +01:00
Themaister 5a24037c61 Update joyconfig. 2011-11-26 16:02:49 +01:00
Themaister 5dbd1ea35c Add mute toggle. 2011-11-26 15:54:58 +01:00
Themaister 2476e3dee3 Updates for 0.9.2. 2011-11-24 13:13:55 +01:00
Themaister c05a5c9fdd Only init Video if it isn't already. 2011-11-23 03:26:56 +01:00
Themaister 503c51d633 Check for additional fonts. 2011-11-22 18:52:20 +01:00
Themaister 46054de4f8 Fix possible segfault. 2011-11-22 17:32:38 +01:00
Themaister 604eb9b973 Can dupe extension. 2011-11-22 17:27:02 +01:00
Themaister 0e72120bdc Updates for 0.9.2-rc2. 2011-11-21 16:30:35 +01:00
Themaister b8064f5d42 New semantics for BSV movie recording. 2011-11-20 20:19:05 +01:00
Themaister 379b14a0f3 Flush more sanely. 2011-11-20 03:19:17 +01:00
Themaister 2a598c0b97 Do not quit SSNES on movie playback end. 2011-11-20 03:00:21 +01:00
Themaister aa124b4c40 Should fix occasional horrible noise on end of recordings. 2011-11-20 02:44:21 +01:00
Themaister bb5e31df0d Still record audio even if audio is not enabled. 2011-11-20 02:06:25 +01:00
Themaister e49d216884 Check for large skews in timing. 2011-11-19 14:16:55 +01:00
Themaister 598d06fcb5 More explicitly log paths. 2011-11-19 01:33:21 +01:00
Themaister 7f13ec88e6 Simplify things a bit. 2011-11-18 18:43:02 +01:00
Themaister c5c60c6f53 Add --bsvrecord. 2011-11-18 18:03:24 +01:00
Themaister 81b0e6d0a3 Use display refresh rates rather than input rate directly. 2011-11-18 15:14:56 +01:00
Themaister da97b29d0b Update FFmpeg to use new define in Win32. 2011-11-18 13:07:24 +01:00
Themaister 69b7f92285 Updates for 0.9.2-rc1. 2011-11-18 12:17:25 +01:00
Themaister 3a9dbbc8b7 Pause while inactive disabled by default. 2011-11-17 21:17:29 +01:00
Themaister bf5db10459 Change timeout message to be less misleading. 2011-11-16 22:30:57 +01:00
Themaister 4fa27a5f0f Binaries link in README. 2011-11-16 21:28:30 +01:00
Themaister 3e7c412738 Custom timing support for FFmpeg recording. 2011-11-16 18:56:42 +01:00
Themaister 88c870dcfa Allow -L/--libsnes from command line. 2011-11-15 21:15:12 +01:00
Themaister 66e1179503 Do not remove -s. 2011-11-15 16:44:40 +01:00
Themaister 4ecea5d0a4 Expose python to external drivers. 2011-11-15 15:41:49 +01:00
Themaister 57816edfd3 Fix some hardcoding. 2011-11-13 17:44:20 +01:00
Themaister 17cf0985c5 Typo. 2011-11-13 17:10:21 +01:00
Themaister 776b0a1e2d Add a helper define for input scale. 2011-11-13 17:09:49 +01:00
Themaister 4a6392aefa Fix wrong placement of line in print_help(). 2011-11-13 01:12:32 +01:00
Themaister 29dd4727b8 Disable used attribs in Cg as well. 2011-11-12 18:31:22 +01:00
Themaister face42a888 Disable used attributes on shader change. 2011-11-12 18:20:54 +01:00
Themaister 45fa6795c3 Fixups. 2011-11-12 16:43:59 +01:00
Themaister a9d339efb4 Use glColorPointer(). 2011-11-12 15:51:37 +01:00
Themaister 60841b01a5 Use custom "stock" program. 2011-11-12 15:26:24 +01:00
Themaister ad67511483 Cleanups. PREV{1-6} for GLSL as well. 2011-11-12 14:18:10 +01:00
Themaister 104fb4fb16 nits. 2011-11-12 13:00:37 +01:00
Themaister 816ef095ed Lots of PREV frames in Cg. 2011-11-12 12:55:03 +01:00
Themaister 48e8472f9c Ring buffer of 8 textures :o 2011-11-12 12:28:07 +01:00
Themaister 1755500b19 Source cleanup. 2011-11-12 01:42:37 +01:00
Themaister 4bfc827eb2 Some fixes to Python. 2011-11-11 19:20:56 +01:00
Themaister ddfeacbd83 Minor fixes and cleanups to BSV. 2011-11-11 00:55:35 +01:00
Themaister 79353f861c Do not report dupes. 2011-11-10 00:49:45 +01:00
Themaister f3f4efe304 Improve error reporting in Cg. 2011-11-10 00:46:39 +01:00
Themaister 51721b4cb6 video_font_enable. 2011-11-10 00:15:41 +01:00
Themaister 477091ce8f Do not force crop_overscan with ffmpeg. 2011-11-10 00:03:52 +01:00
Themaister 2707b87767 Should fix overscan overcrop. 2011-11-09 23:58:14 +01:00
Themaister b3d422b5cd rubyFrameDirection / IN.frame_direction. 2011-11-09 23:45:34 +01:00
Themaister d1dc65f202 Cleaner setup of bind-map. 2011-11-09 22:47:12 +01:00
Themaister 7815940a97 SNES_ENVIRONMENT_OVERSCAN. 2011-11-09 22:18:48 +01:00
Themaister 4f841c208d Use --qp 0 rather than --crf 0 for lossless. 2011-11-07 23:16:32 +01:00
Themaister b4f0d9b8f8 Restrict number of lag frames. 2011-11-06 20:38:42 +01:00
Themaister b96ab2982c Should fix minor issues with timeouts when lag frames > 8. 2011-11-06 20:28:02 +01:00
Themaister 825c1de7d1 Nits. 2011-11-05 15:24:29 +01:00
Themaister 6ada4d87d3 Style nit. 2011-11-05 13:34:41 +01:00
Themaister 53abc92322 Add some metadata. Should be a workaround. 2011-11-05 12:25:09 +01:00
Themaister a816082ac3 Style nit. 2011-11-05 11:44:17 +01:00
Themaister 47e63f1c6b Style nit. 2011-11-05 11:37:04 +01:00
Themaister cdf3d05c8e Should fix spurious timeouts for netplay. 2011-11-04 00:18:17 +01:00
Themaister 389e9ba0dc Style nit. 2011-11-04 00:07:53 +01:00
Themaister a6f7a2311f Minor cleanups for hermite. 2011-11-03 23:48:36 +01:00
Themaister f19d99d523 Log error when netplay init fails. 2011-11-03 21:05:12 +01:00
Themaister e7082fd6ea Warning nit. 2011-11-02 20:33:37 +01:00
Themaister 4806d2fe88 Clear up inconsistencies, and avoid breaking standard compliance. 2011-11-02 20:04:31 +01:00
Themaister f85ff7124b More nits. 2011-11-02 19:34:08 +01:00
Themaister 0f010cf3d2 Fix style nits. 2011-11-02 19:31:36 +01:00
Themaister 95636d4f04 Refactor XVideo driver. Also, attempts harder to find suitable formats. 2011-11-02 17:51:15 +01:00
Themaister 43905e410e Fix build ... *grummel* 2011-11-02 17:04:49 +01:00
Themaister d23a7e3ddf HAVE_OPENGL=1 in Windows. 2011-11-02 17:02:59 +01:00
Themaister 652f4c5856 More explicit checking for inconsistency. 2011-11-02 16:54:45 +01:00
Themaister 90febc4ecf Use dynamic by default.
FFmpeg and Python does not require explicit --enable.
2011-11-02 16:50:34 +01:00
Themaister 34b5994842 Fix minor issue. 2011-11-01 21:28:32 +01:00
Themaister 0c3f6ed66b Cleanup and optimize rewind a bit. Forced POT buffer size. 2011-11-01 21:00:41 +01:00
Themaister f3e487557e Fix some style nits. 2011-11-01 20:27:59 +01:00
Themaister ee12266a2b Fix build for OSX. 2011-11-01 18:45:50 +01:00
Themaister 1981b14de9 Allow OpenGL to be disabled. 2011-11-01 18:24:43 +01:00
Themaister 65665f36cc Fixup netplay. 2011-10-31 22:51:54 +01:00
Themaister a48dc55c41 Fix ugly possible segfault. 2011-10-30 16:58:45 +01:00
Themaister 202a458524 Updates for 0.9.1. 2011-10-30 11:24:16 +01:00
Themaister b4de704a09 Style nit. 2011-10-30 02:12:00 +02:00
Themaister fef5edfac8 Change default aspect handling. 2011-10-30 01:58:08 +02:00
Themaister a6e74775b1 Edge trigger reset. 2011-10-29 13:35:01 +02:00
Themaister ee66a28d05 Style nit. 2011-10-29 13:33:15 +02:00
Themaister 5e28d82af2 Fix compile with HAVE_CONFIGFILE=0. 2011-10-28 17:10:58 +02:00
Themaister c2a06bfa09 Replace some magic numbers. 2011-10-28 09:06:34 +02:00
Themaister 66510e21aa Fixup build for non dynamic builds. 2011-10-28 00:34:42 +02:00
Themaister ec5e3355b9 Add some logging. 2011-10-28 00:23:49 +02:00
Themaister 0522a2d6a0 Start implementing some minor extensions to libsnes. 2011-10-27 23:40:34 +02:00
Themaister fad89f9d2d More gracious error handling for state tracker. 2011-10-26 19:51:10 +02:00
Themaister 97f937ec6d Use floating point values for uniforms from Python. 2011-10-26 10:26:09 +02:00
Themaister 9647006a2b Merge branch 'master' of github.com:Themaister/SSNES 2011-10-25 23:03:20 +02:00
Themaister 418ba455f8 Allow the rest of the buttons in Python.
Fix issue where long type was enforced for return values of uniforms.
2011-10-25 23:02:17 +02:00
Themaister 197d62860b Default screenshot directory. 2011-10-24 21:34:30 +02:00
Themaister 402451626f More accurate colors for screenshot. 2011-10-24 19:23:58 +02:00
Themaister 3739cbfc70 Minor cleanup for rewind. 2011-10-23 17:13:16 +02:00
Themaister 235355ffc7 Check more explicitly for XVideo and Xext. 2011-10-23 12:48:44 +02:00
Themaister 4856d0cac3 Allow screenshots while paused. 2011-10-23 12:38:11 +02:00
Themaister 77a2723bb0 Neat optimizations for SSE. 2011-10-23 02:56:33 +02:00
Themaister 41cd6e21c3 Use _mm* intrinsics. 2011-10-22 23:36:02 +02:00
Themaister 1fc99c7123 Fix deprecation warning. 2011-10-22 22:54:36 +02:00
Themaister fddcc3447c Fix build for Clang. 2011-10-22 22:19:54 +02:00
Themaister 70e9f084b7 Merge branch 'master' of github.com:Themaister/SSNES 2011-10-22 20:20:03 +02:00
Themaister 824790a80d Updates for 0.9. 2011-10-22 20:19:40 +02:00
Themaister 23d23983bc Fix broken #define in header. 2011-10-21 22:12:03 +02:00
Themaister c42655ed91 Logging for paused. 2011-10-20 23:33:15 +02:00
Themaister f46ee78c76 Apply a hack and push the frame several times when changing fullscreen. 2011-10-20 23:28:46 +02:00
Themaister 5d1d188231 Hardcode hermite for 2 channels. 2011-10-20 22:26:41 +02:00
Themaister c55ce543c2 Revert "Use C99 stdio in mingw, yay" :\
This reverts commit de8bc62474.
2011-10-19 18:12:30 +02:00
Themaister de8bc62474 Use C99 stdio in mingw, yay 2011-10-19 18:10:05 +02:00
Themaister 397da887a7 Merge branch 'master' of github.com:Themaister/SSNES 2011-10-19 08:16:26 +02:00
Themaister f44733d7f6 Only show paused rewind for 1 frame. 2011-10-26 03:24:39 +02:00
Themaister 5faa28a1a2 Clarify x/yscale. 2011-10-19 08:16:01 +02:00
Themaister efaa85ff9b Cleaner. 2011-10-18 21:59:37 +02:00
Themaister 8f5580be10 Frame advance goes into pause. 2011-10-18 21:57:28 +02:00
Themaister c7acd99548 Same for SDL ... 2011-10-18 19:52:43 +02:00
Themaister 64ee13e6f4 Push window loop in .alive(). 2011-10-18 19:51:38 +02:00
Themaister e134f8afc7 And yet another ... :) 2011-10-18 19:22:20 +02:00
Themaister dd89e6fbe0 Fix build without FFmpeg. 2011-10-18 19:16:38 +02:00
Themaister a79a1b46f7 Updates for 0.9-rc4. 2011-10-18 19:12:28 +02:00
Themaister 6467f51ea8 Frame caching for more "proper" fullscreen switch. 2011-10-18 17:26:15 +02:00
Themaister 141eefb03b Fix fullscreen pause toggle for windows. 2011-10-18 14:39:54 +02:00
Themaister 068c224d83 Include windows.h properly. 2011-10-18 14:05:30 +02:00
Themaister 5bc8090ea7 Allow fullscreen toggle while paused. 2011-10-18 13:29:39 +02:00
Themaister 466ab1ef8d Frame advance. 2011-10-17 21:30:58 +02:00
Themaister a1c19ed1f5 Minor refactor. 2011-10-17 20:46:38 +02:00
Themaister cce4b7d20c Allow #include depth. 2011-10-17 20:09:57 +02:00
Themaister 80925ffc11 Some Windows fixes. 2011-10-17 19:30:52 +02:00
Themaister 9eb14e328d Add "#include" for config files. 2011-10-17 19:11:31 +02:00
Themaister 5ae0cb1821 Base size for windowed mode calculations. 2011-10-16 21:36:17 +02:00
Themaister fc594f7f0f Fix edge case on input poll. 2011-10-16 15:45:04 +02:00
Themaister 0c4e406ee7 Remove unused variable. 2011-10-16 12:51:14 +02:00
Themaister a082ec5251 Fix segfault. 2011-10-16 04:01:01 +02:00
Themaister 953b5daf0a Pause hooked up. 2011-10-16 02:00:55 +02:00
Themaister b4ff622f32 Title buf hints. Purge samplerate opts. 2011-10-15 20:05:34 +02:00
Themaister f26b54c998 Updates for RC3. 2011-10-15 18:51:58 +02:00
Themaister d7b3f39136 SSE2 optimized a bit :D 2011-10-15 18:09:44 +02:00
Themaister 5bcf601a40 Refactor out audio conversion. 2011-10-15 17:47:29 +02:00
Themaister e91ebdac97 Do not recalculate ratio all the time. 2011-10-15 16:16:13 +02:00
Themaister b2dd12d186 Rewind audio! :D 2011-10-15 14:33:41 +02:00
Themaister 9c79bf0ba2 Refactor audio flushing method. 2011-10-15 13:16:32 +02:00
Themaister f48247a18b Style nits ... 2011-10-15 12:56:48 +02:00
Themaister 48e015558e Style nits. 2011-10-15 12:54:47 +02:00
Themaister 0ff3cbc93b Nits. 2011-10-15 12:51:17 +02:00
Themaister 25f0e162a4 Purge support for libsamplerate. Obsolete. 2011-10-15 12:48:15 +02:00
Themaister 0810812cd9 Slight cleanups when pushing audio. 2011-10-15 12:42:39 +02:00
Themaister 15e0b721e6 Updates for RC2. 2011-10-14 14:07:03 +02:00
Themaister 9d12c3ac87 Use Makefile.win for Phoenix. 2011-10-14 13:34:27 +02:00
Themaister a7c3d8d17a Some slight recording tweaks. 2011-10-14 11:27:02 +02:00
Themaister 8fbfdee011 Do not always force 4.0 / 3 aspect ratio for output. 2011-10-14 11:00:31 +02:00
Themaister bc999e72fa Updates for v0.9-rc1. Use --features rather than spamming down --help. 2011-10-11 20:02:46 +02:00
Themaister c7f8110670 Use glorious x264 RGB. 2011-10-10 22:24:26 +02:00
Themaister b0dbc67281 Fix build when only Cg is being compiled. 2011-10-17 15:35:02 +02:00
Themaister 4916f7b08b Add placeholder define for when libx264 RGB support is built in. 2011-10-09 12:37:53 +02:00
Themaister 1058d94ec1 x264 RGB recording. 2011-10-09 12:27:02 +02:00
Themaister 340dca3c6d Download headers (lib/headers split). 2011-10-08 17:01:40 +02:00
Themaister 4ae0f3da22 Remove obsolete readme. 2011-10-08 01:27:21 +02:00
Themaister 7d2d1ce49e Change "hashing" value used for netplay. 2011-10-07 22:33:38 +02:00
Themaister fa26f6a10c Cache font rendering. Major overhead reduction. 2011-10-07 17:58:22 +02:00
Themaister db71a5cdba New font rendering code for OpenGL. 2011-10-07 17:43:39 +02:00
Themaister 5058fdcd1a Update docs. 2011-10-07 01:36:52 +02:00
Themaister ef04f199d5 Slight cleanups. 2011-10-07 01:21:54 +02:00
Themaister d26dd9d9e7 Slight cleanups. 2011-10-07 00:54:47 +02:00
Themaister d2bc4096de Some fixes to FFmpeg. Conserves RAM better. 2011-10-07 00:04:52 +02:00
Themaister 08ca1a54d3 Remove useless asserts. 2011-10-06 23:44:21 +02:00
Themaister 869eddfc1a Custom FFmpeg recording sizes. 2011-10-06 23:43:48 +02:00
Themaister fbced43f11 Update threading for Win32. 2011-10-06 22:40:47 +02:00
Themaister c996f816b8 Default font path OSX. 2011-10-06 21:12:11 +02:00
Themaister 33ecedb462 Fixup build for OSX. 2011-10-06 20:49:00 +02:00
Themaister a58676c9e1 Linux needs -lrt for clock_gettime. 2011-10-06 20:34:01 +02:00
Themaister 1ee9722e5f Start working on custom thread implementation.
Avoids SDL dependency for this to improve portability.
2011-10-06 20:31:39 +02:00
Themaister 81250657f0 Change default font color to yellow. 2011-10-06 19:10:01 +02:00
Themaister 7d33cccc8e Default fonts. 2011-10-06 19:06:38 +02:00
Themaister 3db79ab2f0 Nits. 2011-10-05 22:56:52 +02:00
Themaister ea0f6813d2 Avoid assertions. 2011-10-05 22:39:54 +02:00
Themaister f6d4d32c03 Dynamic loading by default, add OSD message for netplay DC. 2011-10-05 21:44:17 +02:00
Themaister 892e82141f Fix FTBFS. 2011-10-05 19:57:32 +02:00
Themaister 65ec7fae9c Is this it? 2011-10-05 02:09:54 +02:00
Themaister a0acb75a19 Might push lagframes better. 2011-10-05 01:05:34 +02:00
Themaister bcae973d82 Savestate auto indexing support. 2011-09-27 15:31:25 +02:00
Themaister d01a4fe61b Only load second pass shaders when render-to-texture is set. 2011-09-26 22:45:28 +02:00
Themaister 8d4620b680 FFmpeg API seems to be too fragmented. Give in and #ifdef shit. :v 2011-09-23 22:57:41 +02:00
Themaister c2cedb1b6f Resizing windows in 1.2 should not trigger some init code :) 2011-09-22 21:50:57 +02:00
Themaister 157dcad87b Fix newline typo. 2011-09-22 13:15:16 +03:00
Themaister 8ea5ba171a Updates for 0.8.2. 2011-09-21 21:17:46 +02:00
Themaister fa876b10a3 Style nit. 2011-09-20 12:22:30 +02:00
Themaister 3c58d10eae Small fix. 2011-09-20 12:05:21 +02:00
Themaister a3ee8c8849 Defensive nit. 2011-09-20 11:58:21 +02:00
Themaister 5e14b302bc Replace a VLA with char[MAXPATHLEN]. 2011-09-20 12:50:13 +03:00
Themaister efe3f943d5 Only autosave when the data actually changed. 2011-09-17 10:57:55 +02:00
Themaister 38e7fc6659 Add support for blocking SRAM writes :) 2011-09-16 15:32:21 +02:00
Themaister a1ceb534de nit. 2011-09-13 23:24:06 +02:00
Themaister 0d897dd65d Check some additional WM messages. 2011-09-13 22:38:32 +02:00
Themaister 721d73f451 Fix stupid crash. 2011-09-13 22:16:34 +02:00
Themaister e8bd64e898 Allow SDL driver to work as well in 1.3. 2011-09-13 20:01:22 +02:00
Themaister 7da7ab2ce7 lalala ... 2011-09-13 19:36:15 +02:00
Themaister 3f6183ff15 Updates, fixes ... 2011-09-13 19:30:22 +02:00
Themaister 642316a1e2 Somewhat haphazard. Can't find some needed API calls :\ 2011-09-13 18:50:40 +02:00
Themaister 21c6b75839 Use SwapInterval with SDL 1.3. 2011-09-13 15:00:26 +02:00
Themaister 87d34deb0c Can build with SDL 1.3 on Win32. 2011-09-13 14:57:42 +02:00
Themaister 1b3408919c Can use SDL 1.3 just fine now. 2011-09-13 14:41:45 +02:00
Themaister 23516572b7 Use SK_* keysyms (pretty much SDL 1.2). 2011-09-13 14:40:33 +02:00
Themaister 924848fdad Start working towards SDL 1.2/1.3 compat. 2011-09-13 14:06:49 +02:00
Themaister 4c40e56060 Properly disable it :D 2011-09-11 15:41:46 +02:00
Themaister cf34444505 Disable resizing on OSX. 2011-09-11 15:33:28 +02:00
Themaister 9ca5e4e470 Updates for 0.8.1. 2011-09-10 19:15:05 +02:00
Themaister 32f2689b6a Add LIBXML_TEST_VERSION to XML cheats. 2011-09-09 09:48:46 +02:00
Themaister 13ae61031f Add ttf_font_color to ext driver struct.
Does not need to bump ABI version.
2011-09-09 09:47:32 +02:00
Themaister 1ced96c5e9 Make it non-public. 2011-09-07 18:59:51 +02:00
Themaister 0d905eb3f6 Actually load cheats on startup ... :') 2011-09-07 18:59:01 +02:00
Themaister 32a5460ea7 Small cleanup. 2011-09-06 19:53:22 +02:00
Themaister be5acff69c Update font rendering for SDL. 2011-09-06 18:32:40 +02:00
Themaister 1b0ef5793e Font colors for XVideo. Some cleanups. 2011-09-06 17:56:42 +02:00
Themaister 2bd0caae2e Do not set RESIZABLE on fullscreen (really? :v) 2011-09-06 15:38:32 +02:00
Themaister 3045f2c478 Move cheat initializing as late as possible. 2011-09-06 12:55:21 +03:00
Themaister 1282a142d6 Fix load/save semantics for cheats ... 2011-09-06 12:51:52 +03:00
Themaister ac1a539d22 Fix stupid typo. 2011-09-05 21:21:18 +02:00
Themaister 6f47775239 Add cheat config. 2011-09-05 17:57:30 +02:00
Themaister 0823d72dee Add coloring to fonts. 2011-09-05 17:00:28 +02:00
Themaister 407ad94f58 Style nit. 2011-09-04 21:11:26 +02:00
Themaister b2b103362d Warn if glX VSync call isn't found. 2011-09-04 13:01:54 +02:00
Themaister 231680944f Remove #ifdef for FFmpeg. 2011-09-04 11:37:59 +02:00
Themaister ec7dab05e8 Small bloop fix :D 2011-09-02 20:50:51 +03:00
Themaister 9588f6061f Merge branch 'master' of github.com:Themaister/SSNES 2011-09-02 16:12:53 +02:00
Themaister 57c25dcb0b Should detect MacPorts. 2011-09-02 16:12:34 +02:00
Themaister 38763c4554 Merge branch 'master' of github.com:Themaister/SSNES 2011-09-01 10:07:24 +02:00
Themaister fac2ea00dd Update docs. 2011-09-01 10:07:07 +02:00
Themaister 74782a1bea Clarify. 2011-09-01 10:06:18 +02:00
Themaister c1265e7227 Update build script a bit. 2011-08-29 18:47:52 +02:00
Themaister f0841256e8 Fixup. 2011-08-29 17:23:49 +02:00
Themaister 600efab1bd Consistently use BGRA for possible performance gains. 2011-08-29 17:19:38 +02:00
Themaister dc9dd2e6bf Fix bug where shaders could crash using LUT textures. 2011-08-29 17:05:11 +02:00
Themaister de8fe0e88c Reword a bit. 2011-08-29 16:20:55 +02:00
Themaister 338432c35f Add build automated build script for MinGW. 2011-08-29 16:15:55 +02:00
Themaister 11aeb05a6e Do not drop netplay in SLIM build. 2011-08-28 22:43:50 +02:00
Themaister e28a32d922 Add in SDL.dll. 2011-08-28 22:31:11 +02:00
Themaister edac39cb2b Link explicitly to iconv. 2011-08-28 22:20:15 +02:00
Themaister c1954aa4a6 Fixups in Makefile. 2011-08-28 22:19:02 +02:00
Themaister ef048fcfd5 Remove cruft. 2011-08-28 21:57:24 +02:00
Themaister 48a1531d7c Start generalize the windows makefiles a bit. 2011-08-28 21:56:56 +02:00
Themaister 4b4686ae04 Merge ../SSNES-w64 2011-08-28 21:48:06 +02:00
Themaister cb4a54fefe Add SLIM targets. 2011-08-28 21:47:58 +02:00
Themaister 131b2386cd Merge ../SSNES-w64 2011-08-28 21:35:20 +02:00
Themaister 4d6d01228c Use static zlib. 2011-08-28 21:34:53 +02:00
Themaister a050955113 Merge ../SSNES-w64 2011-08-28 15:06:37 +02:00
Themaister b02789d280 Update build some more ... 2011-08-28 15:06:22 +02:00
Themaister 6f92d0588d Merge branch 'master' of github.com:Themaister/SSNES 2011-08-28 12:13:02 +02:00
Themaister 45df48ab67 Add to dist. 2011-08-28 12:12:15 +02:00
Themaister aba5c7722e Build with python and sdl_image as well. 2011-08-28 12:11:30 +02:00
Themaister 07a1a1ee2f Add python to build. 2011-08-28 11:16:38 +02:00
Themaister 3b952973de Start updating to 0.8. 2011-08-27 17:56:24 +02:00
Themaister ac4adebdf6 Small optimization. 2011-08-26 18:28:05 +02:00
Themaister 1bfd9716c5 Small refactor. 2011-08-26 17:32:04 +02:00
Themaister 702cf9c804 Optimize some more... 2011-08-25 16:29:17 +02:00
Themaister 5993fffb64 Add config_get_array() for simpler and faster config access. 2011-08-25 16:15:34 +02:00
Themaister 58758d2818 Check Cg with CXX. 2011-08-25 09:49:32 +02:00
Themaister 21f88fcf39 Obey library_dirs in makefile. 2011-08-24 16:24:58 +02:00
Themaister e3f029a446 Add /usr/lib64 to LIBRARY_DIRS. 2011-08-24 16:12:38 +02:00
Themaister 0694d8884f Allow configurable save files/states. 2011-08-24 15:47:39 +02:00
Themaister 0730a34a5b Reverting config path to system default if it doesn't find it. 2011-08-24 08:14:03 +02:00
Themaister f827bb4cbd Allow directory path for config files. 2011-08-24 07:54:52 +02:00
Themaister eafd8d91d7 Avoid spamming down stderr with autosave messages. 2011-08-23 21:04:00 +02:00
Themaister 56a4d1ddac Attempt to check for mysterious crashes :D 2011-08-23 17:10:02 +02:00
Themaister 8d3f15602c More robust recovery. 2011-08-22 18:45:38 +02:00
Themaister 7877c7939d Add backquote as alias to tilde ... 2011-08-22 18:26:39 +02:00
Themaister c55263b956 Clean up some file handling stuff ... 2011-08-22 18:13:30 +02:00
Themaister 96ce288120 Update docs to reflect new changes. 2011-08-22 17:44:37 +02:00
Themaister e5326467a1 Attempt to recover SRAM writes! 2011-08-22 17:39:29 +02:00
Themaister 596d8d9985 Attempt to recover SRAM write failures gracefully ... 2011-08-22 17:35:31 +02:00
Themaister b4b0be9118 Allow directories for -s/-S. Paths will be inferred. 2011-08-22 17:05:27 +02:00
Themaister 00e5f0fe97 Cleanup in cheat module. Do not use assert().
More rigid error checking for memory.
2011-08-21 20:48:27 +02:00
Themaister cb140c3691 Update XAudio driver to use floating point. Nits here and there. 2011-08-21 19:27:11 +02:00
Themaister ad85ccb42f Minor nit. 2011-08-20 03:28:24 +02:00
Themaister 97e50f15de Small cleanups. 2011-08-20 03:25:44 +02:00
Themaister 071c03e194 Do not link XAudio2 dynamically. Build with MinGW. 2011-08-20 03:22:19 +02:00
Themaister 6f47c21ce9 Fix capitalization. 2011-08-20 02:05:26 +02:00
Themaister 68bfda24ff Update dist. 2011-08-20 01:27:43 +02:00
Themaister 4f2fbcb9bc Update dist. 2011-08-20 00:30:43 +02:00
Themaister 90ab5dfc2f Add Cg as well. 2011-08-19 23:46:52 +02:00
Themaister 362cbe5deb Add RSound. 2011-08-19 19:22:52 +02:00
Themaister e133662346 FFmpeg as well. Small fixup. 2011-08-19 19:16:53 +02:00
Themaister 1fe83ab25a Use more proper .dll.a. 2011-08-19 18:50:05 +02:00
Themaister 1d95b5ee22 Update Makefile for 64-bit. 2011-08-19 18:39:05 +02:00
Themaister 9dc603d405 Update Makefile for freetype. 2011-08-19 14:35:09 +02:00
Themaister 5cb2863e6e Fix up Win64 warnings/errors. 2011-08-19 13:33:10 +02:00
Themaister 98cf4223ab Do not try to remove dead hqflt :D 2011-08-19 12:58:47 +02:00
Themaister ff7843cbe9 Update API usage of FFmpeg. Use 2 threads for encoding :) 2011-08-19 02:06:13 +02:00
Themaister c4d6b0b7c1 Update makefiles for BPS. 2011-08-18 00:45:10 +02:00
Themaister fb739621ac BPS seems to work ... :) 2011-08-18 00:37:43 +02:00
Themaister 24e8ca6856 Some more needed stuff ... 2011-08-18 00:24:57 +02:00
Themaister 1ff9b6a375 Start adding support for BPS patches. 2011-08-18 00:05:56 +02:00
Themaister cb6086635c Nit. 2011-08-16 12:11:44 +02:00
Themaister bce679df78 Only use hack on X when in windowed mode. 2011-08-16 10:26:36 +02:00
Themaister 22e8c3d895 Should fix breakage of OGL on OSX. 2011-08-15 22:21:50 +02:00
Themaister d2b06a92c5 0.7 baby! 2011-08-14 23:17:02 +02:00
Themaister 3901934d97 Add an ugly hack to try and remedy things ... 2011-08-14 23:03:48 +02:00
Themaister a76b25aff9 Fix ugly Jack crash with race condition. 2011-08-14 16:29:31 +02:00
Themaister 343852af26 Allocate before activation. 2011-08-14 16:24:42 +02:00
Themaister 4395f124ca Slight fixups. 2011-08-14 04:50:16 +02:00
Themaister b16ff3024c Add new DSP plugin API, events. 2011-08-13 04:09:08 +02:00
Themaister bc23b421e1 New resize checking code. 2011-08-12 19:02:12 +02:00
Themaister d9cb85a8d5 Add new possible workaround for tiling WMs ... 2011-08-11 15:19:30 +02:00
Themaister 7d1cc23d16 Fix build. 2011-08-11 06:02:05 +02:00
Themaister 4496ed3c13 Should make sizes right after startup ... 2011-08-11 05:59:32 +02:00
Themaister 3f5b6a450e Should fix behavior for tiled WMs. 2011-08-11 05:32:03 +02:00
Themaister 9e24474047 Can record hi-res and filtered output. 2011-08-11 05:25:31 +02:00
Themaister 7c17ede1ef Updates for 0.7beta1. 2011-08-09 23:04:13 +02:00
Themaister 5d9805c3e5 Small fix. 2011-08-09 22:07:11 +02:00
Themaister b17617bed5 Updated copyrights. 2011-08-09 12:58:13 +02:00
Themaister a405708f1c Huzzah, ordering matters. 2011-08-09 00:11:09 +02:00
Themaister 594e66704d Allow disabling composition in SDL as well. 2011-08-08 23:38:11 +02:00
Themaister 50579aaeea Floating point. 2011-08-08 17:45:49 +02:00
Themaister 38eb855b48 Works! :D 2011-08-08 17:41:55 +02:00
Themaister 12cc85c8a5 CoreAudio builds. 2011-08-08 17:31:03 +02:00
Themaister 5b12595c85 Merge branch 'master' of git://github.com/Themaister/SSNES 2011-08-08 17:29:06 +02:00
Themaister 3753f0bfca Merge branch 'master' of github.com:Themaister/SSNES 2011-08-08 17:28:32 +02:00
Themaister 14ae5e397a Add CoreAudio driver. Untested. 2011-08-08 17:27:52 +02:00
Themaister 657b4ce8c7 Merge branch 'master' of git://github.com/Themaister/SSNES 2011-08-08 14:47:47 +02:00
Themaister 777e6a5334 Better shader path semantics. 2011-08-07 23:35:54 +02:00
Themaister a2ec78320b Improve behavior a bit. 2011-08-07 22:31:59 +02:00
Themaister 1fb53627ac Make sure to free lib. 2011-08-07 21:18:51 +02:00
Themaister fc2a39cd58 More appropriate renaming. 2011-08-07 21:15:50 +02:00
Themaister 7425e1f879 Allow disabling composition in Win Vista/7Allow disabling composition in Win Vista/7. 2011-08-07 15:00:34 +02:00
Themaister 6a260a57dd Reset frame counter properly. 2011-08-06 03:28:07 +02:00
Themaister dadd794ece Remove useless define. 2011-08-05 19:18:43 +02:00
Themaister 706a3738b5 Abandon POT buffer sizes only for dsound.
Allows more fine tuned latencies.
2011-08-05 19:17:33 +02:00
Themaister 9aef33aabd More fixups in DSound. 2011-08-05 14:01:58 +02:00
Themaister ac4219bcde Small clarification. 2011-08-05 13:39:27 +02:00
Themaister b337856f80 More extensive error checking in dsound. 2011-08-05 13:35:02 +02:00
Themaister 079a0100c0 Remove unneeded call. 2011-08-05 03:06:48 +02:00
Themaister 014c3c90e0 Fix possible race condition. 2011-08-05 02:57:30 +02:00
Themaister 4759e3411f Fix DSound up some more in Windows ... :D 2011-08-05 02:05:32 +02:00
Themaister 4a05e50636 Minor progress. But no audio, hrm. 2011-08-04 19:11:14 +02:00
Themaister 72c070f338 Alter default ordering of audio drivers. 2011-08-04 18:52:00 +02:00
Themaister 776291a137 Start working on DirectSound driver. Untested so far. 2011-08-04 18:45:40 +02:00
Themaister f3cdb95b04 Fix endian issues in OSS driver. 2011-07-26 00:53:24 +02:00
Themaister 033860ceb9 Add -f/--fullscreen command line option. 2011-07-09 08:37:08 +02:00
Themaister ab601ee3dc v0.6.2 2011-07-06 16:54:54 +02:00
Themaister 783ab7acd5 Improve error handling. 2011-07-04 13:33:09 +02:00
Themaister 19a46b1f8b Seems to work in Cg as well. 2011-07-03 15:53:56 +02:00
Themaister 508cfdbda7 Start implementing access to previous texture. 2011-07-03 15:39:35 +02:00
Themaister d81b9ee0a7 Print full compile error in Cg. 2011-07-03 13:41:24 +02:00
Themaister 36c6c21194 Use RSOUND_CFLAGS, etc. 2011-06-29 04:54:30 +02:00
Themaister 1631e940f6 Fix up VSync calls for OSX. 2011-06-29 03:45:52 +02:00
Themaister 2eeb1fa6d1 Fix up VSync calls for OSX. 2011-06-29 03:45:17 +02:00
Themaister 26ac00ad76 Fix incompatible type. 2011-06-29 03:26:21 +02:00
Themaister bafc4f596f Add nonused VSync code for OSX. 2011-06-28 03:20:36 +02:00
Themaister eee89dddb1 Check for SDL 1.3 API and report it as an error. 2011-06-28 02:31:41 +02:00
Themaister 089b4fbba0 Updates for 0.6.1. 2011-06-27 02:28:35 +02:00
Themaister 80727cef5a Nitpick. 2011-06-26 18:47:54 +02:00
Themaister 346a9f2b4e Remove debug messages. 2011-06-26 17:06:05 +02:00
Themaister 363d8ca5b4 More proper string reading function. 2011-06-26 17:05:29 +02:00
Themaister 06a574225d Merge branch 'master' of github.com:Themaister/SSNES 2011-06-26 16:04:13 +02:00
Themaister fa777b8356 Should fix netplay for bSNES as well.
Do not rely on when polling takes place in the emu core.
We earlier assumed that this occured always at the start of the main
loop. We now do not care about when the poll callback is called, and we
manually poll the network ourselves in pre_frame.
2011-06-26 16:02:18 +02:00
Themaister 7cf01318cb Should fix netplay for bSNES as well. 2011-06-26 15:32:24 +02:00
Themaister 7c538274b4 Do not check twice for OS. 2011-06-25 17:22:47 +02:00
Themaister 72fb694e97 Use pkg-config more where appropriate. 2011-06-25 17:15:58 +02:00
Themaister 59c92dddc3 Slight QB cleanup. 2011-06-25 17:11:18 +02:00
Themaister 3f60fdd106 Fix build for XVideo. 2011-06-25 18:11:04 +02:00
Themaister d221c480e6 Fix aliasing issue. 2011-06-25 16:49:34 +02:00
Themaister 59d9ff0d29 Add check_code_c/cxx. 2011-06-25 14:44:45 +02:00
Themaister d279ea79e8 Fix some standard compliance. 2011-06-25 14:17:31 +02:00
Themaister 77cf9423cc Abolish use of echo -n as it isn't perfectly standard. 2011-06-25 14:10:40 +02:00
Themaister 60b94bbe43 Add some additional checks in qb. 2011-06-25 13:57:46 +02:00
Themaister b6272f9653 Small bug. 2011-06-24 13:31:21 +02:00
Themaister 25fce1a6c6 Allow XML mapping. 2011-06-24 13:29:30 +02:00
Themaister 59229f99c5 Swap client by default. 2011-06-22 21:56:04 +02:00
Themaister db3e1ae053 Updates for 0.6. 2011-06-21 22:37:48 +02:00
Themaister ec1401e657 Fix build error on Win32. 2011-06-21 02:33:59 +02:00
Themaister f85fd50fa1 Add --nodevice. 2011-06-19 11:11:04 +02:00
Themaister c39b0ab09b Merge branch 'master' of github.com:Themaister/SSNES
Conflicts:
	Makefile
	qb/config.libs.sh
2011-06-16 23:54:40 +02:00
Themaister 4b5ed0fa41 Do not force -lossaudio. 2011-06-16 23:50:33 +02:00
Themaister 75d1155a23 Fix OSS build for BSD. 2011-06-16 23:20:12 +02:00
Themaister 753d2057bb Fix BSD build. Convert strcpy()/strcat() to strl* variants. 2011-06-16 22:47:37 +02:00
Themaister b06d814d9c Fix OSS build for BSD. 2011-06-16 21:20:59 +02:00
Themaister eb085a8068 Fix BSD build. Convert strcpy()/strcat() to strl* variants. 2011-06-16 20:59:48 +02:00
Themaister 45904ccd73 Fix issue when input_slot is 2. 2011-06-16 15:00:04 +02:00
Themaister 3b0606bbd6 Ifdef for AVIO. 2011-06-15 12:20:51 +02:00
Themaister 0f1a76f932 POSIX stuff for Quickbuild. 2011-06-15 04:34:28 +02:00
Themaister d3e0140f01 Holy crap, now that was painful. 2011-06-15 04:16:53 +02:00
Themaister ea7dded915 Fix up alignment issues. 2011-06-15 03:04:20 +02:00
Themaister f187f3db29 Small regex change. 2011-06-15 00:42:09 +02:00
Themaister 3099a79bac Should fix grep error. 2011-06-15 00:26:44 +02:00
Themaister 7cdea39c95 Can build with FFmpeg if desired :) 2011-06-14 23:59:00 +02:00
Themaister 95f6a5116a Just to be sure ... ;) 2011-06-14 22:59:47 +02:00
Themaister da94877155 Less magic numbers ... ;) 2011-06-14 22:44:54 +02:00
Themaister b1feed9d2b Allocate from heap. 2011-06-14 22:20:09 +02:00
Themaister a3816bffa1 Force rewind granularity to 1 when we're using movies. 2011-06-14 22:09:16 +02:00
Themaister 612270ec9b Aww yeah :3 2011-06-14 21:52:31 +02:00
Themaister 54bc0a8d96 Heyhey :D 2011-06-14 21:35:31 +02:00
Themaister f761811189 Move buffer to top-level as it's not audio only. 2011-06-14 19:58:12 +02:00
Themaister 0e964c5cc2 More generic naming for FIFO buffer. 2011-06-14 19:55:08 +02:00
Themaister c34a944fcf Fix deprecation, yay. :) 2011-06-14 18:52:02 +02:00
Themaister 3feade6b6e Update FFemu a bit. Convert to lossless HuffYUV/FLAC. 2011-06-14 18:45:30 +02:00
Themaister f79eafe449 Should perhaps continue if one joypad failed. 2011-06-12 10:42:42 +02:00
Themaister 111b159373 Should fix dinput. 2011-06-12 10:37:04 +02:00
Themaister d744167865 Small cleanup. 2011-06-11 22:46:51 +02:00
Themaister a2fea86c92 Fixes 2-5 player. (Damn o.O) 2011-06-11 22:25:55 +02:00
Themaister 5385806e74 Hrm ... 2011-06-11 22:02:05 +02:00
Themaister 99e85684db Input capturing semantic. 2011-06-11 20:02:17 +02:00
Themaister 45727bf9f5 Fix mask value. (32-bit). 2011-06-11 19:01:34 +02:00
Themaister 2a0abb0618 Unsigned mask. 2011-06-11 18:57:16 +02:00
Themaister 192e3303a1 Update dist and version. 2011-06-11 18:19:00 +02:00
Themaister b6051add6a SDL_image for Win32 2011-06-11 18:13:12 +02:00
Themaister 24d0cda5fd SDL_image seems to work :) 2011-06-11 18:05:52 +02:00
Themaister d0ba59f8b5 Start moving over to SDL_image rather than imlib2.
Imlib2 takes more space, and was a pure bitch to compile for Win32,
so I gave up ... ;)
2011-06-11 16:55:53 +02:00
Themaister 99a1784aaf Move window logic away from SDL input.
We weren't using the event loop anyways ...
2011-06-11 12:54:14 +02:00
Themaister b6ff98cf18 Should fix DInput crash. 2011-06-10 18:01:44 +02:00
Themaister 2dcccc7cda Fix some includes and stuff. 2011-06-10 17:55:40 +02:00
Themaister d03855c655 Add some sanity logging. 2011-06-10 17:47:16 +02:00
Themaister 69227bc1ca Alter design. Use DInput as piggyback only. 2011-06-10 17:34:04 +02:00
Themaister 851debf1e4 Start working on DInput. 2011-06-10 16:55:05 +02:00
Themaister 8c1db1c407 Fix shenanigans. 2011-06-09 23:17:10 +02:00
Themaister 576894e0e8 Build Python in Windows. 2011-06-09 13:56:29 +02:00
Themaister 631c3ca393 Fix link for Clang. 2011-06-08 19:52:03 +02:00
Themaister fd70a1c875 Make sure we only call semantics once per frame. 2011-06-08 17:59:29 +02:00
Themaister 30cb2e4c07 Slight cleanup. 2011-06-08 17:55:32 +02:00
Themaister 7d87cc2d24 Add input hook API to python. 2011-06-08 17:53:15 +02:00
Themaister 0342dcb169 Fix transition_prev. 2011-06-07 21:07:00 +02:00
Themaister f339560550 Put all scripts in <script> 2011-06-07 16:28:58 +02:00
Themaister 11b58d8c69 Clean up error handling a bit. 2011-06-07 15:58:30 +02:00
Themaister 3717f7442c Inline XML python. 2011-06-07 15:33:29 +02:00
Themaister e02d9f41e8 Transition count semantic. 2011-06-06 21:32:10 +02:00
Themaister f62120861a Show if python is compiled in or not. 2011-06-06 20:21:26 +02:00
Themaister 884e2881a0 Add script support to Cg. 2011-06-06 20:18:31 +02:00
Themaister a605628dff :v 2011-06-06 18:50:59 +02:00
Themaister 4d96fbba6a Python works :P 2011-06-06 18:50:36 +02:00
Themaister 9bfeb88e24 Start implementing Python support for game-aware shaders. 2011-06-06 17:44:05 +02:00
Themaister 712f463022 Disable audio sync properly in external driver. 2011-06-06 02:01:21 +02:00
Themaister 713e8624a0 Fixed typo. 2011-06-05 22:23:50 +02:00
Themaister 5c8a549125 Cleanups. 2011-06-05 02:21:35 +02:00
Themaister c3e7a35b62 Fixes case where backdrops are used in second or later pass. 2011-06-05 02:01:44 +02:00
Themaister 5bc9ca216e Clean up shader compilation slightly. 2011-06-02 13:49:22 +02:00
Themaister 838a85a719 Could make coordinate flipping consistent ... Finally. 2011-06-01 12:19:48 +02:00
Themaister b880039541 Clarify more ... 2011-05-31 23:08:02 +02:00
Themaister c646166fe1 Make an "empty" buffer for performance. Also attempt to fall back if
vsync fails on start.
2011-05-31 23:03:01 +02:00
Themaister 44c52ca4f8 Add -pedantic for shits 'n giggles.
Fix portability issues with void* -> void (*)(void) casts.
Use a more ... bizarre technique ;)
2011-05-31 15:03:59 +02:00
Themaister 9c9eee5d01 Should fix zip loading of [!] files... 2011-05-31 14:29:32 +02:00
Themaister 7bbaa6ee31 Add pixel size uniform. 2011-05-30 14:32:31 +02:00
Themaister f24aed9358 (addr) is redundant... 2011-05-30 00:04:26 +02:00
Themaister 02344f9048 Bitmasking. 2011-05-29 23:58:04 +02:00
Themaister 200d2b598b Slight cleanup. 2011-05-28 15:06:46 +02:00
Themaister 3213bb13ea Fix color conversion for XVideo. 2011-05-28 14:37:16 +02:00
Themaister 53fd0b3751 Fix up color conversion for SDL. 2011-05-28 14:33:23 +02:00
Themaister 9b6e6a1215 Goddamnit, it was ARGB after all o.O weird. 2011-05-28 14:11:37 +02:00
Themaister e5a9d78b70 Fixed typo. 2011-05-28 11:29:40 +02:00
Themaister f22e964cc0 Err ... 32-bit color was RGBA, not ARGB. 2011-05-27 20:38:42 +02:00
Themaister 9fb827d238 Stuff seems to work. 2011-05-27 03:48:59 +02:00
Themaister 24f802023a Start adding tracker stuff to Cg as well. 2011-05-27 02:25:26 +02:00
Themaister ef2b755e17 Merge branch 'master' of github.com:Themaister/SSNES 2011-05-26 23:56:28 +02:00
Themaister 7cc8c01a1e Fix slight bug. Also add missing scale_type_x/y. 2011-05-26 23:55:46 +02:00
Themaister ca509c5b9f Fix slight bug. 2011-05-26 23:55:27 +02:00
Themaister 12a39e160b Should fix weird viewport bug with some FBO shaders. 2011-05-26 22:25:30 +02:00
Themaister 7c5f36be61 Fix build when config file support isn't compiled in. 2011-05-26 20:44:12 +02:00
Themaister aec44b093e Add new transition_previous. 2011-05-26 16:23:11 +02:00
Themaister ee83c31183 Reorder set-param and texture upload. 2011-05-26 12:53:24 +02:00
Themaister f2ad94f1c3 Finally figure it all out ... Damn. 2011-05-26 12:34:14 +02:00
Themaister 3aed471d57 This bug is driving me nuts. It cannot possibly be my bug ... 2011-05-26 02:03:38 +02:00
Themaister 3ee19ec75f Found something ... unsettling. 2011-05-26 00:23:36 +02:00
Themaister b0d1a98cd1 Fix when too many variables are used. 2011-05-25 20:55:38 +02:00
Themaister 94ff67ee15 Stuff seems to work :) 2011-05-25 17:31:07 +02:00
Themaister 8d2a7e4593 More work on state monitor ... compiles. 2011-05-25 15:58:12 +02:00
Themaister 4e7a003497 Start adding snes state tracker uniforms. 2011-05-25 15:15:20 +02:00
Themaister 380384654c Add hold bind to joyconfig. 2011-05-24 11:56:55 +02:00
Themaister 2144ef84fd Add fast-forward (hold) mode.
Also purge default player 2-5 binds ...
2011-05-24 02:31:21 +02:00
Themaister 83d913b6d2 Add possibility to build Imlib on win32/64. 2011-05-24 01:28:00 +02:00
Themaister 2782c9da91 Ifdef CG debugging. 2011-05-23 21:43:08 +02:00
Themaister 2f539cd326 Seems to work in Cg as well ... :) 2011-05-23 21:04:25 +02:00
Themaister f4af518fb4 Yay ... <_< 2011-05-23 20:08:16 +02:00
Themaister eebe0ae5d0 Getting there ... But passN textures aren't set properly ;x 2011-05-23 19:57:52 +02:00
Themaister f9c5c7c8a5 Path to check initial texture with GLSL. 2011-05-23 17:43:29 +02:00
Themaister 8bc3d3ac5c Add possibility for audio driver to override sample rate. 2011-05-23 14:04:31 +02:00
Themaister 6a3386ad1a Should fix stupid SDL message rendering bug when no font is set. 2011-05-23 11:45:44 +02:00
Themaister 5dced40c98 LUT textures work :) 2011-05-22 18:48:43 +02:00
Themaister 3f58932c2b Seems to work :) Yay! 2011-05-22 17:36:18 +02:00
Themaister 373b9dcc37 Some fixups. 2011-05-22 17:07:47 +02:00
Themaister 993bdfb75f Start working on Cg preset spec. 2011-05-22 17:02:09 +02:00
Themaister 70000607a2 Some EQ-ish stuff for lulz. 2011-05-21 20:09:43 +02:00
Themaister 1b64e4b902 Fix macro for input plugin. 2011-05-20 19:58:11 +02:00
Themaister 2166db91e2 Fix awkward compiler warning. 2011-05-19 22:51:23 +02:00
Themaister 4f50b6a749 Clarify default path in $HOME. 2011-05-19 15:51:30 +02:00
Themaister 676f659306 Fix Makefile to work when mkdir -p is being stupid. 2011-05-19 15:40:39 +02:00
Themaister 2f858b7948 Clean up ugly inline stuff. :\ 2011-05-18 22:40:42 +02:00
Themaister 36d9adbc0f *Shrug* windows. Works at least ... :D 2011-05-18 22:11:34 +02:00
Themaister 9473b392df TGA loader (nolib). 2011-05-18 21:49:23 +02:00
Themaister 3bf050d5aa Use MultiTexCoord1 for image coords. 2011-05-18 20:38:04 +02:00
Themaister 8a0ccc99df Make sure we don't load too many pictures. 2011-05-18 20:27:27 +02:00
Themaister c938f3d8de Add lookup texture support. :D yay. 2011-05-18 20:22:27 +02:00
Themaister d1c7b774f0 Remove default buttons. 2011-05-18 14:07:31 +02:00
Themaister 6b6877afc1 DSP config option to ssnes-joyconfig. 2011-05-17 19:41:57 +02:00
Themaister c370cba5b5 Update config. 2011-05-17 19:37:05 +02:00
Themaister 05d62a93c9 Update gitignore. 2011-05-17 19:34:57 +02:00
Themaister 24cb2e6844 Update filter a bit. Add a Makefile. 2011-05-17 19:34:24 +02:00
Themaister 7f1cd62c8a Update DSP API for config callback.
Clean up API a bit to have separate
SSNES_*_API_VERSION defines.
2011-05-17 19:20:41 +02:00
Themaister 5f5013871a Should fix tilde/grave key. 2011-05-17 18:52:00 +02:00
Themaister aebe6bcd23 Add example SSE3-optimized IIR filter. 2011-05-17 02:45:10 +02:00
Themaister ac21fb81e2 Prepare for 0.5 release. 2011-05-15 22:18:36 +02:00
Themaister 74afe7f95b Win32 doesn't like %g in strftime ... 2011-05-15 22:01:24 +02:00
Themaister c8161a31d6 Everything implemented. 2011-05-15 21:57:16 +02:00
Themaister 628217c6ae Fix up screenshot formatting. 2011-05-15 17:30:00 +02:00
Themaister efed98d5b6 Yay, works :) 2011-05-15 17:16:29 +02:00
Themaister 29addd605e Start adding screenshot support. 2011-05-15 16:54:43 +02:00
Themaister 0c121571b3 Update TODO. 2011-05-15 16:17:57 +02:00
Themaister 6244671b04 Small API cleanup. 2011-05-15 15:57:47 +02:00
Themaister 21b046cdd1 Add more binds to X11 input. 2011-05-15 15:54:46 +02:00
Themaister b32224d406 Check for API mismatch. 2011-05-15 01:49:37 +02:00
Themaister 5d5865cfd8 Add external API for audio driver. 2011-05-15 01:46:11 +02:00
Themaister 4a78f2fef1 Add a clarifying comment. 2011-05-14 20:53:38 +02:00
Themaister b521becd3c Fix up external video lib a bit. 2011-05-14 20:52:35 +02:00
Themaister f10ed12b74 Fix doc bug. 2011-05-13 22:05:16 +02:00
Themaister 8d051ab413 Fix up case where plugin resamples. 2011-05-13 21:43:32 +02:00
Themaister 4cc17a74f7 Clean up error handling a bit. 2011-05-13 21:22:37 +02:00
Themaister 5ae4235545 Some fixes. 2011-05-13 21:19:05 +02:00
Themaister 8ceb8225ad DSP plugin interface, weeee :D 2011-05-13 21:05:28 +02:00
Themaister 20a3087d1c Make input_scale more clear. 2011-05-13 19:42:37 +02:00
Themaister 1f45dc512b 80-cols comments. 2011-05-12 01:30:30 +02:00
Themaister 13dee59fc8 Fix some more ... :v 2011-05-12 00:35:29 +02:00
Themaister 5f78063449 Fix up call conventions, etc. 2011-05-12 00:34:08 +02:00
Themaister ea6bd8c5c5 Fix up Win32 build a bit, and a crash. :D 2011-05-11 22:53:54 +02:00
Themaister bdc85f2def Fix up Win32 build. 2011-05-11 21:37:50 +02:00
Themaister efa731fc6d Fix inconsistency with ext input. 2011-05-11 21:12:14 +02:00
Themaister 80d50b046d Fix crash. 2011-05-11 18:47:36 +02:00
Themaister 1855a7ea0d Add driver stuff. 2011-05-11 18:40:03 +02:00
Themaister f5c11071be Start hooking up input driver. 2011-05-11 18:26:00 +02:00
Themaister 4b9e46ff06 Update config. 2011-05-11 17:57:31 +02:00
Themaister 75d618140b Some more work on external API. 2011-05-11 17:52:16 +02:00
Themaister 59c6de69b0 Frame counter for shaders. Not in spec currently. 2011-05-11 13:24:59 +02:00
Themaister dc20c58189 Update path. 2011-05-11 12:19:33 +02:00
Themaister c6eecf706a Add Win64 Makefile. 2011-05-11 12:13:55 +02:00
Themaister f2ee22d259 Start working on video interface. 2011-05-05 20:23:08 +02:00
Themaister b48322222a Add overscan cropping. 2011-05-05 14:13:12 +02:00
Themaister bbf5a1ee72 Should fix aspect ratio calculation. 2011-05-05 11:38:57 +02:00
Themaister c0851877bf Update TODO. 2011-05-05 00:13:51 +02:00
Themaister 51d96676af Update TODO list. 2011-05-04 22:26:37 +02:00
Themaister 9f3b86e893 Update joyconfig. 2011-05-04 22:25:27 +02:00
Themaister ac85037fc1 And some more ... 2011-05-04 22:16:25 +02:00
Themaister fa8e948e3e Some additional keybinds. 2011-05-04 22:10:17 +02:00
Themaister 252cce07a6 Update TODO again. 2011-05-01 23:41:39 +02:00
Themaister 17581106ba Update TODO. 2011-05-01 17:10:26 +02:00
Themaister 1bd8424fb4 A TODO list to keep track of things. 2011-05-01 17:05:49 +02:00
Themaister 23db525296 Fix nasty cheat handling bug. 2011-04-29 12:36:28 +02:00
Themaister d679f8b24f v0.4.1 updates. 2011-04-26 19:00:50 +02:00
Themaister d2f2ab6a9d Windowed width with xscale depends on aspect ratio. 2011-04-24 02:44:02 +02:00
Themaister 3e1e08ca9a Variadic shifts. Optimizes the path when format matches. 2011-04-23 19:15:15 +02:00
Themaister bb93f20be9 Hopefully make conversions more portable ... 2011-04-23 18:33:56 +02:00
Themaister 54dc289cde SDL fixes. 2011-04-23 18:06:48 +02:00
Themaister fcebad2589 FreeConsole() to avoid ugly console. 2011-04-23 14:47:50 +02:00
Themaister 4b60f98603 Might fix some odd warnings. 2011-04-22 04:27:53 +02:00
Themaister d304960c21 0.4.1-beta I suppose. 2011-04-22 03:17:31 +02:00
Themaister 8da13b716a Simple font rendering with SDL. 2011-04-22 03:13:09 +02:00
Themaister a6c08a24d7 Fix 32-bit 2011-04-21 14:30:54 +02:00
Themaister 6713272809 Hrm... Seems to work, except for 32-bit -> 32-bit <_< 2011-04-21 13:12:45 +02:00
Themaister 8d7cf23b40 Meh, SDL performs like shit :p 2011-04-21 03:39:03 +02:00
Themaister d317a9773f Start on SDL video driver. 2011-04-21 03:23:44 +02:00
Themaister e8806c48c9 Default keybinds and stuff. 2011-04-17 16:55:31 +02:00
Themaister abd7bab43a Cheat support... Somewhat. 2011-04-17 16:53:19 +02:00
Themaister 66464c2cce Parsing seems to work at least. 2011-04-17 15:58:18 +02:00
Themaister 092fa9d531 Get initial cheat support down. 2011-04-17 13:30:59 +02:00
Themaister 1005d7fa9b SHA256 support. Now onto cheats ... 2011-04-17 12:29:58 +02:00
Themaister 079549cbd2 Fix an edge case with strlcat(). 2011-04-11 21:28:03 +02:00
Themaister 0f0a4d0a5e Fix fullscreen state flickering with XVideo. 2011-04-09 13:15:14 +02:00
Themaister f0bbeb901d Fix some error handling for XVideo. 2011-04-08 20:53:11 +02:00
Themaister 8027a25016 Fix include issue in windows. 2011-04-07 21:31:58 +02:00
Themaister a1426c96f8 Update for Win32. 2011-04-07 21:26:02 +02:00
560 changed files with 150086 additions and 9089 deletions

No files matched your search

View File
Whitespace-only changes.
+28 -2
View File
@@ -1,5 +1,31 @@
*.o
ssnes
*.bmpobj
*.binobj
*.so
*.dll
*.a
*.elf
*.dol
*.map
config.log
/retroarch
/retroarch.*
/config.h
/config.mk
/tools/ssnes-joyconfig
/tools/retroarch-joyconfig
/tools/retroarch-joyconfig.*
*.ncb
*.sdf
*.opensdf
*.suo
Debug
Release
ipch
*.user
/wii/app_booter/app_booter.bin
*.zip
RetroArch-w32/
RetroArch-w64/
android/native/obj/
android/phoenix/bin/
android/phoenix/gen/
+41
View File
@@ -1,5 +1,46 @@
Hans-Kristian Arntzen - <[email protected]>
- Main code, maintainer
- Initial Gamecube/Wii libogc port
Devin J. Pohly - <[email protected]>
- Joypad axis support
Chris Moeller - <[email protected]>
- CoreAudio audio driver
Daniel De Matteis - <[email protected]>
- PlayStation 3 port
- XBox 360 XDK port
- Libxenon port
- XBox 1 port
- Android port
- OpenSL ES audio driver
- Gamecube/Wii libogc port
Meancoot - <TBA>
- Phoenix Java frontend
- Android port patches
David Reichelt - <[email protected]>
- XBox 1 port
tukuyomi - <[email protected]>
- Cleanups in quickbuild
Michael Lelli - <[email protected]>
- Gamecube/Wii libogc port
- Raspberry Pi video driver
- Linux Raw keyboard input driver
- Android port patches
Darren Alton -
- OpenPandora port
Fabian Knopf -
- WGL multi-monitor support
Gražvydas Ignotas -
- ARM Linux patches
Saggi Mizrahi -
- RetroLaunch utility
+58
View File
@@ -0,0 +1,58 @@
# Contributing to RetroArch
If you are a developer and want to contribute to the development of RetroArch, please read this.
If you have found a bug and want to submit a minor patch or a bug report, please read this as well.
# Submitting a bug report
When submitting a bug report, make sure that the bug is local to RetroArch.
A bug in a libretro core or something deemed to be external is likely to be closed very fast.
If you still suspect a bug in RetroArch, make sure to test with several cores to make sure.
If you have troubles building RetroArch on Linux/BSD/OSX, make sure to paste shell output of ./configure,
as well as config.log and shell output of make. If building on Windows, just paste shell output of make.
If the issue occurs during runtime, make sure to paste RetroArch's verbose log.
If using Phoenix frontend, you can find log in (File -> Show Log) after running.
In console, make sure to run with verbose (-v) flag.
# Pull Requests
Outside contributions are generally only accepted in the form of a pull request. The process is very simple.
Fork RetroArch, make your changes, and issue a pull request on GitHub. This can all be done within the browser.
The changes are reviewed, and might be merged in. If the pull request isn't acceptable at the time,
note that it's possible to continue pushing up commits to your branch.
If you want to develop a larger feature,
we'd like to discuss this first (ideally on IRC) so that you don't risk developing something
that won't be merged. A pull request with a proof-of-concept is fine, but please indicate so.
## libretro API
If you wish to add functionality to libretro's API, it can take some time to merge in, because changes
to libretro API will affect other projects as well, and we highly value API/ABI stability.
Features will only be added when deemed *necessary* for a concrete libretro core to function properly.
Features will not be added on basis of hypothetical libretro implementations.
# Coding style
Having a consistent code style throughout the code base is highly valued.
Please look through the code to get a feel for the coding style.
A pull request may be asked to fix the coding style before submission.
In other cases, a pull request may be followed up with a "style nit commit".
## Non-obvious things:
- Code should be both ISO C99 and ISO C++ compatible. This dual requirement is for XBox360 and MSVC in general. Think of it as a C++ compatible subset of C99.
- Warnings are not allowed (-Wall). Make sure your code is warning-free. Note that warning sensitivity differs a bit across compiler versions.
- Using deprecated APIs is discouraged.
# Copyright Headers and AUTHORS
If you have contributed to a part of a source file (a chunk of code that's written by you),
you should add yourself to the copyright header in that file.
If you have contributed significantly
(a feature, a contribution you can "name", e.g. "Added audio driver foo"), you should add yourself to AUTHORS file.
We'd like your full name and email, and which features you have been part of.
# IRC
Active development happens on IRC. (#retroarch @ irc.freenode.org)
We value discussing things in "real-time".
# Commit Access
Contributors who show a track record of making good pull requests over time will eventually get commit access to the repo.
This typically happens when the "overhead" of looking through pull requests over time becomes a burden.
+295 -71
View File
@@ -1,137 +1,335 @@
include config.mk
TARGET = ssnes tools/ssnes-joyconfig
TARGET = retroarch tools/retroarch-joyconfig tools/retrolaunch/retrolaunch
OBJ = retroarch.o \
file.o \
file_path.o \
hash.o \
driver.o \
settings.o \
dynamic.o \
message.o \
rewind.o \
gfx/gfx_common.o \
input/input_common.o \
input/overlay.o \
patch.o \
fifo_buffer.o \
compat/compat.o \
cheats.o \
conf/config_file.o \
screenshot.o \
gfx/scaler/scaler.o \
gfx/scaler/pixconv.o \
gfx/scaler/scaler_int.o \
gfx/scaler/filter.o \
gfx/image.o \
gfx/fonts/fonts.o \
gfx/fonts/bitmapfont.o \
performance.o
JOYCONFIG_OBJ = tools/retroarch-joyconfig.o \
conf/config_file.o \
file_path.o \
compat/compat.o \
input/input_common.o
RETROLAUNCH_OBJ = tools/retrolaunch/main.o \
tools/retrolaunch/sha1.o \
tools/retrolaunch/parser.o \
tools/retrolaunch/cd_detect.o \
tools/retrolaunch/rl_fnmatch.o \
file_path.o \
compat/compat.o \
conf/config_file.o \
settings.o
OBJ = ssnes.o file.o driver.o settings.o dynamic.o message.o rewind.o movie.o autosave.o gfx/gfx_common.o ups.o strl.o
JOYCONFIG_OBJ = tools/ssnes-joyconfig.o conf/config_file.o
HEADERS = $(wildcard */*.h) $(wildcard *.h)
LIBS = -lm
DEFINES = -DHAVE_CONFIG_H
ifeq ($(findstring Haiku,$(OS)),)
LIBS = -lm
endif
ifneq ($(findstring Darwin,$(shell uname -a)),)
DEFINES = -DHAVE_CONFIG_H -DHAVE_SCREENSHOTS
ifeq ($(REENTRANT_TEST), 1)
DEFINES += -Dmain=retroarch_main
OBJ += console/test.o
endif
ifneq ($(findstring Darwin,$(OS)),)
OSX := 1
LIBS += -framework AppKit
else
OSX := 0
endif
ifeq ($(HAVE_SRC), 1)
LIBS += $(SRC_LIBS)
DEFINES += $(SRC_CFLAGS)
else
OBJ += audio/hermite.o
ifneq ($(findstring BSD,$(OS)),)
BSD_LOCAL_INC = -I/usr/local/include
endif
ifeq ($(HAVE_CONFIGFILE), 1)
OBJ += conf/config_file.o
ifneq ($(findstring Linux,$(OS)),)
LIBS += -lrt
OBJ += input/linuxraw_input.o input/linuxraw_joypad.o
JOYCONFIG_OBJ += input/linuxraw_joypad.o
endif
OBJ += autosave.o thread.o
ifeq ($(HAVE_THREADS), 1)
ifeq ($(findstring Haiku,$(OS)),)
LIBS += -lpthread
endif
endif
ifeq ($(HAVE_BSV_MOVIE), 1)
OBJ += movie.o
endif
ifeq ($(HAVE_NETPLAY), 1)
OBJ += netplay.o
endif
ifeq ($(HAVE_COMMAND), 1)
OBJ += command.o
endif
ifeq ($(HAVE_RSOUND), 1)
OBJ += audio/rsound.o
LIBS += -lrsound
LIBS += $(RSOUND_LIBS)
DEFINES += $(RSOUND_CFLAGS)
endif
ifeq ($(HAVE_OSS), 1)
OBJ += audio/oss.o
endif
ifeq ($(HAVE_ALSA), 1)
OBJ += audio/alsa.o
LIBS += -lasound
ifeq ($(HAVE_OSS_BSD), 1)
OBJ += audio/oss.o
endif
ifeq ($(HAVE_OSS_LIB), 1)
LIBS += -lossaudio
endif
ifeq ($(HAVE_ALSA), 1)
OBJ += audio/alsa.o audio/alsathread.o
LIBS += $(ALSA_LIBS)
DEFINES += $(ALSA_CFLAGS)
endif
ifeq ($(HAVE_ROAR), 1)
OBJ += audio/roar.o
LIBS += -lroar
LIBS += $(ROAR_LIBS)
DEFINES += $(ROAR_CFLAGS)
endif
ifeq ($(HAVE_AL), 1)
OBJ += audio/openal.o
ifeq ($(OSX),1)
LIBS += -framework OpenAL
else
LIBS += -lopenal
endif
ifeq ($(OSX),1)
LIBS += -framework OpenAL
else
LIBS += -lopenal
endif
endif
ifeq ($(HAVE_JACK),1)
OBJ += audio/jack.o
LIBS += $(JACK_LIBS)
DEFINES += $(JACK_CFLAGS)
endif
ifeq ($(HAVE_PULSE), 1)
OBJ += audio/pulse.o
LIBS += $(PULSE_LIBS)
DEFINES += $(PULSE_CFLAGS)
endif
ifeq ($(HAVE_SDL), 1)
OBJ += gfx/gl.o input/sdl.o audio/sdl.o audio/buffer.o
DEFINES += $(SDL_CFLAGS)
LIBS += $(SDL_LIBS)
ifeq ($(OSX),1)
LIBS += -framework OpenGL
else
LIBS += -lGL
endif
ifeq ($(HAVE_COREAUDIO), 1)
OBJ += audio/coreaudio.o
LIBS += -framework CoreServices -framework CoreAudio -framework AudioUnit
endif
ifeq ($(HAVE_FBO), 1)
DEFINES += -DHAVE_FBO
ifeq ($(SCALER_NO_SIMD), 1)
DEFINES += -DSCALER_NO_SIMD
endif
ifeq ($(PERF_TEST), 1)
DEFINES += -DPERF_TEST
endif
ifeq ($(HAVE_SDL), 1)
OBJ += gfx/sdl_gfx.o input/sdl_input.o input/sdl_joypad.o audio/sdl_audio.o
JOYCONFIG_OBJ += input/sdl_joypad.o
DEFINES += $(SDL_CFLAGS) $(BSD_LOCAL_INC)
LIBS += $(SDL_LIBS)
ifeq ($(HAVE_OPENGL), 1)
OBJ += gfx/context/sdl_ctx.o
endif
endif
ifeq ($(HAVE_OPENGL), 1)
OBJ += gfx/gl.o \
gfx/gfx_context.o \
gfx/fonts/gl_font.o \
gfx/fonts/gl_raster_font.o \
gfx/math/matrix.o \
gfx/state_tracker.o
ifeq ($(HAVE_KMS), 1)
OBJ += gfx/context/drm_egl_ctx.o
DEFINES += $(GBM_CFLAGS) $(DRM_CFLAGS) $(EGL_CFLAGS)
LIBS += $(GBM_LIBS) $(DRM_LIBS) $(EGL_LIBS)
endif
ifeq ($(HAVE_VIDEOCORE), 1)
OBJ += gfx/context/vc_egl_ctx.o
# videocore's libs set later
endif
ifeq ($(HAVE_X11), 1)
ifeq ($(HAVE_GLES), 0)
OBJ += gfx/context/glx_ctx.o
endif
ifeq ($(HAVE_EGL), 1)
OBJ += gfx/context/xegl_ctx.o
DEFINES += $(EGL_CFLAGS)
LIBS += $(EGL_LIBS)
endif
endif
ifeq ($(HAVE_GLES), 1)
LIBS += -lGLESv2
DEFINES += -DHAVE_OPENGLES -DHAVE_OPENGLES2
else
ifeq ($(OSX), 1)
LIBS += -framework OpenGL
else
LIBS += -lGL
endif
endif
OBJ += gfx/shader_glsl.o
DEFINES += -DHAVE_GLSL -DHAVE_OVERLAY
endif
ifeq ($(HAVE_VG), 1)
OBJ += gfx/vg.o gfx/math/matrix_3x3.o
DEFINES += $(VG_CFLAGS)
LIBS += $(VG_LIBS)
endif
ifeq ($(HAVE_VIDEOCORE), 1)
LIBS += -lbcm_host -lvcos -lvchiq_arm
endif
ifeq ($(HAVE_XVIDEO), 1)
OBJ += gfx/xvideo.o input/x11_input.o
LIBS += -lXv -lX11
OBJ += gfx/xvideo.o
LIBS += $(XVIDEO_LIBS)
DEFINES += $(XVIDEO_CFLAGS)
endif
ifeq ($(HAVE_X11), 1)
OBJ += input/x11_input.o gfx/context/x11_common.o
LIBS += $(X11_LIBS) $(XEXT_LIBS) $(XF86VM_LIBS) $(XINERAMA_LIBS)
DEFINES += $(X11_CFLAGS) $(XEXT_CFLAGS) $(XF86VM_CFLAGS) $(XINERAMA_CFLAGS)
endif
ifeq ($(HAVE_CG), 1)
OBJ += gfx/shader_cg.o
LIBS += -lCg -lCgGL
ifeq ($(OSX), 1)
LIBS += -framework Cg
else
LIBS += -lCg -lCgGL
endif
endif
ifeq ($(HAVE_XML), 1)
OBJ += gfx/shader_glsl.o
LIBS += $(XML_LIBS)
DEFINES += $(XML_CFLAGS)
ifeq ($(HAVE_LIBXML2), 1)
LIBS += $(LIBXML2_LIBS)
DEFINES += $(LIBXML2_CFLAGS)
else
OBJ += compat/rxml/rxml.o
endif
ifeq ($(HAVE_FILTER), 1)
LIBS += -ldl
ifeq ($(HAVE_DYLIB), 1)
LIBS += $(DYLIB_LIB)
endif
ifeq ($(HAVE_FREETYPE), 1)
OBJ += gfx/fonts.o
OBJ += gfx/fonts/freetype.o
LIBS += $(FREETYPE_LIBS)
DEFINES += $(FREETYPE_CFLAGS)
endif
ifeq ($(HAVE_SDL_IMAGE), 1)
LIBS += $(SDL_IMAGE_LIBS)
DEFINES += $(SDL_IMAGE_CFLAGS)
endif
ifeq ($(HAVE_ZLIB), 1)
OBJ += gfx/rpng/rpng.o file_extract.o
LIBS += $(ZLIB_LIBS)
DEFINES += $(ZLIB_CFLAGS) -DHAVE_ZLIB_DEFLATE
endif
ifeq ($(HAVE_FFMPEG), 1)
OBJ += record/ffemu.o
LIBS += $(AVCODEC_LIBS) $(AVCORE_LIBS) $(AVFORMAT_LIBS) $(AVUTIL_LIBS) $(SWSCALE_LIBS)
DEFINES += $(AVCODEC_CFLAGS) $(AVCORE_CFLAGS) $(AVFORMAT_CFLAGS) $(AVUTIL_CFLAGS) $(SWSCALE_CFLAGS)
LIBS += $(AVCODEC_LIBS) $(AVFORMAT_LIBS) $(AVUTIL_LIBS) $(SWSCALE_LIBS)
DEFINES += $(AVCODEC_CFLAGS) $(AVFORMAT_CFLAGS) $(AVUTIL_CFLAGS) $(SWSCALE_CFLAGS)
endif
ifeq ($(HAVE_DYNAMIC), 1)
LIBS += -ldl
LIBS += $(DYLIB_LIB)
else
LIBS += $(libsnes)
LIBS += $(libretro)
endif
ifeq ($(HAVE_STRL), 1)
DEFINES += -DHAVE_STRL
ifeq ($(HAVE_PYTHON), 1)
DEFINES += $(PYTHON_CFLAGS) -Wno-unused-parameter
LIBS += $(PYTHON_LIBS)
OBJ += gfx/py_state/py_state.o
endif
ifeq ($(HAVE_SINC), 1)
OBJ += audio/sinc.o
ifeq ($(HAVE_NEON),1)
OBJ += audio/sinc_neon.o
endif
else
OBJ += audio/hermite.o
endif
OBJ += audio/utils.o
ifeq ($(HAVE_NEON),1)
OBJ += audio/utils_neon.o
endif
ifneq ($(V),1)
Q := @
endif
CFLAGS += -Wall -O3 -g -I.
ifneq ($(findstring icc,$(CC)),)
CFLAGS += -std=c99
OPTIMIZE_FLAG = -O3
ifeq ($(DEBUG), 1)
OPTIMIZE_FLAG = -O0
endif
CFLAGS += -Wall $(OPTIMIZE_FLAG) $(INCLUDE_DIRS) -g -I.
ifeq ($(CXX_BUILD), 1)
LD = $(CXX)
CFLAGS += -std=c++0x -xc++ -D__STDC_CONSTANT_MACROS
else
CFLAGS += -std=gnu99
LD = $(CC)
ifneq ($(findstring icc,$(CC)),)
CFLAGS += -std=c99 -D_GNU_SOURCE
else
CFLAGS += -std=gnu99
endif
endif
ifeq ($(NOUNUSED), yes)
CFLAGS += -Wno-unused-result
endif
all: $(TARGET) config.mk
@@ -140,43 +338,69 @@ config.mk: configure qb/*
@echo "config.mk is outdated or non-existing. Run ./configure again."
@exit 1
ssnes: $(OBJ)
$(Q)$(CXX) -o $@ $(OBJ) $(LIBS) $(LDFLAGS)
retroarch: $(OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LD) -o $@ $(OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
tools/ssnes-joyconfig: $(JOYCONFIG_OBJ)
$(Q)$(CC) -o $@ $(JOYCONFIG_OBJ) $(SDL_LIBS) $(LDFLAGS)
tools/retroarch-joyconfig: $(JOYCONFIG_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
ifeq ($(CXX_BUILD), 1)
$(Q)$(CXX) -o $@ $(JOYCONFIG_OBJ) $(SDL_LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
else
$(Q)$(CC) -o $@ $(JOYCONFIG_OBJ) $(SDL_LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
endif
tools/retrolaunch/retrolaunch: $(RETROLAUNCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LD) -o $@ $(RETROLAUNCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
%.o: %.c config.h config.mk $(HEADERS)
$(Q)$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
%.o: %.S config.h config.mk $(HEADERS)
@$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
install: $(TARGET)
mkdir -p $(DESTDIR)$(PREFIX)/bin
mkdir -p $(DESTDIR)/etc
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
mkdir -p $(DESTDIR)$(PREFIX)/bin 2>/dev/null || /bin/true
mkdir -p $(DESTDIR)/etc 2>/dev/null || /bin/true
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 2>/dev/null || /bin/true
mkdir -p $(DESTDIR)$(PREFIX)/share/icons 2>/dev/null || /bin/true
install -m755 $(TARGET) $(DESTDIR)$(PREFIX)/bin
install -m644 ssnes.cfg $(DESTDIR)/etc/ssnes.cfg
install -m644 docs/ssnes.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m644 docs/ssnes-joyconfig.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m755 ssnes-zip $(DESTDIR)$(PREFIX)/bin
install -m644 retroarch.cfg $(DESTDIR)/etc/retroarch.cfg
install -m644 docs/retroarch.1 $(DESTDIR)$(MAN_DIR)
install -m644 docs/retroarch-joyconfig.1 $(DESTDIR)$(MAN_DIR)
install -m755 retroarch-zip $(DESTDIR)$(PREFIX)/bin
install -m644 media/retroarch.png $(DESTDIR)$(PREFIX)/share/icons
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/{ssnes,ssnes-joyconfig,ssnes-zip}
rm -f $(DESTDIR)/etc/ssnes.cfg
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/{ssnes,ssnes-joyconfig}.1
rm -f $(DESTDIR)$(PREFIX)/bin/retroarch
rm -f $(DESTDIR)$(PREFIX)/bin/retroarch-joyconfig
rm -f $(DESTDIR)$(PREFIX)/bin/retrolaunch
rm -f $(DESTDIR)$(PREFIX)/bin/retroarch-zip
rm -f $(DESTDIR)/etc/retroarch.cfg
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/retroarch.1
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/retroarch-joyconfig.1
rm -f $(DESTDIR)$(PREFIX)/share/icons/retroarch.png
clean:
rm -f *.o
rm -f audio/*.o
rm -f conf/*.o
rm -f gfx/*.o
rm -f gfx/rpng/*.o
rm -f gfx/fonts/*.o
rm -f gfx/math/*.o
rm -f gfx/context/*.o
rm -f gfx/py_state/*.o
rm -f gfx/scaler/*.o
rm -f compat/*.o
rm -f compat/rxml/*.o
rm -f record/*.o
rm -f hqflt/*.o
rm -f hqflt/snes_ntsc/*.o
rm -f input/*.o
rm -f tools/*.o
rm -f tools/retrolaunch/*.o
rm -f $(TARGET)
.PHONY: all install uninstall clean
+93
View File
@@ -0,0 +1,93 @@
###
##
# Makefile for RetroArch GameCube.
##
DEBUG = 0
HAVE_LOGGER = 1
HAVE_FILE_LOGGER = 0
PERF_TEST = 0
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT)
ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
DOL_TARGET := retroarch_ngc.dol
ELF_TARGET := retroarch_ngc.elf
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/cube -L.
MACHDEP := -DGEKKO -DHW_DOL -mogc -mcpu=750 -meabi -mhard-float
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map -T gx/ld/ogc.ld
LIBS := -lfat -lretro_ngc -logc
OBJ = console/griffin/griffin.o
ifeq ($(PERF_TEST), 1)
CFLAGS += -DPERF_TEST
endif
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
CFLAGS += -Iconsole/logger
LIBS += -lbba
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
CFLAGS += -Iconsole/logger
endif
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_RMENU -DHAVE_RGUI -DHAVE_THREAD -DRARCH_CONSOLE -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_RARCH_EXEC -DGEKKO -DHAVE_ZLIB -DWANT_RZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DHAVE_SCREENSHOTS -DPACKAGE_VERSION=\"0.9.8\" -Dmain=rarch_main -Wno-char-subscripts
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
all: $(DOL_TARGET)
%.dol: %.elf
$(ELF2DOL) $< $@
$(ELF_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.binobj: %.bin
$(LD) -r -b binary -o $@ $<
%.bmpobj: %.bmp
$(LD) -r -b binary -o $@ $<
pkg: all
cp -r $(DOL_TARGET) ngc/pkg/CORE.dol
clean:
rm -f $(DOL_TARGET)
rm -f $(ELF_TARGET)
rm -f $(OBJ)
.PHONY: clean
+83
View File
@@ -0,0 +1,83 @@
##
# Makefile for RetroArch GameCube.
##
DEBUG = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT)
ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
DOL_TARGET := retroarch-salamander_ngc.dol
ELF_TARGET := retroarch-salamander_ngc.elf
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/cube -L.
MACHDEP := -DGEKKO -DHW_DOL -mogc -mcpu=750 -meabi -mhard-float
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map
LIBS := -lfat -logc
OBJ = frontend/frontend_console.o file_path.o compat/compat.o conf/config_file.o ngc/ssaram.o ngc/sidestep.o
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
CFLAGS += -Iconsole/logger
OBJ += console/logger/logger.o
LIBS += -lbba
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
CFLAGS += -Iconsole/logger
endif
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DIS_SALAMANDER -DRARCH_CONSOLE -DHAVE_RARCH_EXEC -DGEKKO -DPACKAGE_VERSION=\"0.9.8\" -Wno-char-subscripts
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
all: $(DOL_TARGET)
%.dol: %.elf
$(ELF2DOL) $< $@
$(ELF_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
pkg: all
cp -r $(DOL_TARGET) ngc/pkg/boot.dol
clean:
rm -f $(DOL_TARGET)
rm -f $(ELF_TARGET)
rm -f $(OBJ)
.PHONY: clean
+54
View File
@@ -0,0 +1,54 @@
# Before using this Makefile, be sure to do:
# $ source /usr/local/angstrom/arm/environment-setup
# $ setprj retroarch
PNDDIR=./pandora
BINDIR=$(PNDDIR)/bin
all: $(BINDIR)/retroarch
mkdir -p $(PNDDIR)/lib
@echo "Put libretro-*.so files in $(PNDDIR)/lib/ before making pnd!"
pnd: retroarch.pnd
install: all $(BINDIR)/retroarch-joyconfig $(BINDIR)/retroarch-zip $(PNDDIR)/readme.html
retroarch:
./configure --prefix=$PND_BASEDIR/$PRJ --disable-ffmpeg --disable-cg --disable-python --disable-libpng --disable-pulse --disable-jack --enable-gles --enable-xml
make -f Makefile
$(BINDIR)/retroarch: retroarch
mkdir -p $(BINDIR)
cp retroarch $(BINDIR)/retroarch
$(BINDIR)/retroarch-joyconfig: tools/retroarch-joyconfig
mkdir -p $(BINDIR)
cp tools/retroarch-joyconfig $(BINDIR)/retroarch-joyconfig
$(BINDIR)/retroarch-zip: retroarch-zip
mkdir -p $(BINDIR)
cp retroarch-zip $(BINDIR)/retroarch-zip
$(PNDDIR)/readme.html: README.md
markdown README.md > $(PNDDIR)/readme.html
retroarch.pnd: install
pnd_make -c -p retroarch.pnd -d $(PNDDIR)/ -x $(PNDDIR)/PXML.xml -i $(PNDDIR)/icon.png
clean:
rm -f *.o
rm -f audio/*.o
rm -f conf/*.o
rm -f gfx/*.o
rm -f gfx/fonts/*.o
rm -f gfx/context/*.o
rm -f gfx/py_state/*.o
rm -f compat/*.o
rm -f record/*.o
rm -f input/*.o
rm -f tools/*.o
rm -f $(BINDIR)/retroarch
rm -f $(BINDIR)/retroarch-joyconfig
rm -f $(PNDDIR)/readme.html
rm -f retroarch
+191
View File
@@ -0,0 +1,191 @@
RARCH_VERSION = "0.9.8"
#which compiler to build with - GCC or SNC
#set to GCC for debug builds for use with debugger
CELL_BUILD_TOOLS = SNC
CELL_GPU_TYPE = RSX
CELL_PSGL_VERSION = ultra-opt
RMENU_IMG_DIR := media/rmenu
# options
DOWNLOAD_SHADERS = 1
STRIPPING_ENABLE = 0
DEBUG = 0
HAVE_RGL = 1
HAVE_LOGGER = 0
HAVE_FREETYPE = 0
HAVE_RLAUNCH = 0
PERF_TEST = 0
CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001
CONTENT_ID = SSNE10000
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
CELL_MK_DIR ?= $(CELL_SDK)/samples/mk
include $(CELL_MK_DIR)/sdk.makedef.mk
PPU_TARGET = retroarch_ps3.elf
SALAMANDER_TARGET = retroarch-salamander_ps3.elf
EBOOT_PATH = ps3/pkg/USRDIR/EBOOT.BIN
CORE_PATH = ps3/pkg/USRDIR/cores/CORE.SELF
LDDIRS = -L. -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt
INCDIRS = -I. -Ips3 -Icommon
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
PKG_SCRIPT = ps3/ps3py/pkg.py
ifeq ($(shell uname), Linux)
PKG_FINALIZE = package_finalize
MAKE_SELF_WC = make_self_wc
MAKE_SELF = make_self_npdrm
PYTHON2 = python2
GIT = git
else
PKG_FINALIZE = package_finalize.exe
MAKE_SELF_WC = make_self_wc.exe
MAKE_SELF = make_self_npdrm.exe
PYTHON2 = python2.exe
GIT = git.exe
endif
PPU_SRCS = console/griffin/griffin.c
ifeq ($(PERF_TEST), 1)
DEFINES += -DPERF_TEST
endif
ifeq ($(HAVE_RLAUNCH), 1)
DEFINES += -DHAVE_RLAUNCH
endif
ifeq ($(HAVE_RGL), 1)
DEFINES += -DHAVE_RGL
GL_LIBS := -L. -lrgl_ps3
else
GL_LIBS := -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt -lPSGL -lPSGLcgc
endif
ifeq ($(HAVE_FREETYPE), 1)
DEFINES += -DHAVE_FREETYPE
FONT_LIBS := -lfontFT_stub -lfreetype_stub
else
DEFINES += -DHAVE_LIBDBGFONT
FONT_LIBS := -ldbgfont
endif
ifeq ($(CELL_BUILD_TOOLS), SNC)
PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe
PPU_CXX = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
PPU_CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
else
ifneq($(system_platform), win)
PPU_CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe
PPU_CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
PPU_CXXLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe
PPU_CCLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe
endif
PPU_LDLIBS = $(FONT_LIBS) $(GL_LIBS) -lretro_ps3 -lcgc -lgcm_cmdasm -lgcm_sys_stub -lresc_stub -lm -lio_stub -lfs_stub -lsysutil_stub -lsysutil_game_stub -lsysutil_screenshot_stub -lsysutil_np_stub -lpngdec_stub -ljpgdec_stub -lsysmodule_stub -laudio_stub -lnet_stub -lnetctl_stub -lpthread
PPU_RANLIB = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ranlib.exe
DEFINES += -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_RMENU -DHAVE_RMENU_GUI -DHAVE_THREAD -DRARCH_CONSOLE -DHAVE_OPENGL -DHAVE_HEADSET -DHAVE_VID_CONTEXT -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_FILEBROWSER -DHAVE_FBO -DHAVE_RARCH_MAIN_WRAP -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_RSOUND -DHAVE_ZLIB -DWANT_RZLIB -D__CELLOS_LV2__ -DHAVE_NETPLAY=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_OSKUTIL -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=1 -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -Dmain=rarch_main -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
ifeq ($(DEBUG), 1)
PPU_OPTIMIZE_LV := -O0 -g
else
PPU_OPTIMIZE_LV := -O3 -g
endif
ifeq ($(HAVE_LOGGER), 1)
DEFINES += -DHAVE_LOGGER
INCDIRS += -Iconsole/logger
endif
PPU_CFLAGS := $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES)
PPU_CXXFLAGS := $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES)
EXIST_EBOOT_WILDCARD := $(wildcard $(EBOOT_PATH))
EXIST_CORE_WILDCARD := $(wildcard $(CORE_PATH))
EBOOT_EXISTS = 1
CORE_EXISTS = 1
ifneq ($(strip $(EXIST_EBOOT_WILDCARD)),)
EBOOT_EXISTS = 0
endif
ifneq ($(strip $(EXIST_CORE_WILDCARD)),)
CORE_EXISTS = 0
endif
include $(CELL_MK_DIR)/sdk.target.mk
MAKE_FSELF = $(CELL_SDK)/host-win32/bin/make_fself.exe
MAKE_FSELF_NPDRM = $(CELL_SDK)/host-win32/bin/make_fself_npdrm.exe
MAKE_PACKAGE_NPDRM = $(CELL_SDK)/host-win32/bin/make_package_npdrm.exe
.PHONY: create-npdrm-core create-core create-npdrm-salamander create-shaders clean-selfs create-salamander
create-npdrm-core:
$(MAKE_FSELF_NPDRM) $(PPU_TARGET) $(CORE_PATH)
create-core:
$(MAKE_SELF_WC) $(PPU_TARGET) $(CORE_PATH)
create-npdrm-salamander:
$(MAKE_FSELF_NPDRM) $(SALAMANDER_TARGET) $(EBOOT_PATH)
create-salamander:
$(MAKE_SELF) $(SALAMANDER_TARGET) $(EBOOT_PATH) $(CONTENT_ID_FULL)
copy-media-files:
@cp $(RMENU_IMG_DIR)/main-menu_1080p.png ps3/pkg/USRDIR/cores/borders/Menu/main-menu.png
create-shaders:
make -f Makefile.shaders deploy-ps3
pkg: $(PPU_TARGET) create-shaders copy-media-files create-npdrm-salamander create-npdrm-core
$(MAKE_PACKAGE_NPDRM) ps3/pkg/package.conf ps3/pkg
pkg-signed: $(PPU_TARGET) create-shaders copy-media-files create-salamander create-core
$(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) ps3/pkg/ retroarch-ps3-cfw-$(RARCH_VERSION).pkg
pkg-signed-standalone: $(PPU_TARGET) create-shaders copy-media-files create-core
$(MAKE_SELF) $(PPU_TARGET) $(EBOOT_PATH) $(CONTENT_ID)
$(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) ps3/pkg/ retroarch-ps3-cfw-$(RARCH_VERSION).pkg
pkg-signed-cfw: $(PPU_TARGET) create-shaders copy-media-files create-salamander create-core
$(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) ps3/pkg/ retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg
$(PKG_FINALIZE) retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg
pkg-signed-cfw-standalone: $(PPU_TARGET) create-shaders copy-media-files create-core
$(MAKE_SELF) $(PPU_TARGET) $(EBOOT_PATH) $(CONTENT_ID)
$(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) ps3/pkg/ retroarch-ps3-cfw-$(RARCH_VERSION).pkg
$(PKG_FINALIZE) retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg
clean-selfs:
ifeq ($(EBOOT_EXISTS),1)
@echo "WARNING: Couldn't find file to delete: [$(EBOOT_PATH)], skipping this step."
else
rm $(EBOOT_PATH)
endif
ifeq ($(CORE_EXISTS),1)
@echo "WARNING: Couldn't find file to delete: [$(CORE_PATH)], skipping this step."
else
rm $(CORE_PATH)
endif
+65
View File
@@ -0,0 +1,65 @@
#which compiler to build with - GCC or SNC
#set to GCC for debug builds for use with debugger
CELL_BUILD_TOOLS = GCC
CELL_GPU_TYPE = RSX
DEBUG = 0
STRIPPING_ENABLE = 1
RGL_2D = 1
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
CELL_MK_DIR ?= $(CELL_SDK)/samples/mk
include $(CELL_MK_DIR)/sdk.makedef.mk
PPU_LIB_TARGET = librgl_ps3.a
LDDIRS = -L.
INCDIRS = -I. -Iconsole/rgl/include
RGL_DIR = console/rgl/src
PPU_SRCS = $(RGL_DIR)/Utils/NameSpace.cpp \
$(RGL_DIR)/Utils/TexNameSpace.cpp \
$(RGL_DIR)/Utils/EnumMap.cpp \
$(RGL_DIR)/libelf/readelf.cpp \
$(RGL_DIR)/rgl.cpp \
$(RGL_DIR)/rgl_cg.cpp \
$(RGL_DIR)/ps3/rgl_ps3.cpp \
$(RGL_DIR)/ps3/rgl_ps3_raster.cpp
ifeq ($(CELL_BUILD_TOOLS), SNC)
PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe
PPU_CXX = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
PPU_CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
SNC_PPU_AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
else
PPU_CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe
PPU_CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
PPU_CXXLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe
PPU_AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
endif
PPU_RANLIB = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ranlib.exe
PPU_LDLIBS = -lio_stub
DEFINES += -D__CELLOS_LV2__
ifeq ($(DEBUG), 1)
PPU_OPTIMIZE_LV := -O0 -g
else
PPU_OPTIMIZE_LV := -O3
endif
ifeq ($(RGL_2D), 1)
PPU_OPTIMIZE_LV += -DHAVE_RGL_2D
endif
PPU_CFLAGS = $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES)
PPU_CXXFLAGS = $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES)
include $(CELL_MK_DIR)/sdk.target.mk
+50
View File
@@ -0,0 +1,50 @@
CELL_BUILD_TOOLS = SNC
CELL_SDK ?= /usr/local/cell
HAVE_LOGGER = 0
CELL_MK_DIR ?= $(CELL_SDK)/samples/mk
include $(CELL_MK_DIR)/sdk.makedef.mk
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
STRIP = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-strip.exe
PPU_CFLAGS += -I. -D__CELLOS_LV2__ -DIS_SALAMANDER -DRARCH_CONSOLE -DHAVE_SYSUTILS -DHAVE_SYSMODULES -DHAVE_RARCH_EXEC
PPU_SRCS = frontend/frontend_console.c file_path.c compat/compat.c conf/config_file.c
ifeq ($(HAVE_LOGGER), 1)
PPU_CFLAGS += -DHAVE_LOGGER -Iconsole/logger
PPU_SRCS += console/logger/logger.c
endif
PPU_TARGET = retroarch-salamander_ps3.elf
ifeq ($(CELL_BUILD_TOOLS),SNC)
PPU_CFLAGS += -Xbranchless=1 -Xfastmath=1 -Xassumecorrectsign=1 -Xassumecorrectalignment=1 -Xunroll=1 -Xautovecreg=1
PPU_CXXFLAGS += -Xbranchless=1 -Xfastmath=1 -Xassumecorrectsign=1 -Xassumecorrectalignment=1 -Xunroll=1 -Xautovecreg=1
PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe
PPU_CLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe
PPU_CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
else
PPU_CFLAGS += -std=gnu99
PPU_CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
PPU_CLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe
PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe
endif
PPU_LDLIBS += -lm -lnet_stub -lnetctl_stub -lio_stub -lsysmodule_stub -lsysutil_stub -lsysutil_game_stub -lfs_stub -lsysutil_np_stub
PPU_OPTIMIZE_LV := -O2
MAKE_FSELF = $(CELL_SDK)/host-win32/bin/make_fself.exe
include $(CELL_MK_DIR)/sdk.target.mk
+138
View File
@@ -0,0 +1,138 @@
###
##
# Makefile for RetroArch PSL1GHT.
##
RARCH_VERSION = "0.9.8"
DEBUG = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
CC = $(PS3DEV)/ppu/bin/ppu-gcc
CXX = $(PS3DEV)/ppu/bin/ppu-g++
LD = $(PS3DEV)/ppu/bin/ppu-ld
CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001
ELF_TARGET := retroarch_psl1ght.elf
EBOOT_PATH = ps3/pkg/USRDIR/EBOOT.BIN
CORE_PATH = ps3/pkg/USRDIR/cores/CORE.SELF
INCLUDE := -I. -I$(PS3DEV)/ppu/include
LIBDIRS := -L$(PS3DEV)/ppu/lib -L$(PS3DEV)/portlibs/ppu/lib -L.
MACHDEP := -D__CELLOS_LV2__ -D__PSL1GHT__
CFLAGS += -Wall $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP)
LIBS := -lretro_psl1ght -laudio -lGL -lEGL -lrsx -lgcm_sys -lnet -lio -lsysutil -lsysmodule -lm -ljpgdec -lpngdec -llv2 -lnet -lnetctl
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
PKG_SCRIPT = ps3/ps3py/pkg.py
ifeq ($(shell uname), Linux)
PKG_FINALIZE = package_finalize
MAKE_SELF_WC = make_self_wc
MAKE_SELF = make_self_npdrm
PYTHON2 = python2
GIT = git
else
PKG_FINALIZE = package_finalize.exe
MAKE_SELF_WC = make_self_wc.exe
MAKE_SELF = make_self_npdrm.exe
PYTHON2 = python2.exe
GIT = git.exe
endif
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
PKG_SCRIPT = ps3/ps3py/pkg.py
ifeq ($(shell uname), Linux)
PKG_FINALIZE = package_finalize
MAKE_SELF_WC = make_self_wc
MAKE_SELF = make_self_npdrm
PYTHON2 = python2
GIT = git
else
PKG_FINALIZE = package_finalize.exe
MAKE_SELF_WC = make_self_wc.exe
MAKE_SELF = make_self_npdrm.exe
PYTHON2 = python2.exe
GIT = git.exe
endif
MAKE_FSELF_NPDRM = $(CELL_SDK)/host-win32/bin/make_fself_npdrm.exe
MAKE_PACKAGE_NPDRM = $(CELL_SDK)/host-win32/bin/make_package_npdrm.exe
OBJ = console/griffin/griffin.o
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -Iconsole/logger
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
endif
RSXGL_DEFINES = -D__RSX__ -DGL3_PROTOTYPES
SHARED_FLAGS := -DHAVE_FILEBROWSER $(RSXGL_DEFINES) -DHAVE_OPENGL -DHAVE_EGL -DHAVE_OPENGL_MODERN -DHAVE_GLSL -DHAVE_VID_CONTEXT -DHAVE_FBO -DHAVE_MOUSE -DHAVE_DEFAULT_RETROPAD_INPUT -DRARCH_CONSOLE -DHAVE_ZLIB -DWANT_RZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_GRIFFIN=1 -DHAVE_NETPLAY=1 -DHAVE_SOCKET_LEGACY=1 -DPACKAGE_VERSION=\"0.9.8\" -Dmain=rarch_main -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -Wno-char-subscripts
CFLAGS += -std=gnu99 $(SHARED_FLAGS)
CXXFLAGS += $(SHARED_FLAGS)
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3 -g
CXXFLAGS += -03 -g
endif
all: $(ELF_TARGET)
$(ELF_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
create-npdrm-core:
$(MAKE_FSELF_NPDRM) $(ELF_TARGET) $(CORE_PATH)
create-core:
$(MAKE_SELF_WC) $(ELF_TARGET) $(CORE_PATH)
pkg: $(ELF_TARGET) create-npdrm-core
$(MAKE_PACKAGE_NPDRM) ps3/pkg/package.conf ps3/pkg
pkg-signed: $(ELF_TARGET) create-core
$(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) ps3/pkg/ retroarch-ps3-cfw-$(RARCH_VERSION).pkg
clean:
rm -f $(ELF_TARGET)
rm -f $(OBJ)
.PHONY: clean
+31
View File
@@ -0,0 +1,31 @@
RARCH_VERSION = "0.9.8"
HAVE_FILE_LOGGER = 1
TARGET = retroarchpsp
INCDIR =
CFLAGS = -O2 -G0 -g -std=gnu99 -ffast-math
ASFLAGS = $(CFLAGS)
RARCH_DEFINES = -DPSP -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_FILEBROWSER -DHAVE_RARCH_MAIN_WRAP -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_ZLIB -DWANT_RZLIB -DHAVE_GRIFFIN=1 -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -Dmain=rarch_main -DHAVE_NULLVIDEO -DHAVE_NULLAUDIO -DHAVE_RMENU
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
endif
CFLAGS += $(RARCH_DEFINES)
LIBDIR =
LDFLAGS =
LIBS = -lretro_psp1 -lstdc++ -lpspgu -lpspgum -lm
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = RetroArch PSP1
PSP_OBJECTS = console/griffin/griffin.o
OBJS = $(PSP_OBJECTS)
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
+51
View File
@@ -0,0 +1,51 @@
DOWNLOAD_SHADERS = 1
SHADER_DIR := media/shaders
SHADER_XML_DIR := media/shaders_xml
SHADER_DEST_PS3_DIR := ps3/pkg/USRDIR/cores/shaders
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
ifeq ($(shell uname), Linux)
PYTHON2 = python2
PYTHON3 = python
GIT = git
else
PYTHON2 = python2.exe
PYTHON3 = python.exe
GIT = git.exe
endif
checkout-shaders:
ifeq ($(DOWNLOAD_SHADERS),1)
@if test -d $(SHADER_DIR); then \
echo "[SHADER CHECKOUT::] Git pulling common-shaders..."; \
cd $(SHADER_DIR); \
$(GIT) pull; \
cd ../../../../..; \
else \
echo "[SHADER CHECKOUT::] Git cloning common-shaders first..."; \
$(GIT) clone git://github.com/libretro/common-shaders.git $(SHADER_DIR); \
fi
endif
convert-xml:
$(PYTHON) tools/cg2xml.py $(SHADER_DIR) $(SHADER_XML_DIR)
deploy-ps3: checkout-shaders
@if test -d $(SHADER_DEST_PS3_DIR); then \
cp -r $(SHADER_DIR)/* $(SHADER_DEST_PS3_DIR); \
else \
echo "[DEPLOY PS3::] Creating PS3 shader directory first..."; \
mkdir -p $(SHADER_DEST_PS3_DIR) || bin/true; \
fi
@echo "[DEPLOY PS3::] Copied shaders to PS3 shaders directory."
+105
View File
@@ -0,0 +1,105 @@
###
##
# Makefile for RetroArch Wii.
##
DEBUG = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
PERF_TEST = 0
HAVE_WIIUSE_MOD = 1
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.100"
PC_DEVELOPMENT_UDP_PORT = 3490
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
ifeq ($(HAVE_WIIUSE_MOD), 1)
CFLAGS += -DHAVE_WIIUSE
else
LDFLAGS_WIIUSE := -lwiiuse
endif
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT)
ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
DOL_TARGET := retroarch_wii.dol
ELF_TARGET := retroarch_wii.elf
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include -I$(DEVKITPRO)/libogc/include/ogc
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/wii -L.
MACHDEP := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,strdup,-wrap,strndup,-wrap,malloc_usable_size -T gx/ld/rvl.ld
LIBS := -lfat -lretro_wii -logc $(LDFLAGS_WIIUSE) -lbte
APP_BOOTER_DIR = wii/app_booter
OBJ = console/griffin/griffin.o $(APP_BOOTER_DIR)/app_booter.binobj
ifeq ($(PERF_TEST), 1)
CFLAGS += -DPERF_TEST
endif
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
CFLAGS += -Iconsole/logger
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
CFLAGS += -Iconsole/logger
endif
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_RGUI -DHAVE_THREAD -DRARCH_CONSOLE -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_RARCH_EXEC -DHAVE_RMENU -DGEKKO -DHAVE_ZLIB -DWANT_RZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DHAVE_SCREENSHOTS -DPACKAGE_VERSION=\"0.9.8\" -Dmain=rarch_main -Wno-char-subscripts
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g -DDEBUG
else
CFLAGS += -O3
endif
all: $(DOL_TARGET)
%.dol: %.elf
$(ELF2DOL) $< $@
$(ELF_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.bmpobj: %.bmp
$(LD) -r -b binary -o $@ $<
%.binobj: %.bin
$(LD) -r -b binary -o $@ $<
$(APP_BOOTER_DIR)/app_booter.bin:
$(MAKE) -C $(APP_BOOTER_DIR)
pkg: all
cp -r $(DOL_TARGET) wii/pkg/CORE.dol
clean:
rm -f $(DOL_TARGET)
rm -f $(ELF_TARGET)
rm -f $(OBJ)
$(MAKE) -C $(APP_BOOTER_DIR) clean
.PHONY: clean
+91
View File
@@ -0,0 +1,91 @@
###
##
# Makefile for RetroArch Wii.
##
DEBUG = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
PC_DEVELOPMENT_UDP_PORT = 3490
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT)
ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
DOL_TARGET := retroarch-salamander_wii.dol
ELF_TARGET := retroarch-salamander_wii.elf
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/wii -L.
MACHDEP := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map
LIBS := -lfat -lwiiuse -logc -lbte
APP_BOOTER_DIR = wii/app_booter
OBJ = frontend/frontend_console.o file_path.o compat/compat.o conf/config_file.o $(APP_BOOTER_DIR)/app_booter.binobj
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
CFLAGS += -Iconsole/logger
OBJ += console/logger/logger.o
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
CFLAGS += -Iconsole/logger
endif
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DIS_SALAMANDER -DRARCH_CONSOLE -DHAVE_RARCH_EXEC -DGEKKO -DPACKAGE_VERSION=\"0.9.8\" -Wno-char-subscripts
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
all: $(DOL_TARGET)
%.dol: %.elf
$(ELF2DOL) $< $@
$(ELF_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.binobj: %.bin
$(LD) -r -b binary -o $@ $<
$(APP_BOOTER_DIR)/app_booter.bin:
$(MAKE) -C $(APP_BOOTER_DIR)
pkg: all
cp -r $(DOL_TARGET) wii/pkg/boot.dol
clean:
rm -f $(DOL_TARGET)
rm -f $(ELF_TARGET)
rm -f $(OBJ)
$(MAKE) -C $(APP_BOOTER_DIR) clean
.PHONY: clean
+301
View File
@@ -0,0 +1,301 @@
TARGET = retroarch.exe
JTARGET = tools/retroarch-joyconfig.exe
OBJ = retroarch.o \
file.o \
file_path.o \
driver.o \
conf/config_file.o \
settings.o \
hash.o \
dynamic.o \
message.o \
rewind.o \
movie.o \
gfx/gfx_common.o \
input/input_common.o \
patch.o \
compat/compat.o \
screenshot.o \
cheats.o \
audio/utils.o \
input/overlay.o \
fifo_buffer.o \
media/rarch.o \
gfx/scaler/scaler.o \
gfx/scaler/pixconv.o \
gfx/scaler/scaler_int.o \
gfx/scaler/filter.o \
gfx/state_tracker.o \
gfx/fonts/fonts.o \
gfx/fonts/bitmapfont.o \
gfx/image.o \
performance.o
JOBJ := conf/config_file.o \
tools/retroarch-joyconfig.o \
compat/compat.o \
file_path.o \
input/input_common.o \
input/dinput.o
CC = gcc
CXX = g++
WINDRES = windres
HAVE_DINPUT = 1
HAVE_XAUDIO = 1
HAVE_DSOUND = 1
HAVE_OPENGL = 1
HAVE_DYLIB = 1
HAVE_D3D9 = 1
HAVE_NETPLAY = 1
HAVE_STDIN_CMD = 1
HAVE_THREADS = 1
HAVE_SINC = 1
DYNAMIC = 1
ifeq ($(SLIM),)
HAVE_SDL = 1
HAVE_SDL_IMAGE = 1
HAVE_LIBXML2 = 1
HAVE_FREETYPE = 1
HAVE_ZLIB = 1
HAVE_RSOUND = 1
HAVE_FBO = 1
HAVE_CG = 1
HAVE_PYTHON = 1
HAVE_FFMPEG = 1
endif
libretro ?= -lretro
LIBS = -lm
DEFINES = -I. -DHAVE_SCREENSHOTS -DHAVE_BSV_MOVIE -DPACKAGE_VERSION=\"0.9.8\"
LDFLAGS = -L. -static-libgcc
ifeq ($(TDM_GCC),)
LDCXXFLAGS += -static-libstdc++
endif
ifeq ($(SCALER_NO_SIMD), 1)
DEFINES += -DSCALER_NO_SIMD
endif
ifeq ($(PERF_TEST), 1)
DEFINES += -DPERF_TEST
endif
JLIBS =
ifeq ($(HAVE_SDL), 1)
OBJ += gfx/sdl_gfx.o gfx/context/sdl_ctx.o input/sdl_input.o input/sdl_joypad.o audio/sdl_audio.o
JOBJ += input/sdl_joypad.o
LIBS += -lSDL
JLIBS += -lSDL
DEFINES += -ISDL -DHAVE_SDL
endif
ifeq ($(HAVE_THREADS), 1)
OBJ += autosave.o thread.o
DEFINES += -DHAVE_THREADS
endif
ifeq ($(HAVE_OPENGL), 1)
OBJ += gfx/gl.o gfx/math/matrix.o gfx/fonts/gl_font.o gfx/fonts/gl_raster_font.o gfx/gfx_context.o gfx/context/wgl_ctx.o gfx/shader_glsl.o
DEFINES += -DHAVE_OPENGL -DHAVE_OVERLAY -DHAVE_GLSL
LIBS += -lopengl32 -lgdi32
endif
ifeq ($(HAVE_SDL_IMAGE), 1)
LIBS += -lSDL_image
DEFINES += -DHAVE_SDL_IMAGE
endif
ifeq ($(HAVE_CG), 1)
OBJ += gfx/shader_cg.o
LIBS += -lcg -lcgGL
DEFINES += -DHAVE_CG
else
HAVE_D3D9 = 0
endif
ifeq ($(HAVE_D3D9), 1)
OBJ += gfx/d3d9/d3d9.o gfx/d3d9/render_chain.o
DEFINES += -DHAVE_WIN32_D3D9
LIBS += -ld3d9 -lcg -lcgD3D9 -ld3dx9 -ldxguid
endif
ifeq ($(HAVE_XAUDIO), 1)
OBJ += audio/xaudio.o audio/xaudio-c/xaudio-c.o
DEFINES += -DHAVE_XAUDIO
LIBS += -lole32
endif
ifeq ($(HAVE_DSOUND), 1)
OBJ += audio/dsound.o
DEFINES += -DHAVE_DSOUND
LIBS += -ldxguid -ldsound
endif
ifeq ($(HAVE_RSOUND), 1)
OBJ += audio/rsound.o
DEFINES += -DHAVE_RSOUND
LIBS += -lrsound
endif
ifeq ($(HAVE_ZLIB), 1)
OBJ += gfx/rpng/rpng.o file_extract.o
LIBS += -lz
DEFINES += -DHAVE_ZLIB_DEFLATE
endif
ifeq ($(HAVE_LIBXML2), 1)
DEFINES += -Ilibxml2 -DHAVE_LIBXML2 -DHAVE_GLSL
LIBS += -lxml2 -liconv
else
OBJ += compat/rxml/rxml.o
endif
ifeq ($(HAVE_DYLIB), 1)
DEFINES += -DHAVE_DYLIB
endif
ifeq ($(HAVE_STDIN_CMD), 1)
DEFINES += -DHAVE_COMMAND -DHAVE_STDIN_CMD
OBJ += command.o
endif
ifeq ($(HAVE_NETPLAY), 1)
DEFINES += -DHAVE_NETPLAY -DHAVE_NETWORK_CMD
OBJ += netplay.o
LIBS += -lws2_32
endif
ifeq ($(HAVE_FREETYPE), 1)
OBJ += gfx/fonts/freetype.o
DEFINES += -DHAVE_FREETYPE -Ifreetype2
LIBS += -lfreetype -lz
endif
ifeq ($(DYNAMIC), 1)
DEFINES += -DHAVE_DYNAMIC
else
LIBS += $(libretro)
endif
ifeq ($(HAVE_FBO), 1)
DEFINES += -DHAVE_FBO
endif
ifeq ($(HAVE_PYTHON), 1)
LIBS += -lpython32
DEFINES += -DHAVE_PYTHON -Ipython
OBJ += gfx/py_state/py_state.o
endif
ifeq ($(HAVE_DINPUT), 1)
LIBS += -ldinput8 -ldxguid -lole32
DEFINES += -DHAVE_DINPUT
OBJ += input/dinput.o
endif
ifeq ($(HAVE_FFMPEG), 1)
LIBS += -lavformat -lavcodec -lavutil -lswscale -lws2_32 -lz
DEFINES += -DHAVE_FFMPEG -Iffmpeg
OBJ += record/ffemu.o
endif
ifeq ($(HAVE_SINC), 1)
OBJ += audio/sinc.o
else
OBJ += audio/hermite.o
endif
ifneq ($(V), 1)
Q := @
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
CXXFLAGS += -O0 -g
else
CFLAGS += -O3
CXXFLAGS += -O3
LDCXXFLAGS += -s
endif
CFLAGS += -Wall -Wno-unused-result -I.
CXXFLAGS += -Wall -Wno-unused-result -I. -std=c++0x -D__STDC_CONSTANT_MACROS
ifeq ($(CXX_BUILD), 1)
CFLAGS += -std=c++0x -xc++ -D__STDC_CONSTANT_MACROS
else
CFLAGS += -std=gnu99
endif
all: $(TARGET) $(JTARGET)
$(TARGET): $(OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(CXX) -o $@ $(OBJ) $(LIBS) $(LDFLAGS) $(LDCXXFLAGS)
%.o: %.c
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
%.o: %.cpp
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CXXFLAGS) $(DEFINES) -c -o $@ $<
%.o: %.rc
@$(if $(Q), $(shell echo echo WINDRES $<),)
$(Q)$(WINDRES) -o $@ $<
$(JTARGET): $(JOBJ)
@$(if $(Q), $(shell echo echo LD $@),)
ifeq ($(CXX_BUILD), 1)
$(Q)$(CXX) -o $@ $(JOBJ) -ldxguid -ldinput8 -lole32 $(LDFLAGS) $(JLIBS)
else
$(Q)$(CC) -o $@ $(JOBJ) -ldxguid -ldinput8 -lole32 $(LDFLAGS) $(JLIBS)
endif
clean:
rm -f *.o
rm -f audio/*.o
rm -f audio/xaudio-c/*.o
rm -f compat/*.o
rm -f compat/rxml/*.o
rm -f conf/*.o
rm -f gfx/scaler/*.o
rm -f gfx/*.o
rm -f gfx/d3d9/*.o
rm -f gfx/context/*.o
rm -f gfx/math/*.o
rm -f gfx/fonts/*.o
rm -f gfx/py_state/*.o
rm -f record/*.o
rm -f input/*.o
rm -f $(TARGET)
rm -f retroarch-joyconfig.exe
rm -f tools/*.o
dist_x86: all
zip -r retroarch-win32-0.9.8.zip $(TARGET) $(JTARGET) retroarch.cfg
dist_x86_64: all
zip -r retroarch-win64-0.9.8.zip $(TARGET) $(JTARGET) retroarch.cfg
libs_x86:
wget https://github.com/downloads/Themaister/RetroArch/RetroArch-win32-libs.zip --no-check-certificate
unzip RetroArch-win32-libs.zip
wget https://github.com/downloads/Themaister/RetroArch/RetroArch-win32-headers.zip --no-check-certificate
unzip RetroArch-win32-headers.zip
libs_x86_64:
wget https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-libs.zip --no-check-certificate
unzip RetroArch-win64-libs.zip
wget https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-headers.zip --no-check-certificate
unzip RetroArch-win64-headers.zip
.PHONY: all install uninstall clean dist_x86 dist_x86_64 libs_x86 libs_x86_64
-125
View File
@@ -1,125 +0,0 @@
TARGET = ssnes.exe
JTARGET = ssnes-joyconfig.exe
OBJ = ssnes.o file.o driver.o conf/config_file.o settings.o dynamic.o message.o rewind.o movie.o autosave.o gfx/gfx_common.o ups.o strl.o
JOBJ = conf/config_file.o tools/main-stub.o tools/ssnes-joyconfig.o
CC = gcc
CXX = g++
HAVE_SRC = 0
HAVE_SDL = 1
HAVE_XML = 1
HAVE_FREETYPE = 1
HAVE_XAUDIO = 1
HAVE_RSOUND = 1
HAVE_FILTER = 1
HAVE_NETPLAY = 1
HAVE_FBO = 1
libsnes ?= -lsnes
LIBS = -lm
DEFINES = -I. -DHAVE_CONFIGFILE
LDFLAGS = -L. -static-libgcc -s
SRC_LIBS = -lsamplerate-0
SDL_LIBS = -lSDL
SDL_CFLAGS = -ISDL
ifeq ($(HAVE_SRC), 1)
LIBS += $(SRC_LIBS)
DEFINES += $(SRC_CFLAGS) -DHAVE_SRC
else
OBJ += audio/hermite.o
endif
ifeq ($(HAVE_SDL), 1)
OBJ += gfx/gl.o input/sdl.o audio/sdl.o audio/buffer.o
LIBS += $(SDL_LIBS) -lopengl32
DEFINES += $(SDL_CFLAGS) -DHAVE_SDL
endif
ifeq ($(HAVE_XAUDIO), 1)
OBJ += audio/xaudio.o
DEFINES += -DHAVE_XAUDIO
endif
ifeq ($(HAVE_RSOUND), 1)
OBJ += audio/rsound.o
DEFINES += -DHAVE_RSOUND
LIBS += -lrsound
endif
ifeq ($(HAVE_XML), 1)
OBJ += gfx/shader_glsl.o
DEFINES += $(XML_CFLAGS) -DHAVE_XML
LIBS += -lxml2
endif
ifeq ($(HAVE_FILTER), 1)
DEFINES += -DHAVE_FILTER
endif
ifeq ($(HAVE_NETPLAY), 1)
DEFINES += -DHAVE_NETPLAY
OBJ += netplay.o
LIBS += -lws2_32
endif
ifeq ($(HAVE_FREETYPE), 1)
OBJ += gfx/fonts.o
DEFINES += -DHAVE_FREETYPE -Ifreetype2
LIBS += -lz -lfreetype6
endif
ifeq ($(DYNAMIC), 1)
DEFINES += -DHAVE_DYNAMIC
else
LIBS += $(libsnes)
endif
ifeq ($(HAVE_FBO), 1)
DEFINES += -DHAVE_FBO
endif
ifneq ($(V),1)
Q := @
endif
CFLAGS = -Wall -O3 -std=gnu99 -I.
all: $(TARGET) $(JTARGET)
$(TARGET): $(OBJ)
$(Q)$(CXX) -o $@ $(OBJ) $(LIBS) $(LDFLAGS)
@$(if $(Q), $(shell echo echo LD $@),)
%.o: %.c
$(Q)$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
@$(if $(Q), $(shell echo echo CC $<),)
$(JTARGET): $(JOBJ)
$(Q)$(CC) -o $@ $(JOBJ) $(SDL_LIBS) $(LDFLAGS)
@$(if $(Q), $(shell echo echo LD $@),)
clean:
rm -f *.o
rm -f audio/*.o
rm -f conf/*.o
rm -f gfx/*.o
rm -f record/*.o
rm -f hqflt/*.o
rm -f input/*.o
rm -f hqflt/snes_ntsc/*.o
rm -f $(TARGET)
rm -f ssnes-joyconfig.exe
rm -f tools/*.o
dist: all
zip -r ssnes-win32-0.4-beta.zip $(TARGET) ssnes.cfg snes.dll libxml2.dll iconv.dll zlib1.dll SDL.dll freetype6.dll xaudio-c.dll rsound.dll pthreadGC2.dll README.win32.txt $(JTARGET)
libs:
wget https://github.com/downloads/Themaister/SSNES/SSNES-win32-libs.zip --no-check-certificate
unzip SSNES-win32-libs.zip
.PHONY: all install uninstall clean dist libs
+54
View File
@@ -0,0 +1,54 @@
###
##
# Makefile for RetroArch libxenon.
##
###
##
DEBUG = 0
CC = xenon-gcc
CXX = xenon-g++
OBJCOPY = xenon-objcopy
STRIP = xenon-strip
PPU_TARGET := retroarch-libxenon.elf
PPU_TARGET_ADJUSTED := retroarch-libxenon.elf32
LDDIRS = -L. -L$(DEVKITXENON)/usr/lib -L$(DEVKITXENON)/xenon/lib/32
INCDIRS = -I. -I$(DEVKITXENON)/usr/include
OBJ = console/griffin/griffin.o
LIBS = -lretro_xenon360 -lxenon -lm -lc
DEFINES = -std=gnu99 -DPACKAGE_VERSION=\"0.9.8\" -DRARCH_CONSOLE -DHAVE_THREAD -DHAVE_GETOPT_LONG=1 -DHAVE_GRIFFIN -Dmain=rarch_main
DEFINES += -maltivec -mhard-float -m32 -mpowerpc64 -mcpu=cell -mtune=cell -fno-pic -g -Wall -DXENON $(INCDIRS) -Wno-char-subscripts
DEFINES += -u read -u _start -u exc_base
ifeq ($(DEBUG), 1)
OPTIMIZE_LV := -O0 -g
else
OPTIMIZE_LV := -O3
endif
all: $(PPU_TARGET_ADJUSTED)
CFLAGS := $(OPTIMIZE_LV) $(DEFINES)
LDFLAGS := -m32 -n -T $(DEVKITXENON)/app.lds
$(PPU_TARGET_ADJUSTED): $(PPU_TARGET)
$(OBJCOPY) -O elf32-powerpc --adjust-vma 0x80000000 $< $@
$(STRIP) $@
$(PPU_TARGET): $(OBJ)
$(CXX) -o $@ $(OBJ) $(LDFLAGS) $(LDDIRS) $(LIBS)
%.o: %.c config.h
$(CC) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(PPU_TARGET)
rm -f $(OBJ)
.PHONY: clean
+106 -48
View File
@@ -1,32 +1,57 @@
# SSNES
# RetroArch
SSNES is a simple frontend for the libsnes library.
RetroArch (formerly known as SSNES) is a simple frontend for the libretro API. An API that attempts to generalize
a retro gaming system, such as SNES, NES, GameBoy, Arcade machines, etc.
Emulator/game cores are instantiated as loadable plugins.
# libsnes
# libretro
libsnes is the emulator core of [bSNES](http://www.byuu.org), the most accurate SNES emulator to date, in library form. The libsnes API has been implemented by SNES9x as well, allowing multiple different cores to be used for an emulator that supports libsnes.
This enables the possibility of custom front-ends for the emulator.
libretro is an API that exposes the core of a retro gaming system.
A frontend for libretro handles video output, audio output and input.
A libretro core written in portable C or C++ can run seamlessly on many platforms.
[libretro API header](https://github.com/Themaister/RetroArch/blob/master/libretro.h)
# Binaries
Latest Windows binaries are currently hosted on my [homepage](http://themaister.net/retroarch.html).
# Related projects
- GUI frontend for PC: [RetroArch-Phoenix](https://github.com/Themaister/RetroArch-Phoenix)
- Cg/HLSL shaders: [common-shaders](https://github.com/twinaphex/common-shaders)
- More Cg shaders: [Emulator-Shader-Pack](https://github.com/Themaister/Emulator-Shader-Pack)
- Helper scripts to build libretro implementations: [libretro-super](https://github.com/libretro/libretro-super)
# Philosophy
SSNES attempts to be very small and lean, while still having all the useful core features expected from an emulator.
It is used through command-line.
RetroArch attempts to be very small and lean,
while still having all the useful core features expected from an emulator.
It is used through command-line. It is also designed to be portable.
# Dependencies
# Platforms
SSNES requires these libraries to build:
RetroArch has been ported to the following platforms outside PC:
- PlayStation3
- Xbox 360 (Libxenon/XeXDK)
- Wii (Libogc)
- Raspberry Pi
# Dependencies (PC)
RetroArch requires these libraries to build:
- [libsnes](http://byuu.org/bsnes/)
- SDL
SSNES can utilize these libraries if enabled:
RetroArch can utilize these libraries if enabled:
- nvidia-cg-toolkit
- libxml2 (bSNES XML shaders)
- libxml2 (GLSL XML shaders)
- libfreetype2 (TTF font rendering on screen)
- libsamplerate
SSNES needs at least one of these audio driver libraries:
RetroArch needs at least one of these audio driver libraries:
- ALSA
- OSS
@@ -38,60 +63,93 @@ SSNES needs at least one of these audio driver libraries:
- XAudio2 (Win32)
- PulseAudio
# Building libsnes
To run properly, RetroArch requires a libretro implementation present, however, as it's typically loaded
dynamically, it's not required at build time.
- Download bSNES source (link over).
- Add -fPIC to flags in Makefile.
- <tt>$ make library profile=performance</tt> (accuracy, compatibility are the other profiles. compatibility is a great choice for decent PCs. :D)
- <tt># make prefix=/usr library-install</tt>
- <tt># cp snes/libsnes/libsnes.hpp /usr/include/</tt>
- ?!?!
- Profit!
# Dependencies (Console ports)
Console ports have their own dependencies, but generally do not require
anything other than what the respective SDKs provide.
# Configuring
The default configuration is defined in config.def.h.
These can later be tweaked by using the ssnes config file.
A sample configuration file is installed to /etc/ssnes.cfg.
These can later be tweaked by using a config file.
A sample configuration file is installed to /etc/retroarch.cfg.
This is the system-wide config file.
Each user should create a config file in $XDG\_CONFIG\_HOME/ssnes/ssnes.cfg.
Each user should create a config file in $XDG\_CONFIG\_HOME/retroarch/retroarch.cfg.
The users only need to configure a certain option if the desired value deviates from the value defined in config.def.h.
To configure joypads, start up <tt>jstest /dev/input/js0</tt> to determine which joypad buttons (and axis) to use. It is also possible to use the <tt>ssnes-joyconfig</tt> tool as well for simple configuration.
To configure joypads, use the <tt>retroarch-joyconfig</tt> tool.
It is also possible to configure joypads using the RetroArch-Phoenix GUI frontend.
# Compiling and installing
<b>Linux/Unix</b><br/>
As most packages, SSNES is built using the standard <tt>./configure && make && make install</tt>
Do note that the build system is not autotools based, but resembles it.
<b>PC</b><br/>
Instructions for compiling on PC can be found in the [wiki](https://github.com/Themaister/RetroArch/wiki).
Notable options for ./configure:
--with-libsnes=: Normally libsnes is located with -lsnes, however, this can be overridden.
--enable-dynamic: Do not link to libsnes at compile time, but load libsnes dynamically at runtime. libsnes\_path in config file defines which library to load. Useful for development.
<b>PlayStation3</b><br/>
Do note that these two options are mutually exclusive.
RetroArch PS3 needs to be compiled in the following order:
<b>Win32</b><br/>
It is possible with MinGW to compile for Windows in either msys or Linux/Unix based systems. Do note that Windows build uses a static Makefile since configuration scripts create more harm than good on this platform. Libraries, headers, etc, needed to compile and run SSNES can be fetched with a Makefile target.
1) Compile RetroArch Salamander
In Linux/Unix:<br/>
<tt>make -f Makefile.win32 libs</tt></br>
<tt>make -f Makefile.win32 CC=i486-mingw32-gcc CXX=i486-mingw32-g++</tt></br>
<tt>make -f Makefile.ps3.salamander</tt>
In MSYS:
<tt>mingw32-make -f Makefile.win32 libs</tt>. # You will need to have wget in your patch for this command! MSYS should provide this.</br>
<tt>mingw32-make -f Makefile.win32</tt>
2) Compile the RGL video driver
<tt>make -f Makefile.ps3.rgl</tt>
3) Compile RetroArch as a library
# Filters, bSNES XML shaders and Cg shader support
<tt>make -f Makefile.ps3.retroarch</tt>
This is not strictly not necessary for an emulator, but it can be enabled if desired.
For best performance, Cg shaders or bSNES XML shaders are recommended as they do not eat up valuable CPU time (assuming your GPU can handle the shaders).
Cg shaders and XML shaders (GLSL) are compiled at run-time.
All shaders share a common interface to pass some essential arguments such as texture size and viewport size. (Common for pixel art scalers)
Some Cg shaders are included in hqflt/cg/ and could be used as an example.
bSNES XML shaders can be found on various places on the net. Best place to start looking are the bSNES forums.
4) Finally, compile RetroArch packed together with the GUI:
The Cg shaders closely resemble the GLSL shaders found in bSNES shader pack, so porting them is trivial if desired.
<tt>make -f Makefile.ps3</tt>
<b>PlayStation3 - Creating a PKG installable file</b><br />
You can add 'pkg' as a parameter in order to make a PKG file - for example:
<tt>make -f Makefile.ps3 pkg</tt>
This creates an NPDRM package. This can be installed on debug PS3s.
To make a non-NPDRM package that can be installed on a jailbroken/CFW PS3 (such as PSGroove or PS3 CFWs and other 3.55 CFW derivatives), do:
<tt>make -f Makefile.ps3 pkg-signed</tt>
If you're using Kmeaw 3.55 firmware, the package needs to be signed:
<tt>make -f Makefile.ps3 pkg-signed-cfw</tt>
NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch PS3. This file needs to be called <em><b>'libretro_ps3.a'</b></em>.
<b> Xbox 360 (XeXDK)</b><br />
You will need Microsoft Visual Studio 2010 installed (or higher) in order to compile RetroArch 360.
The solution file can be found at the following location:
<tt>msvc-360/RetroArch-360.sln</tt>
NOTE: A pre-existing libretro library needs to be present in the 'msvc-360/RetroArch-360/Release' directory in order to link RetroArch 360. This file needs to be
called <em><b>'libretro_xdk360.lib'</b></em>.
<b> Xbox 360 (Libxenon)</b><br />
You will need to have the libxenon libraries and a working Devkit Xenon toolchain installed in order to compile RetroArch 360 Libxenon.
<tt>make -f Makefile.xenon</tt>
NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch 360 Libxenon. This file needs to be called <em><b>'libretro_xenon360.a'</b></em>.
<b> Wii</b><br >
You will need to have the libogc libraries and a working Devkit PPC toolchain installed in order to compile RetroArch Wii.
<tt>make -f Makefile.wii</tt>
NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch Wii. This file needs to be called <em><b>'libretro_wii.a'</b></em>.
-39
View File
@@ -1,39 +0,0 @@
===================================================
SSNES - Simple Super Nintendo Emulator System
===================================================
SSNES is a simplistic emulator frontend designed for use without any GUI.
It is used from command line, but is designed to play well with eventual GUI frontends,
as the configuration file format is very simple.
This allows for great portability and focus on what matters in a frontend, such as video and audio performance.
Its core libraries for video and input are OpenGL and SDL, with many different audio library supported.
On first use you should get accustomed to how SSNES works.
- SSNES emphasizes simplicity. It has no graphical user interface, and is primarily used through the command line.
It is recommended for experienced users.
It is possible though to create a GUI which can use SSNES.
- SSNES isn't dependant on any emulator core, such as bSNES, SNES9x or ZSNES.
SSNES only talks to the libsnes interface,
which was created initially by bSNES but it has an implementation available for SNES9x as well.
- SSNES is configured through a config file. In the Win32 distribution, there should be a ssnes.cfg included.
This config file serves as a base for your custom configuration file.
It is recommended that you go through the config file and alter any configurations you might use.
This is a good way to learn about the features SSNES have.
It is possible to pick which configuration file you want with the '-c' flag.
E.g.: ssnes.exe -c myconfig.cfg rom.sfc.
- When unsure which command line flags to use, use the command: ssnes.exe --help.
- When something is not working as expected, try using verbose logging first to see what is happening:
E.g.: ssnes.exe -v romfile.sfc
If something is not working, and you want to file a bug report,
please include console output with the -v flag turned on.
- SSNES does not support zipped roms directly. It only supports roms with extentions .sfc and .smc.
However, SSNES can read roms from stdin,
which makes it possible to create wrapper programs that can support every zip format under the sun.
This can also be performed by a GUI frontend.
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>android.app.NativeActivity</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.retroarch.retroarch"
android:versionCode="1"
android:versionName="1.0">
<!-- This is the platform API where NativeActivity was introduced. -->
<uses-sdk android:minSdkVersion="9" />
<!-- This .apk has no Java code itself, so set hasCode to false. -->
<application android:label="@string/app_name" android:hasCode="false">
<!-- Our activity is the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="android.app.NativeActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<!-- Tell NativeActivity the name of or .so -->
<meta-data android:name="android.app.lib_name"
android:value="retroarch" />
<meta-data android:name="android.app.func_name"
android:value="ANativeActivity_onCreate" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
+62
View File
@@ -0,0 +1,62 @@
RARCH_VERSION = "0.9.8"
LOCAL_PATH := $(call my-dir)
PERF_TEST := 0
HAVE_NEON := 1
HAVE_SINC := 1
HAVE_LOGGER := 1
include $(CLEAR_VARS)
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -DANDROID_ARM -marm
LOCAL_ARM_MODE := arm
endif
ifeq ($(TARGET_ARCH),x86)
LOCAL_CFLAGS += -DANDROID_X86 -DHAVE_SSSE3
endif
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
ifeq ($(HAVE_NEON),1)
LOCAL_CFLAGS += -DHAVE_NEON
LOCAL_SRC_FILES += ../../../audio/utils_neon.S.neon
endif
ifeq ($(HAVE_SINC),1)
ifeq ($(HAVE_NEON),1)
LOCAL_SRC_FILES += ../../../audio/sinc_neon.S.neon
endif
LOCAL_CFLAGS += -DHAVE_SINC
endif
LOCAL_CFLAGS += -DANDROID_ARM_V7
endif
ifeq ($(TARGET_ARCH),mips)
LOCAL_CFLAGS += -DANDROID_MIPS -D__mips__ -D__MIPSEL__
endif
LOCAL_MODULE := retroarch-activity
RARCH_PATH := ../../..
LOCAL_SRC_FILES += $(RARCH_PATH)/console/griffin/griffin.c
ifeq ($(HAVE_LOGGER), 1)
LOCAL_CFLAGS += -DHAVE_LOGGER
LOGGER_LDLIBS := -llog
endif
ifeq ($(PERF_TEST), 1)
LOCAL_CFLAGS += -DPERF_TEST
endif
LOCAL_CFLAGS += -Wall -Wno-unused-function -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_FBO -DHAVE_OVERLAY -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DWANT_RZLIB -DHAVE_ZLIB -DINLINE=inline -DLSB_FIRST -DHAVE_THREAD -D__LIBRETRO__ -DRARCH_PERFORMANCE_MODE -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -std=gnu99 -I../../../deps/rzlib
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -landroid -lEGL -lGLESv2 $(LOGGER_LDLIBS) -ldl
LOCAL_CFLAGS += -DHAVE_SL
LOCAL_LDLIBS += -lOpenSLES
include $(BUILD_SHARED_LIBRARY)
+2
View File
@@ -0,0 +1,2 @@
APP_PLATFORM := android-9
APP_ABI := all
+547
View File
@@ -0,0 +1,547 @@
/*
* Copyright (C) 2010 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/* ChangeLog for this library:
*
* NDK r7c: Fix CPU count computation. The old method only reported the
* number of _active_ CPUs when the library was initialized,
* which could be less than the real total.
*
* NDK r5: Handle buggy kernels which report a CPU Architecture number of 7
* for an ARMv6 CPU (see below).
*
* Handle kernels that only report 'neon', and not 'vfpv3'
* (VFPv3 is mandated by the ARM architecture is Neon is implemented)
*
* Handle kernels that only report 'vfpv3d16', and not 'vfpv3'
*
* Fix x86 compilation. Report ANDROID_CPU_FAMILY_X86 in
* android_getCpuFamily().
*
* NDK r4: Initial release
*/
#include <sys/system_properties.h>
#ifdef __arm__
#include <machine/cpu-features.h>
#endif
#include <pthread.h>
#include "cpufeatures.h"
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
static pthread_once_t g_once;
static AndroidCpuFamily g_cpuFamily;
static uint64_t g_cpuFeatures;
static int g_cpuCount;
#ifdef __arm__
# define DEFAULT_CPU_FAMILY ANDROID_CPU_FAMILY_ARM
#elif defined __i386__
# define DEFAULT_CPU_FAMILY ANDROID_CPU_FAMILY_X86
#else
# define DEFAULT_CPU_FAMILY ANDROID_CPU_FAMILY_UNKNOWN
#endif
#define D(...) \
do { \
} while (0)
#ifdef __i386__
static __inline__ void cpu_x86_cpuid(int func, int values[4])
{
int a, b, c, d;
/* We need to preserve ebx since we're compiling PIC code */
/* this means we can't use "=b" for the second output register */
__asm__ __volatile__ ( \
"push %%ebx\n"
"cpuid\n" \
"mov %1, %%ebx\n"
"pop %%ebx\n"
: "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
: "a" (func) \
);
values[0] = a;
values[1] = b;
values[2] = c;
values[3] = d;
}
#endif
/* Read the content of /proc/cpuinfo into a user-provided buffer.
* Return the length of the data, or -1 on error. Does *not*
* zero-terminate the content. Will not read more
* than 'buffsize' bytes.
*/
static int
cpu_read_file(const char* pathname, char* buffer, size_t buffsize)
{
int fd, len;
fd = open(pathname, O_RDONLY);
if (fd < 0)
return -1;
do {
len = read(fd, buffer, buffsize);
} while (len < 0 && errno == EINTR);
close(fd);
return len;
}
/* Extract the content of a the first occurence of a given field in
* the content of /proc/cpuinfo and return it as a heap-allocated
* string that must be freed by the caller.
*
* Return NULL if not found
*/
static char*
extract_cpuinfo_field(char* buffer, int buflen, const char* field)
{
int fieldlen = strlen(field);
char* bufend = buffer + buflen;
char* result = NULL;
int len;
const char *p, *q;
/* Look for first field occurence, and ensures it starts the line.
*/
p = buffer;
bufend = buffer + buflen;
for (;;) {
p = memmem(p, bufend-p, field, fieldlen);
if (p == NULL)
goto EXIT;
if (p == buffer || p[-1] == '\n')
break;
p += fieldlen;
}
/* Skip to the first column followed by a space */
p += fieldlen;
p = memchr(p, ':', bufend-p);
if (p == NULL || p[1] != ' ')
goto EXIT;
/* Find the end of the line */
p += 2;
q = memchr(p, '\n', bufend-p);
if (q == NULL)
q = bufend;
/* Copy the line into a heap-allocated buffer */
len = q-p;
result = malloc(len+1);
if (result == NULL)
goto EXIT;
memcpy(result, p, len);
result[len] = '\0';
EXIT:
return result;
}
/* Like strlen(), but for constant string literals */
#define STRLEN_CONST(x) ((sizeof(x)-1)
/* Checks that a space-separated list of items contains one given 'item'.
* Returns 1 if found, 0 otherwise.
*/
static int
has_list_item(const char* list, const char* item)
{
const char* p = list;
int itemlen = strlen(item);
if (list == NULL)
return 0;
while (*p) {
const char* q;
/* skip spaces */
while (*p == ' ' || *p == '\t')
p++;
/* find end of current list item */
q = p;
while (*q && *q != ' ' && *q != '\t')
q++;
if (itemlen == q-p && !memcmp(p, item, itemlen))
return 1;
/* skip to next item */
p = q;
}
return 0;
}
/* Parse an decimal integer starting from 'input', but not going further
* than 'limit'. Return the value into '*result'.
*
* NOTE: Does not skip over leading spaces, or deal with sign characters.
* NOTE: Ignores overflows.
*
* The function returns NULL in case of error (bad format), or the new
* position after the decimal number in case of success (which will always
* be <= 'limit').
*/
static const char*
parse_decimal(const char* input, const char* limit, int* result)
{
const char* p = input;
int val = 0;
while (p < limit) {
int d = (*p - '0');
if ((unsigned)d >= 10U)
break;
val = val*10 + d;
p++;
}
if (p == input)
return NULL;
*result = val;
return p;
}
/* This small data type is used to represent a CPU list / mask, as read
* from sysfs on Linux. See http://www.kernel.org/doc/Documentation/cputopology.txt
*
* For now, we don't expect more than 32 cores on mobile devices, so keep
* everything simple.
*/
typedef struct {
uint32_t mask;
} CpuList;
static __inline__ void
cpulist_init(CpuList* list) {
list->mask = 0;
}
static __inline__ void
cpulist_and(CpuList* list1, CpuList* list2) {
list1->mask &= list2->mask;
}
static __inline__ void
cpulist_set(CpuList* list, int index) {
if ((unsigned)index < 32) {
list->mask |= (uint32_t)(1U << index);
}
}
static __inline__ int
cpulist_count(CpuList* list) {
return __builtin_popcount(list->mask);
}
/* Parse a textual list of cpus and store the result inside a CpuList object.
* Input format is the following:
* - comma-separated list of items (no spaces)
* - each item is either a single decimal number (cpu index), or a range made
* of two numbers separated by a single dash (-). Ranges are inclusive.
*
* Examples: 0
* 2,4-127,128-143
* 0-1
*/
static void
cpulist_parse(CpuList* list, const char* line, int line_len)
{
const char* p = line;
const char* end = p + line_len;
const char* q;
/* NOTE: the input line coming from sysfs typically contains a
* trailing newline, so take care of it in the code below
*/
while (p < end && *p != '\n')
{
int val, start_value, end_value;
/* Find the end of current item, and put it into 'q' */
q = memchr(p, ',', end-p);
if (q == NULL) {
q = end;
}
/* Get first value */
p = parse_decimal(p, q, &start_value);
if (p == NULL)
goto BAD_FORMAT;
end_value = start_value;
/* If we're not at the end of the item, expect a dash and
* and integer; extract end value.
*/
if (p < q && *p == '-') {
p = parse_decimal(p+1, q, &end_value);
if (p == NULL)
goto BAD_FORMAT;
}
/* Set bits CPU list bits */
for (val = start_value; val <= end_value; val++) {
cpulist_set(list, val);
}
/* Jump to next item */
p = q;
if (p < end)
p++;
}
BAD_FORMAT:
;
}
/* Read a CPU list from one sysfs file */
static void
cpulist_read_from(CpuList* list, const char* filename)
{
char file[64];
int filelen;
cpulist_init(list);
filelen = cpu_read_file(filename, file, sizeof file);
if (filelen < 0) {
D("Could not read %s: %s\n", filename, strerror(errno));
return;
}
cpulist_parse(list, file, filelen);
}
/* Return the number of cpus present on a given device.
*
* To handle all weird kernel configurations, we need to compute the
* intersection of the 'present' and 'possible' CPU lists and count
* the result.
*/
static int
get_cpu_count(void)
{
CpuList cpus_present[1];
CpuList cpus_possible[1];
cpulist_read_from(cpus_present, "/sys/devices/system/cpu/present");
cpulist_read_from(cpus_possible, "/sys/devices/system/cpu/possible");
/* Compute the intersection of both sets to get the actual number of
* CPU cores that can be used on this device by the kernel.
*/
cpulist_and(cpus_present, cpus_possible);
return cpulist_count(cpus_present);
}
static void
android_cpuInit(void)
{
char cpuinfo[4096];
int cpuinfo_len;
g_cpuFamily = DEFAULT_CPU_FAMILY;
g_cpuFeatures = 0;
g_cpuCount = 1;
cpuinfo_len = cpu_read_file("/proc/cpuinfo", cpuinfo, sizeof cpuinfo);
D("cpuinfo_len is (%d):\n%.*s\n", cpuinfo_len,
cpuinfo_len >= 0 ? cpuinfo_len : 0, cpuinfo);
if (cpuinfo_len < 0) /* should not happen */ {
return;
}
/* Count the CPU cores, the value may be 0 for single-core CPUs */
g_cpuCount = get_cpu_count();
if (g_cpuCount == 0) {
g_cpuCount = 1;
}
D("found cpuCount = %d\n", g_cpuCount);
#ifdef __ARM_ARCH__
{
/* Extract architecture from the "CPU Architecture" field.
* The list is well-known, unlike the the output of
* the 'Processor' field which can vary greatly.
*
* See the definition of the 'proc_arch' array in
* $KERNEL/arch/arm/kernel/setup.c and the 'c_show' function in
* same file.
*/
char* cpuArch = extract_cpuinfo_field(cpuinfo, cpuinfo_len, "CPU architecture");
if (cpuArch != NULL) {
char* end;
long archNumber;
int hasARMv7 = 0;
D("found cpuArch = '%s'\n", cpuArch);
/* read the initial decimal number, ignore the rest */
archNumber = strtol(cpuArch, &end, 10);
/* Here we assume that ARMv8 will be upwards compatible with v7
* in the future. Unfortunately, there is no 'Features' field to
* indicate that Thumb-2 is supported.
*/
if (end > cpuArch && archNumber >= 7) {
hasARMv7 = 1;
}
/* Unfortunately, it seems that certain ARMv6-based CPUs
* report an incorrect architecture number of 7!
*
* See http://code.google.com/p/android/issues/detail?id=10812
*
* We try to correct this by looking at the 'elf_format'
* field reported by the 'Processor' field, which is of the
* form of "(v7l)" for an ARMv7-based CPU, and "(v6l)" for
* an ARMv6-one.
*/
if (hasARMv7) {
char* cpuProc = extract_cpuinfo_field(cpuinfo, cpuinfo_len,
"Processor");
if (cpuProc != NULL) {
D("found cpuProc = '%s'\n", cpuProc);
if (has_list_item(cpuProc, "(v6l)")) {
D("CPU processor and architecture mismatch!!\n");
hasARMv7 = 0;
}
free(cpuProc);
}
}
if (hasARMv7) {
g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_ARMv7;
}
/* The LDREX / STREX instructions are available from ARMv6 */
if (archNumber >= 6) {
g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_LDREX_STREX;
}
free(cpuArch);
}
/* Extract the list of CPU features from 'Features' field */
char* cpuFeatures = extract_cpuinfo_field(cpuinfo, cpuinfo_len, "Features");
if (cpuFeatures != NULL) {
D("found cpuFeatures = '%s'\n", cpuFeatures);
if (has_list_item(cpuFeatures, "vfpv3"))
g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3;
else if (has_list_item(cpuFeatures, "vfpv3d16"))
g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3;
if (has_list_item(cpuFeatures, "neon")) {
/* Note: Certain kernels only report neon but not vfpv3
* in their features list. However, ARM mandates
* that if Neon is implemented, so must be VFPv3
* so always set the flag.
*/
g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_NEON |
ANDROID_CPU_ARM_FEATURE_VFPv3;
}
free(cpuFeatures);
}
}
#endif /* __ARM_ARCH__ */
#ifdef __i386__
g_cpuFamily = ANDROID_CPU_FAMILY_X86;
int regs[4];
/* According to http://en.wikipedia.org/wiki/CPUID */
#define VENDOR_INTEL_b 0x756e6547
#define VENDOR_INTEL_c 0x6c65746e
#define VENDOR_INTEL_d 0x49656e69
cpu_x86_cpuid(0, regs);
int vendorIsIntel = (regs[1] == VENDOR_INTEL_b &&
regs[2] == VENDOR_INTEL_c &&
regs[3] == VENDOR_INTEL_d);
cpu_x86_cpuid(1, regs);
if ((regs[2] & (1 << 9)) != 0) {
g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_SSSE3;
}
if ((regs[2] & (1 << 23)) != 0) {
g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_POPCNT;
}
if (vendorIsIntel && (regs[2] & (1 << 22)) != 0) {
g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_MOVBE;
}
#endif
#ifdef _MIPS_ARCH
g_cpuFamily = ANDROID_CPU_FAMILY_MIPS;
#endif /* _MIPS_ARCH */
}
AndroidCpuFamily
android_getCpuFamily(void)
{
pthread_once(&g_once, android_cpuInit);
return g_cpuFamily;
}
uint64_t
android_getCpuFeatures(void)
{
pthread_once(&g_once, android_cpuInit);
return g_cpuFeatures;
}
int
android_getCpuCount(void)
{
pthread_once(&g_once, android_cpuInit);
return g_cpuCount;
}
+65
View File
@@ -0,0 +1,65 @@
/*
* Copyright (C) 2010 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef CPU_FEATURES_H
#define CPU_FEATURES_H
#include <sys/cdefs.h>
#include <stdint.h>
typedef enum {
ANDROID_CPU_FAMILY_UNKNOWN = 0,
ANDROID_CPU_FAMILY_ARM,
ANDROID_CPU_FAMILY_X86,
ANDROID_CPU_FAMILY_MIPS,
ANDROID_CPU_FAMILY_MAX /* do not remove */
} AndroidCpuFamily;
/* Return family of the device's CPU */
extern AndroidCpuFamily android_getCpuFamily(void);
enum {
ANDROID_CPU_ARM_FEATURE_ARMv7 = (1 << 0),
ANDROID_CPU_ARM_FEATURE_VFPv3 = (1 << 1),
ANDROID_CPU_ARM_FEATURE_NEON = (1 << 2),
ANDROID_CPU_ARM_FEATURE_LDREX_STREX = (1 << 3),
};
enum {
ANDROID_CPU_X86_FEATURE_SSSE3 = (1 << 0),
ANDROID_CPU_X86_FEATURE_POPCNT = (1 << 1),
ANDROID_CPU_X86_FEATURE_MOVBE = (1 << 2),
};
extern uint64_t android_getCpuFeatures(void);
/* Return the number of CPU cores detected on this device. */
extern int android_getCpuCount(void);
#endif /* CPU_FEATURES_H */
+285
View File
@@ -0,0 +1,285 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <android/keycodes.h>
#include <unistd.h>
#include "input_autodetect.h"
#include "../../../frontend/frontend_android.h"
#include "../../../input/input_common.h"
#include "../../../performance.h"
#include "../../../general.h"
#include "../../../driver.h"
#define MAX_TOUCH 16
#define PRESSED_UP(x, y) ((-0.80f > y) && (x >= -1.00f))
#define PRESSED_DOWN(x, y) ((0.80f < y) && (y <= 1.00f))
#define PRESSED_LEFT(x, y) ((-0.80f > x) && (x >= -1.00f))
#define PRESSED_RIGHT(x, y) ((0.80f < x) && (x <= 1.00f))
static unsigned pads_connected;
static int state_device_ids[MAX_PADS];
static uint64_t state[MAX_PADS];
struct input_pointer
{
int16_t x, y;
int16_t full_x, full_y;
};
static struct input_pointer pointer[MAX_TOUCH];
static unsigned pointer_count;
static void *android_input_init(void)
{
pads_connected = 0;
for(unsigned player = 0; player < 4; player++)
for(unsigned i = 0; i < RARCH_FIRST_META_KEY; i++)
{
g_settings.input.binds[player][i].id = i;
g_settings.input.binds[player][i].joykey = 0;
}
for(int player = 0; player < 4; player++)
{
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_B].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_B);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_Y].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_Y);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_SELECT].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_SELECT);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_START].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_START);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_UP].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_UP);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_DOWN].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_LEFT].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_RIGHT].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_A].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_A);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_X].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_X);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_L].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_L);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_R].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_R);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_L2].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_L2);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_R2].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_R2);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_L3].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_L3);
g_settings.input.binds[player][RETRO_DEVICE_ID_JOYPAD_R3].joykey = (1ULL << RETRO_DEVICE_ID_JOYPAD_R3);
}
input_autodetect_init();
return (void*)-1;
}
static void android_input_poll(void *data)
{
(void)data;
RARCH_PERFORMANCE_INIT(input_poll);
RARCH_PERFORMANCE_START(input_poll);
bool debug_enable = g_settings.input.debug_enable;
struct android_app* android_app = (struct android_app*)g_android;
uint64_t *lifecycle_state = &g_extern.lifecycle_state;
*lifecycle_state &= ~((1ULL << RARCH_RESET) | (1ULL << RARCH_REWIND) | (1ULL << RARCH_FAST_FORWARD_KEY) | (1ULL << RARCH_FAST_FORWARD_HOLD_KEY) | (1ULL << RARCH_MUTE) | (1ULL << RARCH_SAVE_STATE_KEY) | (1ULL << RARCH_LOAD_STATE_KEY) | (1ULL << RARCH_STATE_SLOT_PLUS) | (1ULL << RARCH_STATE_SLOT_MINUS));
// Read all pending events.
while (AInputQueue_hasEvents(android_app->inputQueue) > 0)
{
AInputEvent* event = NULL;
if (AInputQueue_getEvent(android_app->inputQueue, &event) < 0)
break;
int32_t handled = 1;
int action = 0;
char msg[128];
msg[0] = 0;
int source = AInputEvent_getSource(event);
int id = AInputEvent_getDeviceId(event);
int keycode = AKeyEvent_getKeyCode(event);
int type_event = AInputEvent_getType(event);
int state_id = -1;
for (unsigned i = 0; i < pads_connected; i++)
if (state_device_ids[i] == id)
state_id = i;
if (state_id < 0)
{
state_id = pads_connected;
state_device_ids[pads_connected++] = id;
input_autodetect_setup(android_app, msg, sizeof(msg), state_id, id, source);
}
if (keycode == AKEYCODE_BACK && (source & (AINPUT_SOURCE_KEYBOARD)))
{
*lifecycle_state |= (1ULL << RARCH_QUIT_KEY);
AInputQueue_finishEvent(android_app->inputQueue, event, handled);
break;
}
else if(type_event == AINPUT_EVENT_TYPE_MOTION && (g_settings.input.dpad_emulation[state_id] != DPAD_EMULATION_NONE))
{
float x = 0.0f;
float y = 0.0f;
action = AMotionEvent_getAction(event);
size_t motion_pointer = action >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT;
action &= AMOTION_EVENT_ACTION_MASK;
if(source & ~(AINPUT_SOURCE_TOUCHSCREEN | AINPUT_SOURCE_MOUSE))
{
uint64_t *state_cur = &state[state_id];
x = AMotionEvent_getX(event, motion_pointer);
y = AMotionEvent_getY(event, motion_pointer);
*state_cur &= ~((1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT) | (1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT) |
(1ULL << RETRO_DEVICE_ID_JOYPAD_UP) | (1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN));
*state_cur |= PRESSED_LEFT(x, y) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT) : 0;
*state_cur |= PRESSED_RIGHT(x, y) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT) : 0;
*state_cur |= PRESSED_UP(x, y) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_UP) : 0;
*state_cur |= PRESSED_DOWN(x, y) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN) : 0;
}
else
{
bool keyup = (action == AMOTION_EVENT_ACTION_UP ||
action == AMOTION_EVENT_ACTION_CANCEL || action == AMOTION_EVENT_ACTION_POINTER_UP) ||
(source == AINPUT_SOURCE_MOUSE && action != AMOTION_EVENT_ACTION_DOWN);
if (motion_pointer < MAX_TOUCH)
{
if (!keyup)
{
x = AMotionEvent_getX(event, motion_pointer);
y = AMotionEvent_getY(event, motion_pointer);
input_translate_coord_viewport(x, y,
&pointer[motion_pointer].x, &pointer[motion_pointer].y,
&pointer[motion_pointer].full_x, &pointer[motion_pointer].full_y);
pointer_count = max(pointer_count, motion_pointer + 1);
}
else
{
memmove(pointer + motion_pointer, pointer + motion_pointer + 1, (MAX_TOUCH - motion_pointer - 1) * sizeof(struct input_pointer));
if (pointer_count > 0)
pointer_count--;
}
}
else
RARCH_WARN("Got motion pointer out of range (index: %u).\n", motion_pointer);
}
if (debug_enable)
snprintf(msg, sizeof(msg), "Pad %d : x = %.2f, y = %.2f, src %d.\n", state_id, x, y, source);
}
else if (type_event == AINPUT_EVENT_TYPE_KEY)
{
if (debug_enable)
snprintf(msg, sizeof(msg), "Pad %d : %d, ac = %d, src = %d.\n", state_id, keycode, action, source);
/* Hack - we have to decrease the unpacked value by 1
* because we 'added' 1 to each entry in the LUT -
* RETRO_DEVICE_ID_JOYPAD_B is 0
*/
uint8_t unpacked = (keycode_lut[keycode] >> ((state_id+1) << 3)) - 1;
uint64_t input_state = (1ULL << unpacked);
int action = AKeyEvent_getAction(event);
uint64_t *key = NULL;
if(input_state < (1ULL << RARCH_FIRST_META_KEY))
key = &state[state_id];
else if(input_state)
key = &g_extern.lifecycle_state;
if(key != NULL)
{
if (action == AKEY_EVENT_ACTION_UP)
*key &= ~(input_state);
else if (action == AKEY_EVENT_ACTION_DOWN)
*key |= input_state;
}
if(volume_enable && (keycode == AKEYCODE_VOLUME_UP || keycode == AKEYCODE_VOLUME_DOWN))
handled = 0;
}
if (msg[0] != 0)
msg_queue_push(g_extern.msg_queue, msg, 0, 30);
AInputQueue_finishEvent(android_app->inputQueue, event, handled);
}
#if 0
{
char msg[64];
snprintf(msg, sizeof(msg), "Pointers: %u", pointer_count);
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, msg, 0, 30);
}
#endif
RARCH_PERFORMANCE_STOP(input_poll);
}
static int16_t android_input_state(void *data, const struct retro_keybind **binds, unsigned port, unsigned device, unsigned index, unsigned id)
{
switch (device)
{
case RETRO_DEVICE_JOYPAD:
return ((state[port] & binds[port][id].joykey) && (port < pads_connected));
case RETRO_DEVICE_POINTER:
switch(id)
{
case RETRO_DEVICE_ID_POINTER_X:
return pointer[index].x;
case RETRO_DEVICE_ID_POINTER_Y:
return pointer[index].y;
case RETRO_DEVICE_ID_POINTER_PRESSED:
return (index < pointer_count) && (pointer[index].x != -0x8000) && (pointer[index].y != -0x8000);
default:
return 0;
}
case RARCH_DEVICE_POINTER_SCREEN:
switch(id)
{
case RETRO_DEVICE_ID_POINTER_X:
return pointer[index].full_x;
case RETRO_DEVICE_ID_POINTER_Y:
return pointer[index].full_y;
case RETRO_DEVICE_ID_POINTER_PRESSED:
return (index < pointer_count) && (pointer[index].full_x != -0x8000) && (pointer[index].full_y != -0x8000);
default:
return 0;
}
default:
return 0;
}
}
static bool android_input_key_pressed(void *data, int key)
{
return ((g_extern.lifecycle_state | driver.overlay_state) & (1ULL << key));
}
static void android_input_free_input(void *data)
{
(void)data;
}
const input_driver_t input_android = {
android_input_init,
android_input_poll,
android_input_state,
android_input_key_pressed,
android_input_free_input,
"android_input",
};
+485
View File
@@ -0,0 +1,485 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "../../../frontend/frontend_android.h"
#include "jni_macros.h"
#include "input_autodetect.h"
uint64_t keycode_lut[LAST_KEYCODE];
bool volume_enable;
static void input_autodetect_get_device_name(void *data, char *buf, size_t size, int id)
{
struct android_app *android_app = (struct android_app*)data;
buf[0] = '\0';
JavaVM *vm = android_app->activity->vm;
JNIEnv *env = NULL;
(*vm)->AttachCurrentThread(vm, &env, 0);
jclass input_device_class = NULL;
FIND_CLASS(env, input_device_class, "android/view/InputDevice");
if (!input_device_class)
goto end;
jmethodID method = NULL;
GET_STATIC_METHOD_ID(env, method, input_device_class, "getDevice", "(I)Landroid/view/InputDevice;");
if (!method)
goto end;
jobject device = NULL;
CALL_OBJ_STATIC_METHOD_PARAM(env, device, input_device_class, method, (jint)id);
if (!device)
{
RARCH_ERR("Failed to find device for ID: %d\n", id);
goto end;
}
jmethodID getName = NULL;
GET_METHOD_ID(env, getName, input_device_class, "getName", "()Ljava/lang/String;");
if (!getName)
goto end;
jobject name = NULL;
CALL_OBJ_METHOD(env, name, device, getName);
if (!name)
{
RARCH_ERR("Failed to find name for device ID: %d\n", id);
goto end;
}
const char *str = (*env)->GetStringUTFChars(env, name, 0);
if (str)
strlcpy(buf, str, size);
(*env)->ReleaseStringUTFChars(env, name, str);
end:
(*vm)->DetachCurrentThread(vm);
}
void input_autodetect_init (void)
{
for(int j = 0; j < LAST_KEYCODE; j++)
keycode_lut[j] = 0;
volume_enable = true;
}
void input_autodetect_setup (void *data, char *msg, size_t sizeof_msg, unsigned port, unsigned id, int source)
{
struct android_app *android_app = (struct android_app*)data;
// Hack - we have to add '1' to the bit mask here because
// RETRO_DEVICE_ID_JOYPAD_B is 0
char name_buf[256];
name_buf[0] = 0;
if (port > MAX_PADS)
{
snprintf(msg, sizeof_msg, "Max number of pads reached.\n");
return;
}
/* eight 8-bit values are packed into one uint64_t
* one for each of the 8 pads */
uint8_t shift = 8 + (port * 8);
g_settings.input.dpad_emulation[port] = DPAD_EMULATION_LSTICK;
char *current_ime = android_app->current_ime;
if (g_settings.input.autodetect_enable)
{
input_autodetect_get_device_name(android_app, name_buf, sizeof(name_buf), id);
if (strstr(name_buf, "Logitech"))
{
if (strstr(name_buf, "RumblePad 2"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: RumblePad 2.\n", port);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_10] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_11] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift);
keycode_lut[AKEYCODE_BUTTON_12] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift);
}
}
else if (strstr(name_buf, "HuiJia USB GamePad"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: HuiJia USB Gamepad.\n", port);
keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_10] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
}
else if (strstr(name_buf, "Microsoft"))
{
if (strstr(name_buf, "Dual Strike"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Sidewinder Dual Strike.\n", port);
keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_X) << shift);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_L) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_R) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_L2) << shift);
}
else if (strstr(name_buf, "SideWinder"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Sidewinder.\n", port);
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R2] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L2] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Z] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_C] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_11] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift);
keycode_lut[AKEYCODE_BUTTON_12] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift);
}
}
else if (strstr(name_buf, "WiseGroup") && strstr(name_buf, "Dual USB Joypad"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: WiseGroup PS2 to USB.\n", port);
keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_10] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_11] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift);
keycode_lut[AKEYCODE_BUTTON_12] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift);
}
else if (strstr(name_buf, "PLAYSTATION(R)3") || strstr(name_buf, "Dualshock3")
|| strstr(name_buf,"Sixaxis") ||
(strstr(name_buf, "Gamepad 0") || strstr(name_buf, "Gamepad 1") ||
strstr(name_buf, "Gamepad 2") || strstr(name_buf, "Gamepad 3")))
{
bool do_invert = (strstr(name_buf, "Gamepad 0") || strstr(name_buf, "Gamepad 1") ||
strstr(name_buf, "Gamepad 2") || strstr(name_buf, "Gamepad 3"));
snprintf(msg, sizeof_msg, "RetroPad #%d is: DualShock3/Sixaxis.\n", port);
g_settings.input.dpad_emulation[port] = DPAD_EMULATION_NONE;
keycode_lut[AKEYCODE_DPAD_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_DPAD_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_DPAD_LEFT] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_DPAD_RIGHT] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
if (do_invert)
{
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
}
else
{
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
}
keycode_lut[AKEYCODE_BUTTON_SELECT] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_START] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
if (do_invert)
{
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
}
else
{
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
}
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L2] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R2] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_THUMBL] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift);
keycode_lut[AKEYCODE_BUTTON_THUMBR] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift);
}
else if (strstr(name_buf, "MOGA"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: MOGA.\n", port);
g_settings.input.dpad_emulation[port] = DPAD_EMULATION_NONE;
keycode_lut[AKEYCODE_DPAD_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_DPAD_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_DPAD_LEFT] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_DPAD_RIGHT] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_SELECT] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_START] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
}
else if (strstr(name_buf, "Sony Navigation Controller"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: PS Move Navi.\n", port);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_11] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift);
keycode_lut[AKEYCODE_BUTTON_15] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_14] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_UNKNOWN] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
}
else if (strstr(name_buf, "CYPRESS USB"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Saturn USB.\n", port);
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_C] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Z] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L2] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
}
else if (strstr(name_buf, "Mayflash Wii Classic"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Mayflash Wii Classic.\n", port);
g_settings.input.dpad_emulation[port] = DPAD_EMULATION_NONE;
keycode_lut[AKEYCODE_BUTTON_12] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_BUTTON_14] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_BUTTON_13] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_15] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_7] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_8] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_10] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
}
else if (strstr(name_buf, "Toodles 2008 ChImp"))
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Chimp Board.\n", port);
keycode_lut[AKEYCODE_BUTTON_A] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Z] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_C] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L2] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R2] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
}
else if (strstr(name_buf, "keypad-game-zeus"))
{
volume_enable = false;
snprintf(msg, sizeof_msg, "RetroPad #%d is: Xperia Play.\n", port);
keycode_lut[AKEYCODE_DPAD_CENTER] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BACK] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_DPAD_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_DPAD_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_DPAD_LEFT] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_DPAD_RIGHT] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_SELECT] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_START] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
}
if (strstr(current_ime, "com.ccpcreations.android.WiiUseAndroid"))
{
// Player 1
snprintf(msg, sizeof_msg, "RetroPad #%d, %d, %d, %d is: Wiimote (IME).\n",
port, port + 1, port + 2, port + 3);
snprintf(name_buf, sizeof(name_buf), "ccpcreations WiiUse");
g_settings.input.dpad_emulation[port] = DPAD_EMULATION_NONE;
keycode_lut[AKEYCODE_DPAD_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_DPAD_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_DPAD_LEFT] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_DPAD_RIGHT]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_1] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_2] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_3] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_4] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_5] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_6] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_M] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_P] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_E] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_B] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_F] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_G] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_C] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_LEFT_BRACKET] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_RIGHT_BRACKET] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
keycode_lut[AKEYCODE_Z] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_H] |= ((RARCH_RESET+1) << shift);
keycode_lut[AKEYCODE_W] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_S] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_A] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_D] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_C] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_Z] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
//player 2
shift += 8;
volume_enable = false;
keycode_lut[AKEYCODE_I] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_K] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_J] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_O]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_COMMA] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_PERIOD] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_VOLUME_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_VOLUME_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_MEDIA_PREVIOUS] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_MEDIA_NEXT] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_MEDIA_PLAY] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_MEDIA_STOP] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_ENDCALL] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_CALL] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_PLUS] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_MINUS] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_BACKSLASH] |= ((RARCH_RESET+1) << shift);
keycode_lut[AKEYCODE_L] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_R] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_SEARCH] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_TAB] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
//player 3
shift += 8;
keycode_lut[AKEYCODE_PAGE_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_PAGE_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_MEDIA_REWIND] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_MEDIA_FAST_FORWARD]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_SOFT_LEFT]|= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_SOFT_RIGHT]|= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_THUMBR]|= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_THUMBL]|= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_SPACE]|= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_SYM]|= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_EXPLORER]|= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_ENVELOPE]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_BUTTON_X]|= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Y]|= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BUTTON_A]|= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_B]|= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L1]|= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R1]|= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_BUTTON_L2]|= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_BUTTON_R2]|= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
//player 4
shift += 8;
keycode_lut[AKEYCODE_N] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_Q] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_T] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_APOSTROPHE]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_NOTIFICATION]|= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_MUTE]|= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_BUTTON_START]|= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_BUTTON_SELECT]|= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_CLEAR]|= ((RARCH_RESET+1) << shift);
keycode_lut[AKEYCODE_CAPS_LOCK] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_SCROLL_LOCK] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
//keycode_lut[AKEYCODE_T] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift); -- Left meta
//keycode_lut[AKEYCODE_APOSTROPHE]|= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift); -- right meta
keycode_lut[AKEYCODE_META_FUNCTION_ON] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_SYSRQ] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_BREAK] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_MOVE_HOME] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_BUTTON_C] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_BUTTON_Z] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
keycode_lut[AKEYCODE_GRAVE] |= ((RETRO_DEVICE_ID_JOYPAD_L2+1) << shift);
keycode_lut[AKEYCODE_MEDIA_PAUSE] |= ((RETRO_DEVICE_ID_JOYPAD_R2+1) << shift);
}
else if (source == AINPUT_SOURCE_TOUCHSCREEN)
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Touchscreen.\n", port);
}
else if (source == AINPUT_SOURCE_MOUSE)
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Mouse.\n", port);
}
else if (source == AINPUT_SOURCE_KEYBOARD)
{
snprintf(msg, sizeof_msg, "RetroPad #%d is: Keyboard.\n", port);
// Keyboard
// TODO: Map L2/R2/L3/R3
keycode_lut[AKEYCODE_Z] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
keycode_lut[AKEYCODE_A] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_SHIFT_RIGHT] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
keycode_lut[AKEYCODE_ENTER] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
keycode_lut[AKEYCODE_DPAD_UP] |= ((RETRO_DEVICE_ID_JOYPAD_UP+1) << shift);
keycode_lut[AKEYCODE_DPAD_DOWN] |= ((RETRO_DEVICE_ID_JOYPAD_DOWN+1) << shift);
keycode_lut[AKEYCODE_DPAD_LEFT] |= ((RETRO_DEVICE_ID_JOYPAD_LEFT+1) << shift);
keycode_lut[AKEYCODE_DPAD_RIGHT] |= ((RETRO_DEVICE_ID_JOYPAD_RIGHT+1) << shift);
keycode_lut[AKEYCODE_X] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
keycode_lut[AKEYCODE_S] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
keycode_lut[AKEYCODE_Q] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
keycode_lut[AKEYCODE_W] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
/* Misc control scheme */
keycode_lut[AKEYCODE_F2] |= ((RARCH_SAVE_STATE_KEY+1) << shift);
keycode_lut[AKEYCODE_F4] |= ((RARCH_LOAD_STATE_KEY+1) << shift);
keycode_lut[AKEYCODE_F7] |= ((RARCH_STATE_SLOT_PLUS+1) << shift);
keycode_lut[AKEYCODE_F6] |= ((RARCH_STATE_SLOT_MINUS+1) << shift);
keycode_lut[AKEYCODE_SPACE] |= ((RARCH_FAST_FORWARD_KEY+1) << shift);
keycode_lut[AKEYCODE_L] |= ((RARCH_FAST_FORWARD_HOLD_KEY+1) << shift);
keycode_lut[AKEYCODE_BREAK] |= ((RARCH_PAUSE_TOGGLE+1) << shift);
keycode_lut[AKEYCODE_K] |= ((RARCH_FRAMEADVANCE+1) << shift);
keycode_lut[AKEYCODE_H] |= ((RARCH_RESET+1) << shift);
keycode_lut[AKEYCODE_R] |= ((RARCH_REWIND+1) << shift);
keycode_lut[AKEYCODE_F9] |= ((RARCH_MUTE+1) << shift);
keycode_lut[AKEYCODE_ESCAPE] |= ((RARCH_QUIT_KEY+1) << shift);
keycode_lut[AKEYCODE_BACK] |= ((RARCH_QUIT_KEY+1) << shift);
}
}
if (name_buf[0] != 0)
RARCH_LOG("Device %d: %s, port: %d.\n", id, name_buf, port);
if (msg[0] == 0 && name_buf[0] != 0)
snprintf(msg, sizeof_msg, "HID [%s] unbound.\n", name_buf);
}
+69
View File
@@ -0,0 +1,69 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _ANDROID_INPUT_AUTODETECT_H
#define _ANDROID_INPUT_AUTODETECT_H
#define MAX_PADS 8
#define AKEY_EVENT_NO_ACTION 255
enum {
AKEYCODE_META_FUNCTION_ON = 8,
AKEYCODE_ESCAPE = 111,
AKEYCODE_CAPS_LOCK = 115,
AKEYCODE_SCROLL_LOCK = 116,
AKEYCODE_SYSRQ = 120,
AKEYCODE_BREAK = 121,
AKEYCODE_MOVE_HOME = 122,
AKEYCODE_MEDIA_PLAY = 126,
AKEYCODE_MEDIA_PAUSE = 127,
AKEYCODE_F2 = 132,
AKEYCODE_F3 = 133,
AKEYCODE_F4 = 134,
AKEYCODE_F5 = 135,
AKEYCODE_F6 = 136,
AKEYCODE_F7 = 137,
AKEYCODE_F8 = 138,
AKEYCODE_F9 = 139,
AKEYCODE_BUTTON_1 = 188,
AKEYCODE_BUTTON_2 = 189,
AKEYCODE_BUTTON_3 = 190,
AKEYCODE_BUTTON_4 = 191,
AKEYCODE_BUTTON_5 = 192,
AKEYCODE_BUTTON_6 = 193,
AKEYCODE_BUTTON_7 = 194,
AKEYCODE_BUTTON_8 = 195,
AKEYCODE_BUTTON_9 = 196,
AKEYCODE_BUTTON_10 = 197,
AKEYCODE_BUTTON_11 = 198,
AKEYCODE_BUTTON_12 = 199,
AKEYCODE_BUTTON_13 = 200,
AKEYCODE_BUTTON_14 = 201,
AKEYCODE_BUTTON_15 = 202,
AKEYCODE_BUTTON_16 = 203,
AKEYCODE_ASSIST = 219,
};
#define LAST_KEYCODE AKEYCODE_ASSIST
extern uint64_t keycode_lut[LAST_KEYCODE];
extern bool volume_enable;
void input_autodetect_init (void);
void input_autodetect_setup (void *data, char *msg, size_t sizeof_msg, unsigned port, unsigned id, int source);
#endif
+82
View File
@@ -0,0 +1,82 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _JNI_MACROS_H
#define _JNI_MACROS_H
#include <jni.h>
struct jni_params
{
JavaVM *java_vm;
JNIEnv *env;
jobject class_obj;
char class_name[128];
char method_name[128];
char method_signature[128];
};
struct jni_out_params_char
{
char *out;
size_t out_sizeof;
char in[128];
};
#define JNI_EXCEPTION(env) \
if ((*env)->ExceptionOccurred(env)) \
{ \
(*env)->ExceptionDescribe(env); \
(*env)->ExceptionClear(env); \
}
#define FIND_CLASS(env, var, classname) \
var = (*env)->FindClass(env, classname); \
JNI_EXCEPTION(env)
#define GET_OBJECT_CLASS(env, var, clazz_obj) \
var = (*env)->GetObjectClass(env, clazz_obj); \
JNI_EXCEPTION(env)
#define GET_FIELD_ID(env, var, clazz, fieldName, fieldDescriptor) \
var = (*env)->GetFieldID(env, clazz, fieldName, fieldDescriptor); \
JNI_EXCEPTION(env)
#define GET_METHOD_ID(env, var, clazz, methodName, fieldDescriptor) \
var = (*env)->GetMethodID(env, clazz, methodName, fieldDescriptor); \
JNI_EXCEPTION(env)
#define GET_STATIC_METHOD_ID(env, var, clazz, methodName, fieldDescriptor) \
var = (*env)->GetStaticMethodID(env, clazz, methodName, fieldDescriptor); \
JNI_EXCEPTION(env)
#define CALL_OBJ_METHOD(env, var, clazz_obj, methodId) \
var = (*env)->CallObjectMethod(env, clazz_obj, methodId); \
JNI_EXCEPTION(env)
#define CALL_OBJ_STATIC_METHOD(env, var, clazz, methodId) \
var = (*env)->CallStaticObjectMethod(env, clazz, methodId); \
JNI_EXCEPTION(env)
#define CALL_OBJ_STATIC_METHOD_PARAM(env, var, clazz, methodId, ...) \
var = (*env)->CallStaticObjectMethod(env, clazz, methodId, __VA_ARGS__); \
JNI_EXCEPTION(env)
#define CALL_OBJ_METHOD_PARAM(env, var, clazz_obj, methodId, ...) \
var = (*env)->CallObjectMethod(env, clazz_obj, methodId, __VA_ARGS__); \
JNI_EXCEPTION(env)
#endif
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">NativeActivity</string>
</resources>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
+5
View File
@@ -0,0 +1,5 @@
/gen
/bin
/libs/*/*
/obj
/jni/modules/*.so
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RetroArch</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
+39
View File
@@ -0,0 +1,39 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.retroarch"
android:versionCode="1"
android:versionName="0.9.8" >
<uses-feature android:glEsVersion="0x00020000" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name="org.retroarch.browser.RetroArch">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="org.retroarch.browser.SettingsActivity"></activity>
<activity android:name="org.retroarch.browser.DirectoryActivity"></activity>
<activity android:name="org.retroarch.browser.ROMActivity"></activity>
<activity android:name="org.retroarch.browser.ShaderActivity"></activity>
<activity android:name="org.retroarch.browser.Shader2Activity"></activity>
<activity android:name="org.retroarch.browser.OverlayActivity"></activity>
<activity android:name="org.retroarch.browser.ROMDirActivity"></activity>
<activity android:name="org.retroarch.browser.SRMDirActivity"></activity>
<activity android:name="org.retroarch.browser.StateDirActivity"></activity>
<activity android:name="android.app.NativeActivity" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale">
<meta-data android:name="android.app.lib_name" android:value="retroarch-activity" />
<meta-data android:name="android.app.func_name" android:value="ANativeActivity_onCreate" />
</activity>
</application>
</manifest>
+17
View File
@@ -0,0 +1,17 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked into Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.
Whitespace-only changes.
Whitespace-only changes.
+92
View File
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="retroarch" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />
<!-- The ant.properties file can be created by you. It is only edited by the
'android' tool to add properties to it.
This is the place to change some Ant specific build properties.
Here are some properties you may want to change/update:
source.dir
The name of the source directory. Default is 'src'.
out.dir
The name of the output directory. Default is 'bin'.
For other overridable properties, look at the beginning of the rules
files in the SDK, at tools/ant/build.xml
Properties related to the SDK location or the project target should
be updated using the 'android' tool with the 'update' action.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems.
-->
<property file="ant.properties" />
<!-- if sdk.dir was not set from one of the property file, then
get it from the ANDROID_HOME env var.
This must be done before we load project.properties since
the proguard config can use sdk.dir -->
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
This contains project specific properties such as project target, and library
dependencies. Lower level build properties are stored in ant.properties
(or in .classpath for Eclipse projects).
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
<loadproperties srcFile="project.properties" />
<!-- quick check on sdk.dir -->
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir"
/>
<!--
Import per project custom build rules if present at the root of the project.
This is the place to put custom intermediary targets such as:
-pre-build
-pre-compile
-post-compile (This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir})
-post-package
-post-build
-pre-clean
-->
<import file="custom_rules.xml" optional="true" />
<!-- Import the actual build file.
To customize existing targets, there are two options:
- Customize only one target:
- copy/paste the target into this file, *before* the
<import> task.
- customize it to your needs.
- Customize the whole content of build.xml
- copy/paste the content of the rules files (minus the top node)
into this file, replacing the <import> task.
- customize to your needs.
***********************
****** IMPORTANT ******
***********************
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>
+12
View File
@@ -0,0 +1,12 @@
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../../native/jni/Android.mk
# Include all present sub-modules
FOCAL_PATH := $(LOCAL_PATH)
define function
$(eval RETRO_MODULE_OBJECT := $(1))
$(eval include $(FOCAL_PATH)/modules/Android.mk)
endef
$(foreach m,$(wildcard $(FOCAL_PATH)/modules/*.so),$(eval $(call function,$(m))))
+2
View File
@@ -0,0 +1,2 @@
APP_PLATFORM := android-9
APP_ABI := all
+6
View File
@@ -0,0 +1,6 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := $(notdir $(RETRO_MODULE_OBJECT))
LOCAL_SRC_FILES := $(notdir $(RETRO_MODULE_OBJECT))
include $(PREBUILT_SHARED_LIBRARY)
+20
View File
@@ -0,0 +1,20 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
+14
View File
@@ -0,0 +1,14 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-16
Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/icon"
android:layout_width="192dp"
android:layout_height="192dp"
android:layout_gravity="center"
android:contentDescription="@string/file_type_icon"
android:padding="8dp" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="0.5"
android:textSize="18sp" />
</LinearLayout>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2" >
</GridView>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dp">
<ImageView
android:id="@+id/icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/file_type_icon"
android:padding="8dp" />
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:textSize="18sp" />
</LinearLayout>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/rarch_settings" android:title="@string/rarch_settings" android:showAsAction="ifRoom" />
<item android:id="@+id/input_method_select" android:title="@string/input_method" android:showAsAction="ifRoom" />
<item android:id="@+id/retroarch_guide" android:title="@string/retroarch_guide"></item>
<item android:id="@+id/cores_guide" android:title="@string/cores_guide"></item>
<item android:id="@+id/overlay_guide" android:title="@string/overlay_guide"></item>
<item android:id="@+id/shader_pack" android:title="@string/shader_pack"></item>
</menu>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/settings"
android:title="@string/settings"
android:icon="@drawable/ic_file"
android:showAsAction="ifRoom" />
</menu>
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="aspect_ratios">
<item>Full screen</item>
<item>Auto</item>
<item>Square pixel</item>
<item>4:3</item>
<item>16:9</item>
<item>16:10</item>
<item>8:7</item>
</string-array>
<string-array name="aspect_values">
<item>full</item>
<item>auto</item>
<item>square</item>
<item>1.33333</item>
<item>1.77777</item>
<item>1.60000</item>
<item>1.14286</item>
</string-array>
<string-array name="fbo_scales">
<item>1.0x</item>
<item>2.0x</item>
<item>3.0x</item>
<item>4.0x</item>
<item>5.0x</item>
</string-array>
<string-array name="fbo_scale_values">
<item>1.0</item>
<item>2.0</item>
<item>3.0</item>
<item>4.0</item>
<item>5.0</item>
</string-array>
</resources>
+17
View File
@@ -0,0 +1,17 @@
<resources>
<string name="app_name">RetroArch</string>
<string name="input_method">Input Method</string>
<string name="file_type_icon">File type icon</string>
<string name="video_settings">Video Settings</string>
<string name="rarch_settings">RetroArch Settings</string>
<string name="audio_settings">Audio Settings</string>
<string name="input_settings">Input Settings</string>
<string name="general_settings">General Settings</string>
<string name="settings">Settings</string>
<string name="retroarch_guide">RetroArch Guide</string>
<string name="cores_guide">Cores Guide</string>
<string name="overlay_guide">Overlay How-to Guide</string>
<string name="shader_pack">Shader Pack</string>
</resources>
+193
View File
@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="RetroArch Settings" >
<PreferenceScreen android:title="Path Settings">
<PreferenceCategory android:title="ROM paths">
<Preference android:title="ROM directory"
android:summary="Sets directory where ROM browser will first browse for ROM files.">
<intent
android:targetClass="org.retroarch.browser.ROMDirActivity"
android:targetPackage="org.retroarch" />
</Preference>
</PreferenceCategory>
<PreferenceCategory android:title="Save files">
<CheckBoxPreference android:title="Enable custom directory"
android:summary="Enables use of custom save file folder. (.srm) save files will be saved and loaded to configured directory. If not enabled, save files will reside in ROM folder."
android:key="savefile_directory_enable"
android:defaultValue="false"/>
<Preference android:title="Savefile directory"
android:summary="Sets directory where to save and load game save files.">
<intent
android:targetClass="org.retroarch.browser.SRMDirActivity"
android:targetPackage="org.retroarch" />
</Preference>
</PreferenceCategory>
<PreferenceCategory android:title="Save states">
<CheckBoxPreference android:title="Enable custom directory"
android:summary="Enables use of custom save state folder. (.state) save states will be saved and loaded to configured directory. If not enabled, save states will reside in ROM folder."
android:key="savestate_directory_enable"
android:defaultValue="false"/>
<Preference android:title="Save state directory"
android:summary="Sets directory where to save and load game save states.">
<intent
android:targetClass="org.retroarch.browser.StateDirActivity"
android:targetPackage="org.retroarch" />
</Preference>
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="System Settings" >
<PreferenceCategory android:title="General" >
<CheckBoxPreference
android:defaultValue="false"
android:key="savestate_auto_load"
android:summary="Loads an automatically created savestate at startup."
android:title="Auto load state" />
<CheckBoxPreference
android:defaultValue="false"
android:key="savestate_auto_save"
android:summary="Automatically saves state when exiting game."
android:title="Auto save state" />
</PreferenceCategory>
<PreferenceCategory android:title="Rewinding" >
<CheckBoxPreference
android:defaultValue="false"
android:key="rewind_enable"
android:summary="WARNING - very CPU intensive - will decrease ingame performance."
android:title="Enable" />
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Video Settings" >
<PreferenceCategory android:title="General" >
<CheckBoxPreference
android:defaultValue="true"
android:key="video_vsync"
android:summary="When set to enabled, prevents screen tearing."
android:title="VSync" />
<CheckBoxPreference
android:defaultValue="true"
android:key="video_sync_refreshrate_to_screen"
android:summary="Synchronize RetroArch's refresh rate to the screen's refresh rate (recommended - some screens have refresh rates below 59.95Hz and need this enabled to get good audio/video sync)."
android:title="Sync refreshrate to screen" />
<EditTextPreference
android:key="video_refresh_rate"
android:summary="Force a specific refresh rate to be detected. Only use if auto-detection of refresh rate reports wrong refresh rate."
android:title="Forced refresh rate (Hz)"
android:numeric="decimal" />
<CheckBoxPreference
android:defaultValue="true"
android:key="video_allow_rotate"
android:summary="Will auto-rotate the screen for vertically oriented games."
android:title="Auto-rotate" />
<ListPreference
android:entries="@array/aspect_ratios"
android:entryValues="@array/aspect_values"
android:key="video_aspect_ratio"
android:summary="Aspect ratio to enforce."
android:title="Aspect ratio" />
</PreferenceCategory>
<PreferenceCategory android:title="Shaders (1st pass)" >
<CheckBoxPreference
android:defaultValue="true"
android:key="video_smooth"
android:summary="Applies Bilinear filtering, smooths out edges (settings still apply even if no shader is selected)."
android:title="Bilinear filter" />
<CheckBoxPreference
android:defaultValue="false"
android:key="video_shader_enable"
android:title="Enable" />
<Preference
android:summary="Sets GLES2 style XML shader."
android:title="XML shader" >
<intent
android:targetClass="org.retroarch.browser.ShaderActivity"
android:targetPackage="org.retroarch" />
</Preference>
</PreferenceCategory>
<PreferenceCategory android:title="Shaders (Multi-pass)" >
<CheckBoxPreference
android:defaultValue="false"
android:key="video_render_to_texture"
android:summary="Render first pass to texture (FBO). Stretch to screen with second shader."
android:title="Render to texture" />
<CheckBoxPreference
android:defaultValue="false"
android:key="video_second_pass_shader_enable"
android:summary="Enable custom shader for use after rendering to FBO."
android:title="Enable shader #2" />
<Preference
android:summary="Sets shader to use for second pass."
android:title="XML shader (2nd pass)" >
<intent
android:targetClass="org.retroarch.browser.Shader2Activity"
android:targetPackage="org.retroarch" />
</Preference>
<ListPreference
android:entries="@array/fbo_scales"
android:entryValues="@array/fbo_scale_values"
android:key="video_fbo_scale"
android:summary="Scale to use when rendering to FBO."
android:title="FBO scale" />
<CheckBoxPreference
android:defaultValue="true"
android:key="video_second_pass_smooth"
android:summary="Use Bilinear filtering on FBO texture on second pass."
android:title="Second pass Bilinear Filtering" />
</PreferenceCategory>
<PreferenceCategory android:title="Fonts">
<CheckBoxPreference android:title="Enable on-screen fonts"
android:summary="Enable rendering of on-screen fonts for messages."
android:key="video_font_enable"
android:defaultValue="true"/>
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Audio Settings" >
<PreferenceCategory android:title="Audio" >
<CheckBoxPreference
android:defaultValue="true"
android:key="audio_enable"
android:title="Enable" />
<CheckBoxPreference
android:defaultValue="true"
android:key="audio_rate_control"
android:summary="Enable dynamic rate control (recommended)."
android:title="Dynamic Rate Control" />
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Input Settings" >
<PreferenceCategory android:title="Configuration Autodetect" >
<CheckBoxPreference
android:defaultValue="true"
android:key="input_autodetect_enable"
android:summary="This will attempt to preconfigure various gamepads and/or IME apps that you connect."
android:title="Enable" />
</PreferenceCategory>
<PreferenceCategory android:title="Debug input reporting" >
<CheckBoxPreference
android:defaultValue="false"
android:key="input_debug_enable"
android:summary="This will report keycodes on-screen generated by your input device(s). Useful for debugging."
android:title="Enable" />
</PreferenceCategory>
<PreferenceCategory android:title="Touchscreen Overlay" >
<CheckBoxPreference
android:defaultValue="true"
android:key="input_overlay_enable"
android:title="Enable" />
<Preference
android:summary="Sets touchscreen overlay config."
android:title="Input overlay" >
<intent
android:targetClass="org.retroarch.browser.OverlayActivity"
android:targetPackage="org.retroarch" />
</Preference>
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>
@@ -0,0 +1,116 @@
package org.retroarch.browser;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
public class ConfigFile {
private HashMap<String, String> map = new HashMap<String, String>();
public void append(File file) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file.getAbsolutePath())));
String line;
while ((line = br.readLine()) != null)
parseLine(line);
br.close();
}
public void open(File file) throws IOException {
clear();
append(file);
}
public ConfigFile(File file) throws IOException {
open(file);
}
public ConfigFile() {}
private void parseLine(String line) {
String[] tokens = line.split("=", 2);
if (tokens.length < 2)
return;
for (int i = 0; i < tokens.length; i++)
tokens[i] = tokens[i].trim();
String key = tokens[0];
String value = tokens[1];
if (value.startsWith("\""))
value = value.substring(1, value.lastIndexOf('\"'));
else
value = value.split(" ")[0];
if (value.length() > 0)
map.put(key, value);
}
public void clear() {
map.clear();
}
public void write(File file) throws IOException {
PrintWriter writer = new PrintWriter(file.getAbsolutePath());
for (Map.Entry<String, String> entry : map.entrySet())
writer.println(entry.getKey() + " = \"" + entry.getValue() + "\"");
writer.close();
}
public void setString(String key, String value) {
map.put(key, value);
}
public void setBoolean(String key, boolean value) {
map.put(key, Boolean.toString(value));
}
public void setInt(String key, int value) {
map.put(key, Integer.toString(value));
}
public void setDouble(String key, double value) {
map.put(key, Double.toString(value));
}
public boolean keyExists(String key) {
return map.containsKey(key);
}
public String getString(String key) {
Object ret = map.get(key);
if (ret != null)
return (String) ret;
else
return null;
}
public int getInt(String key) throws NumberFormatException {
String str = getString(key);
if (str != null)
return Integer.parseInt(str);
else
throw new NumberFormatException();
}
public double getDouble(String key) throws NumberFormatException {
String str = getString(key);
if (str != null)
return Double.parseDouble(str);
else
throw new NumberFormatException();
}
public boolean getBoolean(String key) {
String str = getString(key);
return Boolean.parseBoolean(str);
}
}
@@ -0,0 +1,308 @@
package org.retroarch.browser;
import org.retroarch.R;
import java.util.*;
import java.io.*;
import android.content.*;
import android.app.*;
import android.os.*;
import android.preference.PreferenceManager;
import android.widget.*;
import android.view.*;
import android.graphics.drawable.*;
class FileWrapper implements IconAdapterItem {
public final File file;
public final boolean parentItem;
public final boolean dirSelectItem;
protected final boolean enabled;
public static final int DIRSELECT = 0;
public static final int PARENT = 1;
public static final int FILE = 2;
protected final int typeIndex;
public FileWrapper(File aFile, int type, boolean aIsEnabled) {
file = aFile;
parentItem = type == PARENT;
dirSelectItem = type == DIRSELECT;
typeIndex = type == FILE ? (FILE + (file.isDirectory() ? 0 : 1)) : type;
enabled = parentItem || dirSelectItem || aIsEnabled;
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public String getText() {
if (dirSelectItem)
return "[[Use this directory]]";
else if (parentItem)
return "[Parent Directory]";
else
return file.getName();
}
@Override
public int getIconResourceId() {
if (!parentItem && !dirSelectItem) {
return file.isFile() ? R.drawable.ic_file : R.drawable.ic_dir;
} else {
return R.drawable.ic_dir;
}
}
@Override
public Drawable getIconDrawable() {
return null;
}
public int compareTo(FileWrapper aOther) {
if (aOther != null) {
// Who says ternary is hard to follow
if (isEnabled() == aOther.isEnabled()) {
return (typeIndex == aOther.typeIndex) ? file
.compareTo(aOther.file)
: ((typeIndex < aOther.typeIndex) ? -1 : 1);
} else {
return isEnabled() ? -1 : 1;
}
}
return -1;
}
}
public class DirectoryActivity extends Activity implements
AdapterView.OnItemClickListener {
private IconAdapter<FileWrapper> adapter;
private File listedDirectory;
public static class BackStackItem implements Parcelable {
public String path;
public boolean parentIsBack;
public BackStackItem(String aPath, boolean aParentIsBack) {
path = aPath;
parentIsBack = aParentIsBack;
}
private BackStackItem(Parcel aIn) {
path = aIn.readString();
parentIsBack = aIn.readInt() != 0;
}
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeString(path);
out.writeInt(parentIsBack ? 1 : 0);
}
public static final Parcelable.Creator<BackStackItem> CREATOR = new Parcelable.Creator<BackStackItem>() {
public BackStackItem createFromParcel(Parcel in) {
return new BackStackItem(in);
}
public BackStackItem[] newArray(int size) {
return new BackStackItem[size];
}
};
}
private ArrayList<BackStackItem> backStack;
protected String startDirectory;
protected String pathSettingKey;
protected void setStartDirectory(String path) {
startDirectory = path;
}
protected void setPathSettingKey(String key) {
pathSettingKey = key;
}
private boolean isDirectoryTarget;
protected void setIsDirectoryTarget(boolean enable) {
isDirectoryTarget = enable;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.line_list);
// Setup the list
adapter = new IconAdapter<FileWrapper>(this, R.layout.line_list_item);
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(this);
// Load Directory
if (savedInstanceState != null) {
backStack = savedInstanceState.getParcelableArrayList("BACKSTACK");
}
if (backStack == null || backStack.size() == 0) {
backStack = new ArrayList<BackStackItem>();
String startPath = (startDirectory == null || startDirectory.isEmpty()) ? Environment
.getExternalStorageDirectory().getPath() : startDirectory;
backStack.add(new BackStackItem(startPath, false));
}
wrapFiles();
}
@Override
protected void onSaveInstanceState(Bundle aState) {
super.onSaveInstanceState(aState);
aState.putParcelableArrayList("BACKSTACK", backStack);
}
private void finishWithPath(String path) {
if (pathSettingKey != null && !pathSettingKey.isEmpty()) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = settings.edit();
editor.putString(pathSettingKey, path);
editor.commit();
}
Intent intent = new Intent();
intent.putExtra("PATH", path);
setResult(RESULT_OK, intent);
finish();
}
@Override
public void onItemClick(AdapterView<?> aListView, View aView,
int aPosition, long aID) {
final FileWrapper item = adapter.getItem(aPosition);
if (item.parentItem && backStack.get(backStack.size() - 1).parentIsBack) {
backStack.remove(backStack.size() - 1);
wrapFiles();
return;
} else if (item.dirSelectItem) {
finishWithPath(listedDirectory.getAbsolutePath());
return;
}
final File selected = item.parentItem ? listedDirectory.getParentFile()
: item.file;
if (selected.isDirectory()) {
backStack.add(new BackStackItem(selected.getAbsolutePath(),
!item.parentItem));
wrapFiles();
} else {
String filePath = selected.getAbsolutePath();
finishWithPath(filePath);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (backStack.size() > 1) {
backStack.remove(backStack.size() - 1);
wrapFiles();
} else {
Intent intent = new Intent();
setResult(RESULT_CANCELED, intent);
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
private ArrayList<String> allowedExt;
private ArrayList<String> disallowedExt;
private boolean filterPath(String path) {
if (disallowedExt != null) {
for (String ext : disallowedExt)
if (path.endsWith(ext))
return false;
}
if (allowedExt != null) {
for (String ext : allowedExt)
if (path.endsWith(ext))
return true;
return false;
}
return true;
}
protected void addAllowedExt(String ext) {
if (allowedExt == null)
allowedExt = new ArrayList<String>();
allowedExt.add(ext);
}
protected void addDisallowedExt(String ext) {
if (disallowedExt == null)
disallowedExt = new ArrayList<String>();
disallowedExt.add(ext);
}
private void wrapFiles() {
listedDirectory = new File(backStack.get(backStack.size() - 1).path);
if (!listedDirectory.isDirectory()) {
throw new IllegalArgumentException("Directory is not valid.");
}
adapter.clear();
setTitle(listedDirectory.getAbsolutePath());
if (isDirectoryTarget)
adapter.add(new FileWrapper(null, FileWrapper.DIRSELECT, true));
if (listedDirectory.getParentFile() != null)
adapter.add(new FileWrapper(null, FileWrapper.PARENT, true));
// Copy new items
final File[] files = listedDirectory.listFiles();
if (files != null) {
for (File file : files) {
String path = file.getName();
boolean allowFile = file.isDirectory() || (filterPath(path) && !isDirectoryTarget);
if (allowFile)
adapter.add(new FileWrapper(file, FileWrapper.FILE,
file.isDirectory() || true));
}
}
// Sort items
adapter.sort(new Comparator<FileWrapper>() {
@Override
public int compare(FileWrapper aLeft, FileWrapper aRight) {
return aLeft.compareTo(aRight);
};
});
// Update
adapter.notifyDataSetChanged();
}
}
@@ -0,0 +1,71 @@
package org.retroarch.browser;
import org.retroarch.R;
import android.app.*;
import android.content.*;
import android.graphics.drawable.*;
import android.view.*;
import android.widget.*;
interface IconAdapterItem {
public abstract boolean isEnabled();
public abstract String getText();
public abstract int getIconResourceId();
public abstract Drawable getIconDrawable();
}
class IconAdapter<T extends IconAdapterItem> extends ArrayAdapter<T> {
private final int layout;
public IconAdapter(Activity aContext, int aLayout) {
super(aContext, aLayout);
layout = aLayout;
}
@Override
public View getView(int aPosition, View aConvertView, ViewGroup aParent) {
// Build the view
if (aConvertView == null) {
LayoutInflater inflater = (LayoutInflater) aParent.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
aConvertView = inflater.inflate(layout, aParent, false);
}
// Fill the view
IconAdapterItem item = getItem(aPosition);
final boolean enabled = item.isEnabled();
TextView textView = (TextView) aConvertView.findViewById(R.id.name);
if (null != textView) {
textView.setText(item.getText());
textView.setEnabled(enabled);
}
ImageView imageView = (ImageView) aConvertView.findViewById(R.id.icon);
if (null != imageView) {
if (enabled) {
final int id = item.getIconResourceId();
if (0 != id) {
imageView.setImageResource(id);
} else {
imageView.setImageDrawable(item.getIconDrawable());
}
} else {
imageView.setImageDrawable(null);
}
}
return aConvertView;
}
@Override
public boolean isEnabled(int aPosition) {
return getItem(aPosition).isEnabled();
}
}
@@ -0,0 +1,18 @@
package org.retroarch.browser;
import java.io.File;
import android.os.Bundle;
public class OverlayActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
File overlayDir = new File(getCacheDir(), "Overlays");
if (overlayDir.exists())
super.setStartDirectory(overlayDir.getAbsolutePath());
super.addAllowedExt(".cfg");
super.setPathSettingKey("input_overlay");
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,24 @@
package org.retroarch.browser;
import java.io.File;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
public class ROMActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String startPath = prefs.getString("phoenix_rom_dir", "");
if (!startPath.isEmpty() && new File(startPath).exists())
super.setStartDirectory(startPath);
super.addDisallowedExt(".state");
super.addDisallowedExt(".srm");
super.addDisallowedExt(".state.auto");
super.addDisallowedExt(".rtc");
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,12 @@
package org.retroarch.browser;
import android.os.Bundle;
public class ROMDirActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.setPathSettingKey("phoenix_rom_dir");
super.setIsDirectoryTarget(true);
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,425 @@
package org.retroarch.browser;
import org.retroarch.R;
import java.io.*;
import android.content.*;
import android.content.res.AssetManager;
import android.app.*;
import android.net.Uri;
import android.os.*;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.widget.*;
import android.util.Log;
import android.view.*;
import android.view.inputmethod.*;
import android.graphics.drawable.*;
class ModuleWrapper implements IconAdapterItem {
public final File file;
public ModuleWrapper(Context aContext, File aFile) throws IOException {
file = aFile;
}
@Override
public boolean isEnabled() {
return true;
}
@Override
public String getText() {
return file.getName();
}
@Override
public int getIconResourceId() {
return 0;
}
@Override
public Drawable getIconDrawable() {
return null;
}
}
public class RetroArch extends Activity implements
AdapterView.OnItemClickListener, PopupMenu.OnMenuItemClickListener {
private IconAdapter<ModuleWrapper> adapter;
static private final int ACTIVITY_LOAD_ROM = 0;
static private String libretro_path;
static private final String TAG = "RetroArch-Phoenix";
private ConfigFile config;
private final double getDisplayRefreshRate() {
final WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
final Display display = wm.getDefaultDisplay();
return display.getRefreshRate();
}
private final double getRefreshRate() {
double rate = 0;
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
String refresh_rate = prefs.getString("video_refresh_rate", "");
if (!refresh_rate.isEmpty()) {
try {
rate = Double.parseDouble(refresh_rate);
} catch (NumberFormatException e) {
Log.e(TAG, "Cannot parse: " + refresh_rate + " as a double!");
rate = getDisplayRefreshRate();
}
} else {
rate = getDisplayRefreshRate();
}
Log.i(TAG, "Using refresh rate: " + rate + " Hz.");
return rate;
}
private String readCPUInfo() {
String result = "";
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("/proc/cpuinfo")));
String line;
while ((line = br.readLine()) != null)
result += line + "\n";
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return result;
}
private boolean cpuInfoIsNeon(String info) {
return info.contains("neon");
}
private byte[] loadAsset(String asset) throws IOException {
String path = asset;
InputStream stream = getAssets().open(path);
int len = stream.available();
byte[] buf = new byte[len];
stream.read(buf, 0, len);
return buf;
}
private void extractAssets(AssetManager manager, String cacheDir, String relativePath, int level) throws IOException {
final String[] paths = manager.list(relativePath);
if (paths != null && paths.length > 0) { // Directory
Log.d(TAG, "Extracting assets directory: " + relativePath);
for (final String path : paths)
extractAssets(manager, cacheDir, relativePath + (level > 0 ? File.separator : "") + path, level + 1);
} else { // File, extract.
Log.d(TAG, "Extracting assets file: " + relativePath);
String parentPath = new File(relativePath).getParent();
if (parentPath != null) {
File parentFile = new File(cacheDir, parentPath);
Log.d(TAG, "Creating folder: " + parentFile.getAbsolutePath());
parentFile.mkdirs(); // Doesn't throw.
}
byte[] asset = loadAsset(relativePath);
BufferedOutputStream writer = new BufferedOutputStream(
new FileOutputStream(new File(cacheDir, relativePath)));
writer.write(asset, 0, asset.length);
writer.flush();
writer.close();
}
}
private void extractAssets() {
try {
AssetManager assets = getAssets();
String cacheDir = getCacheDir().getAbsolutePath();
//extractAssets(assets, cacheDir, "", 0);
//extractAssets(assets, cacheDir, "Shaders", 1);
extractAssets(assets, cacheDir, "Overlays", 1);
} catch (IOException e) {
Log.e(TAG, "Failed to extract assets to cache.");
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
config = new ConfigFile(new File(getDefaultConfigPath()));
} catch (IOException e) {
config = new ConfigFile();
}
String cpuInfo = readCPUInfo();
boolean cpuIsNeon = cpuInfoIsNeon(cpuInfo);
// Extracting assets appears to take considerable amount of time, so
// move extraction to a thread.
Thread assetThread = new Thread(new Runnable() {
public void run() {
extractAssets();
}
});
assetThread.start();
setContentView(R.layout.line_list);
// Setup the list
adapter = new IconAdapter<ModuleWrapper>(this, R.layout.line_list_item);
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(this);
setTitle("Select Libretro core");
// Populate the list
final String modulePath = getApplicationInfo().nativeLibraryDir;
final File[] libs = new File(modulePath).listFiles();
for (final File lib : libs) {
String libName = lib.getName();
// Never append a NEON lib if we don't have NEON.
if (libName.contains("neon") && !cpuIsNeon)
continue;
// If we have a NEON version with NEON capable CPU,
// never append a non-NEON version.
if (cpuIsNeon && !libName.contains("neon")) {
boolean hasNeonVersion = false;
for (final File lib_ : libs) {
String otherName = lib_.getName();
String baseName = libName.replace(".so", "");
if (otherName.contains("neon") && otherName.startsWith(baseName)) {
hasNeonVersion = true;
break;
}
}
if (hasNeonVersion)
continue;
}
// Allow both libretro-core.so and libretro_core.so.
if (libName.startsWith("libretro") && !libName.startsWith("libretroarch")) {
try {
adapter.add(new ModuleWrapper(this, lib));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Override
public void onItemClick(AdapterView<?> aListView, View aView,
int aPosition, long aID) {
final ModuleWrapper item = adapter.getItem(aPosition);
libretro_path = item.file.getAbsolutePath();
Intent myIntent;
myIntent = new Intent(this, ROMActivity.class);
startActivityForResult(myIntent, ACTIVITY_LOAD_ROM);
}
private String getDefaultConfigPath() {
String internal = System.getenv("INTERNAL_STORAGE");
String external = System.getenv("EXTERNAL_STORAGE");
if (external != null) {
String confPath = external + File.separator + "retroarch.cfg";
if (new File(confPath).exists())
return confPath;
} else if (internal != null) {
String confPath = internal + File.separator + "retroarch.cfg";
if (new File(confPath).exists())
return confPath;
} else {
String confPath = "/mnt/extsd/retroarch.cfg";
if (new File(confPath).exists())
return confPath;
}
if (internal != null && new File(internal + File.separator + "retroarch.cfg").canWrite())
return internal + File.separator + "retroarch.cfg";
else if (external != null && new File(internal + File.separator + "retroarch.cfg").canWrite())
return external + File.separator + "retroarch.cfg";
else
return getCacheDir().getAbsolutePath() + File.separator + "retroarch.cfg";
}
private void updateConfigFile() {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
config.setBoolean("audio_rate_control", prefs.getBoolean("audio_rate_control", true));
config.setBoolean("audio_enable", prefs.getBoolean("audio_enable", true));
config.setBoolean("video_smooth", prefs.getBoolean("video_smooth", true));
config.setBoolean("video_allow_rotate", prefs.getBoolean("video_allow_rotate", true));
config.setBoolean("savestate_auto_load", prefs.getBoolean("savestate_auto_load", false));
config.setBoolean("savestate_auto_save", prefs.getBoolean("savestate_auto_save", false));
config.setBoolean("rewind_enable", prefs.getBoolean("rewind_enable", false));
config.setBoolean("video_vsync", prefs.getBoolean("video_vsync", true));
config.setBoolean("input_autodetect_enable", prefs.getBoolean("input_autodetect_enable", true));
config.setBoolean("input_debug_enable", prefs.getBoolean("input_debug_enable", false));
if (prefs.getBoolean("video_sync_refreshrate_to_screen", true)
&& (getRefreshRate() < 59.95)) {
Log.i(TAG,
"Refresh rate of screen lower than 59.95Hz, adjusting to screen.");
config.setDouble("video_refresh_rate", getRefreshRate());
} else {
Log.i(TAG, "Refresh rate set to 59.95Hz (default).");
config.setDouble("video_refresh_rate", 59.95);
}
String aspect = prefs.getString("video_aspect_ratio", "auto");
if (aspect.equals("full")) {
config.setBoolean("video_force_aspect", false);
} else if (aspect.equals("auto")) {
config.setBoolean("video_force_aspect", true);
config.setBoolean("video_force_aspect_auto", true);
config.setDouble("video_aspect_ratio", -1.0);
} else if (aspect.equals("square")) {
config.setBoolean("video_force_aspect", true);
config.setBoolean("video_force_aspect_auto", false);
config.setDouble("video_aspect_ratio", -1.0);
} else {
double aspect_ratio = Double.parseDouble(aspect);
config.setBoolean("video_force_aspect", true);
config.setDouble("video_aspect_ratio", aspect_ratio);
}
String shaderPath = prefs.getString("video_bsnes_shader", "");
if (prefs.getBoolean("video_shader_enable", false) && new File(shaderPath).exists()) {
config.setString("video_shader_type", "bsnes");
config.setString("video_bsnes_shader", shaderPath);
} else {
config.setString("video_shader_type", "none");
config.setString("video_bsnes_shader", "");
}
config.setBoolean("video_render_to_texture", prefs.getBoolean("video_render_to_texture", false));
config.setString("video_second_pass_shader",
prefs.getBoolean("video_second_pass_shader_enable", false) ?
prefs.getString("video_second_pass_shader", "") : "");
config.setBoolean("video_second_pass_smooth", prefs.getBoolean("video_second_pass_smooth", true));
config.setString("video_fbo_scale_x", prefs.getString("video_fbo_scale", "2.0"));
config.setString("video_fbo_scale_y", prefs.getString("video_fbo_scale", "2.0"));
boolean useOverlay = prefs.getBoolean("input_overlay_enable", true);
if (useOverlay) {
String overlayPath = prefs.getString("input_overlay", getCacheDir() + "/Overlays/basic_overlay.cfg");
config.setString("input_overlay", overlayPath);
} else {
config.setString("input_overlay", "");
}
config.setString("savefile_directory", prefs.getBoolean("savefile_directory_enable", false) ?
prefs.getString("savefile_directory", "") : "");
config.setString("savestate_directory", prefs.getBoolean("savestate_directory_enable", false) ?
prefs.getString("savestate_directory", "") : "");
config.setBoolean("video_font_enable", prefs.getBoolean("video_font_enable", true));
String confPath = getDefaultConfigPath();
try {
config.write(new File(confPath));
} catch (IOException e) {
Log.e(TAG, "Failed to save config file to: " + confPath);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Intent myIntent;
String current_ime = Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
updateConfigFile();
switch (requestCode) {
case ACTIVITY_LOAD_ROM:
if (data.getStringExtra("PATH") != null) {
Toast.makeText(this,
"Loading: [" + data.getStringExtra("PATH") + "]...",
Toast.LENGTH_SHORT).show();
myIntent = new Intent(this, NativeActivity.class);
myIntent.putExtra("ROM", data.getStringExtra("PATH"));
myIntent.putExtra("LIBRETRO", libretro_path);
myIntent.putExtra("CONFIGFILE", getDefaultConfigPath());
myIntent.putExtra("IME", current_ime);
startActivity(myIntent);
}
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu aMenu) {
super.onCreateOptionsMenu(aMenu);
getMenuInflater().inflate(R.menu.directory_list, aMenu);
return true;
}
public void showPopup(View v) {
PopupMenu menu = new PopupMenu(this, v);
MenuInflater inflater = menu.getMenuInflater();
inflater.inflate(R.menu.context_menu, menu.getMenu());
menu.setOnMenuItemClickListener(this);
menu.show();
}
@Override
public boolean onOptionsItemSelected(MenuItem aItem) {
switch (aItem.getItemId()) {
case R.id.settings:
showPopup(findViewById(R.id.settings));
Log.i(TAG, "Got settings ...");
return true;
default:
return super.onOptionsItemSelected(aItem);
}
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.input_method_select:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();
return true;
case R.id.rarch_settings:
Log.i(TAG, "Rarch settings clicked!");
Intent rset = new Intent(this, SettingsActivity.class);
startActivity(rset);
return true;
case R.id.retroarch_guide:
Intent rguide = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.libretro.org/documents/retroarch-manual.pdf"));
startActivity(rguide);
return true;
case R.id.cores_guide:
Intent cguide = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.libretro.org/documents/retroarch-cores-manual.pdf"));
startActivity(cguide);
return true;
case R.id.overlay_guide:
Intent mguide = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.libretro.org/documents/overlay.pdf"));
startActivity(mguide);
return true;
case R.id.shader_pack:
Intent sguide = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.libretro.org/shaders/xml-gles-shaders.zip"));
startActivity(sguide);
return true;
default:
return false;
}
}
}
@@ -0,0 +1,12 @@
package org.retroarch.browser;
import android.os.Bundle;
public class SRMDirActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.setPathSettingKey("savefile_directory");
super.setIsDirectoryTarget(true);
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,29 @@
package org.retroarch.browser;
import org.retroarch.R;
import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
public class SettingsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().
replace(android.R.id.content, new SettingsFragment()).commit();
PreferenceManager.setDefaultValues(this, R.xml.prefs, false);
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.prefs);
}
}
}
@@ -0,0 +1,18 @@
package org.retroarch.browser;
import java.io.File;
import android.os.Bundle;
public class Shader2Activity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
File shaderDir = new File(getCacheDir(), "Shaders");
if (shaderDir.exists())
super.setStartDirectory(shaderDir.getAbsolutePath());
super.addAllowedExt(".shader");
super.setPathSettingKey("video_second_pass_shader");
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,18 @@
package org.retroarch.browser;
import java.io.File;
import android.os.Bundle;
public class ShaderActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
File shaderDir = new File(getCacheDir(), "Shaders");
if (shaderDir.exists())
super.setStartDirectory(shaderDir.getAbsolutePath());
super.addAllowedExt(".shader");
super.setPathSettingKey("video_bsnes_shader");
super.onCreate(savedInstanceState);
}
}
@@ -0,0 +1,12 @@
package org.retroarch.browser;
import android.os.Bundle;
public class StateDirActivity extends DirectoryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.setPathSettingKey("savestate_directory");
super.setIsDirectoryTarget(true);
super.onCreate(savedInstanceState);
}
}
+113 -65
View File
@@ -1,27 +1,25 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "../driver.h"
#include <stdlib.h>
#include <alsa/asoundlib.h>
#include "general.h"
#include <asoundlib.h>
#include "../general.h"
#define TRY_ALSA(x) if ( x < 0 ) { \
#define TRY_ALSA(x) if (x < 0) { \
goto error; \
}
@@ -30,11 +28,13 @@ typedef struct alsa
snd_pcm_t *pcm;
bool nonblock;
bool has_float;
size_t buffer_size;
} alsa_t;
static bool __alsa_use_float(void *data)
static bool alsa_use_float(void *data)
{
alsa_t *alsa = data;
alsa_t *alsa = (alsa_t*)data;
return alsa->has_float;
}
@@ -42,34 +42,37 @@ static bool find_float_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
if (snd_pcm_hw_params_test_format(pcm, params, SND_PCM_FORMAT_FLOAT) == 0)
{
SSNES_LOG("ALSA: Using floating point format.\n");
RARCH_LOG("ALSA: Using floating point format.\n");
return true;
}
SSNES_LOG("ALSA: Using signed 16-bit format.\n");
RARCH_LOG("ALSA: Using signed 16-bit format.\n");
return false;
}
static void* __alsa_init(const char* device, int rate, int latency)
static void *alsa_init(const char *device, unsigned rate, unsigned latency)
{
alsa_t *alsa = calloc(1, sizeof(alsa_t));
if ( alsa == NULL )
alsa_t *alsa = (alsa_t*)calloc(1, sizeof(alsa_t));
if (!alsa)
return NULL;
snd_pcm_hw_params_t *params = NULL;
snd_pcm_sw_params_t *sw_params = NULL;
const char *alsa_dev = "default";
if ( device != NULL )
if (device)
alsa_dev = device;
unsigned latency_usec = latency * 1000;
unsigned channels = 2;
unsigned periods = 4;
snd_pcm_uframes_t buffer_size;
snd_pcm_format_t format;
TRY_ALSA(snd_pcm_open(&alsa->pcm, alsa_dev, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK));
unsigned int latency_usec = latency * 1000;
TRY_ALSA(snd_pcm_hw_params_malloc(&params));
alsa->has_float = find_float_format(alsa->pcm, params);
snd_pcm_format_t format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
unsigned int channels = 2;
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
TRY_ALSA(snd_pcm_hw_params_any(alsa->pcm, params));
TRY_ALSA(snd_pcm_hw_params_set_access(alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED));
@@ -78,16 +81,15 @@ static void* __alsa_init(const char* device, int rate, int latency)
TRY_ALSA(snd_pcm_hw_params_set_rate(alsa->pcm, params, rate, 0));
TRY_ALSA(snd_pcm_hw_params_set_buffer_time_near(alsa->pcm, params, &latency_usec, NULL));
unsigned periods = 4;
TRY_ALSA(snd_pcm_hw_params_set_periods_near(alsa->pcm, params, &periods, NULL));
TRY_ALSA(snd_pcm_hw_params(alsa->pcm, params));
snd_pcm_uframes_t buffer_size;
snd_pcm_hw_params_get_period_size(params, &buffer_size, NULL);
SSNES_LOG("ALSA: Period size: %d frames\n", (int)buffer_size);
RARCH_LOG("ALSA: Period size: %d frames\n", (int)buffer_size);
snd_pcm_hw_params_get_buffer_size(params, &buffer_size);
SSNES_LOG("ALSA: Buffer size: %d frames\n", (int)buffer_size);
RARCH_LOG("ALSA: Buffer size: %d frames\n", (int)buffer_size);
alsa->buffer_size = snd_pcm_frames_to_bytes(alsa->pcm, buffer_size);
TRY_ALSA(snd_pcm_sw_params_malloc(&sw_params));
TRY_ALSA(snd_pcm_sw_params_current(alsa->pcm, sw_params));
@@ -100,7 +102,7 @@ static void* __alsa_init(const char* device, int rate, int latency)
return alsa;
error:
SSNES_ERR("ALSA: Failed to initialize...\n");
RARCH_ERR("ALSA: Failed to initialize...\n");
if (params)
snd_pcm_hw_params_free(params);
@@ -117,70 +119,99 @@ error:
return NULL;
}
static ssize_t __alsa_write(void* data, const void* buf, size_t size)
static ssize_t alsa_write(void *data, const void *buf_, size_t size_)
{
alsa_t *alsa = data;
alsa_t *alsa = (alsa_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
snd_pcm_sframes_t frames;
bool eagain_retry = true;
snd_pcm_sframes_t written = 0;
int rc;
size = snd_pcm_bytes_to_frames(alsa->pcm, size); // Frames to write
snd_pcm_sframes_t size = snd_pcm_bytes_to_frames(alsa->pcm, size_);
while (written < size)
while (size)
{
if (!alsa->nonblock)
{
rc = snd_pcm_wait(alsa->pcm, -1);
if (rc == -EPIPE || rc == -ESTRPIPE)
int rc = snd_pcm_wait(alsa->pcm, -1);
if (rc == -EPIPE || rc == -ESTRPIPE || rc == -EINTR)
{
if (snd_pcm_recover(alsa->pcm, rc, 1) < 0)
{
RARCH_ERR("[ALSA]: (#1) Failed to recover from error (%s)\n",
snd_strerror(rc));
return -1;
}
continue;
}
}
frames = snd_pcm_writei(alsa->pcm, (const char*)buf + written * 2 * (alsa->has_float ? sizeof(float) : sizeof(int16_t)), size - written);
snd_pcm_sframes_t frames = snd_pcm_writei(alsa->pcm, buf, size);
if ( frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE )
if (frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE)
{
if ( snd_pcm_recover(alsa->pcm, frames, 1) < 0 )
if (snd_pcm_recover(alsa->pcm, frames, 1) < 0)
{
RARCH_ERR("[ALSA]: (#2) Failed to recover from error (%s)\n",
snd_strerror(frames));
return -1;
}
return 0;
break;
}
else if ( frames == -EAGAIN && alsa->nonblock )
return 0;
else if ( frames < 0 )
else if (frames == -EAGAIN && !alsa->nonblock) // Definitely not supposed to happen.
{
RARCH_WARN("[ALSA]: poll() was signaled, but EAGAIN returned from write.\n"
"Your ALSA driver might be subtly broken.\n");
if (eagain_retry)
{
eagain_retry = false;
continue;
}
else
return written;
}
else if (frames == -EAGAIN) // Expected if we're running nonblock.
{
return written;
}
else if (frames < 0)
{
RARCH_ERR("[ALSA]: Unknown error occured (%s).\n", snd_strerror(frames));
return -1;
}
written += frames;
buf += (frames << 1) * (alsa->has_float ? sizeof(float) : sizeof(int16_t));
size -= frames;
}
return snd_pcm_frames_to_bytes(alsa->pcm, size);
return written;
}
static bool __alsa_stop(void *data)
static bool alsa_stop(void *data)
{
return true;
}
static void __alsa_set_nonblock_state(void *data, bool state)
static void alsa_set_nonblock_state(void *data, bool state)
{
alsa_t *alsa = data;
alsa_t *alsa = (alsa_t*)data;
alsa->nonblock = state;
}
static bool __alsa_start(void *data)
static bool alsa_start(void *data)
{
return true;
}
static void __alsa_free(void *data)
static void alsa_free(void *data)
{
alsa_t *alsa = data;
if ( alsa )
alsa_t *alsa = (alsa_t*)data;
if (alsa)
{
if ( alsa->pcm )
if (alsa->pcm)
{
snd_pcm_drop(alsa->pcm);
snd_pcm_close(alsa->pcm);
@@ -189,19 +220,36 @@ static void __alsa_free(void *data)
}
}
static size_t alsa_write_avail(void *data)
{
alsa_t *alsa = (alsa_t*)data;
snd_pcm_sframes_t avail = snd_pcm_avail_update(alsa->pcm);
if (avail < 0)
{
//RARCH_WARN("[ALSA]: avail_update() failed: %s\n", snd_strerror(avail));
return alsa->buffer_size;
}
return snd_pcm_frames_to_bytes(alsa->pcm, avail);
}
static size_t alsa_buffer_size(void *data)
{
alsa_t *alsa = (alsa_t*)data;
return alsa->buffer_size;
}
const audio_driver_t audio_alsa = {
.init = __alsa_init,
.write = __alsa_write,
.stop = __alsa_stop,
.start = __alsa_start,
.use_float = __alsa_use_float,
.set_nonblock_state = __alsa_set_nonblock_state,
.free = __alsa_free,
.ident = "alsa"
alsa_init,
alsa_write,
alsa_stop,
alsa_start,
alsa_set_nonblock_state,
alsa_free,
alsa_use_float,
"alsa",
alsa_write_avail,
alsa_buffer_size,
};
+315
View File
@@ -0,0 +1,315 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2012-2013 - Michael Lelli
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "../driver.h"
#include <stdlib.h>
#include <asoundlib.h>
#include "../general.h"
#include "../thread.h"
#include "../fifo_buffer.h"
#define TRY_ALSA(x) if (x < 0) { \
goto error; \
}
typedef struct alsa
{
snd_pcm_t *pcm;
bool nonblock;
bool has_float;
volatile bool thread_dead;
size_t buffer_size;
size_t period_size;
snd_pcm_uframes_t period_frames;
fifo_buffer_t *buffer;
sthread_t *worker_thread;
slock_t *fifo_lock;
scond_t *cond;
slock_t *cond_lock;
} alsa_t;
static void alsa_worker_thread(void *data)
{
alsa_t *alsa = (alsa_t*)data;
uint8_t *buf = (uint8_t *)calloc(1, alsa->period_size);
if (!buf)
{
RARCH_ERR("failed to allocate audio buffer");
goto end;
}
while (!alsa->thread_dead)
{
slock_lock(alsa->fifo_lock);
size_t avail = fifo_read_avail(alsa->buffer);
size_t fifo_size = min(alsa->period_size, avail);
fifo_read(alsa->buffer, buf, fifo_size);
scond_signal(alsa->cond);
slock_unlock(alsa->fifo_lock);
// If underrun, fill rest with silence.
memset(buf + fifo_size, 0, alsa->period_size - fifo_size);
snd_pcm_sframes_t frames = snd_pcm_writei(alsa->pcm, buf, alsa->period_frames);
if (frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE)
{
if (snd_pcm_recover(alsa->pcm, frames, 1) < 0)
{
RARCH_ERR("[ALSA]: (#2) Failed to recover from error (%s)\n",
snd_strerror(frames));
break;
}
continue;
}
else if (frames < 0)
{
RARCH_ERR("[ALSA]: Unknown error occured (%s).\n", snd_strerror(frames));
break;
}
}
end:
slock_lock(alsa->cond_lock);
alsa->thread_dead = true;
scond_signal(alsa->cond);
slock_unlock(alsa->cond_lock);
free(buf);
}
static bool alsa_use_float(void *data)
{
alsa_t *alsa = (alsa_t*)data;
return alsa->has_float;
}
static bool find_float_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
if (snd_pcm_hw_params_test_format(pcm, params, SND_PCM_FORMAT_FLOAT) == 0)
{
RARCH_LOG("ALSA: Using floating point format.\n");
return true;
}
RARCH_LOG("ALSA: Using signed 16-bit format.\n");
return false;
}
static void alsa_free(void *data)
{
alsa_t *alsa = (alsa_t*)data;
if (alsa)
{
if (alsa->worker_thread)
{
alsa->thread_dead = true;
sthread_join(alsa->worker_thread);
}
if (alsa->buffer)
fifo_free(alsa->buffer);
if (alsa->cond)
scond_free(alsa->cond);
if (alsa->fifo_lock)
slock_free(alsa->fifo_lock);
if (alsa->cond_lock)
slock_free(alsa->cond_lock);
if (alsa->pcm)
{
snd_pcm_drop(alsa->pcm);
snd_pcm_close(alsa->pcm);
}
free(alsa);
}
}
static void *alsa_init(const char *device, unsigned rate, unsigned latency)
{
alsa_t *alsa = (alsa_t*)calloc(1, sizeof(alsa_t));
if (!alsa)
return NULL;
snd_pcm_hw_params_t *params = NULL;
snd_pcm_sw_params_t *sw_params = NULL;
const char *alsa_dev = "default";
if (device)
alsa_dev = device;
unsigned latency_usec = latency * 1000 / 2;
unsigned channels = 2;
unsigned periods = 4;
snd_pcm_uframes_t buffer_size;
snd_pcm_format_t format;
TRY_ALSA(snd_pcm_open(&alsa->pcm, alsa_dev, SND_PCM_STREAM_PLAYBACK, 0));
TRY_ALSA(snd_pcm_hw_params_malloc(&params));
alsa->has_float = find_float_format(alsa->pcm, params);
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
TRY_ALSA(snd_pcm_hw_params_any(alsa->pcm, params));
TRY_ALSA(snd_pcm_hw_params_set_access(alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED));
TRY_ALSA(snd_pcm_hw_params_set_format(alsa->pcm, params, format));
TRY_ALSA(snd_pcm_hw_params_set_channels(alsa->pcm, params, channels));
TRY_ALSA(snd_pcm_hw_params_set_rate(alsa->pcm, params, rate, 0));
TRY_ALSA(snd_pcm_hw_params_set_buffer_time_near(alsa->pcm, params, &latency_usec, NULL));
TRY_ALSA(snd_pcm_hw_params_set_periods_near(alsa->pcm, params, &periods, NULL));
TRY_ALSA(snd_pcm_hw_params(alsa->pcm, params));
snd_pcm_hw_params_get_period_size(params, &alsa->period_frames, NULL);
RARCH_LOG("ALSA: Period size: %d frames\n", (int)alsa->period_frames);
snd_pcm_hw_params_get_buffer_size(params, &buffer_size);
RARCH_LOG("ALSA: Buffer size: %d frames\n", (int)buffer_size);
alsa->buffer_size = snd_pcm_frames_to_bytes(alsa->pcm, buffer_size);
alsa->period_size = snd_pcm_frames_to_bytes(alsa->pcm, alsa->period_frames);
TRY_ALSA(snd_pcm_sw_params_malloc(&sw_params));
TRY_ALSA(snd_pcm_sw_params_current(alsa->pcm, sw_params));
TRY_ALSA(snd_pcm_sw_params_set_start_threshold(alsa->pcm, sw_params, buffer_size / 2));
TRY_ALSA(snd_pcm_sw_params(alsa->pcm, sw_params));
snd_pcm_hw_params_free(params);
snd_pcm_sw_params_free(sw_params);
alsa->fifo_lock = slock_new();
alsa->cond_lock = slock_new();
alsa->cond = scond_new();
alsa->buffer = fifo_new(alsa->buffer_size);
if (!alsa->fifo_lock || !alsa->cond_lock || !alsa->cond || !alsa->buffer)
goto error;
alsa->worker_thread = sthread_create(alsa_worker_thread, alsa);
if (!alsa->worker_thread)
{
RARCH_ERR("error initializing worker thread");
goto error;
}
return alsa;
error:
RARCH_ERR("ALSA: Failed to initialize...\n");
if (params)
snd_pcm_hw_params_free(params);
if (sw_params)
snd_pcm_sw_params_free(sw_params);
alsa_free(alsa);
return NULL;
}
static ssize_t alsa_write(void *data, const void *buf, size_t size)
{
alsa_t *alsa = (alsa_t*)data;
if (alsa->thread_dead)
return -1;
if (alsa->nonblock)
{
slock_lock(alsa->fifo_lock);
size_t avail = fifo_write_avail(alsa->buffer);
size_t write_amt = min(avail, size);
fifo_write(alsa->buffer, buf, write_amt);
slock_unlock(alsa->fifo_lock);
return write_amt;
}
else
{
size_t written = 0;
while (written < size && !alsa->thread_dead)
{
slock_lock(alsa->fifo_lock);
size_t avail = fifo_write_avail(alsa->buffer);
if (avail == 0)
{
slock_unlock(alsa->fifo_lock);
slock_lock(alsa->cond_lock);
if (!alsa->thread_dead)
scond_wait(alsa->cond, alsa->cond_lock);
slock_unlock(alsa->cond_lock);
}
else
{
size_t write_amt = min(size - written, avail);
fifo_write(alsa->buffer, (const char*)buf + written, write_amt);
slock_unlock(alsa->fifo_lock);
written += write_amt;
}
}
return written;
}
}
static bool alsa_stop(void *data)
{
(void)data;
return true;
}
static void alsa_set_nonblock_state(void *data, bool state)
{
alsa_t *alsa = (alsa_t*)data;
alsa->nonblock = state;
}
static bool alsa_start(void *data)
{
(void)data;
return true;
}
static size_t alsa_write_avail(void *data)
{
alsa_t *alsa = (alsa_t*)data;
if (alsa->thread_dead)
return 0;
slock_lock(alsa->fifo_lock);
size_t val = fifo_write_avail(alsa->buffer);
slock_unlock(alsa->fifo_lock);
return val;
}
static size_t alsa_buffer_size(void *data)
{
alsa_t *alsa = (alsa_t*)data;
return alsa->buffer_size;
}
const audio_driver_t audio_alsathread = {
alsa_init,
alsa_write,
alsa_stop,
alsa_start,
alsa_set_nonblock_state,
alsa_free,
alsa_use_float,
"alsathread",
alsa_write_avail,
alsa_buffer_size,
};
+300
View File
@@ -0,0 +1,300 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Chris Moeller
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "general.h"
#include "fifo_buffer.h"
#include <stdlib.h>
#include "../boolean.h"
#include <pthread.h>
#include <CoreAudio/CoreAudio.h>
#include <CoreServices/CoreServices.h>
#include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AUComponent.h>
typedef struct coreaudio
{
pthread_mutex_t lock;
pthread_cond_t cond;
ComponentInstance dev;
bool dev_alive;
fifo_buffer_t *buffer;
bool nonblock;
size_t buffer_size;
} coreaudio_t;
static void coreaudio_free(void *data)
{
coreaudio_t *dev = (coreaudio_t*)data;
if (!dev)
return;
if (dev->dev_alive)
{
AudioOutputUnitStop(dev->dev);
CloseComponent(dev->dev);
}
if (dev->buffer)
fifo_free(dev->buffer);
pthread_mutex_destroy(&dev->lock);
pthread_cond_destroy(&dev->cond);
free(dev);
}
static OSStatus audio_cb(void *userdata, AudioUnitRenderActionFlags *action_flags,
const AudioTimeStamp *time_stamp, UInt32 bus_number,
UInt32 number_frames, AudioBufferList *io_data)
{
coreaudio_t *dev = (coreaudio_t*)userdata;
(void)time_stamp;
(void)bus_number;
(void)number_frames;
if (!io_data)
return noErr;
if (io_data->mNumberBuffers != 1)
return noErr;
unsigned write_avail = io_data->mBuffers[0].mDataByteSize;
void *outbuf = io_data->mBuffers[0].mData;
pthread_mutex_lock(&dev->lock);
if (fifo_read_avail(dev->buffer) < write_avail)
{
*action_flags = kAudioUnitRenderAction_OutputIsSilence;
memset(outbuf, 0, write_avail); // Seems to be needed.
pthread_mutex_unlock(&dev->lock);
pthread_cond_signal(&dev->cond); // Technically possible to deadlock without.
return noErr;
}
fifo_read(dev->buffer, outbuf, write_avail);
pthread_mutex_unlock(&dev->lock);
pthread_cond_signal(&dev->cond);
return noErr;
}
static void *coreaudio_init(const char *device, unsigned rate, unsigned latency)
{
(void)device;
coreaudio_t *dev = (coreaudio_t*)calloc(1, sizeof(*dev));
if (!dev)
return NULL;
CFRunLoopRef run_loop = NULL;
AudioObjectPropertyAddress addr = {
kAudioHardwarePropertyRunLoop,
kAudioObjectPropertyScopeGlobal,
kAudioObjectPropertyElementMaster
};
pthread_mutex_init(&dev->lock, NULL);
pthread_cond_init(&dev->cond, NULL);
AudioObjectSetPropertyData(kAudioObjectSystemObject, &addr, 0, NULL,
sizeof(CFRunLoopRef), &run_loop);
ComponentDescription desc = {0};
desc.componentType = kAudioUnitType_Output;
desc.componentSubType = kAudioUnitSubType_HALOutput;
desc.componentManufacturer = kAudioUnitManufacturer_Apple;
AudioStreamBasicDescription stream_desc = {0};
AudioStreamBasicDescription real_desc;
AudioChannelLayout layout = {0};
AURenderCallbackStruct cb = {0};
Component comp = NULL;
OSStatus res = noErr;
UInt32 i_size = 0;
size_t fifo_size;
comp = FindNextComponent(NULL, &desc);
if (comp == NULL)
goto error;
res = OpenAComponent(comp, &dev->dev);
if (res != noErr)
goto error;
dev->dev_alive = true;
stream_desc.mSampleRate = rate;
stream_desc.mBitsPerChannel = sizeof(float) * CHAR_BIT;
stream_desc.mChannelsPerFrame = 2;
stream_desc.mBytesPerPacket = 2 * sizeof(float);
stream_desc.mBytesPerFrame = 2 * sizeof(float);
stream_desc.mFramesPerPacket = 1;
stream_desc.mFormatID = kAudioFormatLinearPCM;
stream_desc.mFormatFlags = kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked | (is_little_endian() ? 0 : kAudioFormatFlagIsBigEndian);
res = AudioUnitSetProperty(dev->dev, kAudioUnitProperty_StreamFormat,
kAudioUnitScope_Input, 0, &stream_desc, sizeof(stream_desc));
if (res != noErr)
goto error;
i_size = sizeof(real_desc);
res = AudioUnitGetProperty(dev->dev, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &real_desc, &i_size);
if (res != noErr)
goto error;
RARCH_LOG("[CoreAudio]: Using output sample rate of %.1f Hz\n", (float)real_desc.mSampleRate);
g_settings.audio.out_rate = real_desc.mSampleRate;
if (real_desc.mChannelsPerFrame != stream_desc.mChannelsPerFrame)
goto error;
if (real_desc.mBitsPerChannel != stream_desc.mBitsPerChannel)
goto error;
if (real_desc.mFormatFlags != stream_desc.mFormatFlags)
goto error;
if (real_desc.mFormatID != stream_desc.mFormatID)
goto error;
layout.mChannelLayoutTag = kAudioChannelLayoutTag_UseChannelBitmap;
layout.mChannelBitmap = 0x03;
res = AudioUnitSetProperty(dev->dev, kAudioUnitProperty_AudioChannelLayout,
kAudioUnitScope_Input, 0, &layout, sizeof(layout));
if (res != noErr)
goto error;
cb.inputProc = audio_cb;
cb.inputProcRefCon = dev;
res = AudioUnitSetProperty(dev->dev, kAudioUnitProperty_SetRenderCallback,
kAudioUnitScope_Input, 0, &cb, sizeof(cb));
if (res != noErr)
goto error;
res = AudioUnitInitialize(dev->dev);
if (res != noErr)
goto error;
fifo_size = (latency * g_settings.audio.out_rate) / 1000;
fifo_size *= 2 * sizeof(float);
dev->buffer_size = fifo_size;
dev->buffer = fifo_new(fifo_size);
if (!dev->buffer)
goto error;
RARCH_LOG("[CoreAudio]: Using buffer size of %u bytes: (latency = %u ms)\n", (unsigned)fifo_size, latency);
res = AudioOutputUnitStart(dev->dev);
if (res != noErr)
goto error;
return dev;
error:
RARCH_ERR("[CoreAudio]: Failed to initialize driver ...\n");
coreaudio_free(dev);
return NULL;
}
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
{
coreaudio_t *dev = (coreaudio_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
size_t written = 0;
while (size > 0)
{
pthread_mutex_lock(&dev->lock);
size_t write_avail = fifo_write_avail(dev->buffer);
if (write_avail > size)
write_avail = size;
fifo_write(dev->buffer, buf, write_avail);
buf += write_avail;
written += write_avail;
size -= write_avail;
if (dev->nonblock)
{
pthread_mutex_unlock(&dev->lock);
break;
}
if (write_avail == 0)
pthread_cond_wait(&dev->cond, &dev->lock);
pthread_mutex_unlock(&dev->lock);
}
return written;
}
static bool coreaudio_stop(void *data)
{
coreaudio_t *dev = (coreaudio_t*)data;
return AudioOutputUnitStop(dev->dev) == noErr;
}
static void coreaudio_set_nonblock_state(void *data, bool state)
{
coreaudio_t *dev = (coreaudio_t*)data;
dev->nonblock = state;
}
static bool coreaudio_start(void *data)
{
coreaudio_t *dev = (coreaudio_t*)data;
return AudioOutputUnitStart(dev->dev) == noErr;
}
static bool coreaudio_use_float(void *data)
{
(void)data;
return true;
}
static size_t coreaudio_write_avail(void *data)
{
coreaudio_t *dev = (coreaudio_t*)data;
pthread_mutex_lock(&dev->lock);
size_t avail = fifo_write_avail(dev->buffer);
pthread_mutex_unlock(&dev->lock);
return avail;
}
static size_t coreaudio_buffer_size(void *data)
{
coreaudio_t *dev = (coreaudio_t*)data;
return dev->buffer_size;
}
const audio_driver_t audio_coreaudio = {
coreaudio_init,
coreaudio_write,
coreaudio_stop,
coreaudio_start,
coreaudio_set_nonblock_state,
coreaudio_free,
coreaudio_use_float,
"coreaudio",
coreaudio_write_avail,
coreaudio_buffer_size,
};
+471
View File
@@ -0,0 +1,471 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#if defined(_MSC_VER) && !defined(_XBOX)
#pragma comment(lib, "dsound")
#pragma comment(lib, "dxguid")
#endif
#ifdef _XBOX
#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
#define DSERR_INVALIDPARAM E_INVALIDARG
#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
// Send the audio signal (stereo, without attenuation) to all existing speakers
static DSMIXBINVOLUMEPAIR dsmbvp[8] = {
{ DSMIXBIN_FRONT_LEFT, DSBVOLUME_MAX },
{ DSMIXBIN_FRONT_RIGHT, DSBVOLUME_MAX },
{ DSMIXBIN_FRONT_CENTER, DSBVOLUME_MAX },
{ DSMIXBIN_FRONT_CENTER, DSBVOLUME_MAX },
{ DSMIXBIN_BACK_LEFT, DSBVOLUME_MAX },
{ DSMIXBIN_BACK_RIGHT, DSBVOLUME_MAX },
{ DSMIXBIN_LOW_FREQUENCY, DSBVOLUME_MAX },
{ DSMIXBIN_LOW_FREQUENCY, DSBVOLUME_MAX },
};
static DSMIXBINS dsmb;
#endif
#include "../driver.h"
#include <stdlib.h>
#include "../boolean.h"
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <dsound.h>
#include "../fifo_buffer.h"
#include "../general.h"
typedef struct dsound
{
LPDIRECTSOUND ds;
LPDIRECTSOUNDBUFFER dsb;
HANDLE event;
bool nonblock;
fifo_buffer_t *buffer;
CRITICAL_SECTION crit;
volatile bool thread_alive;
HANDLE thread;
unsigned buffer_size;
} dsound_t;
static inline unsigned write_avail(unsigned read_ptr, unsigned write_ptr, unsigned buffer_size)
{
return (read_ptr + buffer_size - write_ptr) % buffer_size;
}
static inline void get_positions(dsound_t *ds, DWORD *read_ptr, DWORD *write_ptr)
{
IDirectSoundBuffer_GetCurrentPosition(ds->dsb, read_ptr, write_ptr);
}
#define CHUNK_SIZE 256
struct audio_lock
{
void *chunk1;
DWORD size1;
void *chunk2;
DWORD size2;
};
static inline bool grab_region(dsound_t *ds, DWORD write_ptr, struct audio_lock *region)
{
HRESULT res = IDirectSoundBuffer_Lock(ds->dsb, write_ptr, CHUNK_SIZE, &region->chunk1, &region->size1, &region->chunk2, &region->size2, 0);
if (res == DSERR_BUFFERLOST)
{
res = IDirectSoundBuffer_Restore(ds->dsb);
if (res != DS_OK)
return false;
res = IDirectSoundBuffer_Lock(ds->dsb, write_ptr, CHUNK_SIZE, &region->chunk1, &region->size1, &region->chunk2, &region->size2, 0);
if (res != DS_OK)
return false;
}
const char *err;
switch (res)
{
case DSERR_BUFFERLOST:
err = "DSERR_BUFFERLOST";
break;
case DSERR_INVALIDCALL:
err = "DSERR_INVALIDCALL";
break;
case DSERR_INVALIDPARAM:
err = "DSERR_INVALIDPARAM";
break;
case DSERR_PRIOLEVELNEEDED:
err = "DSERR_PRIOLEVELNEEDED";
break;
default:
err = NULL;
}
if (err)
{
RARCH_WARN("[DirectSound error]: %s\n", err);
return false;
}
return true;
}
static inline void release_region(dsound_t *ds, const struct audio_lock *region)
{
IDirectSoundBuffer_Unlock(ds->dsb, region->chunk1, region->size1, region->chunk2, region->size2);
}
static DWORD CALLBACK dsound_thread(PVOID data)
{
dsound_t *ds = (dsound_t*)data;
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
DWORD write_ptr;
get_positions(ds, NULL, &write_ptr);
write_ptr = (write_ptr + ds->buffer_size / 2) % ds->buffer_size;
while (ds->thread_alive)
{
DWORD read_ptr;
get_positions(ds, &read_ptr, NULL);
DWORD avail = write_avail(read_ptr, write_ptr, ds->buffer_size);
EnterCriticalSection(&ds->crit);
DWORD fifo_avail = fifo_read_avail(ds->buffer);
LeaveCriticalSection(&ds->crit);
// No space to write, or we don't have data in our fifo, but we can wait some time before it underruns ...
if (avail < CHUNK_SIZE || ((fifo_avail < CHUNK_SIZE) && (avail < ds->buffer_size / 2)))
{
Sleep(1);
// We could opt for using the notification interface,
// but it is not guaranteed to work, so use high priority sleeping patterns. :(
}
else if (fifo_avail < CHUNK_SIZE) // Got space to write, but nothing in FIFO (underrun), fill block with silence.
{
struct audio_lock region;
if (!grab_region(ds, write_ptr, &region))
{
ds->thread_alive = false;
SetEvent(ds->event);
break;
}
memset(region.chunk1, 0, region.size1);
memset(region.chunk2, 0, region.size2);
release_region(ds, &region);
write_ptr = (write_ptr + region.size1 + region.size2) % ds->buffer_size;
}
else // All is good. Pull from it and notify FIFO :D
{
struct audio_lock region;
if (!grab_region(ds, write_ptr, &region))
{
ds->thread_alive = false;
SetEvent(ds->event);
break;
}
EnterCriticalSection(&ds->crit);
if (region.chunk1)
fifo_read(ds->buffer, region.chunk1, region.size1);
if (region.chunk2)
fifo_read(ds->buffer, region.chunk2, region.size2);
LeaveCriticalSection(&ds->crit);
release_region(ds, &region);
write_ptr = (write_ptr + region.size1 + region.size2) % ds->buffer_size;
SetEvent(ds->event);
}
}
ExitThread(0);
}
static void dsound_stop_thread(dsound_t *ds)
{
if (ds->thread)
{
ds->thread_alive = false;
WaitForSingleObject(ds->thread, INFINITE);
CloseHandle(ds->thread);
ds->thread = NULL;
}
}
static bool dsound_start_thread(dsound_t *ds)
{
if (!ds->thread)
{
ds->thread_alive = true;
ds->thread = CreateThread(NULL, 0, dsound_thread, ds, 0, NULL);
if (ds->thread == NULL)
return false;
}
return true;
}
static void dsound_clear_buffer(dsound_t *ds)
{
IDirectSoundBuffer_SetCurrentPosition(ds->dsb, 0);
void *ptr;
DWORD size;
if (IDirectSoundBuffer_Lock(ds->dsb, 0, 0, &ptr, &size, NULL, NULL, DSBLOCK_ENTIREBUFFER) == DS_OK)
{
memset(ptr, 0, size);
IDirectSoundBuffer_Unlock(ds->dsb, ptr, size, NULL, 0);
}
}
static void dsound_free(void *data)
{
dsound_t *ds = (dsound_t*)data;
if (ds)
{
if (ds->thread)
{
ds->thread_alive = false;
WaitForSingleObject(ds->thread, INFINITE);
CloseHandle(ds->thread);
}
DeleteCriticalSection(&ds->crit);
if (ds->dsb)
{
IDirectSoundBuffer_Stop(ds->dsb);
IDirectSoundBuffer_Release(ds->dsb);
}
if (ds)
IDirectSound_Release(ds->ds);
if (ds->event)
CloseHandle(ds->event);
if (ds->buffer)
fifo_free(ds->buffer);
free(ds);
}
}
struct dsound_dev
{
unsigned device;
unsigned total_count;
LPGUID guid;
};
static BOOL CALLBACK enumerate_cb(LPGUID guid, LPCSTR desc, LPCSTR module, LPVOID context)
{
struct dsound_dev *dev = (struct dsound_dev*)context;
RARCH_LOG("\t%u: %s\n", dev->total_count, desc);
if (dev->device == dev->total_count)
dev->guid = guid;
dev->total_count++;
return TRUE;
}
static void *dsound_init(const char *device, unsigned rate, unsigned latency)
{
WAVEFORMATEX wfx = {0};
DSBUFFERDESC bufdesc = {0};
struct dsound_dev dev = {0};
dsound_t *ds = (dsound_t*)calloc(1, sizeof(*ds));
if (!ds)
goto error;
InitializeCriticalSection(&ds->crit);
if (device)
dev.device = strtoul(device, NULL, 0);
RARCH_LOG("DirectSound devices:\n");
#ifndef _XBOX
DirectSoundEnumerate(enumerate_cb, &dev);
#endif
if (DirectSoundCreate(dev.guid, &ds->ds, NULL) != DS_OK)
goto error;
#ifndef _XBOX
if (IDirectSound_SetCooperativeLevel(ds->ds, GetDesktopWindow(), DSSCL_PRIORITY) != DS_OK)
goto error;
#endif
wfx.wFormatTag = WAVE_FORMAT_PCM;
wfx.nChannels = 2;
wfx.nSamplesPerSec = rate;
wfx.wBitsPerSample = 16;
wfx.nBlockAlign = 2 * sizeof(int16_t);
wfx.nAvgBytesPerSec = rate * 2 * sizeof(int16_t);
ds->buffer_size = (latency * wfx.nAvgBytesPerSec) / 1000;
ds->buffer_size /= CHUNK_SIZE;
ds->buffer_size *= CHUNK_SIZE;
if (ds->buffer_size < 4 * CHUNK_SIZE)
ds->buffer_size = 4 * CHUNK_SIZE;
RARCH_LOG("[DirectSound]: Setting buffer size of %u bytes\n", ds->buffer_size);
RARCH_LOG("[DirectSound]: Latency = %u ms\n", (unsigned)((1000 * ds->buffer_size) / wfx.nAvgBytesPerSec));
bufdesc.dwSize = sizeof(DSBUFFERDESC);
#ifdef _XBOX
bufdesc.dwFlags = 0;
#else
bufdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_GLOBALFOCUS;
#endif
bufdesc.dwBufferBytes = ds->buffer_size;
bufdesc.lpwfxFormat = &wfx;
ds->event = CreateEvent(NULL, false, false, NULL);
if (!ds->event)
goto error;
ds->buffer = fifo_new(4 * 1024);
if (!ds->buffer)
goto error;
if (IDirectSound_CreateSoundBuffer(ds->ds, &bufdesc, &ds->dsb, 0) != DS_OK)
goto error;
IDirectSoundBuffer_SetVolume(ds->dsb, DSBVOLUME_MAX);
#ifdef _XBOX
if(g_extern.console.sound.volume_level == 1)
{
dsmb.dwMixBinCount = 8;
dsmb.lpMixBinVolumePairs = dsmbvp;
IDirectSoundBuffer_SetHeadroom(ds->dsb, DSBHEADROOM_MIN);
IDirectSoundBuffer_SetMixBins(ds->dsb, &dsmb);
}
#endif
IDirectSoundBuffer_SetCurrentPosition(ds->dsb, 0);
dsound_clear_buffer(ds);
if (IDirectSoundBuffer_Play(ds->dsb, 0, 0, DSBPLAY_LOOPING) != DS_OK)
goto error;
if (!dsound_start_thread(ds))
goto error;
return ds;
error:
RARCH_ERR("[DirectSound] Error occured in init.\n");
dsound_free(ds);
return NULL;
}
static bool dsound_stop(void *data)
{
dsound_t *ds = (dsound_t*)data;
dsound_stop_thread(ds);
return IDirectSoundBuffer_Stop(ds->dsb) == DS_OK;
}
static bool dsound_start(void *data)
{
dsound_t *ds = (dsound_t*)data;
dsound_clear_buffer(ds);
if (!dsound_start_thread(ds))
return false;
return IDirectSoundBuffer_Play(ds->dsb, 0, 0, DSBPLAY_LOOPING) == DS_OK;
}
static void dsound_set_nonblock_state(void *data, bool state)
{
dsound_t *ds = (dsound_t*)data;
ds->nonblock = state;
}
static ssize_t dsound_write(void *data, const void *buf_, size_t size)
{
dsound_t *ds = (dsound_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
if (!ds->thread_alive)
return -1;
size_t written = 0;
while (size > 0)
{
EnterCriticalSection(&ds->crit);
size_t avail = fifo_write_avail(ds->buffer);
if (avail > size)
avail = size;
fifo_write(ds->buffer, buf, avail);
LeaveCriticalSection(&ds->crit);
buf += avail;
size -= avail;
written += avail;
if (ds->nonblock || !ds->thread_alive)
break;
if (avail == 0)
WaitForSingleObject(ds->event, INFINITE);
}
return written;
}
static size_t dsound_write_avail(void *data)
{
dsound_t *ds = (dsound_t*)data;
EnterCriticalSection(&ds->crit);
size_t avail = fifo_write_avail(ds->buffer);
LeaveCriticalSection(&ds->crit);
return avail;
}
static size_t dsound_buffer_size(void *data)
{
return 4 * 1024;
}
const audio_driver_t audio_dsound = {
dsound_init,
dsound_write,
dsound_stop,
dsound_start,
dsound_set_nonblock_state,
dsound_free,
NULL,
"dsound",
dsound_write_avail,
dsound_buffer_size,
};
+113
View File
@@ -0,0 +1,113 @@
/////
// API header for external RetroArch DSP plugins.
//
//
#ifndef __RARCH_DSP_PLUGIN_H
#define __RARCH_DSP_PLUGIN_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#ifdef RARCH_DLL_IMPORT
#define RARCH_API_EXPORT __declspec(dllimport)
#else
#define RARCH_API_EXPORT __declspec(dllexport)
#endif
#define RARCH_API_CALLTYPE __cdecl
#else
#define RARCH_API_EXPORT
#define RARCH_API_CALLTYPE
#endif
#ifndef RARCH_FALSE
#define RARCH_FALSE 0
#endif
#ifndef RARCH_TRUE
#define RARCH_TRUE 1
#endif
#define RARCH_DSP_API_VERSION 5
typedef struct rarch_dsp_info
{
// Input sample rate that the DSP plugin receives.
float input_rate;
} rarch_dsp_info_t;
typedef struct rarch_dsp_output
{
// The DSP plugin has to provide the buffering for the output samples.
// This is for performance reasons to avoid redundant copying of data.
// The samples are laid out in interleaving order: LRLRLRLR
// The range of the samples are [-1.0, 1.0].
// This range cannot be exceeded without horrible audio glitches.
const float *samples;
// Frames which the DSP plugin outputted for the current process.
// One frame is here defined as a combined sample of
// left and right channels.
// (I.e. 44.1kHz, 16bit stereo will have
// 88.2k samples/sec and 44.1k frames/sec.)
unsigned frames;
} rarch_dsp_output_t;
typedef struct rarch_dsp_input
{
// Input data for the DSP. The samples are interleaved in order: LRLRLRLR
const float *samples;
// Number of frames for input data.
// One frame is here defined as a combined sample of
// left and right channels.
// (I.e. 44.1kHz, 16bit stereo will have
// 88.2k samples/sec and 44.1k frames/sec.)
unsigned frames;
} rarch_dsp_input_t;
typedef struct rarch_dsp_plugin
{
// Creates a handle of the plugin. Returns NULL if failed.
void *(*init)(const rarch_dsp_info_t *info);
// Processes input data.
// The plugin is allowed to return variable sizes for output data.
void (*process)(void *data, rarch_dsp_output_t *output,
const rarch_dsp_input_t *input);
// Frees the handle.
void (*free)(void *data);
// API version used to compile the plugin.
// Used to detect mismatches in API.
// Must be set to RARCH_DSP_API_VERSION on compile.
int api_version;
// Signal plugin that it may open a configuring window or
// something similiar. The behavior of this function
// is thus plugin dependent. Implementing this is optional,
// and can be set to NULL.
void (*config)(void *data);
// Human readable identification string.
const char *ident;
// Called every frame, allows creating a GUI main loop in the main thread.
// GUI events can be processed here in a non-blocking fashion.
// Can be set to NULL to ignore it.
void (*events)(void *data);
} rarch_dsp_plugin_t;
// Called by RetroArch at startup to get the callback struct.
// This is NOT dynamically allocated!
RARCH_API_EXPORT const rarch_dsp_plugin_t* RARCH_API_CALLTYPE
rarch_dsp_plugin_init(void);
#ifdef __cplusplus
}
#endif
#endif
+45 -49
View File
@@ -1,32 +1,36 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
// Hermite resampler based on bsnes' audio library.
#include "hermite.h"
#include "resampler.h"
#include <stdlib.h>
#include <math.h>
#include "../boolean.h"
#include "../general.h"
#define MAX_CHANS 8
#ifdef HAVE_CONFIG_H
#include "../config.h"
#endif
struct hermite_resampler
#define CHANNELS 2
struct rarch_resampler
{
float chan_data[MAX_CHANS][4];
float chan_data[CHANNELS][4];
double r_frac;
unsigned chans;
};
static inline float hermite_kernel(float mu1, float a, float b, float c, float d)
@@ -36,8 +40,8 @@ static inline float hermite_kernel(float mu1, float a, float b, float c, float d
mu2 = mu1 * mu1;
mu3 = mu2 * mu1;
m0 = (c - a) * 0.5;
m1 = (d - b) * 0.5;
m0 = (c - a) * 0.5f;
m1 = (d - b) * 0.5f;
a0 = +2 * mu3 - 3 * mu2 + 1;
a1 = mu3 - 2 * mu2 + mu1;
@@ -47,63 +51,55 @@ static inline float hermite_kernel(float mu1, float a, float b, float c, float d
return (a0 * b) + (a1 * m0) + (a2 * m1) + (a3 * c);
}
hermite_resampler_t *hermite_new(unsigned channels)
rarch_resampler_t *resampler_new(void)
{
if (channels > MAX_CHANS)
return NULL;
hermite_resampler_t *re = calloc(1, sizeof(*re));
if (!re)
return NULL;
re->chans = channels;
return re;
RARCH_LOG("Hermite resampler [C]\n");
return (rarch_resampler_t*)calloc(1, sizeof(rarch_resampler_t));
}
void hermite_process(hermite_resampler_t *re, struct hermite_data *data)
void resampler_process(rarch_resampler_t *re, struct resampler_data *data)
{
double r_step = 1.0 / data->src_ratio;
double r_step = 1.0 / data->ratio;
size_t processed_out = 0;
size_t processed_in = 0;
size_t in_frames = data->input_frames;
size_t out_frames = data->output_frames;
const float *in_data = data->data_in;
float *out_data = data->data_out;
while (processed_in < in_frames && processed_out < out_frames)
size_t i = 0;
while (i < in_frames)
{
while (re->r_frac <= 1.0 && processed_out < out_frames)
while (re->r_frac >= 1.0 && i < in_frames)
{
re->r_frac -= 1.0;
for (unsigned c = 0; c < CHANNELS; c++)
{
re->chan_data[c][0] = re->chan_data[c][1];
re->chan_data[c][1] = re->chan_data[c][2];
re->chan_data[c][2] = re->chan_data[c][3];
re->chan_data[c][3] = *in_data++;
}
i++;
}
while (re->r_frac <= 1.0)
{
re->r_frac += r_step;
for (unsigned i = 0; i < re->chans; i++)
for (unsigned c = 0; c < CHANNELS; c++)
{
float res = hermite_kernel(re->r_frac,
re->chan_data[i][0], re->chan_data[i][1], re->chan_data[i][2], re->chan_data[i][3]);
float res = hermite_kernel((float)re->r_frac,
re->chan_data[c][0], re->chan_data[c][1],
re->chan_data[c][2], re->chan_data[c][3]);
*out_data++ = res;
}
processed_out++;
}
if (re->r_frac >= 1.0)
{
re->r_frac -= 1.0;
for (unsigned i = 0; i < re->chans; i++)
{
re->chan_data[i][0] = re->chan_data[i][1];
re->chan_data[i][1] = re->chan_data[i][2];
re->chan_data[i][2] = re->chan_data[i][3];
re->chan_data[i][3] = *in_data++;
}
processed_in++;
}
}
data->input_frames_used = processed_in;
data->output_frames_gen = processed_out;
data->output_frames = processed_out;
}
void hermite_free(hermite_resampler_t *re)
void resampler_free(rarch_resampler_t *re)
{
free(re);
}
-50
View File
@@ -1,50 +0,0 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* If not, see <http://www.gnu.org/licenses/>.
*/
// Hermite resampler based on bsnes' audio library.
// Attempts to be similiar to the libsamplerate process interface.
#ifndef __SSNES_HERMITE_H
#define __SSNES_HERMITE_H
#include <stddef.h>
#include <stdbool.h>
typedef struct hermite_resampler hermite_resampler_t;
hermite_resampler_t *hermite_new(unsigned channels);
struct hermite_data
{
const float *data_in;
float *data_out;
size_t input_frames;
size_t output_frames;
size_t input_frames_used;
size_t output_frames_gen;
bool end_of_input; // Just used to clone the SRC API.
double src_ratio;
};
void hermite_process(hermite_resampler_t *re, struct hermite_data *data);
void hermite_free(hermite_resampler_t *re);
#endif
+90 -74
View File
@@ -1,31 +1,29 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "../driver.h"
#include <stdlib.h>
#include "general.h"
#include "../general.h"
#include <jack/jack.h>
#include <jack/types.h>
#include <jack/ringbuffer.h>
#include <pthread.h>
#include <stdint.h>
#include <stdbool.h>
#include "../boolean.h"
#include <string.h>
#include <assert.h>
@@ -41,11 +39,12 @@ typedef struct jack
pthread_cond_t cond;
pthread_mutex_t cond_lock;
size_t buffer_size;
} jack_t;
static int process_cb(jack_nframes_t nframes, void *data)
{
jack_t *jd = data;
jack_t *jd = (jack_t*)data;
if (nframes <= 0)
{
pthread_cond_signal(&jd->cond);
@@ -62,7 +61,7 @@ static int process_cb(jack_nframes_t nframes, void *data)
for (int i = 0; i < 2; i++)
{
jack_default_audio_sample_t *out = jack_port_get_buffer(jd->ports[i], nframes);
jack_default_audio_sample_t *out = (jack_default_audio_sample_t*)jack_port_get_buffer(jd->ports[i], nframes);
assert(out);
jack_ringbuffer_read(jd->buffer[i], (char*)out, min_avail * sizeof(jack_default_audio_sample_t));
@@ -77,7 +76,7 @@ static int process_cb(jack_nframes_t nframes, void *data)
static void shutdown_cb(void *data)
{
jack_t *jd = data;
jack_t *jd = (jack_t*)data;
jd->shutdown = true;
pthread_cond_signal(&jd->cond);
}
@@ -86,10 +85,11 @@ static int parse_ports(char **dest_ports, const char **jports)
{
int parsed = 0;
const char *con = strtok(g_settings.audio.device, ",");
char *save;
const char *con = strtok_r(g_settings.audio.device, ",", &save);
if (con)
dest_ports[parsed++] = strdup(con);
con = strtok(NULL, ",");
con = strtok_r(NULL, ",", &save);
if (con)
dest_ports[parsed++] = strdup(con);
@@ -108,15 +108,15 @@ static size_t find_buffersize(jack_t *jd, int latency)
for (int i = 0; i < 2; i++)
{
jack_port_get_latency_range(jd->ports[i], JackPlaybackLatency, &range);
if (range.max > jack_latency)
if ((int)range.max > jack_latency)
jack_latency = range.max;
}
SSNES_LOG("JACK: Jack latency is %d frames.\n", jack_latency);
RARCH_LOG("JACK: Jack latency is %d frames.\n", jack_latency);
int buffer_frames = frames - jack_latency;
int min_buffer_frames = jack_get_buffer_size(jd->client) * 2;
SSNES_LOG("JACK: Minimum buffer size is %d frames.\n", min_buffer_frames);
RARCH_LOG("JACK: Minimum buffer size is %d frames.\n", min_buffer_frames);
if (buffer_frames < min_buffer_frames)
buffer_frames = min_buffer_frames;
@@ -124,15 +124,21 @@ static size_t find_buffersize(jack_t *jd, int latency)
return buffer_frames * sizeof(jack_default_audio_sample_t);
}
static void* __jack_init(const char* device, int rate, int latency)
static void *ja_init(const char *device, unsigned rate, unsigned latency)
{
jack_t *jd = calloc(1, sizeof(jack_t));
if ( jd == NULL )
jack_t *jd = (jack_t*)calloc(1, sizeof(jack_t));
if (!jd)
return NULL;
pthread_cond_init(&jd->cond, NULL);
pthread_mutex_init(&jd->cond_lock, NULL);
const char **jports = NULL;
char *dest_ports[2];
size_t bufsize = 0;
int parsed = 0;
jd->client = jack_client_open("SSNES", JackNullOption, NULL);
jd->client = jack_client_open("RetroArch", JackNullOption, NULL);
if (jd->client == NULL)
goto error;
@@ -145,24 +151,36 @@ static void* __jack_init(const char* device, int rate, int latency)
jd->ports[1] = jack_port_register(jd->client, "right", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0);
if (jd->ports[0] == NULL || jd->ports[1] == NULL)
{
SSNES_ERR("Failed to register ports.\n");
RARCH_ERR("Failed to register ports.\n");
goto error;
}
char *dest_ports[2];
jports = jack_get_ports(jd->client, NULL, NULL, JackPortIsPhysical | JackPortIsInput);
if (jports == NULL)
{
SSNES_ERR("Failed to get ports.\n");
RARCH_ERR("Failed to get ports.\n");
goto error;
}
int parsed = parse_ports(dest_ports, jports);
bufsize = find_buffersize(jd, latency);
jd->buffer_size = bufsize;
RARCH_LOG("JACK: Internal buffer size: %d frames.\n", (int)(bufsize / sizeof(jack_default_audio_sample_t)));
for (int i = 0; i < 2; i++)
{
jd->buffer[i] = jack_ringbuffer_create(bufsize);
if (jd->buffer[i] == NULL)
{
RARCH_ERR("Failed to create buffers.\n");
goto error;
}
}
parsed = parse_ports(dest_ports, jports);
if (jack_activate(jd->client) < 0)
{
SSNES_ERR("Failed to activate Jack...\n");
RARCH_ERR("Failed to activate Jack...\n");
goto error;
}
@@ -170,30 +188,14 @@ static void* __jack_init(const char* device, int rate, int latency)
{
if (jack_connect(jd->client, jack_port_name(jd->ports[i]), dest_ports[i]))
{
SSNES_ERR("Failed to connect to Jack port.\n");
RARCH_ERR("Failed to connect to Jack port.\n");
goto error;
}
}
for (int i = 0; i < parsed; i++)
free(dest_ports[i]);
size_t bufsize = find_buffersize(jd, latency);
SSNES_LOG("JACK: Internal buffer size: %d frames.\n", (int)(bufsize / sizeof(jack_default_audio_sample_t)));
for (int i = 0; i < 2; i++)
{
jd->buffer[i] = jack_ringbuffer_create(bufsize);
if (jd->buffer[i] == NULL)
{
SSNES_ERR("Failed to create buffers.\n");
goto error;
}
}
pthread_cond_init(&jd->cond, NULL);
pthread_mutex_init(&jd->cond_lock, NULL);
jack_free(jports);
return jd;
@@ -205,7 +207,7 @@ error:
static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
{
jack_default_audio_sample_t out_deinterleaved_buffer[2][FRAMES(size)];
jack_default_audio_sample_t out_deinterleaved_buffer[2][AUDIO_CHUNK_SIZE_NONBLOCKING];
for (int i = 0; i < 2; i++)
for (size_t j = 0; j < FRAMES(size); j++)
@@ -219,9 +221,11 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
if (jd->shutdown)
return 0;
size_t avail[2];
avail[0] = jack_ringbuffer_write_space(jd->buffer[0]);
avail[1] = jack_ringbuffer_write_space(jd->buffer[1]);
size_t avail[2] = {
jack_ringbuffer_write_space(jd->buffer[0]),
jack_ringbuffer_write_space(jd->buffer[1]),
};
size_t min_avail = avail[0] < avail[1] ? avail[0] : avail[1];
min_avail /= sizeof(float);
@@ -230,7 +234,10 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
if (write_frames > 0)
{
for (int i = 0; i < 2; i++)
jack_ringbuffer_write(jd->buffer[i], (const char*)&out_deinterleaved_buffer[i][written], write_frames * sizeof(jack_default_audio_sample_t));
{
jack_ringbuffer_write(jd->buffer[i], (const char*)&out_deinterleaved_buffer[i][written],
write_frames * sizeof(jack_default_audio_sample_t));
}
written += write_frames;
}
else
@@ -247,34 +254,34 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
return written * sizeof(float) * 2;
}
static ssize_t __jack_write(void* data, const void* buf, size_t size)
static ssize_t ja_write(void *data, const void *buf, size_t size)
{
jack_t *jd = data;
jack_t *jd = (jack_t*)data;
return write_buffer(jd, buf, size);
return write_buffer(jd, (const float*)buf, size);
}
static bool __jack_stop(void *data)
static bool ja_stop(void *data)
{
(void)data;
return true;
}
static void __jack_set_nonblock_state(void *data, bool state)
static void ja_set_nonblock_state(void *data, bool state)
{
jack_t *jd = data;
jack_t *jd = (jack_t*)data;
jd->nonblock = state;
}
static bool __jack_start(void *data)
static bool ja_start(void *data)
{
(void)data;
return true;
}
static void __jack_free(void *data)
static void ja_free(void *data)
{
jack_t *jd = data;
jack_t *jd = (jack_t*)data;
jd->shutdown = true;
@@ -293,25 +300,34 @@ static void __jack_free(void *data)
free(jd);
}
static bool __jack_use_float(void *data)
static bool ja_use_float(void *data)
{
(void)data;
return true;
}
static size_t ja_write_avail(void *data)
{
jack_t *jd = (jack_t*)data;
return jack_ringbuffer_write_space(jd->buffer[0]);
}
static size_t ja_buffer_size(void *data)
{
jack_t *jd = (jack_t*)data;
return jd->buffer_size;
}
const audio_driver_t audio_jack = {
.init = __jack_init,
.write = __jack_write,
.stop = __jack_stop,
.start = __jack_start,
.set_nonblock_state = __jack_set_nonblock_state,
.free = __jack_free,
.use_float = __jack_use_float,
.ident = "jack"
ja_init,
ja_write,
ja_stop,
ja_start,
ja_set_nonblock_state,
ja_free,
ja_use_float,
"jack",
ja_write_avail,
ja_buffer_size,
};
+74
View File
@@ -0,0 +1,74 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "../general.h"
#include "../driver.h"
static void *null_audio_init(const char *device, unsigned rate, unsigned latency)
{
(void)device;
(void)rate;
(void)latency;
return (void*)-1;
}
static void null_audio_free(void *data)
{
(void)data;
}
static ssize_t null_audio_write(void *data, const void *buf, size_t size)
{
(void)data;
(void)buf;
return size;
}
static bool null_audio_stop(void *data)
{
(void)data;
return true;
}
static bool null_audio_start(void *data)
{
(void)data;
return true;
}
static void null_audio_set_nonblock_state(void *data, bool state)
{
(void)data;
(void)state;
}
static bool null_audio_use_float(void *data)
{
(void)data;
return true;
}
const audio_driver_t audio_null = {
null_audio_init,
null_audio_write,
null_audio_stop,
null_audio_start,
null_audio_set_nonblock_state,
null_audio_free,
null_audio_use_float,
"null",
};
+34 -38
View File
@@ -1,22 +1,19 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "../driver.h"
#ifdef __APPLE__
#include <OpenAL/al.h>
@@ -56,11 +53,11 @@ typedef struct al
} al_t;
static void* __al_init(const char* device, int rate, int latency)
static void *al_init(const char *device, unsigned rate, unsigned latency)
{
(void)device;
al_t *al = calloc(1, sizeof(al_t));
if ( al == NULL )
al_t *al = (al_t*)calloc(1, sizeof(al_t));
if (!al)
return NULL;
al->handle = alcOpenDevice(NULL);
@@ -76,8 +73,8 @@ static void* __al_init(const char* device, int rate, int latency)
al->rate = rate;
al->num_buffers = (latency * rate * 2 * 2) / (1000 * BUFSIZE);
al->buffers = calloc(al->num_buffers, sizeof(ALuint));
al->res_buf = calloc(al->num_buffers, sizeof(ALuint));
al->buffers = (ALuint*)calloc(al->num_buffers, sizeof(ALuint));
al->res_buf = (ALuint*)calloc(al->num_buffers, sizeof(ALuint));
if (al->buffers == NULL || al->res_buf == NULL)
goto error;
@@ -127,13 +124,12 @@ static bool al_get_buffer(al_t *al, ALuint *buffer)
if (al->res_ptr == 0)
{
#ifndef _WIN32
struct timespec tv = {
.tv_sec = 0,
.tv_nsec = 1000000
};
struct timespec tv = {0};
tv.tv_sec = 0;
tv.tv_nsec = 1000000;
#endif
for(;;)
for (;;)
{
if (al_unqueue_buffers(al))
break;
@@ -153,17 +149,17 @@ static bool al_get_buffer(al_t *al, ALuint *buffer)
return true;
}
static size_t al_fill_internal_buf(al_t *al, const void* buf, size_t size)
static size_t al_fill_internal_buf(al_t *al, const void *buf, size_t size)
{
size_t read_size = (BUFSIZE - al->tmpbuf_ptr > size) ? size : (BUFSIZE - al->tmpbuf_ptr);
size_t read_size = (BUFSIZE - al->tmpbuf_ptr > (ssize_t)size) ? size : (BUFSIZE - al->tmpbuf_ptr);
memcpy(al->tmpbuf + al->tmpbuf_ptr, buf, read_size);
al->tmpbuf_ptr += read_size;
return read_size;
}
static ssize_t __al_write(void* data, const void* buf, size_t size)
static ssize_t al_write(void *data, const void *buf, size_t size)
{
al_t *al = data;
al_t *al = (al_t*)data;
size_t written = 0;
while (written < size)
@@ -196,32 +192,32 @@ static ssize_t __al_write(void* data, const void* buf, size_t size)
return size;
}
static bool __al_stop(void *data)
static bool al_stop(void *data)
{
(void)data;
return true;
}
static void __al_set_nonblock_state(void *data, bool state)
static void al_set_nonblock_state(void *data, bool state)
{
al_t *al = data;
al_t *al = (al_t*)data;
al->nonblock = state;
}
static bool __al_start(void *data)
static bool al_start(void *data)
{
(void)data;
return true;
}
static void __al_free(void *data)
static void al_free(void *data)
{
al_t *al= data;
al_t *al = (al_t*)data;
if (al)
{
alSourceStop(al->source);
alDeleteSources(1, &al->source);
if ( al->buffers )
if (al->buffers)
{
alDeleteBuffers(al->num_buffers, al->buffers);
free(al->buffers);
@@ -235,13 +231,13 @@ static void __al_free(void *data)
}
const audio_driver_t audio_openal = {
.init = __al_init,
.write = __al_write,
.stop = __al_stop,
.start = __al_start,
.set_nonblock_state = __al_set_nonblock_state,
.free = __al_free,
.ident = "openal"
al_init,
al_write,
al_stop,
al_start,
al_set_nonblock_state,
al_free,
NULL,
"openal"
};
+278
View File
@@ -0,0 +1,278 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "../driver.h"
#include "../general.h"
#include "../thread.h"
#include <SLES/OpenSLES.h>
#ifdef ANDROID
#include <SLES/OpenSLES_Android.h>
#endif
// Helper macros, COM-style!
#define SLObjectItf_Realize(a, ...) ((*(a))->Realize(a, __VA_ARGS__))
#define SLObjectItf_GetInterface(a, ...) ((*(a))->GetInterface(a, __VA_ARGS__))
#define SLObjectItf_Destroy(a) ((*(a))->Destroy((a)))
#define SLEngineItf_CreateOutputMix(a, ...) ((*(a))->CreateOutputMix(a, __VA_ARGS__))
#define SLEngineItf_CreateAudioPlayer(a, ...) ((*(a))->CreateAudioPlayer(a, __VA_ARGS__))
#define SLPlayItf_SetPlayState(a, ...) ((*(a))->SetPlayState(a, __VA_ARGS__))
// TODO: Are these sane?
#define BUFFER_SIZE 8192
#define BUFFER_COUNT 4
typedef struct sl
{
uint8_t buffer[BUFFER_COUNT][BUFFER_SIZE];
unsigned buffer_index;
unsigned buffer_ptr;
volatile unsigned buffered_blocks;
SLObjectItf engine_object;
SLEngineItf engine;
SLObjectItf output_mix;
SLObjectItf buffer_queue_object;
SLAndroidSimpleBufferQueueItf buffer_queue;
SLPlayItf player;
slock_t *lock;
scond_t *cond;
bool nonblock;
unsigned buf_count;
} sl_t;
static void opensl_callback(SLAndroidSimpleBufferQueueItf bq, void *ctx)
{
sl_t *sl = (sl_t*)ctx;
slock_lock(sl->lock);
sl->buffered_blocks--;
slock_unlock(sl->lock);
scond_signal(sl->cond);
}
#define GOTO_IF_FAIL(x) do { \
if ((res = (x)) != SL_RESULT_SUCCESS) \
goto error; \
} while(0)
static void sl_free(void *data)
{
sl_t *sl = (sl_t*)data;
if (!sl)
return;
if (sl->player)
SLPlayItf_SetPlayState(sl->player, SL_PLAYSTATE_STOPPED);
if (sl->buffer_queue_object)
SLObjectItf_Destroy(sl->buffer_queue_object);
if (sl->output_mix)
SLObjectItf_Destroy(sl->output_mix);
if (sl->engine_object)
SLObjectItf_Destroy(sl->engine_object);
if (sl->lock)
slock_free(sl->lock);
if (sl->cond)
scond_free(sl->cond);
free(sl);
}
static void *sl_init(const char *device, unsigned rate, unsigned latency)
{
(void)device;
SLDataFormat_PCM fmt_pcm = {0};
SLDataSource audio_src = {0};
SLDataSink audio_sink = {0};
SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {0};
SLDataLocator_OutputMix loc_outmix = {0};
SLInterfaceID id = SL_IID_ANDROIDSIMPLEBUFFERQUEUE;
SLboolean req = SL_BOOLEAN_TRUE;
SLresult res = 0;
sl_t *sl = (sl_t*)calloc(1, sizeof(sl_t));
if (!sl)
goto error;
GOTO_IF_FAIL(slCreateEngine(&sl->engine_object, 0, NULL, 0, NULL, NULL));
GOTO_IF_FAIL(SLObjectItf_Realize(sl->engine_object, SL_BOOLEAN_FALSE));
GOTO_IF_FAIL(SLObjectItf_GetInterface(sl->engine_object, SL_IID_ENGINE, &sl->engine));
GOTO_IF_FAIL(SLEngineItf_CreateOutputMix(sl->engine, &sl->output_mix, 0, NULL, NULL));
GOTO_IF_FAIL(SLObjectItf_Realize(sl->output_mix, SL_BOOLEAN_FALSE));
sl->buf_count = BUFFER_COUNT;
RARCH_LOG("[SLES] : Setting audio latency (buffer size: [%d])..\n", sl->buf_count * BUFFER_SIZE);
fmt_pcm.formatType = SL_DATAFORMAT_PCM;
fmt_pcm.numChannels = 2;
fmt_pcm.samplesPerSec = rate * 1000; // Samplerate is in milli-Hz.
fmt_pcm.bitsPerSample = sizeof(int16_t) * 8;
fmt_pcm.containerSize = sizeof(int16_t) * 8;
fmt_pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
fmt_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; // Android only.
audio_src.pLocator = &loc_bufq;
audio_src.pFormat = &fmt_pcm;
loc_bufq.locatorType = SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE;
loc_bufq.numBuffers = sl->buf_count;
loc_outmix.locatorType = SL_DATALOCATOR_OUTPUTMIX;
loc_outmix.outputMix = sl->output_mix;
audio_sink.pLocator = &loc_outmix;
GOTO_IF_FAIL(SLEngineItf_CreateAudioPlayer(sl->engine, &sl->buffer_queue_object,
&audio_src, &audio_sink,
1, &id, &req));
GOTO_IF_FAIL(SLObjectItf_Realize(sl->buffer_queue_object, SL_BOOLEAN_FALSE));
GOTO_IF_FAIL(SLObjectItf_GetInterface(sl->buffer_queue_object, SL_IID_BUFFERQUEUE,
&sl->buffer_queue));
sl->cond = scond_new();
sl->lock = slock_new();
(*sl->buffer_queue)->RegisterCallback(sl->buffer_queue, opensl_callback, sl);
// Enqueue a bit to get stuff rolling.
sl->buffered_blocks = BUFFER_COUNT;
sl->buffer_index = 0;
for (unsigned i = 0; i < BUFFER_COUNT; i++)
(*sl->buffer_queue)->Enqueue(sl->buffer_queue, sl->buffer[i], BUFFER_SIZE);
GOTO_IF_FAIL(SLObjectItf_GetInterface(sl->buffer_queue_object, SL_IID_PLAY, &sl->player));
GOTO_IF_FAIL(SLPlayItf_SetPlayState(sl->player, SL_PLAYSTATE_PLAYING));
return sl;
error:
RARCH_ERR("Couldn't initialize OpenSL ES driver, error code: [%d].\n", (int)res);
sl_free(sl);
return NULL;
}
static bool sl_stop(void *data)
{
sl_t *sl = (sl_t*)data;
return SLPlayItf_SetPlayState(sl->player, SL_PLAYSTATE_STOPPED) == SL_RESULT_SUCCESS;
}
static void sl_set_nonblock_state(void *data, bool state)
{
sl_t *sl = (sl_t*)data;
sl->nonblock = state;
}
static bool sl_start(void *data)
{
sl_t *sl = (sl_t*)data;
return SLPlayItf_SetPlayState(sl->player, SL_PLAYSTATE_PLAYING) == SL_RESULT_SUCCESS;
}
static ssize_t sl_write(void *data, const void *buf_, size_t size)
{
sl_t *sl = (sl_t*)data;
size_t written = 0;
const uint8_t *buf = (const uint8_t*)buf_;
while (size)
{
slock_lock(sl->lock);
if (sl->nonblock)
{
if (sl->buffered_blocks == BUFFER_COUNT)
{
slock_unlock(sl->lock);
break;
}
}
else
{
while (sl->buffered_blocks == BUFFER_COUNT)
scond_wait(sl->cond, sl->lock);
}
slock_unlock(sl->lock);
size_t avail_write = min(BUFFER_SIZE - sl->buffer_ptr, size);
if (avail_write)
{
memcpy(sl->buffer[sl->buffer_index] + sl->buffer_ptr, buf, avail_write);
sl->buffer_ptr += avail_write;
buf += avail_write;
size -= avail_write;
written += avail_write;
}
if (sl->buffer_ptr >= BUFFER_SIZE)
{
slock_lock(sl->lock);
(*sl->buffer_queue)->Enqueue(sl->buffer_queue, sl->buffer[sl->buffer_index], BUFFER_SIZE);
sl->buffer_index = (sl->buffer_index + 1) & (BUFFER_COUNT - 1);
sl->buffered_blocks++;
slock_unlock(sl->lock);
sl->buffer_ptr = 0;
}
}
//RARCH_LOG("Blocks: %u\n", sl->buffered_blocks);
return written;
}
static size_t sl_write_avail(void *data)
{
sl_t *sl = (sl_t*)data;
slock_lock(sl->lock);
size_t avail = (BUFFER_COUNT - (int)sl->buffered_blocks - 1) * BUFFER_SIZE + (BUFFER_SIZE - (int)sl->buffer_ptr);
slock_unlock(sl->lock);
return avail;
}
static size_t sl_buffer_size(void *data)
{
(void)data;
return BUFFER_SIZE * BUFFER_COUNT;
}
const audio_driver_t audio_opensl = {
sl_init,
sl_write,
sl_stop,
sl_start,
sl_set_nonblock_state,
sl_free,
NULL,
"opensl",
sl_write_avail,
sl_buffer_size,
};
+99 -50
View File
@@ -1,147 +1,196 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "driver.h"
#include "general.h"
#include <stdlib.h>
#ifdef HAVE_OSS_BSD
#include <soundcard.h>
#else
#include <sys/soundcard.h>
#endif
#include <fcntl.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
static void* __oss_init(const char* device, int rate, int latency)
#ifdef HAVE_OSS_BSD
#define DEFAULT_OSS_DEV "/dev/audio"
#else
#define DEFAULT_OSS_DEV "/dev/dsp"
#endif
static void *oss_init(const char *device, unsigned rate, unsigned latency)
{
int *fd = calloc(1, sizeof(int));
if ( fd == NULL )
int *fd = (int*)calloc(1, sizeof(int));
if (fd == NULL)
return NULL;
const char *oss_device = "/dev/dsp";
const char *oss_device = DEFAULT_OSS_DEV;
if ( device != NULL )
if (device != NULL)
oss_device = device;
if ( (*fd = open(oss_device, O_WRONLY)) < 0 )
if ((*fd = open(oss_device, O_WRONLY)) < 0)
{
free(fd);
perror("open");
return NULL;
}
int frags = (latency * rate * 4)/(1000 * (1 << 9));
int frag = (frags << 16) | 9;
int frags = (latency * rate * 4) / (1000 * (1 << 10));
int frag = (frags << 16) | 10;
if ( ioctl(*fd, SNDCTL_DSP_SETFRAGMENT, &frag) < 0 )
{
close(*fd);
free(fd);
return NULL;
}
if (ioctl(*fd, SNDCTL_DSP_SETFRAGMENT, &frag) < 0)
RARCH_WARN("Cannot set fragment sizes. Latency might not be as expected ...\n");
int channels = 2;
int format = AFMT_S16_LE;
int format = is_little_endian() ?
AFMT_S16_LE : AFMT_S16_BE;
if ( ioctl(*fd, SNDCTL_DSP_CHANNELS, &channels) < 0 )
if (ioctl(*fd, SNDCTL_DSP_CHANNELS, &channels) < 0)
{
close(*fd);
free(fd);
perror("ioctl");
return NULL;
}
if ( ioctl(*fd, SNDCTL_DSP_SETFMT, &format) < 0 )
if (ioctl(*fd, SNDCTL_DSP_SETFMT, &format) < 0)
{
close(*fd);
free(fd);
perror("ioctl");
return NULL;
}
if ( ioctl(*fd, SNDCTL_DSP_SPEED, &rate) < 0 )
int new_rate = rate;
if (ioctl(*fd, SNDCTL_DSP_SPEED, &new_rate) < 0)
{
close(*fd);
free(fd);
perror("ioctl");
return NULL;
}
if (new_rate != (int)rate)
{
RARCH_WARN("Requested sample rate not supported. Adjusting output rate to %d Hz.\n", new_rate);
g_settings.audio.out_rate = new_rate;
}
return fd;
}
static ssize_t __oss_write(void* data, const void* buf, size_t size)
static ssize_t oss_write(void *data, const void *buf, size_t size)
{
int *fd = data;
int *fd = (int*)data;
if ( size == 0 )
if (size == 0)
return 0;
ssize_t ret;
if ( (ret = write(*fd, buf, size)) <= 0 )
if ((ret = write(*fd, buf, size)) < 0)
{
if ( (fcntl(*fd, F_GETFL) & O_NONBLOCK) && errno == EAGAIN )
if (errno == EAGAIN && (fcntl(*fd, F_GETFL) & O_NONBLOCK))
return 0;
return -1;
}
return ret;
}
static bool __oss_stop(void *data)
static bool oss_stop(void *data)
{
int *fd = data;
int *fd = (int*)data;
ioctl(*fd, SNDCTL_DSP_RESET, 0);
return true;
}
static bool __oss_start(void *data)
static bool oss_start(void *data)
{
return true;
}
static void __oss_set_nonblock_state(void *data, bool state)
static void oss_set_nonblock_state(void *data, bool state)
{
int *fd = data;
int *fd = (int*)data;
int rc;
if (state)
rc = fcntl(*fd, F_SETFL, fcntl(*fd, F_GETFL) | O_NONBLOCK);
else
rc = fcntl(*fd, F_SETFL, fcntl(*fd, F_GETFL) & (~O_NONBLOCK));
if (rc != 0)
fprintf(stderr, "SSNES [ERROR]: Could not set nonblocking on OSS file descriptor. Will not be able to fast-forward.\n");
RARCH_WARN("Could not set nonblocking on OSS file descriptor. Will not be able to fast-forward.\n");
}
static void __oss_free(void *data)
static void oss_free(void *data)
{
int *fd = data;
int *fd = (int*)data;
ioctl(*fd, SNDCTL_DSP_RESET, 0);
close(*fd);
free(fd);
}
static size_t oss_write_avail(void *data)
{
int *fd = (int*)data;
audio_buf_info info;
if (ioctl(*fd, SNDCTL_DSP_GETOSPACE, &info) < 0)
{
RARCH_ERR("SNDCTL_DSP_GETOSPACE failed ...\n");
return 0;
}
return info.bytes;
}
static size_t oss_buffer_size(void *data)
{
int *fd = (int*)data;
audio_buf_info info;
if (ioctl(*fd, SNDCTL_DSP_GETOSPACE, &info) < 0)
{
RARCH_ERR("SNDCTL_DSP_GETOSPACE failed ...\n");
return 1; // Return something non-zero to avoid SIGFPE.
}
return info.fragsize * info.fragstotal;
}
const audio_driver_t audio_oss = {
.init = __oss_init,
.write = __oss_write,
.stop = __oss_stop,
.start = __oss_start,
.set_nonblock_state = __oss_set_nonblock_state,
.free = __oss_free,
.ident = "oss"
oss_init,
oss_write,
oss_stop,
oss_start,
oss_set_nonblock_state,
oss_free,
NULL,
"oss",
oss_write_avail,
oss_buffer_size,
};
+70 -70
View File
@@ -1,17 +1,15 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
@@ -19,7 +17,7 @@
#include "driver.h"
#include "general.h"
#include <pulse/pulseaudio.h>
#include <stdbool.h>
#include "../boolean.h"
#include <string.h>
#include <stdio.h>
@@ -30,11 +28,12 @@ typedef struct
pa_context *context;
pa_stream *stream;
bool nonblock;
size_t buffer_size;
} pa_t;
static void __pulse_free(void *data)
static void pulse_free(void *data)
{
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
if (pa)
{
if (pa->mainloop)
@@ -59,21 +58,9 @@ static void __pulse_free(void *data)
}
}
static inline uint8_t is_little_endian(void)
{
union
{
uint16_t x;
uint8_t y[2];
} u;
u.x = 1;
return u.y[0];
}
static void context_state_cb(pa_context *c, void *data)
{
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
switch (pa_context_get_state(c))
{
case PA_CONTEXT_READY:
@@ -88,8 +75,9 @@ static void context_state_cb(pa_context *c, void *data)
static void stream_state_cb(pa_stream *s, void *data)
{
pa_t *pa = data;
switch (pa_stream_get_state(s)) {
pa_t *pa = (pa_t*)data;
switch (pa_stream_get_state(s))
{
case PA_STREAM_READY:
case PA_STREAM_FAILED:
case PA_STREAM_TERMINATED:
@@ -104,20 +92,24 @@ static void stream_request_cb(pa_stream *s, size_t length, void *data)
{
(void)length;
(void)s;
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
pa_threaded_mainloop_signal(pa->mainloop, 0);
}
static void stream_latency_update_cb(pa_stream *s, void *data)
{
(void)s;
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
pa_threaded_mainloop_signal(pa->mainloop, 0);
}
static void* __pulse_init(const char* device, int rate, int latency)
static void *pulse_init(const char *device, unsigned rate, unsigned latency)
{
pa_t *pa = calloc(1, sizeof(*pa));
pa_sample_spec spec;
memset(&spec, 0, sizeof(spec));
pa_buffer_attr buffer_attr = {0};
pa_t *pa = (pa_t*)calloc(1, sizeof(*pa));
if (!pa)
goto error;
@@ -125,7 +117,7 @@ static void* __pulse_init(const char* device, int rate, int latency)
if (!pa->mainloop)
goto error;
pa->context = pa_context_new(pa_threaded_mainloop_get_api(pa->mainloop), "SSNES");
pa->context = pa_context_new(pa_threaded_mainloop_get_api(pa->mainloop), "RetroArch");
if (!pa->context)
goto error;
@@ -143,11 +135,9 @@ static void* __pulse_init(const char* device, int rate, int latency)
if (pa_context_get_state(pa->context) != PA_CONTEXT_READY)
goto unlock_error;
pa_sample_spec spec = {
.format = is_little_endian() ? PA_SAMPLE_FLOAT32LE : PA_SAMPLE_FLOAT32BE,
.channels = 2,
.rate = rate
};
spec.format = is_little_endian() ? PA_SAMPLE_FLOAT32LE : PA_SAMPLE_FLOAT32BE;
spec.channels = 2;
spec.rate = rate;
pa->stream = pa_stream_new(pa->context, "audio", &spec, NULL);
if (!pa->stream)
@@ -157,13 +147,13 @@ static void* __pulse_init(const char* device, int rate, int latency)
pa_stream_set_write_callback(pa->stream, stream_request_cb, pa);
pa_stream_set_latency_update_callback(pa->stream, stream_latency_update_cb, pa);
pa_buffer_attr buffer_attr = {
.maxlength = -1,
.tlength = pa_usec_to_bytes(latency * PA_USEC_PER_MSEC, &spec),
.prebuf = -1,
.minreq = -1,
.fragsize = -1
};
buffer_attr.maxlength = -1;
buffer_attr.tlength = pa_usec_to_bytes(latency * PA_USEC_PER_MSEC, &spec);
buffer_attr.prebuf = -1;
buffer_attr.minreq = -1;
buffer_attr.fragsize = -1;
pa->buffer_size = buffer_attr.tlength;
if (pa_stream_connect_playback(pa->stream, NULL, &buffer_attr, PA_STREAM_ADJUST_LATENCY, NULL, NULL) < 0)
goto error;
@@ -180,29 +170,27 @@ static void* __pulse_init(const char* device, int rate, int latency)
unlock_error:
pa_threaded_mainloop_unlock(pa->mainloop);
error:
__pulse_free(pa);
pulse_free(pa);
return NULL;
}
static ssize_t __pulse_write(void* data, const void* buf, size_t size)
static ssize_t pulse_write(void *data, const void *buf, size_t size)
{
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
pa_threaded_mainloop_lock(pa->mainloop);
unsigned length = pa_stream_writable_size(pa->stream);
size_t length = pa_stream_writable_size(pa->stream);
pa_threaded_mainloop_unlock(pa->mainloop);
while (length < size)
while (length < size && !pa->nonblock)
{
pa_threaded_mainloop_wait(pa->mainloop);
pa_threaded_mainloop_lock(pa->mainloop);
pa_threaded_mainloop_wait(pa->mainloop);
length = pa_stream_writable_size(pa->stream);
pa_threaded_mainloop_unlock(pa->mainloop);
if (pa->nonblock)
break;
}
size_t write_size = length < size ? length : size;
size_t write_size = min(length, size);
pa_threaded_mainloop_lock(pa->mainloop);
pa_stream_write(pa->stream, buf, write_size, NULL, 0LL, PA_SEEK_RELATIVE);
@@ -210,43 +198,55 @@ static ssize_t __pulse_write(void* data, const void* buf, size_t size)
return write_size;
}
static bool __pulse_stop(void *data)
static bool pulse_stop(void *data)
{
(void)data;
return true;
}
static bool __pulse_start(void *data)
static bool pulse_start(void *data)
{
(void)data;
return true;
}
static void __pulse_set_nonblock_state(void *data, bool state)
static void pulse_set_nonblock_state(void *data, bool state)
{
pa_t *pa = data;
pa_t *pa = (pa_t*)data;
pa->nonblock = state;
}
static bool __pulse_use_float(void *data)
static bool pulse_use_float(void *data)
{
(void)data;
return true;
}
static size_t pulse_write_avail(void *data)
{
pa_t *pa = (pa_t*)data;
pa_threaded_mainloop_lock(pa->mainloop);
size_t length = pa_stream_writable_size(pa->stream);
pa_threaded_mainloop_unlock(pa->mainloop);
return length;
}
static size_t pulse_buffer_size(void *data)
{
pa_t *pa = (pa_t*)data;
return pa->buffer_size;
}
const audio_driver_t audio_pulse = {
.init = __pulse_init,
.write = __pulse_write,
.stop = __pulse_stop,
.start = __pulse_start,
.set_nonblock_state = __pulse_set_nonblock_state,
.use_float = __pulse_use_float,
.free = __pulse_free,
.ident = "pulse"
pulse_init,
pulse_write,
pulse_stop,
pulse_start,
pulse_set_nonblock_state,
pulse_free,
pulse_use_float,
"pulse",
pulse_write_avail,
pulse_buffer_size,
};
+52
View File
@@ -0,0 +1,52 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __RARCH_RESAMPLER_H
#define __RARCH_RESAMPLER_H
#ifdef HAVE_CONFIG_H
#include "../config.h"
#endif
#include <stddef.h>
#include <stdint.h>
#include <math.h>
// M_PI is left out of ISO C99 :(
#ifndef M_PI
#define M_PI 3.14159265358979323846264338327
#endif
typedef struct rarch_resampler rarch_resampler_t;
typedef float sample_t;
struct resampler_data
{
const sample_t *data_in;
sample_t *data_out;
size_t input_frames;
size_t output_frames;
double ratio;
};
rarch_resampler_t *resampler_new(void);
void resampler_process(rarch_resampler_t *re, struct resampler_data *data);
void resampler_free(rarch_resampler_t *re);
#endif
+29 -34
View File
@@ -1,17 +1,15 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
@@ -21,7 +19,7 @@
#include <roaraudio.h>
#include <errno.h>
#include <stdio.h>
#include <stdbool.h>
#include "../boolean.h"
#include "general.h"
typedef struct
@@ -30,17 +28,18 @@ typedef struct
bool nonblocking;
} roar_t;
static void* __roar_init(const char* device, int rate, int latency)
static void *ra_init(const char *device, unsigned rate, unsigned latency)
{
(void)latency;
int err;
roar_t *roar = calloc(1, sizeof(roar_t));
roar_t *roar = (roar_t*)calloc(1, sizeof(roar_t));
if (roar == NULL)
return NULL;
roar_vs_t *vss;
if ((vss = roar_vs_new_simple(device, "SSNES", rate, 2, ROAR_CODEC_PCM_S, 16, ROAR_DIR_PLAY, &err)) == NULL)
if ((vss = roar_vs_new_simple(device, "RetroArch", rate, 2, ROAR_CODEC_PCM_S, 16, ROAR_DIR_PLAY, &err)) == NULL)
{
SSNES_ERR("RoarAudio: \"%s\"\n", roar_vs_strerr(err));
RARCH_ERR("RoarAudio: \"%s\"\n", roar_vs_strerr(err));
free(roar);
return NULL;
}
@@ -51,9 +50,9 @@ static void* __roar_init(const char* device, int rate, int latency)
return roar;
}
static ssize_t __roar_write(void* data, const void* buf, size_t size)
static ssize_t ra_write(void *data, const void *buf, size_t size)
{
roar_t *roar = data;
roar_t *roar = (roar_t*)data;
ssize_t rc;
if (size == 0)
@@ -64,7 +63,7 @@ static ssize_t __roar_write(void* data, const void* buf, size_t size)
while (written < size)
{
size_t write_amt = size - written;
if ((rc = roar_vs_write(roar->vss, (const char*)buf + written, write_amt, &err)) < write_amt)
if ((rc = roar_vs_write(roar->vss, (const char*)buf + written, write_amt, &err)) < (ssize_t)write_amt)
{
if (roar->nonblocking)
return rc;
@@ -77,45 +76,41 @@ static ssize_t __roar_write(void* data, const void* buf, size_t size)
return size;
}
static bool __roar_stop(void *data)
static bool ra_stop(void *data)
{
(void)data;
return true;
}
static void __roar_set_nonblock_state(void *data, bool state)
static void ra_set_nonblock_state(void *data, bool state)
{
roar_t *roar = data;
roar_t *roar = (roar_t*)data;
if (roar_vs_blocking(roar->vss, (state) ? ROAR_VS_FALSE : ROAR_VS_TRUE, NULL) < 0)
fprintf(stderr, "SSNES [ERROR]: Can't set nonblocking. Will not be able to fast-forward.\n");
fprintf(stderr, "RetroArch [ERROR]: Can't set nonblocking. Will not be able to fast-forward.\n");
roar->nonblocking = state;
}
static bool __roar_start(void *data)
static bool ra_start(void *data)
{
(void)data;
return true;
}
static void __roar_free(void *data)
static void ra_free(void *data)
{
roar_t *roar = data;
roar_t *roar = (roar_t*)data;
roar_vs_close(roar->vss, ROAR_VS_TRUE, NULL);
free(data);
}
const audio_driver_t audio_roar = {
.init = __roar_init,
.write = __roar_write,
.stop = __roar_stop,
.start = __roar_start,
.set_nonblock_state = __roar_set_nonblock_state,
.free = __roar_free,
.ident = "roar"
ra_init,
ra_write,
ra_stop,
ra_start,
ra_set_nonblock_state,
ra_free,
NULL,
"roar"
};
+80 -57
View File
@@ -1,27 +1,29 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "../driver.h"
#include <stdlib.h>
#ifdef RARCH_CONSOLE
#include "../deps/librsound/rsound.h"
#else
#include <rsound.h>
#include "buffer.h"
#include <stdbool.h>
#include "SDL.h"
#endif
#include "fifo_buffer.h"
#include "../boolean.h"
#include "../thread.h"
typedef struct rsd
{
@@ -29,49 +31,49 @@ typedef struct rsd
bool nonblock;
volatile bool has_error;
rsound_fifo_buffer_t *buffer;
fifo_buffer_t *buffer;
SDL_mutex *cond_lock;
SDL_cond *cond;
slock_t *cond_lock;
scond_t *cond;
} rsd_t;
static ssize_t audio_cb(void *data, size_t bytes, void *userdata)
{
rsd_t *rsd = userdata;
rsd_t *rsd = (rsd_t*)userdata;
size_t avail = rsnd_fifo_read_avail(rsd->buffer);
size_t avail = fifo_read_avail(rsd->buffer);
size_t write_size = bytes > avail ? avail : bytes;
rsnd_fifo_read(rsd->buffer, data, write_size);
SDL_CondSignal(rsd->cond);
fifo_read(rsd->buffer, data, write_size);
scond_signal(rsd->cond);
return write_size;
}
static void err_cb(void *userdata)
{
rsd_t *rsd = userdata;
rsd_t *rsd = (rsd_t*)userdata;
rsd->has_error = true;
SDL_CondSignal(rsd->cond);
scond_signal(rsd->cond);
}
static void* __rsd_init(const char* device, int rate, int latency)
static void *rs_init(const char *device, unsigned rate, unsigned latency)
{
rsd_t *rsd = calloc(1, sizeof(rsd_t));
if ( rsd == NULL )
rsd_t *rsd = (rsd_t*)calloc(1, sizeof(rsd_t));
if (!rsd)
return NULL;
rsound_t *rd;
if ( rsd_init(&rd) < 0 )
if (rsd_init(&rd) < 0)
{
free(rsd);
return NULL;
}
rsd->cond_lock = SDL_CreateMutex();
rsd->cond = SDL_CreateCond();
rsd->cond_lock = slock_new();
rsd->cond = scond_new();
rsd->buffer = rsnd_fifo_new(1024 * 4);
rsd->buffer = fifo_new(1024 * 4);
int channels = 2;
int format = RSD_S16_NE;
@@ -80,14 +82,14 @@ static void* __rsd_init(const char* device, int rate, int latency)
rsd_set_param(rd, RSD_SAMPLERATE, &rate);
rsd_set_param(rd, RSD_LATENCY, &latency);
if ( device != NULL )
if (device)
rsd_set_param(rd, RSD_HOST, (void*)device);
rsd_set_param(rd, RSD_FORMAT, &format);
rsd_set_callback(rd, audio_cb, err_cb, 256, rsd);
if ( rsd_start(rd) < 0 )
if (rsd_start(rd) < 0)
{
free(rsd);
rsd_free(rd);
@@ -98,9 +100,9 @@ static void* __rsd_init(const char* device, int rate, int latency)
return rsd;
}
static ssize_t __rsd_write(void* data, const void* buf, size_t size)
static ssize_t rs_write(void *data, const void *buf, size_t size)
{
rsd_t *rsd = data;
rsd_t *rsd = (rsd_t*)data;
if (rsd->has_error)
return -1;
@@ -108,9 +110,9 @@ static ssize_t __rsd_write(void* data, const void* buf, size_t size)
if (rsd->nonblock)
{
rsd_callback_lock(rsd->rd);
size_t avail = rsnd_fifo_write_avail(rsd->buffer);
size_t avail = fifo_write_avail(rsd->buffer);
size_t write_amt = avail > size ? size : avail;
rsnd_fifo_write(rsd->buffer, buf, write_amt);
fifo_write(rsd->buffer, buf, write_amt);
rsd_callback_unlock(rsd->rd);
return write_amt;
}
@@ -120,22 +122,22 @@ static ssize_t __rsd_write(void* data, const void* buf, size_t size)
while (written < size && !rsd->has_error)
{
rsd_callback_lock(rsd->rd);
size_t avail = rsnd_fifo_write_avail(rsd->buffer);
size_t avail = fifo_write_avail(rsd->buffer);
if (avail == 0)
{
rsd_callback_unlock(rsd->rd);
if (!rsd->has_error)
{
SDL_mutexP(rsd->cond_lock);
SDL_CondWait(rsd->cond, rsd->cond_lock);
SDL_mutexV(rsd->cond_lock);
slock_lock(rsd->cond_lock);
scond_wait(rsd->cond, rsd->cond_lock);
slock_unlock(rsd->cond_lock);
}
}
else
{
size_t write_amt = size - written > avail ? avail : size - written;
rsnd_fifo_write(rsd->buffer, (const char*)buf + written, write_amt);
fifo_write(rsd->buffer, (const char*)buf + written, write_amt);
rsd_callback_unlock(rsd->rd);
written += write_amt;
}
@@ -144,50 +146,71 @@ static ssize_t __rsd_write(void* data, const void* buf, size_t size)
}
}
static bool __rsd_stop(void *data)
static bool rs_stop(void *data)
{
rsd_t *rsd = data;
rsd_t *rsd = (rsd_t*)data;
rsd_stop(rsd->rd);
return true;
}
static void __rsd_set_nonblock_state(void *data, bool state)
static void rs_set_nonblock_state(void *data, bool state)
{
rsd_t *rsd = data;
rsd_t *rsd = (rsd_t*)data;
rsd->nonblock = state;
}
static bool __rsd_start(void *data)
static bool rs_start(void *data)
{
rsd_t *rsd = data;
if ( rsd_start(rsd->rd) < 0)
rsd_t *rsd = (rsd_t*)data;
if (rsd_start(rsd->rd) < 0)
return false;
return true;
}
static void __rsd_free(void *data)
static void rs_free(void *data)
{
rsd_t *rsd = data;
rsd_t *rsd = (rsd_t*)data;
rsd_stop(rsd->rd);
rsd_free(rsd->rd);
rsnd_fifo_free(rsd->buffer);
SDL_DestroyMutex(rsd->cond_lock);
SDL_DestroyCond(rsd->cond);
fifo_free(rsd->buffer);
slock_free(rsd->cond_lock);
scond_free(rsd->cond);
free(rsd);
}
static size_t rs_write_avail(void *data)
{
rsd_t *rsd = (rsd_t*)data;
if (rsd->has_error)
return 0;
rsd_callback_lock(rsd->rd);
size_t val = fifo_write_avail(rsd->buffer);
rsd_callback_unlock(rsd->rd);
return val;
}
static size_t rs_buffer_size(void *data)
{
(void)data;
return 1024 * 4;
}
const audio_driver_t audio_rsound = {
.init = __rsd_init,
.write = __rsd_write,
.stop = __rsd_stop,
.start = __rsd_start,
.set_nonblock_state = __rsd_set_nonblock_state,
.free = __rsd_free,
.ident = "rsound"
rs_init,
rs_write,
rs_stop,
rs_start,
rs_set_nonblock_state,
rs_free,
NULL,
"rsound",
rs_write_avail,
rs_buffer_size,
};
+56 -62
View File
@@ -1,51 +1,50 @@
/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
* Copyright (C) 2010-2011 - Hans-Kristian Arntzen
*
* Some code herein may be based on code found in BSNES.
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "driver.h"
#include "../driver.h"
#include <stdlib.h>
#include <stdbool.h>
#include "../boolean.h"
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "SDL.h"
#include "SDL_audio.h"
#include "SDL_thread.h"
#include "general.h"
#include "buffer.h"
#include "../thread.h"
#include "../general.h"
#include "../fifo_buffer.h"
typedef struct sdl_audio
{
bool nonblock;
SDL_mutex *lock;
SDL_cond *cond;
rsound_fifo_buffer_t *buffer;
slock_t *lock;
scond_t *cond;
fifo_buffer_t *buffer;
} sdl_audio_t;
static void sdl_audio_cb(void *data, Uint8 *stream, int len)
{
sdl_audio_t *sdl = data;
sdl_audio_t *sdl = (sdl_audio_t*)data;
size_t avail = rsnd_fifo_read_avail(sdl->buffer);
size_t write_size = len > avail ? avail : len;
rsnd_fifo_read(sdl->buffer, stream, write_size);
SDL_CondSignal(sdl->cond);
size_t avail = fifo_read_avail(sdl->buffer);
size_t write_size = len > (int)avail ? avail : len;
fifo_read(sdl->buffer, stream, write_size);
scond_signal(sdl->cond);
// If underrun, fill rest with silence.
memset(stream + write_size, 0, len - write_size);
@@ -58,50 +57,49 @@ static inline int find_num_frames(int rate, int latency)
return next_pow2(frames);
}
static void* sdl_audio_init(const char* device, int rate, int latency)
static void *sdl_audio_init(const char *device, unsigned rate, unsigned latency)
{
(void)device;
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
return NULL;
sdl_audio_t *sdl = calloc(1, sizeof(*sdl));
sdl_audio_t *sdl = (sdl_audio_t*)calloc(1, sizeof(*sdl));
if (!sdl)
return NULL;
// We have to buffer up some data ourselves, so we let SDL carry approx half of the latency. SDL double buffers audio and we do as well.
int frames = find_num_frames(rate, latency / 4);
SDL_AudioSpec spec = {
.freq = rate,
.format = AUDIO_S16SYS,
.channels = 2,
.samples = frames, // This is in audio frames, not samples ... :(
.callback = sdl_audio_cb,
.userdata = sdl
};
SDL_AudioSpec spec = {0};
spec.freq = rate;
spec.format = AUDIO_S16SYS;
spec.channels = 2;
spec.samples = frames; // This is in audio frames, not samples ... :(
spec.callback = sdl_audio_cb;
spec.userdata = sdl;
SDL_AudioSpec out;
if (SDL_OpenAudio(&spec, &out) < 0)
{
SSNES_ERR("Failed to open SDL audio: %s\n", SDL_GetError());
RARCH_ERR("Failed to open SDL audio: %s\n", SDL_GetError());
free(sdl);
return 0;
}
g_settings.audio.out_rate = out.freq;
sdl->lock = SDL_CreateMutex();
sdl->cond = SDL_CreateCond();
sdl->lock = slock_new();
sdl->cond = scond_new();
SSNES_LOG("SDL audio: Requested %d ms latency, got %d ms\n", latency, (int)(out.samples * 4 * 1000 / g_settings.audio.out_rate));
RARCH_LOG("SDL audio: Requested %d ms latency, got %d ms\n", latency, (int)(out.samples * 4 * 1000 / g_settings.audio.out_rate));
// Create a buffer twice as big as needed and prefill the buffer.
size_t bufsize = out.samples * 4 * sizeof(int16_t);
void *tmp = calloc(1, bufsize);
sdl->buffer = rsnd_fifo_new(bufsize);
sdl->buffer = fifo_new(bufsize);
if (tmp)
{
rsnd_fifo_write(sdl->buffer, tmp, bufsize);
fifo_write(sdl->buffer, tmp, bufsize);
free(tmp);
}
@@ -109,17 +107,17 @@ static void* sdl_audio_init(const char* device, int rate, int latency)
return sdl;
}
static ssize_t sdl_audio_write(void* data, const void* buf, size_t size)
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size)
{
sdl_audio_t *sdl = data;
sdl_audio_t *sdl = (sdl_audio_t*)data;
ssize_t ret = 0;
if (sdl->nonblock)
{
SDL_LockAudio();
size_t avail = rsnd_fifo_write_avail(sdl->buffer);
size_t avail = fifo_write_avail(sdl->buffer);
size_t write_amt = avail > size ? size : avail;
rsnd_fifo_write(sdl->buffer, buf, write_amt);
fifo_write(sdl->buffer, buf, write_amt);
SDL_UnlockAudio();
ret = write_amt;
}
@@ -129,19 +127,19 @@ static ssize_t sdl_audio_write(void* data, const void* buf, size_t size)
while (written < size)
{
SDL_LockAudio();
size_t avail = rsnd_fifo_write_avail(sdl->buffer);
size_t avail = fifo_write_avail(sdl->buffer);
if (avail == 0)
{
SDL_UnlockAudio();
SDL_mutexP(sdl->lock);
SDL_CondWait(sdl->cond, sdl->lock);
SDL_mutexV(sdl->lock);
slock_lock(sdl->lock);
scond_wait(sdl->cond, sdl->lock);
slock_unlock(sdl->lock);
}
else
{
size_t write_amt = size - written > avail ? avail : size - written;
rsnd_fifo_write(sdl->buffer, (const char*)buf + written, write_amt);
fifo_write(sdl->buffer, (const char*)buf + written, write_amt);
SDL_UnlockAudio();
written += write_amt;
}
@@ -168,7 +166,7 @@ static bool sdl_audio_start(void *data)
static void sdl_audio_set_nonblock_state(void *data, bool state)
{
sdl_audio_t *sdl = data;
sdl_audio_t *sdl = (sdl_audio_t*)data;
sdl->nonblock = state;
}
@@ -177,28 +175,24 @@ static void sdl_audio_free(void *data)
SDL_CloseAudio();
SDL_QuitSubSystem(SDL_INIT_AUDIO);
sdl_audio_t *sdl = data;
sdl_audio_t *sdl = (sdl_audio_t*)data;
if (sdl)
{
rsnd_fifo_free(sdl->buffer);
SDL_DestroyMutex(sdl->lock);
SDL_DestroyCond(sdl->cond);
fifo_free(sdl->buffer);
slock_free(sdl->lock);
scond_free(sdl->cond);
}
free(sdl);
}
const audio_driver_t audio_sdl = {
.init = sdl_audio_init,
.write = sdl_audio_write,
.stop = sdl_audio_stop,
.start = sdl_audio_start,
.set_nonblock_state = sdl_audio_set_nonblock_state,
.free = sdl_audio_free,
.ident = "sdl"
sdl_audio_init,
sdl_audio_write,
sdl_audio_stop,
sdl_audio_start,
sdl_audio_set_nonblock_state,
sdl_audio_free,
NULL,
"sdl"
};
+300
View File
@@ -0,0 +1,300 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
// Bog-standard windowed SINC implementation.
// Only suitable as an upsampler, as there is no low-pass filter stage.
#include "resampler.h"
#include "../performance.h"
#include <math.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#ifndef RESAMPLER_TEST
#include "../general.h"
#else
#define RARCH_LOG(...)
#endif
#ifdef __SSE__
#include <xmmintrin.h>
#endif
// For the little amount of taps we're using,
// SSE1 is faster than AVX for some reason.
// AVX code is kept here though as by increasing number
// of sinc taps, the AVX code is clearly faster than SSE1.
#define ENABLE_AVX 0
#if defined(__AVX__) && ENABLE_AVX
#include <immintrin.h>
#endif
#define PHASE_BITS 16
#define SUBPHASE_BITS 10
#define PHASES (1 << (PHASE_BITS + SUBPHASE_BITS))
#define SIDELOBES 8
#define TAPS (SIDELOBES * 2)
#define CUTOFF 0.98
struct rarch_resampler
{
sample_t phase_table[1 << PHASE_BITS][TAPS];
sample_t buffer_l[2 * TAPS];
sample_t buffer_r[2 * TAPS];
unsigned ptr;
uint32_t time;
};
static inline double sinc(double val)
{
if (fabs(val) < 0.00001)
return 1.0;
else
return sin(val) / val;
}
static inline double lanzcos(double index)
{
return sinc(index);
}
static void init_sinc_table(rarch_resampler_t *resamp)
{
// Sinc phases: [..., p + 3, p + 2, p + 1, p + 0, p - 1, p - 2, p - 3, p - 4, ...]
for (int i = 0; i < (1 << PHASE_BITS); i++)
{
for (int j = 0; j < TAPS; j++)
{
double p = (double)i / (1 << PHASE_BITS);
double sinc_phase = M_PI * (p + (SIDELOBES - 1 - j));
float val = CUTOFF * sinc(CUTOFF * sinc_phase) * lanzcos(sinc_phase / SIDELOBES);
resamp->phase_table[i][j] = val;
}
}
}
// No memalign() for us on Win32 ...
static void *aligned_alloc__(size_t boundary, size_t size)
{
void *ptr = malloc(boundary + size + sizeof(uintptr_t));
if (!ptr)
return NULL;
uintptr_t addr = ((uintptr_t)ptr + sizeof(uintptr_t) + boundary) & ~(boundary - 1);
void **place = (void**)addr;
place[-1] = ptr;
return (void*)addr;
}
static void aligned_free__(void *ptr)
{
void **p = (void**)ptr;
free(p[-1]);
}
static inline void process_sinc_C(rarch_resampler_t *resamp, float *out_buffer)
{
float sum_l = 0.0f;
float sum_r = 0.0f;
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned phase = resamp->time >> SUBPHASE_BITS;
const float *phase_table = resamp->phase_table[phase];
for (unsigned i = 0; i < TAPS; i++)
{
float sinc_val = phase_table[i];
sum_l += buffer_l[i] * sinc_val;
sum_r += buffer_r[i] * sinc_val;
}
out_buffer[0] = sum_l;
out_buffer[1] = sum_r;
}
#if defined(__AVX__) && ENABLE_AVX
#define process_sinc_func process_sinc
static void process_sinc(rarch_resampler_t *resamp, float *out_buffer)
{
__m256 sum_l = _mm256_setzero_ps();
__m256 sum_r = _mm256_setzero_ps();
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned phase = resamp->time >> SUBPHASE_BITS;
const float *phase_table = resamp->phase_table[phase];
for (unsigned i = 0; i < TAPS; i += 8)
{
__m256 buf_l = _mm256_loadu_ps(buffer_l + i);
__m256 buf_r = _mm256_loadu_ps(buffer_r + i);
__m256 sinc = _mm256_load_ps(phase_table + i);
sum_l = _mm256_add_ps(sum_l, _mm256_mul_ps(buf_l, sinc));
sum_r = _mm256_add_ps(sum_r, _mm256_mul_ps(buf_r, sinc));
}
// hadd on AVX is weird, and acts on low-lanes and high-lanes separately.
__m256 res_l = _mm256_hadd_ps(sum_l, sum_l);
__m256 res_r = _mm256_hadd_ps(sum_r, sum_r);
res_l = _mm256_hadd_ps(res_l, res_l);
res_r = _mm256_hadd_ps(res_r, res_r);
res_l = _mm256_add_ps(_mm256_permute2f128_ps(res_l, res_l, 1), res_l);
res_r = _mm256_add_ps(_mm256_permute2f128_ps(res_r, res_r, 1), res_r);
// This is optimized to mov %xmmN, [mem].
// There doesn't seem to be any _mm256_store_ss intrinsic.
_mm_store_ss(out_buffer + 0, _mm256_extractf128_ps(res_l, 0));
_mm_store_ss(out_buffer + 1, _mm256_extractf128_ps(res_r, 0));
}
#elif defined(__SSE__)
#define process_sinc_func process_sinc
static void process_sinc(rarch_resampler_t *resamp, float *out_buffer)
{
__m128 sum_l = _mm_setzero_ps();
__m128 sum_r = _mm_setzero_ps();
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned phase = resamp->time >> SUBPHASE_BITS;
const float *phase_table = resamp->phase_table[phase];
for (unsigned i = 0; i < TAPS; i += 4)
{
__m128 buf_l = _mm_loadu_ps(buffer_l + i);
__m128 buf_r = _mm_loadu_ps(buffer_r + i);
__m128 sinc = _mm_load_ps(phase_table + i);
sum_l = _mm_add_ps(sum_l, _mm_mul_ps(buf_l, sinc));
sum_r = _mm_add_ps(sum_r, _mm_mul_ps(buf_r, sinc));
}
// Them annoying shuffles :V
// sum_l = { l3, l2, l1, l0 }
// sum_r = { r3, r2, r1, r0 }
__m128 sum = _mm_add_ps(_mm_shuffle_ps(sum_l, sum_r, _MM_SHUFFLE(1, 0, 1, 0)),
_mm_shuffle_ps(sum_l, sum_r, _MM_SHUFFLE(3, 2, 3, 2)));
// sum = { r1, r0, l1, l0 } + { r3, r2, l3, l2 }
// sum = { R1, R0, L1, L0 }
sum = _mm_add_ps(_mm_shuffle_ps(sum, sum, _MM_SHUFFLE(3, 3, 1, 1)), sum);
// sum = {R1, R1, L1, L1 } + { R1, R0, L1, L0 }
// sum = { X, R, X, L }
// Store L
_mm_store_ss(out_buffer + 0, sum);
// movehl { X, R, X, L } == { X, R, X, R }
_mm_store_ss(out_buffer + 1, _mm_movehl_ps(sum, sum));
}
#elif defined(HAVE_NEON)
// Need to make this function pointer as Android doesn't have built-in targets
// for NEON and plain ARMv7a.
static void (*process_sinc_func)(rarch_resampler_t *resamp, float *out_buffer);
void process_sinc_neon_asm(float *out, const float *left, const float *right, const float *coeff);
static void process_sinc_neon(rarch_resampler_t *resamp, float *out_buffer)
{
const float *buffer_l = resamp->buffer_l + resamp->ptr;
const float *buffer_r = resamp->buffer_r + resamp->ptr;
unsigned phase = resamp->time >> SUBPHASE_BITS;
const float *phase_table = resamp->phase_table[phase];
process_sinc_neon_asm(out_buffer, buffer_l, buffer_r, phase_table);
}
#else // Plain ol' C99
#define process_sinc_func process_sinc_C
#endif
void resampler_process(rarch_resampler_t *re, struct resampler_data *data)
{
// If data->ratio is < 1, we are downsampling.
// The sinc table is not set up for this, as it always assumes upsampling.
// Downsampling will work, but with some added noise due to aliasing might be present.
uint32_t ratio = PHASES / data->ratio;
const sample_t *input = data->data_in;
sample_t *output = data->data_out;
size_t frames = data->input_frames;
size_t out_frames = 0;
while (frames)
{
while (frames && re->time >= PHASES)
{
re->buffer_l[re->ptr + TAPS] = re->buffer_l[re->ptr] = *input++;
re->buffer_r[re->ptr + TAPS] = re->buffer_r[re->ptr] = *input++;
re->ptr = (re->ptr + 1) & (TAPS - 1);
re->time -= PHASES;
frames--;
}
while (re->time < PHASES)
{
process_sinc_func(re, output);
output += 2;
out_frames++;
re->time += ratio;
}
}
data->output_frames = out_frames;
}
void resampler_free(rarch_resampler_t *re)
{
aligned_free__(re);
}
rarch_resampler_t *resampler_new(void)
{
rarch_resampler_t *re = (rarch_resampler_t*)aligned_alloc__(1024, sizeof(*re));
if (!re)
return NULL;
memset(re, 0, sizeof(*re));
init_sinc_table(re);
#if defined(__AVX__) && ENABLE_AVX
RARCH_LOG("Sinc resampler [AVX]\n");
#elif defined(__SSE__)
RARCH_LOG("Sinc resampler [SSE]\n");
#elif defined(HAVE_NEON)
struct rarch_cpu_features cpu;
rarch_get_cpu_features(&cpu);
process_sinc_func = cpu.simd & RARCH_SIMD_NEON ? process_sinc_neon : process_sinc_C;
RARCH_LOG("Sinc resampler [%s]\n", cpu.simd & RARCH_SIMD_NEON ? "NEON" : "C");
#else
RARCH_LOG("Sinc resampler [C]\n");
#endif
return re;
}
+52
View File
@@ -0,0 +1,52 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
.arm
.align 4
.global process_sinc_neon_asm
# void process_sinc_neon(float *out, const float *left, const float *right, const float *coeff)
# Hardcoded to 16 taps.
process_sinc_neon_asm:
# Left
vld1.f32 {q0-q1}, [r1]!
vld1.f32 {q2-q3}, [r1]!
# Right
vld1.f32 {q8-q9}, [r2]!
vld1.f32 {q10-q11}, [r2]!
# Coeff
vld1.f32 {q12-q13}, [r3, :128]!
vld1.f32 {q14-q15}, [r3, :128]!
# Left
vmul.f32 q0, q0, q12
vmul.f32 q1, q1, q13
vmla.f32 q0, q2, q14
vmla.f32 q1, q3, q15
# Right
vmul.f32 q8, q8, q12
vmul.f32 q9, q9, q13
vmla.f32 q8, q10, q14
vmla.f32 q9, q11, q15
# Add everything together
vadd.f32 q0, q0, q1
vadd.f32 q8, q8, q9
vadd.f32 d0, d0, d1
vadd.f32 d16, d16, d17
vpadd.f32 d0, d0, d16
vst1.f32 d0, [r0]
bx lr
+29
View File
@@ -0,0 +1,29 @@
TESTS := test-hermite test-sinc test-snr-sinc test-snr-hermite
CFLAGS += -O3 -g -Wall -pedantic -std=gnu99 -DRESAMPLER_TEST
LDFLAGS += -lm
all: $(TESTS)
test-hermite: ../hermite.o ../utils.o main.o
$(CC) -o $@ $^ $(LDFLAGS)
test-sinc: ../sinc.o ../utils.o main.o
$(CC) -o $@ $^ $(LDFLAGS)
test-snr-sinc: ../sinc.o ../utils.o snr.o
$(CC) -o $@ $^ $(LDFLAGS)
test-snr-hermite: ../hermite.o ../utils.o snr.o
$(CC) -o $@ $^ $(LDFLAGS)
%.o: %.c
$(CC) -c -o $@ $< $(CFLAGS)
clean:
rm -f $(TESTS)
rm -f *.o
rm -f ../*.o
.PHONY: clean
Loaded 100 of 560 files, more files were not shown because too many files have changed in this diff. Show more