Commit graph

505 commits

Author SHA1 Message Date
Jonathan Gordon
73c46ffd6e Convert the playback control menu to the new API. Makes a good example
for plugin devs :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12919 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 09:14:16 +00:00
Jens Arnold
ad4e3d6657 First step of charcell LCD code rework: * Make it fully unicode aware so that adding non-ISO8859-1 scripts becomes possible (limited by the LCD capabilities of course). * Make the API more similar to the bitmap LCD code's API. * Moved hardware dependent parts to target tree. * Simplified code. * Jumpscroll temporarily non-functional.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12916 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 07:52:13 +00:00
Jens Arnold
85a226d4e7 Rename some macros to account for the recently added M5 port. No code changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12809 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 23:02:39 +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
Jonathan Gordon
6e44209a4c Make the Play / Pause option restart playback if its stopped also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12738 a1c6a512-1295-4272-9138-f99709370657
2007-03-12 13:41:52 +00:00
Thom Johansen
5ba289bc27 Kill a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12204 a1c6a512-1295-4272-9138-f99709370657
2007-02-05 01:18:29 +00:00
Thom Johansen
5f48e1590f Optimise EQ coef calculation routines for both speed and size. Move now unneeded fsqrt function to plugin fixed point library in case it'll be needed. Move all fixed point helper macros to dsp.h. Added FRACMUL_SHL macro to facilitate high-precision shifting of 64 bit multiplies and remove rounding from macsr in main thread to make this work as intended.
Tested quite thorougly, but as always, be careful with your ears.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12203 a1c6a512-1295-4272-9138-f99709370657
2007-02-05 01:01:15 +00:00
Jens Arnold
67eb154146 Removed 'mode' parameter from creat(). It wasn't pure posix anyway, it was ignored on target and mixed into 'oflags' in the simulator. * Simplified io.c a bit by defining a dummy O_BINARY for OSes which don't have that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12179 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 23:08:15 +00:00
Dave Chapman
d64e626387 Start of work on a port to the Archos 'AV300' (AV320/340/380) - a working UI simulator (but with a dummy background image for now) and the beginnings of the target-specific firmare code. Port is temporarily using a 2bpp LCD buffer format - the AV300 has a 320x240 colour (YCbCr-based) LCD which will need a new framebuffer format and drawing routines, but the LCD is also capable of various paletted bitmap modes, one of which has an identical framebuffer format to the greyscale ipods. Buttons (and hence the button mappings) are identical to the Archos Recorder, with the exception that the PLAY button on the Recorder is replaced by pressing the joystick on the AV300 (which I call BUTTON_SELECT). The initial port will begin by being strictly HWCODEC, but will evolve to be a hybrid SWCODEC/HWCODEC platform - it has a MAS3587F but also a main CPU (54MHz arm7tdmi plus DSP) capable of software decoding of at least some formats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12008 a1c6a512-1295-4272-9138-f99709370657
2007-01-14 13:48:09 +00:00
Linus Nielsen Feltzing
cf8251281c Removed executable flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11966 a1c6a512-1295-4272-9138-f99709370657
2007-01-09 23:22:14 +00:00
Steve Gotthardt
d850db102f Gigabeat gets rockblox ! Thanks to the RedZZR Gary Allen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11918 a1c6a512-1295-4272-9138-f99709370657
2007-01-05 16:32:20 +00:00
Jens Arnold
fcc00458a9 Beginnings of a fixed point math library for use in plugins. fsincos() only for now, mostly copied from eq.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11712 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 23:04:05 +00:00
Jens Arnold
f98fd72fe7 Beginnings of a fixed point math library for use in plugins. fsincos() only for now, mostly copied from eq.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11709 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 22:50:00 +00:00
Nils Wallménius
daa16b9d6b Fix minor typo in the plugin playback control menu c->C
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11619 a1c6a512-1295-4272-9138-f99709370657
2006-11-28 15:28:30 +00:00
Jonathan Gordon
e25c840b98 ipod keypad fixes.. fixes bubbles
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11598 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 09:35:12 +00:00
Jonathan Gordon
6e2778b079 grr.. forgot to add these files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11553 a1c6a512-1295-4272-9138-f99709370657
2006-11-19 14:19:15 +00:00
Jonathan Gordon
6288523cfe * Move checkbox to plugin api (core never uses it)
* replace the last of the scrollbar() calls with gui_scrollbar_draw()


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11552 a1c6a512-1295-4272-9138-f99709370657
2006-11-19 14:11:42 +00:00
Jonathan Gordon
73e31d1af3 fix ondios again. Add a context for left/right/fire actions which seems
to work well


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11546 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 11:16:53 +00:00
Jonathan Gordon
ef35bb9d47 fix builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11537 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 03:12:27 +00:00
Jonathan Gordon
9ddcab8eb0 woops, i'm a dill!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11536 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 03:05:25 +00:00
Jonathan Gordon
7b8b0ff491 implement actions in the plugins, bubbles and metronome converted.
(hopefully buttons are correct, let me know in
http://forums.rockbox.org/index.php?topic=5829.0 if there is a major
stuff up)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11535 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 02:53:44 +00:00
Jens Arnold
32c69452d6 Grayscale lib: Using a 32x32->32 bit multiplication is better on ARM, as 16x16->32 bit isn't a single instruction. Renamed the macro for pointing out that it's not necessarily 16 bit anymore, and to avoid collisions with similar macros in plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11436 a1c6a512-1295-4272-9138-f99709370657
2006-11-05 14:40:14 +00:00
Jens Arnold
a796260a6b Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +00:00
Jens Arnold
d1ce4e779e Consistent style of 'make' messages. Always use ranlib after ar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +00:00
Jens Arnold
89658651d7 Rockblox: * Ported to the Player :-P * Slight optimisation in refresh_board().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11146 a1c6a512-1295-4272-9138-f99709370657
2006-10-07 20:00:49 +00:00
Jens Arnold
bd7248d106 * Use fast multiplication macro in some more places. * Better pipelining on SH1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10652 a1c6a512-1295-4272-9138-f99709370657
2006-08-19 06:29:23 +00:00
Jens Arnold
e6ed58f6c5 Better implementation of the new greyscale algorithm. A bit faster (+2% on iPod and Archos, +7% on Iriver H1x0), and more straightforward. * Fixed garbage display when a plugin switches on the overlay before drawing anything.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10534 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 23:40:05 +00:00
Jens Arnold
71dc284b5d New algorithm for grayscale buffer updates which is faster for large buffer depths. Speedup (unbuffered, depth==32): +8% on H1x0, +17% on Recorder (depth==24), and +83% on iPod Mini.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10529 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:13:01 +00:00
Marcoen Hirschberg
d24ed9987b 'no voice' is -1 not 0 and menu_items does have a pointer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10527 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 12:48:36 +00:00
Marcoen Hirschberg
ed70da26bd don't assign NULL to a long (fixes sim build warnings)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10526 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 11:35:26 +00:00
Jens Arnold
f54c34eb0f ARM targets: Shave off one instruction from the multiply-by-75.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10503 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 14:17:09 +00:00
Jens Arnold
e7aeebf0bf Fix sim warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10481 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 22:34:20 +00:00
Jens Arnold
754e173c25 Grayscale lib: Working screendump on iPod (target + sim).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10478 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 21:58:32 +00:00
Jens Arnold
c00d799fa3 * Assembler optimised gray_update_rect() and writearray() for arm (greyscale iPods). * Some slight optimisations for coldfire (H1x0) and SH1 (archos). * Comment and formatting cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10473 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 17:21:38 +00:00
Jens Arnold
d55503d80b We can run the grayscale lib at full frame rate on iPods...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10471 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 08:59:55 +00:00
Jens Arnold
c214e7bb0c Grayscale library ported to the grayscale iPods, first version. Added C reference versions of gray_update_rect() for both horizontal and vertical pixel packing. gray_update_rect() and gray_ub_gray_bitmap_part() not yet assembler optimised. Grayscale screendump doesn't work yet. * Fixed button assignments for iPod in grayscale.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10468 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 01:46:42 +00:00
Jens Arnold
51d3dba10a Again smaller fixed point exp()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10455 a1c6a512-1295-4272-9138-f99709370657
2006-08-04 07:32:23 +00:00
Jens Arnold
f212e6cf5f Smaller & faster (on our targets) fixed point exp() with a multiplication.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10454 a1c6a512-1295-4272-9138-f99709370657
2006-08-04 07:02:34 +00:00
Jens Arnold
89c81ce1fb Repair bufferend scrolling background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10434 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 15:13:57 +00:00
Jens Arnold
b4cb493135 Proper rounding...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10420 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 21:15:22 +00:00
Jens Arnold
fd9bd310a2 Slightly better precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10419 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 20:57:40 +00:00
Jens Arnold
344849cc22 Ooops, don't apply correction when it shouldn't be applied.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10418 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 20:19:20 +00:00
Jens Arnold
628d20a610 Grayscale library: LCD linearisation and gamma correction.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10402 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 00:22:01 +00:00
Linus Nielsen Feltzing
c849219370 Moved the X5 button driver to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10339 a1c6a512-1295-4272-9138-f99709370657
2006-07-27 13:27:31 +00:00
Antoine Cellerier
2da8f69c95 Lib to save a bitmap struct to a bmp file. Only works/tested with color bitmaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10254 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:44:44 +00:00
Antoine Cellerier
5e306b4c19 RGB <-> HSV colorspace conversion lib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10253 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:40:17 +00:00
Jens Arnold
393f31cc43 1bit and 2bit LCD drivers: Low-level bit handling optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10225 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 00:04:43 +00:00
Dan Everton
b2ec716534 Use correct file mode when creating files. Fixes task 5452
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10020 a1c6a512-1295-4272-9138-f99709370657
2006-05-30 11:26:41 +00:00
Jens Arnold
d43e719d59 SH1: Better placement of the C library routine references (gcc 3.4.x -Os and -O2 proof).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9748 a1c6a512-1295-4272-9138-f99709370657
2006-04-20 19:48:02 +00:00
Jens Arnold
5ad51c61bc Greyscale ipods: Fix horizontal scrolling in oscilloscope, the flipped LCD driver broke it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9537 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 20:31:57 +00:00
Jens Arnold
b509ff5069 Patch #3022 by Mikael Magnusson: Only zero out the actual bss area instead of the whole plugiin buffer, for faster plugin loading. * Applied the same idea to the overlay loader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9535 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 18:26:14 +00:00
Jens Arnold
1be25a4d71 Use TIMER_FREQ for timers in plugins. Fixes timer speed on iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9427 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 12:45:30 +00:00
Linus Nielsen Feltzing
6f4d721d23 Basic plugin playback control menu by Jonathan Gordon (Patch #4874)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9269 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 22:33:25 +00:00
Brandon Low
9c2b203025 Fix profiling compilation for non-m68k targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8967 a1c6a512-1295-4272-9138-f99709370657
2006-03-09 01:37:52 +00:00
Jens Arnold
93113f5645 The LCD extension lib was split into 3 parts: Removed old file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8954 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 07:29:42 +00:00
Jens Arnold
10e7e22452 Minor optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8952 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 01:15:09 +00:00
Jens Arnold
19b45a4374 LCD extension library: Implemented scrolling for LCD depths below 8 bit. * Oscilloscope: Use new scrolling function, some minor optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8951 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 01:14:46 +00:00
Jens Arnold
6a972e0249 Finally - grayscale library support for the simulators. Currently SDL only, win32 and x11 won't link anymore due to missing simulator functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8845 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 13:37:42 +00:00
Marcoen Hirschberg
f16c1f341a prevent rockbox from using the wrong includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Jens Arnold
eeec278d21 Made the overlay loader code part of the plugin library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8813 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 20:46:33 +00:00
Jens Arnold
ba4991cc19 Apply same optimisation as for the core lcd drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8797 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 01:22:29 +00:00
Jens Arnold
e48e60b3e0 Faster filled triangle drawing for colour targets and greyscale iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8751 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 19:15:46 +00:00
Dave Chapman
3e164cb8da Do not compile grayscale lib (and plugins needing it) for the iPod Grayscale LCD
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8653 a1c6a512-1295-4272-9138-f99709370657
2006-02-10 20:03:23 +00:00
Jens Arnold
fbfd3e2f31 Changed the 'stride' parameter of all *_bitmap_part() function to always mean the source bitmap width in pixels. Playergfx was the only engine where this was not true.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8621 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:45:17 +00:00
Jens Arnold
bfbbf4705f Ooops, small fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8620 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:05:39 +00:00
Jens Arnold
09b9a412f0 Preparation for colour gfx viewers: xlcd_color_bitmap_part() and xlcd_color_bitmap() added to the plugin library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8619 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:03:14 +00:00
Jens Arnold
56647275b5 JPEG viewer adapted to colour targets (greyscale only for now). New functions in the lcd extensions plugin library for drawing canonical greyscale bitmaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8617 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 01:14:29 +00:00
Jens Arnold
e6e8aa9519 Added memmove() to codec API & plugin API, and changed codeclib and plugin libs to use it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8602 a1c6a512-1295-4272-9138-f99709370657
2006-02-06 16:04:01 +00:00
Jens Arnold
e49cade42d Colour targets: Adapted mandelbrot plugin. The plugin library now contains scrolling routines for >= 8 bpp displays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8578 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 12:59:10 +00:00
Tomasz Malesinski
c31d2f84b7 Fixed warnings on iFP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 23:14:42 +00:00
Jens Arnold
83b2628b05 Bugfix: gray_putsxyofs() couldn't have worked before
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8432 a1c6a512-1295-4272-9138-f99709370657
2006-01-23 22:13:38 +00:00
Jens Arnold
3d2cab614e Grayscale library: colour macros now matching the core LCD drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8431 a1c6a512-1295-4272-9138-f99709370657
2006-01-23 22:13:00 +00:00
Brandon Low
05dccc3551 Profiling support, tools and documentation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Jens Arnold
b4d0587862 Fixed comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8067 a1c6a512-1295-4272-9138-f99709370657
2005-11-26 09:05:03 +00:00
Jens Arnold
bce7c3eb50 Slight optimisation of gray_mono_bitmap_part() (only affects H1x0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8064 a1c6a512-1295-4272-9138-f99709370657
2005-11-25 18:46:55 +00:00
Jens Arnold
5b2cba17aa Changed the LCD_COLOR pixel value format to packed RGB (unsigned int). Now all LCDs with depth > 1 use the same datatype. Added macros for easy pixel value definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7912 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 21:09:23 +00:00
Linus Nielsen Feltzing
dc9e201671 Support for a colon-separated path in APPEXTRA
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7663 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 14:39:00 +00:00
Jens Arnold
ddad7197ed H1x0: Slight optimisation of the grayscale library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7646 a1c6a512-1295-4272-9138-f99709370657
2005-10-20 19:56:32 +00:00
Jens Arnold
625ef752fb Fixed some misleading comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7608 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 16:46:51 +00:00
Jens Arnold
1cbac551be Grayscale lib on archos: Fixed bug introduced with the register usage change. Reusing a register twice won't work that well...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7577 a1c6a512-1295-4272-9138-f99709370657
2005-10-03 12:51:29 +00:00
Jens Arnold
cfb073c452 Coldfire: New timer handling on CPU frequency change, adjusting the prescaler on the fly, for both tick and user timer. Precondition is that the higher frequencies are integer multiples of the base: now NORMAL is 45 MHz and MAX is 124 MHz. Removes the need for applications with longer timer periods (>= 10 ms) to boost the CPU all the time, e.g. the grayscale lib. Timer counts are now always based on the base frequency (CPU_FREQ). * Adjusted the RAM refresh timers to the new frequencies (all frequencies for H100) * All: Fixed the tick timer count being off by one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7576 a1c6a512-1295-4272-9138-f99709370657
2005-10-03 09:24:36 +00:00
Jens Arnold
05042affc7 Core: A graphics framework can now register a hook function to extend the core screendump routine. * Grayscale library: (1) Changed the screendump routine into a hook, and implemented it for H1x0. (2) The planar pixel setting routines now use one register less. Fixes build problem with developer builds (frame pointers enabled) on coldfire.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7574 a1c6a512-1295-4272-9138-f99709370657
2005-10-01 10:20:55 +00:00
Jens Arnold
1a40e10933 H1x0: Changed lcd_blit() and the grayscale library to use the same internal format as on archos (1bpp). While the slowdown of the ISR is minimal (the intermediate buffers are in IRAM), the planar grayscale buffer takes only half the space for a given depth, and gray_update[_rect]() and unbuffered drawing/scrolling are faster because less data needs to be moved. It should also make porting of video.rock somewhat easier. * Archos recorders, Ondios: Some slight optimisations of the grayscale library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7571 a1c6a512-1295-4272-9138-f99709370657
2005-09-30 20:10:27 +00:00
Jens Arnold
feaf62704e Grayscale lib: Moved the shift count doubling for unbuffered up/down scrolling out of the asm block itself (cosmetic).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7250 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 14:08:58 +00:00
Jens Arnold
00866dbf86 Grayscale library: (1) Ported to iriver H1x0. Experiments have shown that the intended 49-shade mode isn't possible due to interference between the internal greylevel generation of the LCD and external pixel flipping, so the lib allows 33 shades as on the Archos. The current implementation wastes RAM by not switching the LCD to b&w mode and simply using colours 0 and 3 only. However, this allows to show a partial greyscale overlay and normal 4-shade graphics in parallel. (2) Converted all asm blocks to use symbolic parameters. (3) Properly marked asm input parameters that are changed within the block as in-out and feed them from a temp variable where necessary. (4) Screenshot is not yet working on H1x0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7244 a1c6a512-1295-4272-9138-f99709370657
2005-07-27 19:58:49 +00:00
Jens Arnold
e44372ef18 Moved implementation of user timer to the firmware layer, implemented it for iriver, and made it shareable based on priorities. On iriver, the user timer is shared between the backlight fading and other use, so if a plugin registers the timer, the backlight will resort to simple on/off switching until the plugin releases the timer again. Sorted and bumped the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7242 a1c6a512-1295-4272-9138-f99709370657
2005-07-26 20:01:11 +00:00
Jens Arnold
c20a00ef3e Complete rework of the grayscale library: (1) Implemented the new rockbox graphics api. (2) Added buffered mode, and implemented most drawing functions for buffered mode only. Buffered mode will ease implementation of animated graphics. Some functions are additionally provided as unbuffered versions (drawing grayscale bitmaps, scrolling) since unbuffered mode is better suited for non-animated graphics (JPEG viewer, mandelbrot) and saves some RAM, which is important on Archos. (3) Put all functions in a couple of source files, no more one-function-per-files. This became possible since sectioned compilation for the plugin library and appropriate linking for the pluginswas introduced, otherwise the binaries would be bloated by unused functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7241 a1c6a512-1295-4272-9138-f99709370657
2005-07-25 20:50:34 +00:00
Jens Arnold
937725f674 Beginnings of a library complementing the core LCD functions. First function: filled triangle drawing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7128 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 23:50:37 +00:00
Jens Arnold
d7f9439353 Adapted remote LCD driver and player graphics library to the new bitmap function naming scheme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7047 a1c6a512-1295-4272-9138-f99709370657
2005-07-07 00:05:29 +00:00
Jens Arnold
3291ae6bfa A couple of optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6981 a1c6a512-1295-4272-9138-f99709370657
2005-07-02 07:21:21 +00:00
Jens Arnold
93867305d5 Player graphics library extended and converted to new api. Please note that the player gfx bitmap format chas changed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6956 a1c6a512-1295-4272-9138-f99709370657
2005-06-30 21:07:00 +00:00
Jens Arnold
305a7ce1a2 Enabled sectioned compilation for the plugin library, and linking with garbage collection for the plugins. The effect is that functions and data objects from one object file in the plugin library are included in the .elf individually, not as a whole. It makes maintaining larger plugin library packages easier, as it is no longer necessary to split the source files by function to avoid dead code to get included in the plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6931 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:04:22 +00:00
Daniel Stenberg
1c56afad5d removed old codec leftovers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6919 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 13:46:51 +00:00
Jens Arnold
9ca433f7bb Don't try to compile the grayscale lib for unsupported configurations, saves compile time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6895 a1c6a512-1295-4272-9138-f99709370657
2005-06-27 17:52:42 +00:00
Daniel Stenberg
1dd672fe32 moved and renamed the codecs, gave the codecs a new extension (.codec),
unified to a single codec-only API, made a new codeclib, disabled the building
of the *2wav plugins


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6812 a1c6a512-1295-4272-9138-f99709370657
2005-06-22 19:41:30 +00:00
Linus Nielsen Feltzing
fa148bb812 A new API for saving highscores in game plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6611 a1c6a512-1295-4272-9138-f99709370657
2005-06-08 13:47:46 +00:00
Linus Nielsen Feltzing
c10e148a6e Killed a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6581 a1c6a512-1295-4272-9138-f99709370657
2005-06-06 00:32:05 +00:00
Linus Nielsen Feltzing
1c497e6045 First audio codec playback attempt by Miikka Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6574 a1c6a512-1295-4272-9138-f99709370657
2005-06-05 23:05:10 +00:00
Daniel Stenberg
b8a23f9e49 Fixed makefiles for autoconf.g include.
Fixed build output look in several Makefiles
Fixed code to include autoconf.h
Fixed code to use ROCKBOX_*_ENDIAN instead of previous attempts.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6421 a1c6a512-1295-4272-9138-f99709370657
2005-05-07 22:41:17 +00:00
Linus Nielsen Feltzing
d34865a530 mp3buf renamed to audiobuf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6252 a1c6a512-1295-4272-9138-f99709370657
2005-04-05 11:33:58 +00:00
Jens Arnold
657fdf26f2 Compile the simulators without special code & data sections. Fixes intermittent hangs/ crashes of mpa2wav.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6181 a1c6a512-1295-4272-9138-f99709370657
2005-03-10 20:02:08 +00:00
Jens Arnold
58aa4c98bb Fixes for the codec test environment: (1) Long aligned codec_malloc(). (2) Update all stats at most once per second.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6176 a1c6a512-1295-4272-9138-f99709370657
2005-03-09 19:36:53 +00:00
Daniel Stenberg
8ebff817a2 Use the new generic SRC build "macro" in tools/makesrc.inc to process the
SOURCES file. Hopefully this now works better for Mac OS X people.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6152 a1c6a512-1295-4272-9138-f99709370657
2005-03-06 15:40:03 +00:00
Jens Arnold
75640f45eb Player graphics library: fixed and more robust bounds check, added bitmap drawing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6139 a1c6a512-1295-4272-9138-f99709370657
2005-03-05 11:31:43 +00:00
Jens Arnold
b363d65625 Get malloc() and friends out of the way for the cygwin linker (and maybe others), to make plugins work properly in the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6086 a1c6a512-1295-4272-9138-f99709370657
2005-02-28 20:55:31 +00:00
Jens Arnold
cb78646baf Codec test plugins: use DEBUGF() instead of (not cleanly avaliable) printf().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6052 a1c6a512-1295-4272-9138-f99709370657
2005-02-25 00:46:41 +00:00
Jens Arnold
6e372abb0e Grayscale lib: let the compiler decide when to save the pr register.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6051 a1c6a512-1295-4272-9138-f99709370657
2005-02-24 23:24:00 +00:00
Linus Nielsen Feltzing
0cd492f552 Reduced the LCD updates to once per second
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6046 a1c6a512-1295-4272-9138-f99709370657
2005-02-23 14:04:33 +00:00
Daniel Stenberg
22b7701fe7 Build cleanup and general fixes. fprintf() is now fdprintf(), the separation
between uisimulator files and firmware/apps files are better done.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6031 a1c6a512-1295-4272-9138-f99709370657
2005-02-22 12:19:12 +00:00
Dave Chapman
4d961f2128 First version of vorbis decoder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6017 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 12:11:18 +00:00
Dave Chapman
7b56110e5e Build the codec plugins in the simulator - only tested for X11
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6011 a1c6a512-1295-4272-9138-f99709370657
2005-02-18 16:28:52 +00:00
Daniel Stenberg
cdde25b597 Unified build system to use SOURCES for sim builds too, a single Makefile-look
made by configure and various related adjustments. This has not yet been tested
on cygwin.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6001 a1c6a512-1295-4272-9138-f99709370657
2005-02-18 13:47:17 +00:00
Dave Chapman
b64d95fe85 Add flac2wav decoder - hardcoded output is /flactest.wav
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5989 a1c6a512-1295-4272-9138-f99709370657
2005-02-16 21:43:57 +00:00
Dave Chapman
3c166be0a4 Do not build on simulator or non-software codecs targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5984 a1c6a512-1295-4272-9138-f99709370657
2005-02-16 19:39:48 +00:00
Dave Chapman
9b32a1988f Move contents of plugins/xxx2wav.h into the plugin library
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5982 a1c6a512-1295-4272-9138-f99709370657
2005-02-16 18:51:21 +00:00
Jens Arnold
aa6ec9530e Clip bottom & right when positioning the gfx display.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5926 a1c6a512-1295-4272-9138-f99709370657
2005-02-12 01:32:05 +00:00
Jens Arnold
85a026eacd Added clearpixel() and clearline().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5924 a1c6a512-1295-4272-9138-f99709370657
2005-02-12 00:30:00 +00:00
Jens Arnold
b66f94b03d Split the display & update function in two, and added invertpixel(), invertline() and invertrect().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5916 a1c6a512-1295-4272-9138-f99709370657
2005-02-11 19:35:50 +00:00
Jens Arnold
c552e03c90 Beginnings of a graphics library for the player LCD. So far the only drawing functions are clear_display(), drawpixel() and drawline().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5882 a1c6a512-1295-4272-9138-f99709370657
2005-02-10 21:12:59 +00:00
Daniel Stenberg
bc45e628a1 these only build/run on targets using the LCD_SSD1815 display
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5773 a1c6a512-1295-4272-9138-f99709370657
2005-02-04 08:35:29 +00:00
Daniel Stenberg
824cf0c649 CFLAGS is set (target-specific) in the root makefile, don't fiddle with them
here


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5772 a1c6a512-1295-4272-9138-f99709370657
2005-02-04 08:34:56 +00:00
Daniel Stenberg
d2f2953a74 only compile files that are relevant
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5173 a1c6a512-1295-4272-9138-f99709370657
2004-10-05 07:58:54 +00:00
Daniel Stenberg
9c85941786 new SOURCES file that specifies which files to build in each dir, use
config.h preprocessor symbols to make conditionals

use the GCCOPTS now specified in the root Makefile by configure


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5158 a1c6a512-1295-4272-9138-f99709370657
2004-10-04 13:03:33 +00:00
Daniel Stenberg
8e55d0cca0 adjusted to work better in the new concept
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5108 a1c6a512-1295-4272-9138-f99709370657
2004-09-22 21:40:45 +00:00
Daniel Stenberg
fc1e925c16 Rearranged makefiles again to move platform-specific stuff from the Makefiles
to either the configure script or to be ifdefed in the sources.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5103 a1c6a512-1295-4272-9138-f99709370657
2004-09-22 08:58:50 +00:00
Jens Arnold
962d99a72e Makefile Fix: plugin lib includes for Ondio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5077 a1c6a512-1295-4272-9138-f99709370657
2004-09-15 09:38:33 +00:00
Daniel Stenberg
678090a2e7 rombox support: building and zip
general makefile: less output


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5043 a1c6a512-1295-4272-9138-f99709370657
2004-09-06 07:05:12 +00:00
Jens Arnold
b4920271ba Fixed new font format: necessity of offset table generation, output of fonts without one
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5018 a1c6a512-1295-4272-9138-f99709370657
2004-08-27 00:34:15 +00:00
Jens Arnold
f8a5802d8e Fixed pointer types & struct font
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5016 a1c6a512-1295-4272-9138-f99709370657
2004-08-26 22:05:35 +00:00
Jörg Hohensohn
5d36aaf249 New font format (already rotated) saves code, space and time. On the downside this new format is incompatible, so get the new fonts, too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5015 a1c6a512-1295-4272-9138-f99709370657
2004-08-26 21:15:07 +00:00
Jens Arnold
85890b88df Const policed the grayscale lib & plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4985 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 20:57:06 +00:00
Linus Nielsen Feltzing
0e067bbe55 Removed the simulator build option
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4929 a1c6a512-1295-4272-9138-f99709370657
2004-07-23 21:10:13 +00:00
Linus Nielsen Feltzing
e93aa4b09c Now keeps integers within range, and saves a version number in the cfg file, refusing to load too old versions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4916 a1c6a512-1295-4272-9138-f99709370657
2004-07-22 07:51:02 +00:00
Linus Nielsen Feltzing
897fb63ec8 New plugin library framework for loading and saving .cfg files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4912 a1c6a512-1295-4272-9138-f99709370657
2004-07-21 13:46:42 +00:00
Linus Nielsen Feltzing
e7bb8c0428 Added the apps/recorder dir to the include path for recorder builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4853 a1c6a512-1295-4272-9138-f99709370657
2004-07-08 13:12:16 +00:00
Jens Arnold
d073326b6b Added screen dump function to the grayscale lib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4843 a1c6a512-1295-4272-9138-f99709370657
2004-07-06 23:11:02 +00:00
Jens Arnold
0690ac1966 added comments about default values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4804 a1c6a512-1295-4272-9138-f99709370657
2004-06-25 21:09:34 +00:00
Jens Arnold
b058366b13 Save and restore pr register within _writearray() / _writeblock(). Cleaner coding, fixes GCC 3.3.1 build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4803 a1c6a512-1295-4272-9138-f99709370657
2004-06-25 21:01:37 +00:00
Jens Arnold
7c6bdd6493 Split grayscale library into several files to make up a real function library. Significantly decreases binary size for plugins using it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4802 a1c6a512-1295-4272-9138-f99709370657
2004-06-23 22:15:50 +00:00
Jens Arnold
051e017ab8 Slight speedup for drawing 1-bit bitmaps with draw modes 0..2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4784 a1c6a512-1295-4272-9138-f99709370657
2004-06-22 00:02:51 +00:00
Daniel Stenberg
91c51764ee on request, set the SIMULATOR define when building for the sim
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4780 a1c6a512-1295-4272-9138-f99709370657
2004-06-20 22:01:26 +00:00
Linus Nielsen Feltzing
5b9c4c1297 The plugin lib now works in the win32 simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4747 a1c6a512-1295-4272-9138-f99709370657
2004-06-15 05:41:41 +00:00
Jens Arnold
ca2bb463d3 Major rework of the grayscale framework:
* api change - all drawing functions now use draw mode, foreground and
  background shades set globally by separate functions
* There are now 4 draw modes for all drawing functions, no more separate
  functions for inverse drawing
* Significant speedup of 1-bit bitmap (and font) drawing (2..3 times)
* Some more speed tweaks
* Additional functions for horizontal and vertical lines
* Copied describing comments to the header file for easier reference
* The safety net against an uninitialized grayscale buffer is gone


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4711 a1c6a512-1295-4272-9138-f99709370657
2004-06-02 23:53:27 +00:00
Jens Arnold
9ca74798b6 Fix: scrolling left/right with even pixel counts caused an address error if the buffer width was odd. Some more tweaks and cleanups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4681 a1c6a512-1295-4272-9138-f99709370657
2004-05-21 20:48:35 +00:00
Jens Arnold
4c67f0f3bb FIX: The previous update produced a buffer overflow, which broke e.g. the jpeg viewer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4656 a1c6a512-1295-4272-9138-f99709370657
2004-05-20 13:10:41 +00:00
Jens Arnold
b3acd275ce Missing function declaration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4655 a1c6a512-1295-4272-9138-f99709370657
2004-05-20 08:25:16 +00:00
Jens Arnold
512079f944 Font support, several speed and size tweaks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4654 a1c6a512-1295-4272-9138-f99709370657
2004-05-20 08:21:18 +00:00
Jens Arnold
71c83b9b6b Removed duplicate grayscale framework
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4651 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 17:05:17 +00:00
Jens Arnold
007e1d1af3 Added return parameter for space taken by grayscale buffer to gray_init_buffer()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4648 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 17:02:20 +00:00
Jens Arnold
a05c413774 First real library version of the grayscale framework
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4641 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 08:18:25 +00:00
Daniel Stenberg
a08fa7142a o killed trailing whitespace
o uses the new grayscale.h header
o #ifdef'ed out the code that builds a plugin, as this is now only part of the
  libplugin. we should probably build a separate plugin instead.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4639 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 08:04:55 +00:00
Daniel Stenberg
a9244032d2 grayscale framework header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4638 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 08:03:43 +00:00
Daniel Stenberg
a834f0f5c3 moved Jens Arnold's grayscale frame work source file to the plugin library
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4636 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 06:31:54 +00:00
Linus Nielsen Feltzing
defca5b061 Further adjustments for the plugin library
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4634 a1c6a512-1295-4272-9138-f99709370657
2004-05-18 23:17:53 +00:00
Daniel Stenberg
243b122ce9 This makefile builds one single libplugin.a library by linking together
all C source files that are put in this dir and built. This lib will soon
be used for linking with when creating each plugin output file.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4632 a1c6a512-1295-4272-9138-f99709370657
2004-05-18 15:01:39 +00:00