diff options
Diffstat (limited to 'apps/plugins/lib/grey_coldfire.S')
-rw-r--r-- | apps/plugins/lib/grey_coldfire.S | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/apps/plugins/lib/grey_coldfire.S b/apps/plugins/lib/grey_coldfire.S index 39df087a85..a040193956 100644 --- a/apps/plugins/lib/grey_coldfire.S +++ b/apps/plugins/lib/grey_coldfire.S | |||
@@ -31,7 +31,14 @@ | |||
31 | .global _grey_line1 | 31 | .global _grey_line1 |
32 | .type _grey_line1, @function | 32 | .type _grey_line1, @function |
33 | 33 | ||
34 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) && (LCD_DEPTH == 2) | 34 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) \ |
35 | || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) | ||
36 | |||
37 | #if (LCD_DEPTH == 1) || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) | ||
38 | #define GREY_BSIZE 8 | ||
39 | #elif LCD_DEPTH == 2 | ||
40 | #define GREY_BSIZE 4 | ||
41 | #endif | ||
35 | 42 | ||
36 | /**************************************************************************** | 43 | /**************************************************************************** |
37 | * void _grey_line1(int width, | 44 | * void _grey_line1(int width, |
@@ -52,7 +59,7 @@ _grey_line1: | |||
52 | 59 | ||
53 | move.b (%a1)+, %d0 | 60 | move.b (%a1)+, %d0 |
54 | move.b (%d0.l, %a2), (%a0) | 61 | move.b (%d0.l, %a2), (%a0) |
55 | addq.l #4, %a0 | 62 | addq.l #GREY_BSIZE, %a0 |
56 | subq.l #1, %d2 | 63 | subq.l #1, %d2 |
57 | .p1_h_end: | 64 | .p1_h_end: |
58 | 65 | ||
@@ -66,10 +73,10 @@ _grey_line1: | |||
66 | move.w %d1, %d0 | 73 | move.w %d1, %d0 |
67 | lsr.l #8, %d0 | 74 | lsr.l #8, %d0 |
68 | move.b (%d0.l, %a2), (%a0) | 75 | move.b (%d0.l, %a2), (%a0) |
69 | addq.l #4, %a0 | 76 | addq.l #GREY_BSIZE, %a0 |
70 | move.b %d1, %d0 | 77 | move.b %d1, %d0 |
71 | move.b (%d0.l, %a2), (%a0) | 78 | move.b (%d0.l, %a2), (%a0) |
72 | addq.l #4, %a0 | 79 | addq.l #GREY_BSIZE, %a0 |
73 | subq.l #2, %d2 | 80 | subq.l #2, %d2 |
74 | .p2_h_end: | 81 | .p2_h_end: |
75 | 82 | ||
@@ -82,18 +89,18 @@ _grey_line1: | |||
82 | move.w %d1, %d0 | 89 | move.w %d1, %d0 |
83 | lsr.l #8, %d0 | 90 | lsr.l #8, %d0 |
84 | move.b (%d0.l, %a2), (%a0) | 91 | move.b (%d0.l, %a2), (%a0) |
85 | addq.l #4, %a0 | 92 | addq.l #GREY_BSIZE, %a0 |
86 | move.b %d1, %d0 | 93 | move.b %d1, %d0 |
87 | move.b (%d0.l, %a2), (%a0) | 94 | move.b (%d0.l, %a2), (%a0) |
88 | addq.l #4, %a0 | 95 | addq.l #GREY_BSIZE, %a0 |
89 | swap %d1 | 96 | swap %d1 |
90 | move.w %d1, %d0 | 97 | move.w %d1, %d0 |
91 | lsr.l #8, %d0 | 98 | lsr.l #8, %d0 |
92 | move.b (%d0.l, %a2), (%a0) | 99 | move.b (%d0.l, %a2), (%a0) |
93 | addq.l #4, %a0 | 100 | addq.l #GREY_BSIZE, %a0 |
94 | move.b %d1, %d0 | 101 | move.b %d1, %d0 |
95 | move.b (%d0.l, %a2), (%a0) | 102 | move.b (%d0.l, %a2), (%a0) |
96 | addq.l #4, %a0 | 103 | addq.l #GREY_BSIZE, %a0 |
97 | subq.l #4, %d2 | 104 | subq.l #4, %d2 |
98 | bhs.s .p4_loop | 105 | bhs.s .p4_loop |
99 | 106 | ||
@@ -107,10 +114,10 @@ _grey_line1: | |||
107 | move.w %d1, %d0 | 114 | move.w %d1, %d0 |
108 | lsr.l #8, %d0 | 115 | lsr.l #8, %d0 |
109 | move.b (%d0.l, %a2), (%a0) | 116 | move.b (%d0.l, %a2), (%a0) |
110 | addq.l #4, %a0 | 117 | addq.l #GREY_BSIZE, %a0 |
111 | move.b %d1, %d0 | 118 | move.b %d1, %d0 |
112 | move.b (%d0.l, %a2), (%a0) | 119 | move.b (%d0.l, %a2), (%a0) |
113 | addq.l #4, %a0 | 120 | addq.l #GREY_BSIZE, %a0 |
114 | .p2_t_end: | 121 | .p2_t_end: |
115 | 122 | ||
116 | btst.l #0, %d2 | 123 | btst.l #0, %d2 |