summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/grey_coldfire.S
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lib/grey_coldfire.S')
-rw-r--r--apps/plugins/lib/grey_coldfire.S27
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