Commit graph

187 commits

Author SHA1 Message Date
Teruaki Kawashima
5727688e72 rest of FS#11632 by Michael Stummvoll with modification by me.
- don't turn off backlight while playing.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28557 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 12:08:00 +00:00
Teruaki Kawashima
04626ce583 maintain spaces and remove tabs for readability in apps/plugins/rockboy/rockboy.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28555 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 11:35:38 +00:00
Teruaki Kawashima
91bab9b5a5 FS#11632: (rockboy) Some fixes and improvements by Michael Stummvoll
- increase number of slots to save/load state.
- add volume control.
- present old description when overwriting exsinting savegame and don't save when cancelled while input the description.

Flyspray: FS#11632
Author: Michael Stummvoll


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28554 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 10:58:09 +00:00
Teruaki Kawashima
97a783a79a rockboy: fix that description is cut off if it is near 20 bytes in load/save menu.
replace some numbers by #define value.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28521 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 14:20:57 +00:00
Robert Menes
c638e96738 These should be the last of the plugin keymaps required
for the GoGear HDD6330.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28467 a1c6a512-1295-4272-9138-f99709370657
2010-11-03 02:45:53 +00:00
Rafaël Carré
791d425ff1 plugins (doom, midi, rockboy): don't use non-static inline
some functions can be static -> static inline
some functions are external and can't be inlined -> remove inline

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28019 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 14:09:11 +00:00
Rafaël Carré
da16248e47 Plugins: modify IRAM copying code
Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore
IRAM is no longered zeroed before copying (as it is at the same address
than BSS) -> Fix FS#11581
Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 20:47:53 +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
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
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
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
Rafaël Carré
5f4d687cb9 rockboy: use unions instead of type-punning
avoid a warning when using -Os

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26734 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 02:26:15 +00:00
Rafaël Carré
b36e721aa6 rockboy: rename pcm_*() functions to avoid namespace clash with rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26327 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 12:00:23 +00:00
Rafaël Carré
681cedb4d8 Build overlay plugins for all targets with PLUGIN_BUFFER <= 0x10000 bytes
Bring Clipv1 & m200v4 plugin buffer down to this limit
zxbox, chessbox and rockboy build on the clip
rockboy doesn't build on m200v4 due to not enough buttons to make a keymap
Some gameboy roms won't run on Clipv1: tetris does but not pokemon for example

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26144 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 14:14:53 +00:00
Rafaël Carré
a01422c54b plugins: changes for targets with small plugin buffer (Clipv1)
- only enable overlays for targets with very small plugin buffer (<=
  0x10000 bytes, i.e. archos)
- change the condition for rockboy to reflect exactly why it can be
  built or not
- Some plugins need a large plugin buffer, only enable them if the
  buffer is big enough (sizes measured on Clipv1)
- disable MIDI if we have 2MB (or less), we won't be able to load the
  instruments in the audio buffer
- remove unusable lua overlay loader
- sokoban code is bigger on clipv1 than on SH, assume it code is 20kB on
  anything but SH so it builds with buffer smaller than 192kB
- reduce the Clipv1 plugin buffer size from 288kB to 96kb, disabling
  zxbox, chessbox, and fft

zxbox and chessbox have overlays which run on archos, we just need to
enable them on other targets. We'll also be able to run rockboy.

