diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2006-10-20 23:57:48 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2006-10-20 23:57:48 +0000 |
commit | 10363b3a8178b791960fb7f048215ee8621fa074 (patch) | |
tree | e7ffcc45d7749d24f13668b826df0e9d2f42c38c /firmware/target/coldfire/iaudio/x5/lcd-as-x5.S | |
parent | db0cc98aad95004c1cbced791d63d6254df57bd2 (diff) | |
download | rockbox-10363b3a8178b791960fb7f048215ee8621fa074.tar.gz rockbox-10363b3a8178b791960fb7f048215ee8621fa074.zip |
Get rid of some OR-ing and conditional expressions in lcd driver when register values can just be saved in shorts. Touch-up to comment in asm part.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11281 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire/iaudio/x5/lcd-as-x5.S')
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/lcd-as-x5.S | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S index 54c1110d2a..6d5d324ebf 100644 --- a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S +++ b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S | |||
@@ -316,10 +316,10 @@ lcd_write_data: | |||
316 | /* transfer initial word */ | 316 | /* transfer initial word */ |
317 | move.w (%a0)+,%d2 /* |????????|????????|rrrrrggg|gggbbbbb| */ | 317 | move.w (%a0)+,%d2 /* |????????|????????|rrrrrggg|gggbbbbb| */ |
318 | move.l %d2,%d1 | 318 | move.l %d2,%d1 |
319 | lsr.l #7,%d1 /* |0000000?|????????|???????r|rrrrgggg| */ | 319 | lsr.l #7,%d1 /* |0000000?|????????|???????r|rrrrgggg| */ |
320 | move.w %d1,(%a1) /* ^ ^^^^^^^ */ | 320 | move.w %d1,(%a1) /* ^ ^^^^^^^ */ |
321 | lsl.l #1,%d2 /* |????????|???????r|rrrrgggg|ggbbbbb0| */ | 321 | lsl.l #1,%d2 /* |????????|???????r|rrrrgggg|ggbbbbb0| */ |
322 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ | 322 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ |
323 | 323 | ||
324 | .wd_wordl_end: /* now longword aligned */ | 324 | .wd_wordl_end: /* now longword aligned */ |
325 | moveq.l #28,%d1 | 325 | moveq.l #28,%d1 |
@@ -335,14 +335,14 @@ lcd_write_data: | |||
335 | bls.b .wd_long1_end /* no: skip leading long loop */ | 335 | bls.b .wd_long1_end /* no: skip leading long loop */ |
336 | 336 | ||
337 | .wd_long1_loop: | 337 | .wd_long1_loop: |
338 | move.l (%a0)+,%d2 /* read longword */ | 338 | move.l (%a0)+,%d2 /* read longword */ |
339 | swap %d2 /* |rrrrrggg|gggbbbbb|RRRRRGGG|GGGBBBBB| */ | 339 | swap %d2 /* |rrrrrggg|gggbbbbb|RRRRRGGG|GGGBBBBB| */ |
340 | move.l %d2,%d5 | 340 | move.l %d2,%d5 |
341 | lsr.l #7,%d5 /* |0000000r|rrrrgggg|ggbbbbbR|RRRRGGGG| */ | 341 | lsr.l #7,%d5 /* |0000000r|rrrrgggg|ggbbbbbR|RRRRGGGG| */ |
342 | move.w %d5,(%a1) /* ^ ^^^^^^^ */ | 342 | move.w %d5,(%a1) /* ^ ^^^^^^^ */ |
343 | lsl.l #1,%d2 /* |rrrrgggg|ggbbbbbR|RRRRBGGG|GGBBBBB0| */ | 343 | lsl.l #1,%d2 /* |rrrrgggg|ggbbbbbR|RRRRGGGG|GGBBBBB0| */ |
344 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ | 344 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ |
345 | swap %d5 /* |ggbbbbbR|RRRRGGGG|0000000r|rrrrgggg| */ | 345 | swap %d5 /* |ggbbbbbR|RRRRGGGG|0000000r|rrrrgggg| */ |
346 | move.w %d5,(%a1) /* ^ ^^^^^^^ */ | 346 | move.w %d5,(%a1) /* ^ ^^^^^^^ */ |
347 | swap %d2 /* |RRRRBGGG|GGBBBBB0|rrrrgggg|ggbbbbbR| */ | 347 | swap %d2 /* |RRRRBGGG|GGBBBBB0|rrrrgggg|ggbbbbbR| */ |
348 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ | 348 | move.w %d2,(%a1) /* ^ ^^^^^^^ */ |
@@ -369,7 +369,7 @@ lcd_write_data: | |||
369 | swap %d1 | 369 | swap %d1 |
370 | move.w %d1,(%a1) | 370 | move.w %d1,(%a1) |
371 | 371 | ||
372 | swap %d2 | 372 | swap %d2 |
373 | move.l %d2,%d5 | 373 | move.l %d2,%d5 |
374 | lsr.l #7,%d5 | 374 | lsr.l #7,%d5 |
375 | move.w %d5,(%a1) | 375 | move.w %d5,(%a1) |
@@ -380,7 +380,7 @@ lcd_write_data: | |||
380 | swap %d2 | 380 | swap %d2 |
381 | move.w %d2,(%a1) | 381 | move.w %d2,(%a1) |
382 | 382 | ||
383 | swap %d3 | 383 | swap %d3 |
384 | move.l %d3,%d5 | 384 | move.l %d3,%d5 |
385 | lsr.l #7,%d5 | 385 | lsr.l #7,%d5 |
386 | move.w %d5,(%a1) | 386 | move.w %d5,(%a1) |
@@ -391,7 +391,7 @@ lcd_write_data: | |||
391 | swap %d3 | 391 | swap %d3 |
392 | move.w %d3,(%a1) | 392 | move.w %d3,(%a1) |
393 | 393 | ||
394 | swap %d4 | 394 | swap %d4 |
395 | move.l %d4,%d5 | 395 | move.l %d4,%d5 |
396 | lsr.l #7,%d5 | 396 | lsr.l #7,%d5 |
397 | move.w %d5,(%a1) | 397 | move.w %d5,(%a1) |
@@ -411,8 +411,8 @@ lcd_write_data: | |||
411 | bls.b .wd_long2_end /* no: skip trailing longword loop */ | 411 | bls.b .wd_long2_end /* no: skip trailing longword loop */ |
412 | 412 | ||
413 | .wd_long2_loop: | 413 | .wd_long2_loop: |
414 | move.l (%a0)+,%d2 /* read longword */ | 414 | move.l (%a0)+,%d2 /* read longword */ |
415 | swap %d2 | 415 | swap %d2 |
416 | move.l %d2,%d5 | 416 | move.l %d2,%d5 |
417 | lsr.l #7,%d5 | 417 | lsr.l #7,%d5 |
418 | move.w %d5,(%a1) | 418 | move.w %d5,(%a1) |
@@ -430,10 +430,10 @@ lcd_write_data: | |||
430 | 430 | ||
431 | move.w (%a0)+,%d2 /* transfer final word */ | 431 | move.w (%a0)+,%d2 /* transfer final word */ |
432 | move.l %d2,%d1 | 432 | move.l %d2,%d1 |
433 | lsr.l #7,%d1 | 433 | lsr.l #7,%d1 |
434 | move.w %d1,(%a1) | 434 | move.w %d1,(%a1) |
435 | lsl.l #1,%d2 | 435 | lsl.l #1,%d2 |
436 | move.w %d2,(%a1) | 436 | move.w %d2,(%a1) |
437 | 437 | ||
438 | .wd_word2_end: | 438 | .wd_word2_end: |
439 | movem.l (%sp),%d2-%d5/%a2 | 439 | movem.l (%sp),%d2-%d5/%a2 |