1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * New greyscale framework
11 * SH1 assembler routines
13 * This is a generic framework to display 129 shades of grey on low-depth
14 * bitmap LCDs (Archos b&w, Iriver & Ipod 4-grey) within plugins.
16 * Copyright (C) 2008 Jens Arnold
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
24 * KIND, either express or implied.
26 ****************************************************************************/
29 /* Plugins should not normally do this, but we need to check a macro, and
30 * plugin.h would confuse the assembler. */
34 .type __grey_line1, @function
36 #if (LCD_PIXELFORMAT == VERTICAL_PACKING) && (LCD_DEPTH == 1)
38 /****************************************************************************
39 * void _grey_line1(int width, r4
40 * unsigned char *dst, r5
41 * const unsigned char *src, r6
42 * const unsigned char *lut); r7
104 /* No need to correct the count, we're only testing bits from now on. */
135 .size _grey_line1, . - _grey_line1