lcd-24bit: Introduce a 24-bit mid-level LCD driver

With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
This commit is contained in:
Thomas Martitz 2014-06-18 07:15:00 +02:00
parent 0250be1d67
commit a1842c04f9
49 changed files with 1653 additions and 341 deletions

View file

@ -79,58 +79,58 @@ RSBS: no
<main>
# override implicit .wps filename
wps.800x480x16: cabbiev2.800x480x16.wps
wps.480x800x16: cabbiev2.480x800x16.wps
wps.400x240x16: cabbiev2.400x240x16.wps
wps.320x480x16: cabbiev2.320x480x16.wps
wps.320x240x16: cabbiev2.320x240x16.wps
wps.240x400x16: cabbiev2.240x400x16.wps
wps.240x320x16: cabbiev2.240x320x16.wps
wps.220x176x16: cabbiev2.220x176x16.wps
wps.176x220x16: cabbiev2.176x220x16.wps
wps.176x132x16: cabbiev2.176x132x16.wps
wps.160x128x16: cabbiev2.160x128x16.wps
wps.160x128x2: cabbiev2.160x128x2.wps
wps.160x128x1: cabbiev2.160x128x1.wps
wps.138x110x2: cabbiev2.138x110x2.wps
wps.128x128x16: cabbiev2.128x128x16.wps
wps.128x128x2: cabbiev2.128x128x2.wps
wps.128x160x16: cabbiev2.128x160x16.wps
wps.132x80x16: cabbiev2.132x80x16.wps
wps.128x96x16: cabbiev2.128x96x16.wps
wps.128x96x2: cabbiev2.128x96x2.wps
wps.128x64x1: cabbiev2.128x64x1.wps
wps.112x64x1: cabbiev2.112x64x1.wps
wps.96x96x16: cabbiev2.96x96x16.wps
wps.800x480x(16|24): cabbiev2.800x480x16.wps
wps.480x800x(16|24): cabbiev2.480x800x16.wps
wps.400x240x(16|24): cabbiev2.400x240x16.wps
wps.320x480x(16|24): cabbiev2.320x480x16.wps
wps.320x240x(16|24): cabbiev2.320x240x16.wps
wps.240x400x(16|24): cabbiev2.240x400x16.wps
wps.240x320x(16|24): cabbiev2.240x320x16.wps
wps.220x176x(16|24): cabbiev2.220x176x16.wps
wps.176x220x(16|24): cabbiev2.176x220x16.wps
wps.176x132x(16|24): cabbiev2.176x132x16.wps
wps.160x128x(16|24): cabbiev2.160x128x16.wps
wps.160x128x2: cabbiev2.160x128x2.wps
wps.160x128x1: cabbiev2.160x128x1.wps
wps.138x110x2: cabbiev2.138x110x2.wps
wps.128x128x(16|24): cabbiev2.128x128x16.wps
wps.128x128x2: cabbiev2.128x128x2.wps
wps.128x160x(16|24): cabbiev2.128x160x16.wps
wps.132x80x(16|24): cabbiev2.132x80x16.wps
wps.128x96x(16|24): cabbiev2.128x96x16.wps
wps.128x96x2: cabbiev2.128x96x2.wps
wps.128x64x1: cabbiev2.128x64x1.wps
wps.112x64x1: cabbiev2.112x64x1.wps
wps.96x96x(16|24): cabbiev2.96x96x16.wps
# override implicit .fms filename
fms.160x128x2: cabbiev2-160x128x2.fms
fms.128x128x2: cabbiev2-128x128x2.fms
# Preferred font (including .fnt extension - leave blank for player):
Font.800x480x16: 35-Adobe-Helvetica.fnt
Font.480x800x16: 35-Adobe-Helvetica.fnt
Font.400x240x16: 15-Adobe-Helvetica.fnt
Font.320x480x16: 27-Adobe-Helvetica.fnt
Font.320x240x16: 15-Adobe-Helvetica.fnt
Font.240x400x16: 16-Adobe-Helvetica.fnt
Font.240x320x16: 15-Adobe-Helvetica.fnt
Font.220x176x16: 12-Adobe-Helvetica.fnt
Font.176x220x16: 12-Adobe-Helvetica.fnt
Font.176x132x16: 12-Adobe-Helvetica.fnt
Font.160x128x16: 12-Adobe-Helvetica.fnt
Font.160x128x2: 12-Adobe-Helvetica.fnt
Font.160x128x1: 12-Adobe-Helvetica.fnt
Font.138x110x2: 12-Adobe-Helvetica.fnt
Font.128x128x16: 12-Adobe-Helvetica.fnt
Font.128x128x2: 12-Adobe-Helvetica.fnt
Font.128x160x16: 12-Adobe-Helvetica.fnt
Font.132x80x16: 11-Sazanami-Mincho.fnt
Font.128x96x16: 08-Rockfont.fnt
Font.128x96x2: 12-Adobe-Helvetica.fnt
Font.128x64x1: 08-Rockfont.fnt
Font.112x64x1: 08-Rockfont.fnt
Font.96x96x16: 08-Rockfont.fnt
Font.800x480x(16|24): 35-Adobe-Helvetica.fnt
Font.480x800x(16|24): 35-Adobe-Helvetica.fnt
Font.400x240x(16|24): 15-Adobe-Helvetica.fnt
Font.320x480x(16|24): 27-Adobe-Helvetica.fnt
Font.320x240x(16|24): 15-Adobe-Helvetica.fnt
Font.240x400x(16|24): 16-Adobe-Helvetica.fnt
Font.240x320x(16|24): 15-Adobe-Helvetica.fnt
Font.220x176x(16|24): 12-Adobe-Helvetica.fnt
Font.176x220x(16|24): 12-Adobe-Helvetica.fnt
Font.176x132x(16|24): 12-Adobe-Helvetica.fnt
Font.160x128x(16|24): 12-Adobe-Helvetica.fnt
Font.160x128x2: 12-Adobe-Helvetica.fnt
Font.160x128x1: 12-Adobe-Helvetica.fnt
Font.138x110x2: 12-Adobe-Helvetica.fnt
Font.128x128x(16|24): 12-Adobe-Helvetica.fnt
Font.128x128x2: 12-Adobe-Helvetica.fnt
Font.128x160x(16|24): 12-Adobe-Helvetica.fnt
Font.132x80x(16|24): 11-Sazanami-Mincho.fnt
Font.128x96x(16|24): 08-Rockfont.fnt
Font.128x96x2: 12-Adobe-Helvetica.fnt
Font.128x64x1: 08-Rockfont.fnt
Font.112x64x1: 08-Rockfont.fnt
Font.96x96x(16|24): 08-Rockfont.fnt
#misc settings that should be ignored on grayscale targets
foreground color: CCCCCC
@ -141,68 +141,68 @@ line selector text color: 000000
filetype colours: -
#backdrop - remember this is the source file name in your SVN folder, not dest name!
backdrop.800x480x16: backdrops/cabbiev2.800x480x16.bmp
backdrop.480x800x16: backdrops/cabbiev2.480x800x16.bmp
backdrop.400x240x16: backdrops/cabbiev2.400x240x16.bmp
backdrop.320x480x16: backdrops/cabbiev2.320x480x16.bmp
backdrop.320x240x16: backdrops/cabbiev2.320x240x16.bmp
backdrop.128x128x16: backdrops/cabbiev2.128x128x16.bmp
backdrop.128x128x2: backdrops/cabbiev2.128x128x2.bmp
backdrop.128x160x16: backdrops/cabbiev2.128x160x16.bmp
backdrop.132x80x16: backdrops/cabbiev2.132x80x16.bmp
backdrop.138x110x2: backdrops/cabbiev2.138x110x2.bmp
backdrop.160x128x16: backdrops/cabbiev2.160x128x16.bmp
backdrop.160x128x2: backdrops/cabbiev2.160x128x2.bmp
backdrop.176x132x16: backdrops/cabbiev2.176x132x16.bmp
backdrop.176x220x16: backdrops/cabbiev2.176x220x16.bmp
backdrop.220x176x16: backdrops/cabbiev2.220x176x16.bmp
backdrop.240x320x16: backdrops/cabbiev2.240x320x16.bmp
backdrop.240x400x16: backdrops/cabbiev2.240x400x16.bmp
backdrop.96x96x16: backdrops/cabbiev2.96x96x16.bmp
backdrop.128x96x16: backdrops/cabbiev2.128x96x16.bmp
backdrop.128x96x2: backdrops/cabbiev2.128x96x2.bmp
backdrop.800x480x(16|24): backdrops/cabbiev2.800x480x16.bmp
backdrop.480x800x(16|24): backdrops/cabbiev2.480x800x16.bmp
backdrop.400x240x(16|24): backdrops/cabbiev2.400x240x16.bmp
backdrop.320x480x(16|24): backdrops/cabbiev2.320x480x16.bmp
backdrop.320x240x(16|24): backdrops/cabbiev2.320x240x16.bmp
backdrop.128x128x(16|24): backdrops/cabbiev2.128x128x16.bmp
backdrop.128x128x2: backdrops/cabbiev2.128x128x2.bmp
backdrop.128x160x(16|24): backdrops/cabbiev2.128x160x16.bmp
backdrop.132x80x(16|24): backdrops/cabbiev2.132x80x16.bmp
backdrop.138x110x2: backdrops/cabbiev2.138x110x2.bmp
backdrop.160x128x(16|24): backdrops/cabbiev2.160x128x16.bmp
backdrop.160x128x2: backdrops/cabbiev2.160x128x2.bmp
backdrop.176x132x(16|24): backdrops/cabbiev2.176x132x16.bmp
backdrop.176x220x(16|24): backdrops/cabbiev2.176x220x16.bmp
backdrop.220x176x(16|24): backdrops/cabbiev2.220x176x16.bmp
backdrop.240x320x(16|24): backdrops/cabbiev2.240x320x16.bmp
backdrop.240x400x(16|24): backdrops/cabbiev2.240x400x16.bmp
backdrop.96x96x(16|24): backdrops/cabbiev2.96x96x16.bmp
backdrop.128x96x(16|24): backdrops/cabbiev2.128x96x16.bmp
backdrop.128x96x2: backdrops/cabbiev2.128x96x2.bmp
#selection bar settings for color targets
selector type..+x16: bar (gradient)
selector type..+x2: bar (inverse)
#icons
iconset.800x480x16: icons/tango_icons.32x32.bmp
iconset.480x800x16: icons/tango_icons.32x32.bmp
iconset.400x240x16: icons/tango_icons.16x16.bmp
iconset.320x480x16: icons/tango_icons.24x24.bmp
iconset.320x240x16: icons/tango_icons.16x16.bmp
iconset.128x128x16: icons/tango_icons.12x12.bmp
iconset.128x160x16: icons/tango_icons.12x12.bmp
iconset.132x80x16: icons/tango_icons.12x12.bmp
iconset.160x128x16: icons/tango_icons.12x12.bmp
iconset.176x132x16: icons/tango_icons.12x12.bmp
iconset.176x220x16: icons/tango_icons.12x12.bmp
iconset.220x176x16: icons/tango_icons.12x12.bmp
iconset.240x320x16: icons/tango_icons.16x16.bmp
iconset.240x400x16: icons/tango_icons.16x16.bmp
iconset.128x96x16: icons/tango_icons.8x8.bmp
iconset.96x96x16: icons/tango_icons.8x8.bmp
iconset..+x2: icons/tango_small_mono.bmp
iconset.800x480x(16|24): icons/tango_icons.32x32.bmp
iconset.480x800x(16|24): icons/tango_icons.32x32.bmp
iconset.400x240x(16|24): icons/tango_icons.16x16.bmp
iconset.320x480x(16|24): icons/tango_icons.24x24.bmp
iconset.320x240x(16|24): icons/tango_icons.16x16.bmp
iconset.128x128x(16|24): icons/tango_icons.12x12.bmp
iconset.128x160x(16|24): icons/tango_icons.12x12.bmp
iconset.132x80x(16|24): icons/tango_icons.12x12.bmp
iconset.160x128x(16|24): icons/tango_icons.12x12.bmp
iconset.176x132x(16|24): icons/tango_icons.12x12.bmp
iconset.176x220x(16|24): icons/tango_icons.12x12.bmp
iconset.220x176x(16|24): icons/tango_icons.12x12.bmp
iconset.240x320x(16|24): icons/tango_icons.16x16.bmp
iconset.240x400x(16|24): icons/tango_icons.16x16.bmp
iconset.128x96x(16|24): icons/tango_icons.8x8.bmp
iconset.96x96x(16|24): icons/tango_icons.8x8.bmp
iconset..+x2: icons/tango_small_mono.bmp
#viewer icons
viewers iconset.800x480x16: icons/tango_icons_viewers.32x32.bmp
viewers iconset.480x800x16: icons/tango_icons_viewers.32x32.bmp
viewers iconset.400x240x16: icons/tango_icons_viewers.16x16.bmp
viewers iconset.320x480x16: icons/tango_icons_viewers.24x24.bmp
viewers iconset.320x240x16: icons/tango_icons_viewers.16x16.bmp
viewers iconset.128x128x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.128x160x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.132x80x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.160x128x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.176x132x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.176x220x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.220x176x16: icons/tango_icons_viewers.12x12.bmp
viewers iconset.240x320x16: icons/tango_icons_viewers.16x16.bmp
viewers iconset.240x400x16: icons/tango_icons_viewers.16x16.bmp
viewers iconset.128x96x16: icons/tango_icons_viewers.8x8.bmp
viewers iconset.96x96x16: icons/tango_icons_viewers.8x8.bmp
viewers iconset..+x2: icons/tango_small_viewers_mono.bmp
viewers iconset.800x480x(16|24): icons/tango_icons_viewers.32x32.bmp
viewers iconset.480x800x(16|24): icons/tango_icons_viewers.32x32.bmp
viewers iconset.400x240x(16|24): icons/tango_icons_viewers.16x16.bmp
viewers iconset.320x480x(16|24): icons/tango_icons_viewers.24x24.bmp
viewers iconset.320x240x(16|24): icons/tango_icons_viewers.16x16.bmp
viewers iconset.128x128x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.128x160x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.132x80x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.160x128x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.176x132x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.176x220x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.220x176x(16|24): icons/tango_icons_viewers.12x12.bmp
viewers iconset.240x320x(16|24): icons/tango_icons_viewers.16x16.bmp
viewers iconset.240x400x(16|24): icons/tango_icons_viewers.16x16.bmp
viewers iconset.128x96x(16|24): icons/tango_icons_viewers.8x8.bmp
viewers iconset.96x96x(16|24): icons/tango_icons_viewers.8x8.bmp
viewers iconset..+x2: icons/tango_small_viewers_mono.bmp
show icons: on
statusbar: top