Commit graph

390 commits

Author SHA1 Message Date
Thomas Martitz
0d4585b28f Extend lc_open() to also being able to load overlay plugins.
For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
2010-09-09 16:17:21 +00:00
Rafaël Carré
17e5399d3d buflib_get_data(): static inline ensures it will be inlined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28018 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 14:09:06 +00:00
Rafaël Carré
ab9fd1840b plugins: use lcd_putsf/lcd_putsxyf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27926 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:45 +00:00
Frank Gevaerts
67096fae73 Fix typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27916 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 15:06:06 +00:00
Magnus Holmgren
1bf5777af2 Fix building simulator plugins on Cygwin. A DLL stub containing atexit is linked to the plugins, so give our version a prefix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27893 a1c6a512-1295-4272-9138-f99709370657
2010-08-26 15:44:32 +00:00
Rafaël Carré
5615881955 Remove a bunch of build conditions inside .c files
Fix logic in pacbox makefiles for asm optimizations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27887 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 19:14:02 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
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-24 14:30:46 +00:00
Thomas Martitz
46454ac2a8 Move setjmp to lib and add setjmp for sh (imported from newlib) and compile it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 12:38:42 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
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-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
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-08-23 16:56:49 +00:00
Rafaël Carré
33f5b60999 strncpy.c / assert.h : need to include _ansi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27549 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 14:53:06 +00:00
Teruaki Kawashima
ddbfffb217 improve displaying of string containing diacritic characters. add some characters to determine the position to break line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27401 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 14:59:16 +00:00
Teruaki Kawashima
5af120f1cb some improvements for simple viewer.
* displays a scrollbar if there is more text than currently displayed.
* enables to scroll text by scrollwheel.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27175 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 13:33:19 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Teruaki Kawashima
926aae8161 reorder apps/plugins/lib/SOURCES.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26919 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:49:36 +00:00
Marcin Bukat
341653e3af HD200 - calibrate lcdlinear[] matrix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26910 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 11:58:26 +00:00
Teruaki Kawashima
8a52d171fe fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26688 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 11:13:30 +00:00
Teruaki Kawashima
0c7eb41da8 add simple text viewer to pluginlib and use this for dict to show description.
now dict can scroll the description. it might not show full description if it is too long or memory is not enough.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26687 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 11:07:36 +00:00
Marianne Arnold
9becb7a085 Add a mapping for the PLA_EXIT action for Iriver remote and provide it in the manual as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26591 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 17:29:06 +00:00
Marianne Arnold
15935a6b75 Fix PLA_EXIT and PLA_CANCEL for the Iaudio M5 and X5, make them more intuitive and add the missing remote actions for it at the same time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26587 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 16:21:34 +00:00
Michael Sevakis
e63e84a5df Convert some more stuff to mylcd_ and support pgfx as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26543 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 13:22:50 +00:00
Michael Sevakis
bc26fe7a96 Add a wrapper header, mylcd.h, in the lib subdirectory, which lets plugins' code automatically call the proper functions depending if compilation is for greylib or color display, also forms proper call to grey_ and xlcd_. mylcd_ub_ call greylib unbuffered routines, regular lcd routines otherwise. Form is mylcd_<fnname>, <fnname> is the symbol name stripped of prefixes lcd_, grey_, or xlcd_. Convert a couple plugins I know well (easy job).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26542 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 08:43:32 +00:00
Michael Sevakis
30e2f42c82 FFT Plugin: Revamp the main code to rid it of 64-bit math. Use 32-bit kiss_fft_scalar because 16-bit integers are generally a poor choice for computation on-target. Simplify display code to speed it up. Add logarithmic frequency display (need keymappings, guessed on some). On dual-core, perform FFT on COP. Add some support function to fixedpoint.c. ... and stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26470 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:34:10 +00:00
Szymon Dziok
06601e5fba Vibe 500: fix the scrolling through the lists by implementing BUTTON_REPEAT for the scrollstrip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26268 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 19:48:06 +00:00
Rafaël Carré
427e871319 Clipv2 / Clip+ : lcd scanrate checked with test_scanrate
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26217 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 22:35:44 +00:00
Thomas Martitz
9d7d0b5af6 Fix reds: add m3 keypad, fix typo in the ipods part, correct button for h10, don't error out for touchscreens (onda vx777 has almost no tactical buttons).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26209 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 19:05:24 +00:00
Thomas Martitz
20e9d56ba5 S#10387 - Rework pluginlib actions
It changes pluginlib actions to contain only a single and simple context (and
other one for remote directional buttons),
consisting of 7(9) buttons: up/down/left/right, select OR short select and long
select, exit and cancel (plus 2 for scrollwheel targets).
This ensures contexts don't clash with other contexts and simplifies them, at
the expense of reduced versatility. However, the versatility made it largely unusable
due to the great number of targets.
This should allow for using pluginlib actions safely for the most simple plugins (e.g. almost all demos).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26202 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 17:41:28 +00:00
Marcin Bukat
bb3a3ec7b0 HD200 - adjust LCD_SCANRATE (changed a bit after PLL settings change)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26187 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 10:21:55 +00:00
Rafaël Carré
6e15b710c0 apps/plugins/lib/SOURCES: make it more readable (space, comments, order)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26143 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 14:14:48 +00:00
Marcin Bukat
a62db97b38 HD200 - add support for the device in greylib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25930 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:06:38 +00:00
Frank Gevaerts
8d4ff638b9 Fix size_t handling in plugin_get_buffer()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25884 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:27:42 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc 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-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Thomas Martitz
c61e89c0ed Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Teruaki Kawashima
0cf4cab431 plugins/lib: remove out-dated comments about plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24907 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 12:14:36 +00:00
Teruaki Kawashima
c1bb06c3af plugin: implement highscore_show for player and use it in rockblox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24861 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 13:45:24 +00:00
Teruaki Kawashima
56d29e8977 some changes to use of display_text.
* add parameter, wait_key to display_text().
 - set this true to wait button press after all words is displayed.
