Commit graph

589 commits

Author SHA1 Message Date
Jens Arnold
3d73790ab7 Heavily improved mandelbrot plugin: (1) Calculation now uses 64bit fixed point arithmetics to allow zooming in way further before the precision barrier will hit. Added asm-optimised 64bit multiplication routine for SH1; more than twice as fast as what gcc produces. (2) Precision is dynamically selected based on the zoom level, low zoom factors still use 32bit for speed. (3) Maximum number of iterations is adapted to the zoom level. You can still increase / decrease it while staying at a zoom level. (4) Panning only recalculates the scrolled-in part of the screen -> way faster panning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7258 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 12:42:11 +00:00
Jens Arnold
773c28e489 Mandelbrot plugin fixes: (1) Aspect handling was broken, it has to keep the x/y aspect which has almost nothing to do with the LCD aspect. (2) Comment about the # of shades. (3) Fixed and tweaked initial x and y limits. (4) Long policy, minor optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7252 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 18:18:15 +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
b65b52b1b9 Adjusted grayscale demo plugin to H1x0: (1) Button assignment. (2) Variable screen resolution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7248 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 09:15:00 +00:00
Jens Arnold
d074ed66d9 Adjusted JPEG viewer to H1x0: (1) Button assignments. (2) Workaround for the m68k-elf-gcc requiring memcpy internally, by using rb->memcpy explicitly. (3) Variable LCD resolution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7246 a1c6a512-1295-4272-9138-f99709370657
2005-07-27 20:06:26 +00:00
Jens Arnold
a14f545ded Adjusted mandelbrot plugin to H1x0: (1) Working button assignment. (2) Different LCD aspect. Note that there is something wrong with the aspect when zooming; this was in fact there before, also on archos. (3) Grayscale library init for variable LCD resolution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7245 a1c6a512-1295-4272-9138-f99709370657
2005-07-27 20:03:52 +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
79442c8fbd Sokoban: Use greyscale for walls, proper scaling of the player graphic, show button assignments on iriver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7199 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 16:48:02 +00:00
Jens Arnold
f3c4272919 Ooops.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7198 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 16:23:51 +00:00
Jens Arnold
c001bb16d2 Use greyscale graphics in minesweeper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7197 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 15:39:54 +00:00
Jens Arnold
b0e056b5ae More preparations and conversions for colour LCD support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7195 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 10:33:41 +00:00
Jens Arnold
82ea7c3bac Renamed MAX_LEVEL to LCD_MAX_LEVEL to match the naming scheme. Preparations for colour LCD support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7194 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 09:24:29 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Jens Arnold
323c1ede5e Optimised placement of lcd_set_drawmode() - the whole plugin uses DRMODE_FG. Make sure foreground is reset to black after returning from scrollit().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7143 a1c6a512-1295-4272-9138-f99709370657
2005-07-14 18:34:07 +00:00
Daniel Stenberg
4a53253592 fixed the right-end too, added more letters on the big screens and added
some "random" grey letters for lcds supporting it


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7140 a1c6a512-1295-4272-9138-f99709370657
2005-07-14 12:29:39 +00:00
Daniel Stenberg
e26d97658d The scroll mode now takes advantage of the clipping support in the new
graphics lib and makes the left-side nice and smooth.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7139 a1c6a512-1295-4272-9138-f99709370657
2005-07-14 11:55:55 +00:00
Jens Arnold
680fe7082f Cube.rock extensions: (1) New mode for all platforms - hidden line. (2) Ability to pause animation. Note - some button assignment changes were required. (3) Proper backface removal, used for both solid and hidden line mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7135 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 20:40:46 +00:00
Jens Arnold
10a680556a Removed a heapload of TABs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7130 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 06:07:11 +00:00
Jens Arnold
6a8cf45052 Cube.rock extension and rework: (1) Solid 4-greylevel mode on iriver H1xx. (2) Restructured internal handling of corners and edges. Added handling of faces for (1). (3) Small button handling changes for better response.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7129 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 23:57:06 +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
426df39c4c Cube.rock: converted to binary fixed-point arithmetic allowing for some more optimisation, and added proper aspect handling of LCDs with non-square pixels (all archos SH targets).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7126 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 21:15:37 +00:00
Dave Bryant
85e03767f7 Reorganized encoder to allow compressing blocks in smaller chunks and
improved efficiency somewhat by looping through data in tighter passes.
Code is basically ready for an attempt at direct recording.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7088 a1c6a512-1295-4272-9138-f99709370657
2005-07-09 23:14:41 +00:00
Linus Nielsen Feltzing
62c768c0db Recovered from my major brain failure and reverted to using the same load address for both H110 and H120/140
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7082 a1c6a512-1295-4272-9138-f99709370657
2005-07-09 07:46:42 +00:00
Linus Nielsen Feltzing
2d25122431 H110 adjustments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7071 a1c6a512-1295-4272-9138-f99709370657
2005-07-08 15:08:59 +00:00
Daniel Stenberg
8493ccb285 Renamed the iriver h120 defines and configs to "h120"! Added initial support
for the h100 series.

