Commit graph

74 commits

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