summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* tmp on quakequake5Franklin Wei2019-07-29
| | | | Change-Id: Id8bc9e5e47cad5c620f5273fc39348eb19e8e5d8
* quake: autostart on boot (NOPUSH)Franklin Wei2019-07-29
| | | | | | Just to ease testing with valgrind. Change-Id: I3c41b3e85f4caee2cebda5d255f6a8c4250d8e34
* sdl: enable on simulator (NOPUSH)Franklin Wei2019-07-28
| | | | | | For debugging only. Change-Id: Ie4780ada6224ef14ba7c46e38245378780210d4e
* lua: wrap thread_set_priority with #ifdef HAVE_PRIORITY_SCHEDULINGFranklin Wei2019-07-28
| | | | | | Should fix a compile-time error on simulator. Change-Id: I5962479579350ebffe6dcce4f65a629b108ff936
* sdl: gut OS/2, win32 code from SDL.cFranklin Wei2019-07-28
| | | | | | This should help with compiling win32 simulators. Change-Id: Icfbf78f7d0a8b0ddebffa8daac3adf55ac21f139
* quake: add README with some notesFranklin Wei2019-07-28
| | | | Change-Id: I702e81f8715b505d4ed6d0eca861e3ddb680038d
* sdl: gut non-Rockbox platform detection codeFranklin Wei2019-07-28
| | | | | | | This should prevent false positives when simulators for other systems (e.g. win32). Change-Id: Ib14a277fbfeb1b0ae141ebc4591d80a2cc0f526d
* Ninety-nine bugs on the wall, Fix one bug, pass it around, 101 bugs on the ↵Solomon Peachy2019-07-28
| | | | | | | | wall.. Properly fixes bug introduced in 4beafe1 (and incorrectly fixed in 51fe1b6) Change-Id: I053bb110746afdc3d9588b1b502a4cb333468a2b
* volume_ismounted is gated by HAVE_DIRCACHE rather than HAVE_MULTIVOLUMESolomon Peachy2019-07-28
| | | | | | Should fix the various sim builds. Change-Id: I1dc5e8228698afb32c84ada2aa916e52e19f49d7
* Lua Add Emergency Garbage CollectorWilliam Wilgus2019-07-28
| | | | | | | | | | | | | Derivative of work by RobertGabrielJakabosky http://lua-users.org/wiki/EmergencyGarbageCollector I've only implemented the not enough memory part and expanded this idea to adding a mechanism to signal the OOM condition of the plugin buffer which allows us to only grab the playback buffer after garbage collection fails (SO THE MUSIC KEEPS PLAYING AS LONG AS POSSIBLE) Change-Id: I684fb98b540ffc01f7ba324ab5b761ceb59b9f9b
* Show time, date, and recording directory in the info screenSolomon Peachy2019-07-28
| | | | | | Patch by Igor Poretsky Change-Id: I5db0d018742c11dd9bf3ca4c9539cd91f94d4c2e
* lua remove unneeded plugin functionsWilliam Wilgus2019-07-28
| | | | Change-Id: I04bc38d03b7f0ca65a815685eb6ab0f5ff825c45
* robotfindskitten: clear message line before cinema sceneFranklin Wei2019-07-28
| | | | | | | Just writes a bunch of spaces to clear the space before playing our animation. Change-Id: I9422190b691039252de70a5c7eec6286c686f031
* quake: cache files in memory to eliminate skipsFranklin Wei2019-07-27
| | | | | | | This caches large files (arbitrarily defined as >1MB) in memory, which reduces the delay when a new model or sound is needed. Change-Id: I0f96449555a32f05d771fe900c10eaf21ecbb4f6
* Multiboot update manual entryWilliam Wilgus2019-07-27
| | | | Change-Id: I99abe45adaade350222fa1f0aaf864a06d6dfcdf
* Fix non aligned crashes with tlsfWilliam Wilgus2019-07-27
| | | | | | | | When the starting address of the plugin buffer is not aligned to 8 bytes crashes occur in tlsf (on ARM atleast) Change-Id: I655500c25e1c8f84b4a2418e9ec5c5948e4bea82
* Add Vagrant configuration for creating a development VMVencislav Atanasov2019-07-26
| | | | | | | | | | | | | | | | | | | | Vagrant is an application that automates creation and provisioning of a virtual machine for development. The config here creates an Ubuntu 16.04 LTS machine, updates it, downloads and installs the toolchains for sh, m68k and arm, mingw-w64, SDL (for Windows simulators) and other packages needed for building Rockbox. It works fine for building a Windows simulator and compiling iPod classic binaries. It should be possible to make the other build types, too. MIPS toolchain fails to build, ARM-APP is not tested because the files download very slow on my connection. Please test if it works for you, and let me know. Quick start: download and install Vagrant and VirtualBox for your operating system, make sure VT-x / AMD-V is enabled in your BIOS/EFI setup, open a shell in rockbox/tools and input the command "vagrant up" Change-Id: Ief5476ab066663a4db7e85404b25d2d781d90532
* Add Andy Potter to CREDITSFranklin Wei2019-07-26
| | | | | | | Again, this is inferred from their Gerrit username. I've also emailed them to confirm the name. Change-Id: I2aced94a5a0a8847c86da0e425db4130b4dccb69
* Fix issue with building the UI Simulator for WindowsLiveboxAndy2019-07-26
| | | | | | Addition of rtc support for AGPtEK ROCKER broke building the UI Simulator for Windows. This patch removes the rtc support if building UI Simulator for Windows.
* Add Yangyong Wu to CREDITSFranklin Wei2019-07-25
| | | | | | | This name is inferred from the contributor's Github account email (interpreted using the standard given-family name Chinese convention). Change-Id: I2285a62c3332d562f44c5087b296e4ea2d61200e
* fixed alac_set_info() issues.aozima2019-07-25
|
* sdl: fix video regression introduced by 5d05b9dFranklin Wei2019-07-25
| | | | | | | | The quake commit tried to optimize lcd updates but inadvertently broke wolf3d (which always uses a 320x200 screen size). This fixes that and also lets direct mode truly exit early to hopefully save some cycles. Change-Id: I41d96cd584257fe25e791c7f615812849f348e4f
* lua add sound_current, consolidate sound_ functionsWilliam Wilgus2019-07-25
| | | | | | | | | | | | | | | | | add defines for sound functions SOUND_VOLUME, SOUND_BALANCE, SOUND_CHANNELS, SOUND_STEREO_WIDTH ... defines depend on target require "sound_defines" to add them to rb.sound_settings[] consolidates: sound_set, sound_current, sound_default, sound_min, sound_max, sound_unit, sound_pitch, sound_val2phys to a single function rb.sound("name", setting, [value]) require "sound.lua" for old functionality Change-Id: Ice695218aa433f4fcbb48fbd6b8a9bf29c994110
* Fix Red -- sound_current #_2William Wilgus2019-07-25
| | | | Change-Id: Iae31a5fd414708b4a222ba0b05b5828a8e0d19af
* Fix Red -- sound_currentWilliam Wilgus2019-07-25
| | | | | | | | | Remove dependency on settings.g for bootloader ifdef out AUDIOHW_HAVE_EQ Settings these should be indexing the global_settings.hw_eq_bands[AUDIOHW_EQ_BAND_NUM] struct Change-Id: I1d1a8556ef88ce43397b600261696dacdf372034
* Add sound_current to plugin apiWilliam Wilgus2019-07-25
| | | | | | | | | Adds: sound_current(int setting) returns the current sound setting from global_settings complements sound_max, sound_min and sound_default Change-Id: I35bd893753c958f808492906fe533edc51d5d57c
* quake: fix errorneous endian-correcting readsFranklin Wei2019-07-24
| | | | | | | | ef9ee89 introduced Read{Big,Little}{Short,Long,Float} functions to safely read a value in memory. These incorrectly take char*, which causes them to output erroneous 0xff bytes when given bytes with bit 7 set. Change-Id: I9531172301aecfdacae405d2f782f662608ce6df
* FS#12887: Fix playlist order after moving a track before currentSolomon Peachy2019-07-24
| | | | | | | Original patch by Juan Gonzalez Updated by Igor Poretsky Change-Id: I913d96df906e56fb4063485a6725cd13e395f165
* quake: fix unaligned accesses in model.cFranklin Wei2019-07-21
| | | | | | Allows playing registered episodes. Change-Id: I20e1ca2000776a19767a9c3caef790d4f62ca188
* quake: pack structs which could potentially be unalignedFranklin Wei2019-07-21
| | | | | | | | The d*_t structs are from "d"isk, which means they could be unaligned. Packing them saves me from having to rewrite every single access to them. Change-Id: I6d5a9525fff368bf29bdb85cf1672fce02ce3396
* quake: enable building Quake2Franklin Wei2019-07-21
| | | | Change-Id: I67f8f7c6e7e337806751057d1c9ebdae16c54119
* Add speech feedback to imageviewer pluginSolomon Peachy2019-07-20
| | | | | | Patch by Igor Poretsky Change-Id: Ifcca7342d07f0d7fb90d282468f7e6576c13d36b
* Move get_codepage_name() back out of #ifdef HAVE_LCD_BITMAPFrank Gevaerts2019-07-20
| | | | | | 55eb1c54 accidentally put it there. Change-Id: I25d1984f7d4a1e6d65d23aafab5eefea4f92322e
* Don't have the inclusion of lang_enum.h depend on PLUGINFrank Gevaerts2019-07-20
| | | | | | | This #ifdef apparcntly confuses dependency generation, and since lang_enum.h just declares an enum, including it unconditionally is harmless. Change-Id: I8feaff7657080962f1ae6305492075c8a5bca673
* FS#7705: Voice enable battery bench pluginSolomon Peachy2019-07-20
| | | | | | | Original patch by Daniel Dalton Updated by Igor Poretsky Change-Id: I40d3bb89dbaf3582e1d7af8e8964205507cd2a8d
* FS#7912: Voice enable the chessbox pluginSolomon Peachy2019-07-20
| | | | | | | Original patch by Mario Lang Heavily updated by Igor Poretsky Change-Id: Iaa0c32a79a464860ff294096825ae788f35cf312
* Move date/time strings out of RTC contextFranklin Wei2019-07-20
| | | | | | Should fix plugin build. Change-Id: I332235a4e7d08a80abd91fa0705e950c7dfec449
* Fix build on non-RTC targets.Solomon Peachy2019-07-20
| | | | | | | talk_time and talk_date are now exposed to plugins, so the strings they reference need to be moved from rtc-only to global. Change-Id: I88166dc21455d595878d3d1ec557289cd3a5ff6b
* Increase set_time_screen() buffer size for hosted to keep the compiler happy.Frank Gevaerts2019-07-20
| | | | | | | | | | The format strings in the snprintf can in theory need 60 characters This will not happen in practice (because seconds are 0..60 and not full-range integers etc.), but -D_FORTIFY_SOURCE will still warn about it, so we use 60 characters for HOSTED to make the compiler happy. Native builds still use 20, which is enough in practice. Change-Id: I22a2bab8134442e531a10bf883f3a369ade0fdc3
* build: Fix puzzles build due to missing dependencySolomon Peachy2019-07-20
| | | | | | | | | As rbcompat.h is -include'd on the command line, the mkdep script doesn't pick it up. Explicitly add the dependency to lang_enum.h to the makefile. Also add lang_enum.h to the 'make clean' target! Change-Id: I33c8ed0cd5c1d44dce02ac9285469c0e4feac00e
* Fix Red - Talk support for pluginsWilliam Wilgus2019-07-20
| | | | | | generate lang_enum prior to apps Change-Id: Ib484138e2b01267db856415db0364d8c93237073
* Plugin APIWilliam Wilgus2019-07-20
| | | | | | | | | | Reorganize Plugin functions in prep for API bump Stub in sound_current add sleep_timer Change-Id: I74b3a433c86bd6cec43a7c45ae0d2db95c97bb60
* FS#7704 - Talk support for pluginsSolomon Peachy2019-07-20
| | | | | | | | | | | | | | | | | | | | Original patch by Mario Lang Heavily updated by Igor Poretsky Further updated by myself This patch breaks binary API compatibility by placing the new functions where they make the most logical sense. IMO this is the better approach to take given the scope of the changes needed for talk support. Since binary API is changing, the patch also moves some other functions around to more logical locations. As well as voice support in plugins, this patch voice-enables several simple plugins. There will be follow-up patches for many plugins that build on this one. Change-Id: I18070c06e77e8a3c016c2eb6b6c5dbe6633b9b54
* Silence warning in stdio_compat.hFranklin Wei2019-07-19
| | | | Change-Id: I5aecaf6fcf42fbaf2deb933e590dcda6d01ac212
* Limit float formatting to only targets building QuakeFranklin Wei2019-07-19
| | | | | | | | | The Quake plugin is the only code that actually relies on float formatting. Because Quake only runs on targets with huge memory anyway, limiting their formatting to just those targets will minimize the increased memory use in the core. Change-Id: Icdbe26ec6ede564861cc01ac4add76a12b00ecd5
* Quake!Franklin Wei2019-07-19
| | | | | | | | | | | | | | | | | | This ports id Software's Quake to run on the SDL plugin runtime. The source code originated from id under the GPLv2 license. I used https://github.com/ahefner/sdlquake as the base of my port. Performance is, unsurprisingly, not on par with what you're probably used to on PC. I average about 10FPS on ipod6g, but it's still playable. Sound works well enough, but in-game music is not supported. I've written ARM assembly routines for the inner sound loop. Make sure you turn the "brightness" all the way down, or colors will look funky. To run, extract Quake's data files to /.rockbox/quake. Have fun! Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
* Add proper float formatting to vuprintfMichael Sevakis2019-07-19
| | | | | | | | | | | | | | | | | | | | | Wanted to see how gnarly it is to do. Big number handling could be done with better algorithms since it can get a bit slow with large integers or tiny fractions with many lead zeros when only a few digits are needed. Anyway, it supports %e, %E, %f, %F, %g and %G. No %a or long double support seems warranted at the moment. Assumes IEEE 754 double format but it's laid out to be able to replace a function to handle others if needed. Tested in a driver program that has a duplicate vuprintf and the content was pasted in once it looked sound enough to put up a patch. Change-Id: I6dae8624d3208e644c88e36e6a17d8fc9144f988
* lua events from rockboxWilliam Wilgus2019-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library allows events to be subscribed / recieved within a lua script most events in rb are synchronous so flags are set and later checked by a secondary thread to make them (semi?) asynchronous. There are a few caveats to be aware of: FIRST, The main lua state is halted till the lua callback(s) are finished Yielding will not return control to your script from within a callback Also, subsequent callbacks may be delayed by the code in your lua callback SECOND, You must store the value returned from the event_register function you might get away with it for a bit but gc will destroy your callback eventually if you do not store the event THIRD, You only get one cb per event type ["action", "button", "custom", "playback", "timer"] (Re-registration of an event overwrites the previous one) Usage: possible events =["action", "button", "custom", "playback", "timer"] local evX = rockev.register("event", cb_function, [timeout / flags]) cb_function([id] [, data]) ... end rockev.suspend(["event"/nil][true/false]) passing nil affects all events stops event from executing, any but the last event before re-enabling will be lost, passing false, unregistering or re-registering an event will clear the suspend rockev.trigger("event", [true/false], [id]) sets an event to triggered, NOTE!, CUSTOM_EVENT must be unset manually id is only passed to callback by custom and playback events rockev.unregister(evX) Use unregister(evX) to remove an event Unregistering is not necessary before script end, it will be cleaned up on script exit Change-Id: Iea12a5cc0c0295b955dcc1cdf2eec835ca7e354d
* Put -lfirmware in CORE_LIBS, to fix -thumb buildsFrank Gevaerts2019-07-19
| | | | | | | | For unknown reasons, -thumb builds need -lfirmware after -lrbcodec (but still before -lunwarminder)i. Other builds are still happy if we do that. Including it via CORE_LIBS instead of explicitly achieves that. Change-Id: Id69e4a0c042f90f71cfd9a72202ce4d8ef6a4181
* lua disable bytecode dump & undump functionsWilliam Wilgus2019-07-18
| | | | | | | | Adds a flag to remove the ability to dump and load lua bytecode saves 6+kb Change-Id: I080323df7f03f752e0a10928e22a7ce3190a9633