Please re-run configure.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7062 a1c6a512-1295-4272-9138-f99709370657
2005-07-08 06:31:13 +00:00
Linus Nielsen Feltzing
2cc64c4572 Chip8 works again on grayscale devices
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7053 a1c6a512-1295-4272-9138-f99709370657
2005-07-07 09:48:30 +00:00
Daniel Stenberg
11d7cb9126 entry *entryarray is static in the C source so it can't be extern here
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7050 a1c6a512-1295-4272-9138-f99709370657
2005-07-07 08:07:05 +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
f894a4c269 4-shades greyscale graphics core for iriver H1x0. 4-grey rockbox logo and light grey background in splash() boxes. Simplified the splash() box creation as the new graphics core does clipping. Adapted screendump feature and added flexible preprocessing to construct the bmp header. Rockboy now uses 4-grey mode as well. 4-grey support for win32 simulator. Fixed win32 player sim to not use double bitmap conversion via a recorder-like framebuffer, and correctly display double-height text. X11 simulator temporarily adapted. The display won't be distorted, but it still shows b&w only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7046 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 22:58:02 +00:00
Linus Nielsen Feltzing
6b582c3b92 Patch #1232741 by Frederic Devernay - chip8 plugin now playable, and with SCHIP emulation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7041 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 18:38:25 +00:00
Dave Bryant
febd9750f1 Created new viewer application to test WavPack encoding. Accepts .wav file
and generates lossless .wv with the same name. Runs at about 150% realtime
for now. Only problem is that folder display (and playlist?) do not get
updated when finished and since files don't show extensions it's a little
hard to tell which is which (wav is first by alpha).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7010 a1c6a512-1295-4272-9138-f99709370657
2005-07-04 07:07:43 +00:00
Jens Arnold
d2456b44f7 Centralised the ICODE_ATTR and IDATA_ATTR #defines. Renamed some musepack and rockboy headers to avoid clashes with rockbox headers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6991 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 14:05:12 +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
Michiel Van Der Kolk
c735ed7914 First runtime database support, self repairing, only playcount works for now,
which is still rather crude; playcount gets increased even if the song started playback but was skipped... track rating should be trivial to add, autorating also works since its based on playcount.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6969 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 17:29:44 +00:00
Jens Arnold
c5bdca9b62 Use macros instead of multiple #ifdef to make the code more readable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6965 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 16:22:15 +00:00
Linus Nielsen Feltzing
c2577c8a47 Associated .nfo with the text viewer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6958 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 05:10:08 +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
Linus Nielsen Feltzing
0ec1ad9951 vbrfix boosts the cpu frequency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6944 a1c6a512-1295-4272-9138-f99709370657
2005-06-30 10:45:53 +00:00
Jens Arnold
848be81828 No need to included unused data in the archos builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6932 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:06:19 +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
Jens Arnold
cc377d5d18 Made it working again...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6929 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 18:54:56 +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
Daniel Stenberg
ba64081228 adjusted for the h300 to make it do similar as the h100
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6916 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 13:25:45 +00:00
Daniel Stenberg
3a78ab9a4f fix to enable plugins to build fine for h300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6913 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 13:12:45 +00:00
Daniel Stenberg
01377e2e57 Hristo Kovachev's keypad fixes for the H300 build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6912 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 12:47:24 +00:00
Jens Arnold
576908d36a Third part of graphics api rework. Some small but effective optimisations. Ported remote lcd driver to new api. Preparations for including the low-level functions in the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6907 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 01:39:50 +00:00
Jens Arnold
7e11acbce9 Second part of graphics api rework. Bitmap drawing and text output converted; some code cleanup and more optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6906 a1c6a512-1295-4272-9138-f99709370657
2005-06-28 23:15:47 +00:00
Daniel Stenberg
2e88a90c0b Request the audio buffer _before_ using any iram. By doing it in this order,
the music has stopped when we use the plugin iram area - which is shared with
the codecs!


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6904 a1c6a512-1295-4272-9138-f99709370657
2005-06-28 21:19:40 +00:00