summaryrefslogtreecommitdiffstats
path: root/apps/plugins/invadrox.c
AgeCommit message (Collapse)AuthorFilesLines
2020-10-26LCD core move buf ptr and address look up function viewport structWilliam Wilgus1-5/+7
I'm currently running up against the limitations of the lcd_draw functions I want these functions to be able to be used on any size buffer not just buffers with a stride matching the underlying device [DONE] allow the framebuffer to be decoupled from the device framebuffer [DONE need examples] allow for some simple blit like transformations [DONE] remove the device framebuffer from the plugin api [DONE}ditto remote framebuffer [DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr while remote lcds may compile (and work in the sim) its not been tested on targets [FIXED] backdrops need work to be screen agnostic [FIXED] screen statusbar is not being combined into the main viewport correctly yet [FIXED] screen elements are displayed incorrectly after switch to void* [FIXED] core didn't restore proper viewport on splash etc. [NEEDS TESTING] remote lcd garbled data [FIXED] osd lib garbled screen on bmp_part [FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport [FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer [FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw) [UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear scrolling viewports no longer trigger wps refresh also fixed a bug where guisyncyesno was displaying and then disappearing [ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes (LCD_ and LCD_REMOTE_) LCD_STRIDE(w, h) same as STRIDE_MAIN LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH) test_viewports.c has an example of usage [FIXED!!] 2bit targets don't respect non-native strides [FIXED] Few define snags Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26make the plugin API frambuffer agnosticMoshe Piekarski1-4/+4
Change-Id: I5abdc231093054c517ff53b9a456997e440e3f6e
2020-10-11New port: AIGO EROS Q / EROS KSolomon Peachy1-35/+28
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
2020-10-09New port: FiiO M3KSolomon Peachy1-0/+7
Most credit goes to: Roman Skylarov Additional integration and refactoring by myself. *** COMPLETELY UNTESTED *** Change-Id: Ia64c36d92e0214c6b15f7a868df286f8113ea27b
2020-07-24plugins: More HAVE_BACKLIGHT cleanupSolomon Peachy1-2/+4
Change-Id: I70cf700f5bc3d4375c025efa62ef40fd2bd70293
2020-07-24[2/4] get rid of HAVE_LCD_CHARCELLSSolomon Peachy1-4/+0
HAVE_LCD_BITMAP is now redundant. lcd_bitmap is always-on in features.txt so manual and lang strings don't have to change Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
2020-04-06xDuoo X3II and X20 portMarcin Bukat1-0/+14
Provided by Roman Stolyarov Integration, Refactoring, and Upstreaming by Solomon Peachy X3II confirmed working by forum tester, X20 is nearly identical. This includes bootloader, main firmware, and the flash image patcher. Eventual Todo: * Further refactor AGPTek Rocker & xduoo hiby bootloaders * Further refactor AGPTek Rocker & xduoo hosted platform code Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2019-01-02Fix compile wanings in pacbox and invadrox introduced in d4942ccSolomon Peachy1-2/+0
Change-Id: I5d599d4b25207dcf03ed3f4be76d10907d36a99b
2019-01-02Add Xuelin iHIFI 770/770C/800 supportSolomon Peachy1-0/+16
Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978
2018-04-03Zen XFi2: Enable PluginsSebastian Leonhardt1-0/+5
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2016-01-25Replace SAMSUNG_YH920_PAD with YH92XSebastian Leonhardt1-1/+1
seems more logical to me, and is more consistent, since "SAMSUNG_YH92X_PAD" is already used in the tex files. Change-Id: Ie9a9d850ea86155a7dcf86c88a22a420a10a3837
2015-11-15YH8xx,YH9xx: Keymap improvementSebastian Leonhardt1-1/+6
The main "innovation" in this patch are two "virtual buttons" for the record switch on YH92x targets. When the switch state changes, a single BUTTON_REC_SW_ON or .._OFF button event will be generated. Thus keymap code can react on switching, but not on the actual state of the switch. Wherever sensible, the following user scheme is applied: - use PLAY as confirm button - use REW button or Long REW to exit - use REC (YH820) or FFWD (YH92X) as modifier key for button combos Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
2014-09-18Introducing Targets iBasso DX50 & iBasso DX90Simon Rothen1-0/+7
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port. The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port. Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did was to separate the code for DX50 (&DX90) from the android target. On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it. What else I changed from Ilias sources besides the separation from the target "android": * removed a dirty hack to keep backlight off * changed value battery meter to voltage battery meter * made all plugins compile (named target as "standalone") and added keymaps * i added the graphics for the manual but did not do anything else for the manual yet * minor optimizations known bugs: * timers are slowed donw when playback is active (tinyalsa related?) * some minor bugs Things to do: * The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights. Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go. * All the wiki and manual to build: needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed ./tools/configure select iBasso DX50 or iBasso DX90 make -j apk the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed) the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed) The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary. Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his bitbucket page, using the CWM-OF and his installation script package. Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0 Reviewed-on: http://gerrit.rockbox.org/941 Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw> Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-07-17zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable pluginsAmaury Pouly1-0/+7
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size. Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-06-30Introduce plugin keymaps for the Sony NWZ SeriesNils Stec1-0/+7
Change-Id: I46b8766bd44118bce4931b7ee71815ae5f51cb2e Reviewed-on: http://gerrit.rockbox.org/879 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-06-21lcd-24bit: Introduce a 24-bit mid-level LCD driverThomas Martitz1-4/+5
With LCD driver all calculation will be performed on RGB888 and the hardware/OS can display from our 24bit framebuffer. It is not yet as performance optimized as the existing drivers but should be good enough.The vast number of small changes is due to the fact that fb_data can be a struct type now, while most of the code expected a scalar type. lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit it enforces the generic C code. All plugins are ported over. Except for rockpaint. It uses so much memory that it wouldnt fit into the 512k plugin buffer anymore (patches welcome). Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
2014-05-24Separate keymaps for YH-820 and YH-920/925Sebastian Leonhardt1-1/+2
Although both players basically have the same keys, the differences in the layout is rather big, so I think both deserve their own keymaps. (On the yh820 the FFWD/PLAY/REW buttons are located above the direction keys, on the yh920 at the side of the player. Furthermore the yh920/925 has a REC switch, whereas yh820 has a push button.) Change-Id: I0e62a1b101c387646c0bdb07ea142d9d2430ca15 Reviewed-on: http://gerrit.rockbox.org/814 Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
2014-04-06Complete Plugin Keymaps for Creative Zen X-Fi3David Jilke1-0/+7
This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation. One key was changed in "button-target.h" for compatibility with Rockboy. This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here). Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7 Reviewed-on: http://gerrit.rockbox.org/762 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-04-19hm801: Add support for plugins.Andrew Ryabinin1-1/+2
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19hm60x: Add support for plugins.Andrew Ryabinin1-0/+7
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-02-02MPIOs: keymap tweaksMarcin Bukat1-4/+4
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2011-12-24Initial commit of the Samsung YP-R0 port.Thomas Martitz1-1/+2
This port is a hybrid native/RaaA port. It runs on a embedded linux system, but is the only application. It therefore can implement lots of stuff that native targets also implement, while leveraging the underlying linux kernel. The port is quite advanced. User interface, audio playback, plugins work mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page). Included in utils/ypr0tools are scripts and programs required to generate a patched firmware. The patched firmware has the rootfs modified to load Rockbox. It includes a early/safe USB mode. This port needs a new toolchain, one that includes glibc headers and libraries. rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may also work. Most of the initial effort is done by Lorenzo Miori and others (on ABI), including reverse engineering and patching of the original firmware, initial drivers, and more. Big thanks to you. Flyspray: FS#12348 Author: Lorenzo Miori, myself Merry christmas to ypr0 owners! :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-11-16Sandisk Sansa Connect port (FS #12363)Tomasz Moń1-1/+2
Included are drivers for buttons, backlight, lcd, audio and storage. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-10-15plugins: another round of making local functions staticBertrik Sikken1-12/+12
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30758 a1c6a512-1295-4272-9138-f99709370657
2011-10-02fuze+: add invadrox keymapAmaury Pouly1-0/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30684 a1c6a512-1295-4272-9138-f99709370657
2011-03-02RaaA: Fix write locations of pluginsThomas Jarosch1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-01-24* Rename backlight_force_on to backlight_ignore_timeout to make it clear ↵Teruaki Kawashima1-2/+2
what the function does. * Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp. No functional change except lamp. See aslo FS#9883. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2010-11-30HD300 - plugins keymapsMarcin Bukat1-0/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-02More plugin keymaps for the GoGear HDD6330.Robert Menes1-0/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28447 a1c6a512-1295-4272-9138-f99709370657
2010-09-07invadrox: make all inline functions static inlineRafaël Carré1-12/+12
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28024 a1c6a512-1295-4272-9138-f99709370657
2010-09-07invadrox: make inline function static inlineRafaël Carré1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28023 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Second try: Introduce plugin_crt0.c that every plugin links.Thomas Martitz1-1/+1
It handles exit() properly, calling the handler also when the plugin returns normally (also make exit() more standard compliant while at it). It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore. To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it. In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit(). In future plugin_crt0.c could also handle clearing bss, initializing iram and more. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Revert "Introduce plugin_crt0.c that every plugin links."Thomas Martitz1-1/+1
Too much errors and no time to fix them now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Introduce plugin_crt0.c that every plugin links.Thomas Martitz1-1/+1
It handles exit() properly, calling the handler also when the plugin returns normally (also it makes exit() more standard compliant while at it). It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore. To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it. In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit(). In future plugin_crt0.c could also handle clearing bss, initializing iram and more. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-0/+4
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-02-13Packard Bell Vibe 500: More plugin keymaps (second portion).Szymon Dziok1-0/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24634 a1c6a512-1295-4272-9138-f99709370657
2009-12-15Cowon D2: Rename COWOND2_PAD -> COWON_D2_PAD to match macro used in manual, andTomer Shalev1-1/+1
to target naming conventions in general git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-12Invadrox: Fix red caused by touchscreen targets with no buttons defined for ↵Tomer Shalev1-9/+18
movements git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23943 a1c6a512-1295-4272-9138-f99709370657
2009-12-12Invadrox: Add support for both touchscreen and buttons control of the game.Tomer Shalev1-22/+33
- Add buttons support for Cowon D2 - Introduce some mighty #ifdef hell :-( git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23941 a1c6a512-1295-4272-9138-f99709370657
2009-12-07make tpj1022 bootloader compile again Robert Kukla1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23892 a1c6a512-1295-4272-9138-f99709370657
2009-12-03Another round of plugin keymaps for the Philips GoGear SA9200.Robert Menes1-0/+7
Just a few more to go... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23838 a1c6a512-1295-4272-9138-f99709370657
2009-10-18Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with ↵Bertrik Sikken1-1/+1
current_time, instead of comparing them directly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-09-04Fix STRIDE macro for multiscreen and add stride support for picture lib.Karl Kurbjun1-8/+16
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
2009-09-02Fix collision detection for invadroxKarl Kurbjun1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22605 a1c6a512-1295-4272-9138-f99709370657
2009-09-01Invadrox: Add support for vertical stridesKarl Kurbjun1-10/+34
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22585 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 * Fix plugin keymaps for VX777Maurus Cuelenaere1-1/+3
* Enable plugins for VX777 * Fix VX777 simulator All done by Aaron DeMille. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22576 a1c6a512-1295-4272-9138-f99709370657
2009-08-04Invadrox: Add support for 640x480 screens.Karl Kurbjun1-41/+58
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22151 a1c6a512-1295-4272-9138-f99709370657
2009-08-04Commit FS#10251. Plugins for the YH-820, YH-920, and YH-925 by Jens Erdmann ↵Michael Giacomelli1-0/+7
with improvements and bitmap graphics by me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657
2009-08-03Remove various ABS() definitions with a single one using typeof (if using ↵Thomas Martitz1-5/+0
gcc) to avoid multiple evaluations of the input expressions. Speex still uses its own as I didn't want to change this imported code too much. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22129 a1c6a512-1295-4272-9138-f99709370657
2009-07-18Commit FS#10350, prevents to save an unchanged highscore and move the ↵Johannes Schwarz1-2/+1
function show_highscore to the lib git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21960 a1c6a512-1295-4272-9138-f99709370657