summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-10-03 12:51:29 +0000
committerJens Arnold <amiconn@rockbox.org>2005-10-03 12:51:29 +0000
commit1cbac551be172186ad43aec96f5ff38a49ca7a32 (patch)
treeed0f96f5d0a91ed5ff18b5f1316b809a85c7b53f /apps
parentcfb073c452c0218a82e23fb5f5f89043719f2c07 (diff)
downloadrockbox-1cbac551be172186ad43aec96f5ff38a49ca7a32.tar.gz
rockbox-1cbac551be172186ad43aec96f5ff38a49ca7a32.zip
Grayscale lib on archos: Fixed bug introduced with the register usage change. Reusing a register twice won't work that well...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7577 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/lib/gray_core.c14
-rw-r--r--apps/plugins/lib/gray_draw.c14
2 files changed, 14 insertions, 14 deletions
diff --git a/apps/plugins/lib/gray_core.c b/apps/plugins/lib/gray_core.c
index 7fcd3dac80..ed37f6164d 100644
--- a/apps/plugins/lib/gray_core.c
+++ b/apps/plugins/lib/gray_core.c
@@ -390,7 +390,7 @@ void gray_update_rect(int x, int y, int width, int height)
"mov.l @%[patp]+,r7\n"
"mov.l @%[patp]+,r8\n"
"mov.l @%[patp]+,r9\n"
- "mov.l @%[patp],%[rx] \n"
+ "mov.l @%[patp],r10\n"
"tst %[mask],%[mask] \n" /* nothing to keep? */
"bt .ur_sloop \n" /* yes: jump to short loop */
@@ -410,11 +410,11 @@ void gray_update_rect(int x, int y, int width, int height)
"rotcl r0 \n"
"shlr r9 \n"
"rotcl r0 \n"
- "shlr %[rx] \n"
- "mov.b @%[addr],%[patp]\n" /* read old value */
+ "shlr r10 \n"
+ "mov.b @%[addr],%[rx] \n" /* read old value */
"rotcl r0 \n"
- "and %[mask],%[patp] \n" /* mask out unneeded bits */
- "or %[patp],r0 \n" /* set new bits */
+ "and %[mask],%[rx] \n" /* mask out unneeded bits */
+ "or %[rx],r0 \n" /* set new bits */
"mov.b r0,@%[addr] \n" /* store value to bitplane */
"add %[psiz],%[addr] \n" /* advance to next bitplane */
"cmp/hi %[addr],%[end] \n" /* last bitplane done? */
@@ -438,7 +438,7 @@ void gray_update_rect(int x, int y, int width, int height)
"rotcl r0 \n"
"shlr r9 \n"
"rotcl r0 \n"
- "shlr %[rx] \n"
+ "shlr r10 \n"
"rotcl r0 \n"
"mov.b r0,@%[addr] \n" /* store byte to bitplane */
"add %[psiz],%[addr] \n" /* advance to next bitplane */
@@ -455,7 +455,7 @@ void gray_update_rect(int x, int y, int width, int height)
[end] "r"(end),
[patp]"[rx]"(pat_ptr)
: /* clobbers */
- "r0", "r1", "r2", "r3", "r6", "r7", "r8", "r9"
+ "r0", "r1", "r2", "r3", "r6", "r7", "r8", "r9", "r10"
);
}
#elif defined(CPU_COLDFIRE) && (LCD_DEPTH == 2)
diff --git a/apps/plugins/lib/gray_draw.c b/apps/plugins/lib/gray_draw.c
index d03f450b5f..d9b9a36f49 100644
--- a/apps/plugins/lib/gray_draw.c
+++ b/apps/plugins/lib/gray_draw.c
@@ -675,7 +675,7 @@ static void _writearray(unsigned char *address, const unsigned char *src,
"mov.l @%[patp]+,r7\n"
"mov.l @%[patp]+,r8\n"
"mov.l @%[patp]+,r9\n"
- "mov.l @%[patp],%[rx] \n"
+ "mov.l @%[patp],r10\n"
"not %[mask],%[mask] \n" /* "set" mask -> "keep" mask */
"extu.b %[mask],%[mask] \n" /* mask out high bits */
@@ -697,11 +697,11 @@ static void _writearray(unsigned char *address, const unsigned char *src,
"rotcl r0 \n"
"shlr r9 \n"
"rotcl r0 \n"
- "shlr %[rx] \n"
- "mov.b @%[addr],%[patp]\n" /* read old value */
+ "shlr r10 \n"
+ "mov.b @%[addr],%[rx] \n" /* read old value */
"rotcl r0 \n"
- "and %[mask],%[patp] \n" /* mask out unneeded bits */
- "or %[patp],r0 \n" /* set new bits */
+ "and %[mask],%[rx] \n" /* mask out unneeded bits */
+ "or %[rx],r0 \n" /* set new bits */
"mov.b r0,@%[addr] \n" /* store value to bitplane */
"add %[psiz],%[addr] \n" /* advance to next bitplane */
"cmp/hi %[addr],%[end] \n" /* last bitplane done? */
@@ -725,7 +725,7 @@ static void _writearray(unsigned char *address, const unsigned char *src,
"rotcl r0 \n"
"shlr r9 \n"
"rotcl r0 \n"
- "shlr %[rx] \n"
+ "shlr r10 \n"
"rotcl r0 \n"
"mov.b r0,@%[addr] \n" /* store byte to bitplane */
"add %[psiz],%[addr] \n" /* advance to next bitplane */
@@ -742,7 +742,7 @@ static void _writearray(unsigned char *address, const unsigned char *src,
[end] "r"(end),
[patp]"[rx]"(pat_ptr)
: /* clobbers */
- "r0", "r1", "r2", "r3", "r6", "r7", "r8", "r9"
+ "r0", "r1", "r2", "r3", "r6", "r7", "r8", "r9", "r10"
);
#elif defined(CPU_COLDFIRE) && (LCD_DEPTH == 2)
unsigned long pat_stack[8];