Commit graph

37 commits

Author SHA1 Message Date
Jens Arnold
0f87f8fd36 Mandelbrot: * Asm optimisation for arm targets. * Proper aspect for all LCD resolutions. * Keep proper aspect when zooming on targets where LCD_WIDTH and/or LCD_HEIGHT is not an integer multiple of 8.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10498 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 12:04:04 +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
Daniel Stenberg
1e88be518a Barry Wardell's keymappings for H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10446 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 20:17:25 +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
Kevin Ferrare
0e027bd90c To avoid having to use the main unit when accidentally launching a plugin from the remote, plugins now support remote quit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10157 a1c6a512-1295-4272-9138-f99709370657
2006-06-30 16:43:47 +00:00
Christian Gmeiner
a91b794cb2 use #ifdef x instead of #if defined(x)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9581 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 15:00:30 +00:00
Christian Gmeiner
eb7d4f88ea HAVE_ADJUSTABLE_CPU_FREQ isn't defined for simulators, so we don't have to check for simulator builds before using cpu_boost()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9580 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 14:50:43 +00:00
Daniel Stenberg
220fafdd72 Code Police raid. Mostly changed // comments and indented to Rockbox style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8894 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 08:14:44 +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
Dave Chapman
fb4e384367 More iPod 3G work from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8835 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 20:54:09 +00:00
Marcoen Hirschberg
338e2bbb0c first gigabeat commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8831 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:42:52 +00:00
Linus Nielsen Feltzing
568ac3eb21 Button driver for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8828 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:06:25 +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
Jens Arnold
a36b1d4083 New plugin loader. Solves the crashes introduced with the .bss changes while keeping the small binary size. The model & api version check is now part of the plugin loader. Codecs are not yet adapted, but the old method still works for them. Simulator plugins are not (yet) version-checked. API version numbering restarted, as this is an all-new system. Uses the target ID from configure, so don't change that too often.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8349 a1c6a512-1295-4272-9138-f99709370657
2006-01-15 18:20:18 +00:00
Jens Arnold
69ffcd5356 Mandelbrot plugin: New fixed point routines, loosing a tiny bit of precision (3 bits), but way faster than before. Full precision routine uses the EMAC on coldfire. No more 64 bit arithmetics used except within the asm inlines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7636 a1c6a512-1295-4272-9138-f99709370657
2005-10-16 22:24:00 +00:00
Jens Arnold
891daf30b5 Removed an unnecessary instruction from the coldfire 64 bit multiplication.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7607 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 16:45:59 +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
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
0c29589d8a Assembler optimised 64 bit multiplication for coldfire: ~15% speedup. Proper max_iter decrease amount.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7278 a1c6a512-1295-4272-9138-f99709370657
2005-08-01 20:49:41 +00:00
Jens Arnold
ec62b1ac56 Another small opt for the SH1 64 bit multiplication.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7276 a1c6a512-1295-4272-9138-f99709370657
2005-08-01 01:41:35 +00:00
Jens Arnold
6b749c5ab1 Further optimised asm 64 bit multiplication for SH1, speedup around 20%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7274 a1c6a512-1295-4272-9138-f99709370657
2005-08-01 01:23:04 +00:00
Jens Arnold
43b9cda13c Ooops, the adapted maximum iteration count was off by 60...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7259 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 13:02:33 +00:00
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
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
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
Daniel Stenberg
6700ad8f20 adapted to build on iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5784 a1c6a512-1295-4272-9138-f99709370657
2005-02-04 12:41:09 +00:00
Jens Arnold
e35a658ded Plugin rework 2: (all) Compile-time keyboard configuration, for Ondio adaption. (all) Now using the default event handler, standard placement is now in switch() default case. (minesweeper,pong,snake,snake2) added USB handling. (mandelbrot,mosaique) Fixed return value. (minesweeper) fast moving with button repeat. (oscillograph) Fixed cleanup in USB case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5304 a1c6a512-1295-4272-9138-f99709370657
2004-10-18 21:45:00 +00:00
Jens Arnold
c5800382c3 Fixed a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4761 a1c6a512-1295-4272-9138-f99709370657
2004-06-16 21:13:40 +00:00
Jens Arnold
58f17cd082 Mandelbrot didn't yield() at all, leading to playback problems when heavily calculating mandelbrots
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4759 a1c6a512-1295-4272-9138-f99709370657
2004-06-16 20:51:05 +00:00
Jens Arnold
7115cf1d50 Improved drawing speed by drawing whole columns at once (Matthias)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4707 a1c6a512-1295-4272-9138-f99709370657
2004-05-26 23:49:42 +00:00
Jens Arnold
6920aed858 Removed the grayscale framework, gets linked in from the plugin lib instead
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4652 a1c6a512-1295-4272-9138-f99709370657
2004-05-19 17:19:11 +00:00
Jens Arnold
9ecfacc475 Updated with the latest grayscale framework
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4604 a1c6a512-1295-4272-9138-f99709370657
2004-05-10 22:00:51 +00:00
Jörg Hohensohn
e724b605f4 uses the new timer registration of the plugin API, no hardware banging any more
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4565 a1c6a512-1295-4272-9138-f99709370657
2004-04-30 21:13:49 +00:00
Linus Nielsen Feltzing
75b575a750 Now uses grayscalescvs diff -u apps/plugins/mandelbrot.c! Plus some internal changes, like removing TAB chars, and preventing unnecessary redraws etc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4535 a1c6a512-1295-4272-9138-f99709370657
2004-04-21 07:32:42 +00:00
Jens Arnold
bf8c3056f9 Overflow error fix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4531 a1c6a512-1295-4272-9138-f99709370657
2004-04-20 23:11:12 +00:00
Jörg Hohensohn
4d3aa154c6 a Mandelbrot set plugin from Matthias
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4504 a1c6a512-1295-4272-9138-f99709370657
2004-04-14 23:48:26 +00:00