fft won't run as it needs a large plugin buffer for greylib

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26141 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:46:53 +00:00
Teruaki Kawashima
20041b96c8 rockboy: fix format strings in snprintf. use int for slot_id and use %d tag for it in format strings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26104 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 12:49:51 +00:00
Rafaël Carré
487b24cbf5 rockboy: add a Clip keymap
the plugin is still disabled, the build condition needs work

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26099 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 10:01:49 +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
Szymon Dziok
841cffab5b Packard Bell Vibe 500: More plugin keymaps (second portion).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24634 a1c6a512-1295-4272-9138-f99709370657
2010-02-13 15:46:34 +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
Robert Menes
ed64d91bc2 Yet more GoGear SA9200 plugin keymaps. Almost done!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23893 a1c6a512-1295-4272-9138-f99709370657
2009-12-07 18:23:25 +00:00
Teruaki Kawashima
5cdd920d12 Correct checking return value of open in plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23874 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 13:52:28 +00:00
Rafaël Carré
2b2b4f5559 rockboy: remove useless assignement for fuze
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23032 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 07:34:08 +00:00
Maurus Cuelenaere
9680244f4a * Fix plugin keymaps for VX777
* 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-31 21:11:32 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Thomas Martitz
98f1aa6025 Fix mistake at checking the return in rockboy. Thanks Al Le for spotting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22273 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 15:00:16 +00:00
Thomas Martitz
18e40e0f4c Make kbd_input() show a cancel splash to indicate user abort better and for better consistency all over the place. Change checking for its return value (style-wise) at some places too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22269 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 14:38:25 +00:00
Karl Kurbjun
729ff6f503 Rockboy: Cleanup red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22215 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 03:35:53 +00:00
Karl Kurbjun
4cded9c7b9 Rockboy: Significantly reduce the number of palette updates, add support for hardware palette mode, screen can now be rotated left or right.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22214 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 03:20:55 +00:00
Karl Kurbjun
4caf3b3aa0 M:Robe 500: Make yes/no screen work better and add appropriate strings for some screens. Rockboy: Improve m:robe 500 default keymap.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22201 a1c6a512-1295-4272-9138-f99709370657
2009-08-08 07:21:37 +00:00
Michael Giacomelli
594b6e2b49 Commit FS#10251. Plugins for the YH-820, YH-920, and YH-925 by Jens Erdmann with improvements and bitmap graphics by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 03:08:32 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Jonathan Gordon
af9f405651 Accept FS#10094 by Teruaki Kawashima:
Replace the old menu API with the "new" one (a very long time overdue so huge thanks for the work.)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21306 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 04:25:21 +00:00
Michael Giacomelli
39691c9cd0 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21287 a1c6a512-1295-4272-9138-f99709370657
2009-06-15 05:56:48 +00:00
Thomas Martitz
adb55c518b FS#10327: Patch by Frederick Full to fix the scrollwheel and default
controls in Rockbox on the Fuze.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21286 a1c6a512-1295-4272-9138-f99709370657
2009-06-15 05:17:54 +00:00
Jens Arnold
1d6df54df2 Convert a number of places in core and plugins to use the BIT_N() macro instead of 1<<n. Speeds up things on SH1, and also reduces core binsize. Most notable speedups: 1 bit lcd driver: drawpixel +20%, drawline + 27%, hline +5%; jpeg viewer: +8% for 1/8 scaling. Other targets are unaffected.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21205 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 21:27:05 +00:00
Thomas Martitz
e6cbad6974 FS#10075 - FUZE: QUIT Plugin by selecting BUTTON_HOME by Johannes Schwarz. Updates the plugin keymap to use Long Home to exit plugins to be more inline with the core keymap.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20680 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 17:28:26 +00:00
Maurus Cuelenaere
fef405c328 Enable plugins on the Onda VX747
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20647 a1c6a512-1295-4272-9138-f99709370657
2009-04-07 23:41:44 +00:00
Jens Arnold
c21e2e686f Calculate the optimal memory location for overlay plugins, and use plugin.lds for linking them. This gets rid of hand-adjusted archos.lds, making it easy to use overlay plugins on other lowmem targets. * Fix some duplicate and incorrect dependencies. * Change the way libs are filtered, so that a lib can be specified more than once. This allows to get rid of explicitly linking gcc-support.o, fixing empty plugins on some simulator platforms.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20163 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 00:16:44 +00:00
Michael Sevakis
21f0c9a282 Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 12:55:51 +00:00
Andrew Mahone
499426caf9 remove MEM_FUNCTION_WRAPPERS, and private mem* implementations from plugins, and replace with pluginlib implementations in plugins/lib/gcc-support.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19847 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 22:57:57 +00:00
Mark Arigo
2490262eee Plugins for the Philips HDD1630. The keymaps are largely untested on the device (patches welcome).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19846 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 22:41:55 +00:00
Andrew Mahone
23d9812273 loader-initialized global plugin API:
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api

the loader uses this pointer to initialize rb before calling entry_point

entry_point is no longer passed a pointer to the plugin API

all plugins, and pluginlib functions, are modified to refer to the
global rb

pluginlib functions which only served to copy the API pointer are
removed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Björn Stenberg
a36cdf5b37 Removed the sim_ prefix from the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19704 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 09:53:46 +00:00
Michael Giacomelli
6d5823f964 Commit FS#9617 - Keymaps for Plugins fuze by Thomas Martitz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19673 a1c6a512-1295-4272-9138-f99709370657
2009-01-04 23:33:15 +00:00
Björn Stenberg
985b53e500 Cleaner solution to plugin-included core files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19664 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 22:40:29 +00:00
Maurus Cuelenaere
6471b3c81a Commit FS#9607 by Adam Hogan: fix plugin keymaps for Creative Zen Vision:M
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19363 a1c6a512-1295-4272-9138-f99709370657
2008-12-08 09:51:42 +00:00
Björn Stenberg
cea285d64e Added keymaps for ZVM to plugins. Enabled zvm plugin building in tools/configure. FS#9605 by Adam Hogan and Robert Menes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19335 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 21:28:56 +00:00