Commit graph

60 commits

Author SHA1 Message Date
Hairo R. Carela
48392bab94 New port: Anbernic RG Nano
A bit of context, this device is a clone of the FunKey-S with a different form factor, hardware is mostly identical, the relevant difference is it has audio out (via usb-c, adapter to 3.5mm is included), this is the reason why the FunKey-SDK is needed for bulding.

This port is based on the old SDL 1.2 code because the device doesn't have SDL2 support. Alongside what was supported in the SDL 1.2 builds this port supports battery level, charging status and backlight control.

Change-Id: I7fcb85be62748644b667c0efebabf59d6e9c5ade
2025-07-29 21:01:53 -04:00
William Wilgus
7100090f99 Remove NVRAM infavor of a separate cfg file
remove nvram and use the existing settings framework for it

add a crc check to the user_settings data to see if we need to save
the user setting file or if we can just save the status file (resume.cfg)

move volume to the system_status struct so we don't write the whole settings file
over volume changes

allow user to still export volume with save sound settings

allow the user to also export pitch and speed

name the file .resume.cfg

Rename all the SYSTEM_STATUS save file variables to TLAs to save space and
discourage tinkering

Cleanup DEBUG_AVAIL_SETTINGS output

when saving user_settings it calls status_save as well this cause the resume
file to be written twice. instead remove the callback for status_save
when setting_save is called

remove header text when saving .resume.cfg

convert status_save() to status_save(bool force)
add SYSTEM_STATUS_UPDATE_TICKS

for ATA device set this to 5 minutes
since we arlready wait for the disk to be up before saving
we don't want to miss our window

for all other every 15 minutes

that way if the battery is too low by the time shutdown comes around you
don't lose much progress

Change-Id: I27214ffd6e5d5494ee5ca83b14f04a41ba426ad7
2025-01-21 00:04:32 -05:00
Solomon Peachy
8cc3266b2a Settings: Rename INT/BOOL setting type enum to RB_INT/RB_BOOL
....Because INT and BOOL are already defined in mingw32.

Change-Id: I28ab8189c00002c8f68bc9d0c23d2ae78d9e33d0
2023-09-22 10:00:46 -04:00
William Wilgus
97a82ee3ec plugins HAVE_BACKLIGHT helper remove ifdefs in favor of dummy functions
lessen the ifdef hell

