Commit graph

107 commits

Author SHA1 Message Date
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