The old method simply polled the lastbtn variable in button.c. This approach
does not clear the button event queue which overflows as a result (panic
in the simulator). Use proper APIs to fix that and adopt the
method from the old read_scroll_wheel() function, which reads buttons until
the button queue is empty, for all targets.
Change-Id: Ibf198f6e597e7f51ab4ebcfcae4ebebbe8d7845c
Last core update for keymaps and manual. Manual is now 100% complete
Change-Id: I9ad33206ecea41a88cba7a355da911fa7ab0455d
Reviewed-on: http://gerrit.rockbox.org/521
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording uses "void **addr".
"const" is put in place throughout where appropriate.
Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.
Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
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
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
* 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
Added a simple filesize-check for the options file before loading
to avoid crashes due the changed config
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28664 a1c6a512-1295-4272-9138-f99709370657
- 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
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
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
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
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
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
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
- 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
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
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