Commit graph

193 commits

Author SHA1 Message Date
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
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
Rafaël Carré
c9d4b7977a doom: fix types mismatch spotted by gcc 4.5.1
- some variables were defined as const but declared without const
- remove double declaration of mapnames* (already in .h)
- forceOldBsp is boolean, not int

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27660 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:39:03 +00:00
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:49:49 +00:00
Bertrik Sikken
5565a28c7d Remove some redundant #include's
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27183 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 20:13:22 +00:00
Rafaël Carré
8f28c0443c Build doom on clipv2 and clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27093 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 18:27:30 +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
Michael Sevakis
602bad427a Doom plugin: Missed properly making a few 'unsigned' on my second pass.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26369 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 08:28:29 +00:00
Michael Sevakis
9c6e217f29 Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26368 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 08:12:39 +00:00
Frank Gevaerts
7a994c1e7d Fix (hopefully) last aliasing bug (midiutil), and enable -fno-strict-aliasing again for zxbox and doom (no easy fix there)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25889 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 20:11:14 +00:00
Thomas Martitz
e919b5d5b9 Fix disastrous variable shadowing, change casts to unsigned in (cygwin doesn't like mode_t there, and unsigned int should be equally correct) and check the correct bitmask in sim_open().
Should repair filesystem accesses on the sim.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25881 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 16:56:40 +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
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
Jens Arnold
3710ae92cc Coldfire targets: tiny optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25098 a1c6a512-1295-4272-9138-f99709370657
2010-03-09 23:44:25 +00:00
Michael Sparmann
04ea85fb88 Revert accidental changes from r24723
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24724 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 16:12:21 +00:00
Michael Sparmann
e5c815272d Add more information to the battery debug screen for Nano2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24723 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 15:57:53 +00:00
Szymon Dziok
7074a64d8a Packard Bell Vibe 500: Finish plugin keymaps. Rockbox compiles clean now for the target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24658 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 21:56:53 +00:00
Karl Kurbjun
069bafe215 Accept FS #10271 by Christian Beier: Automatically disable voice upon rockdoom startup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24063 a1c6a512-1295-4272-9138-f99709370657
2009-12-18 04:25:56 +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
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
Andrew Mahone
d523d19b28 Short enum fixes for doom plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23671 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 02:51:17 +00:00
Karl Kurbjun
6acfe8edac Doom: test to see if it still needs Os on arm - that was set when the plugin buffer was smaller on all of the targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23629 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 06:25:53 +00:00
Nils Wallménius
afe08ed8b2 Remove private memcpy wrapper that is no longer needed since r19847 and may cause issues with newer gcc versions, inspired by patch in FS#10676 by Duy Nguyen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23178 a1c6a512-1295-4272-9138-f99709370657
2009-10-14 22:34:11 +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
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
Maurus Cuelenaere
64b227e3ba Doom: re-add the missing modulus operation I removed in r22097
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22098 a1c6a512-1295-4272-9138-f99709370657
2009-08-01 16:10:25 +00:00
Maurus Cuelenaere
da0e0e564a Doom: prevent division by zero
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22097 a1c6a512-1295-4272-9138-f99709370657
2009-08-01 16:07:03 +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
Jens Arnold
8cc169cb28 Silence the gcc 4.4.0 warning by making this code look like it was probably meant to be. I'm not 100% sure this is correct - latest prboom doesn't have that fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21857 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 10:15:58 +00:00
Rafaël Carré
89ccd5c145 Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034
Also remove it from TIMER_START()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21558 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:46 +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
Rafaël Carré
e1f343afc7 Sansa Fuze : Fix r20680/FS#10075 (long HOME to exit plugins)
Some plugins were forgotten : mpegplayer, test_fps, test_scanrate
Some plugins use button_status() and can't use BUTTON_REL or BUTTON_REPEAT flags
    rockblox1d : use single press BUTTON_HOME
    doom : use single press BUTTON_HOME and BUTTON_POWER to open doors
I may have forgotten some plugins, I didn't test them one by one

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20925 a1c6a512-1295-4272-9138-f99709370657
2009-05-13 08:27:36 +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
Karl Kurbjun
93fccc763b M:Robe 500: More LCD initialization, QVGA (vs. VGA) is now enabled by default for performance, 256 color palette mode added, include some linker cleanups and reorganization. Doom and MPEGPlayer now run reaonably well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20664 a1c6a512-1295-4272-9138-f99709370657
2009-04-09 04:22:14 +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
Rob Purchase
8739af490e Some tweaks to the Doom keymap for D2/touchscreen targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20584 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 20:51:48 +00:00
Jens Arnold
f82c944912 Use a static pattern rule to restrict the dependency on [pluginname].o to single-file plugins. This allows the pattern rule for %.rock (with all dependencies defined elsewhere) to pick up multi-file plugins with no [pluginname].o file, and get rid of the duplication in (doom|midi|reversi).make.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20205 a1c6a512-1295-4272-9138-f99709370657
2009-03-04 23:41:58 +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
19e3b6fb8b Fix cygwin sim build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19728 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 20:54:36 +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 Sevakis
6920a5be44 rockdoom: Mixing 512 samples in an interrupt handler is too much. Gigabeast FIFOs are very tight and it will channel swap and crackle. It's better to minimize time in the audio callback anyway so change it to 128. It should probably even be 64. Use faster saturation code too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19679 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 02:29:58 +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
Björn Stenberg
fc2a59b6d5 List sscanf.c in SOURCES instead of doom.make
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19663 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 19:50:58 +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