Change-Id: I52f830284e4599f3fc3a75c27dda27058b8de1a3
2022-11-23 23:00:29 -05:00
Solomon Peachy
9be5bc4cf0 plugins: More HAVE_BACKLIGHT cleanup
Change-Id: I70cf700f5bc3d4375c025efa62ef40fd2bd70293
2020-07-24 19:20:15 -04:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Rafaël Carré
7b605f0416 Fix 'unused-but-set-variable' warnings (doom, lua)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30008 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 00:14:58 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear 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
2011-01-24 12:29:16 +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
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
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
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
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
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
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
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
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
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
Frank Gevaerts
8c08511013 revert plugin_api part of r18830, as this was the wrong solution for those
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18831 a1c6a512-1295-4272-9138-f99709370657
2008-10-18 23:50:05 +00:00
Frank Gevaerts
ae7391b187 code police : fix some multiply defined variables
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18830 a1c6a512-1295-4272-9138-f99709370657
2008-10-18 23:31:29 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Robert Kukla
1317ebb1a0 m:robe 100: a few button defines and other greyscale related changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17030 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 22:09:14 +00:00
Jens Arnold
2aa0c4c66b Doom: Keep the light on during gameplay.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16004 a1c6a512-1295-4272-9138-f99709370657
2008-01-06 14:05:55 +00:00
Nicolas Pennequin
9ff40579c3 Hopefully the last fix for crosscompilation of sims with mingw32.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15048 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 18:44:07 +00:00
Jens Arnold
a4f0de0f9d Doom: * Fix voicing numerous options as 'yes'. voice_id is an id, not a pointer. *Fix struct menu_item <-> struct opt_items messup (caused no problems but still...).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14960 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 19:53:35 +00:00
Kevin Ferrare
011a325e32 Makes apps and plugins interract with directories using a posix-like api instead of calling dircache / simulator functions (no additionnal layer added, only a cosmetic change)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13943 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 17:06:55 +00:00
Karl Kurbjun
aec5814d43 Some fixes to doom dehacked loading - make embedded dehacked files actually load, fix end of file detection in the string loader, fix ammo changes, fix bex code pointers. Also added the * flag to sscanf - still only tested against rockdoom sscanf calls.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13547 a1c6a512-1295-4272-9138-f99709370657
2007-06-03 22:03:36 +00:00
Jonathan Gordon
77a458a464 Move the old api out of the core and into the plugin lib.
ew plugins shuold use the new api and not this one.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13358 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 11:55:43 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Paul Louden
d17de72c60 Make our Doom plugin see the Doom wad we provide and list "Freedoom" as
its own entry in the supported game list.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12353 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 17:51:44 +00:00
Karl Kurbjun
b47a43aa28 Doom for the Gigabeat and some code reduction
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12051 a1c6a512-1295-4272-9138-f99709370657
2007-01-17 18:52:24 +00:00
Karl Kurbjun
7e6f74e429 Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11738 a1c6a512-1295-4272-9138-f99709370657
2006-12-13 04:44:17 +00:00
Tomasz Malesinski
80da8b141c FS#6357, patch 1: let iramcopy and bss share the same space in codecs and
plugins. Currently, in case of plugins using IRAM bss is cleared twice,
once in the loader, once in PLUGIN_IRAM_INIT. For codecs, bss is cleared only
during codec initialization. Also, removed double variables in codecs
storing a pointer to codec_api.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11606 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 18:31:41 +00:00
Michael Sevakis
acc29d95be SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +00:00
Karl Kurbjun
d6b0c97312 Don't need to remove the backdrop for all plugins - leave it up for some.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11526 a1c6a512-1295-4272-9138-f99709370657
2006-11-15 06:14:27 +00:00
Karl Kurbjun
4caa676a9c Deboost under all exits for rockdoom thanks to patch 5851 by David Dent
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11100 a1c6a512-1295-4272-9138-f99709370657
2006-10-01 01:07:45 +00:00
Karl Kurbjun
26dd5c5e9c Fix the menu start for rockdoom
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10097 a1c6a512-1295-4272-9138-f99709370657
2006-06-10 18:47:11 +00:00
Dave Chapman
830ec63b4b Stop playback before starting to use IRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9947 a1c6a512-1295-4272-9138-f99709370657
2006-05-15 21:25:43 +00:00
Karl Kurbjun
65c15eb50b Better video update, add options to startup menu, change default screensize
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9754 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 03:48:15 +00:00
Karl Kurbjun
9f2be9b17f Add in error return if appropriate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9702 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 05:01:33 +00:00
Karl Kurbjun
b0722d11c1 Changed the way the addons and demos menus are displayed and built. Should be a good setup for adding multiple wad files as addons. Need to add some status feedback to let the user know what has been selected previously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9701 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 04:38:26 +00:00
Karl Kurbjun
c87f98ce7f Finally add support for unlimited number of addons and demos. Also cleaned up the code and made a general function to handle the addons and demos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9700 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 03:09:29 +00:00
Karl Kurbjun
6f8af215b9 Some code cleanup. Adds Always run to configuration options.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9697 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 00:37:51 +00:00
Karl Kurbjun
4e2a74c2b4 Slight code cleanups, fixed sound parameter - now it saves. Old configurations will be reset.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9682 a1c6a512-1295-4272-9138-f99709370657
2006-04-15 22:08:36 +00:00
Karl Kurbjun
993545b4fb Start of profiling support for doom.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9667 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 21:07:56 +00:00