* use ARRAYLEN macro instead of #define WORDS
* add macro to indicate end of style array.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24846 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:17:15 +00:00
Szymon Dziok
05577e48a8 Packard Bell Vibe 500: Start committing plugin keymaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24610 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 22:40:17 +00:00
Andrew Mahone
bff5a35c3c FS#10943, optimized division and clz routines to replace libgcc routines for ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 01:36:46 +00:00
Torne Wuff
9e16161832 pluginlib: Support calling a function at exit time to clean up open files
or other similar work. This is not quite the same as atexit() on POSIX as
the function is *not* called if the plugin exits by returning from
plugin_start; only if exit() is called. No code overhead if it's not used.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24189 a1c6a512-1295-4272-9138-f99709370657
2010-01-05 22:17:32 +00:00
Bertrik Sikken
6fef14bd16 Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 14:28:09 +00:00
Tomer Shalev
47ddbaa47b Cowon D2: Rename COWOND2_PAD -> COWON_D2_PAD to match macro used in manual, and
to target naming conventions in general


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 20:51:41 +00:00
Tomer Shalev
82a6fb0649 Cowon: Fix wrong pluginlib action
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23937 a1c6a512-1295-4272-9138-f99709370657
2009-12-12 07:21:41 +00:00
Robert Menes
b4a40eb6f3 These are the last plugin keymaps needed for the GoGear SA9200.
Left to add in: a 128x160 backdrop for rockblox to stop errors
when compiling and then to finally enable plugins.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23915 a1c6a512-1295-4272-9138-f99709370657
2009-12-10 01:23:51 +00:00
Jens Arnold
728f698fa1 XLCD lib: * Fix bug (improper fill) in pixel-wise left scrolling on 2bpp horizontally packed LCDs. * Faster pixel-wise upward scrolling on 2bpp vertically packed LCD coldfire targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23704 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 14:48:50 +00:00
Torne Wuff
27ece8c366 Pluginlib: make scroll functions clear screen if scrolled by >= screen size (from FS#10330)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23211 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:15:12 +00:00
Tom Ross
f5b312e043 Fix compilation of simulators on Mac OS X 10.6. Tested on 10.5.8 and 10.6.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23051 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 17:55:46 +00:00
Karl Kurbjun
573d3f2845 LCD scrolling routines: Fix the screen scrolling boundary with Vertical Strides.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23005 a1c6a512-1295-4272-9138-f99709370657
2009-10-08 03:56:37 +00:00
Karl Kurbjun
2544b001b8 Add Vertical stride support to LCD scrolling functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22683 a1c6a512-1295-4272-9138-f99709370657
2009-09-12 16:42:11 +00:00