diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-03 10:17:41 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-03 13:30:01 +0100 |
commit | fe6aa21e9eb88f49005863efd2003d0982920048 (patch) | |
tree | 11ffde0fdde131f39145542506cf9020dcf384d3 /firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S | |
parent | b371ff1f4758f6781e2b89f86bd8e65b8585f56e (diff) | |
download | rockbox-fe6aa21e9e.tar.gz rockbox-fe6aa21e9e.zip |
Remove YUV blitting functions and LCD modes
None of this is needed now that mpegplayer is gone.
Change-Id: I360366db8513e4d988021e8d7b7d8eb09930efb8
Diffstat (limited to 'firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S')
-rw-r--r-- | firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S b/firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S deleted file mode 100644 index c3a7992a2e..0000000000 --- a/firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S +++ /dev/null @@ -1,140 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id:$ - * - * Copyright (C) 2010 by Szymon Dziok - * - * Philips Gogear HDD6330 LCD assembly routine - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include "config.h" -#include "cpu.h" - -/**************************************************************************** - void lcd_yuv_write_inner_loop(unsigned char const * const ysrc, - unsigned char const * const usrc, - unsigned char const * const vsrc, - int width); -*/ - .section .icode, "ax", %progbits - .align 2 - .global lcd_yuv_write_inner_loop - .type lcd_yuv_write_inner_loop, %function -lcd_yuv_write_inner_loop: - @ r0 = ysrc - @ r1 = usrc - @ r2 = vsrc - @ r3 = width - stmfd sp!, { r4-r11, lr } @ save regs - mov r4, #0x70000000 @ r4 = LCD2_BLOCK_CTRL - 0x20 - add r4, r4, #0x8a00 @ - add r5, r4, #0x100 @ r5 = LCD2_BLOCK_DATA -10: @ loop - - ldrb r7, [r1], #1 @ *usrc++ - ldrb r8, [r2], #1 @ *vsrc++ - - sub r7, r7, #128 @ Cb -= 128 - sub r8, r8, #128 @ Cr -= 128 - - add r10, r8, r8, asl #2 @ Cr*101 - add r10, r10, r8, asl #5 - add r10, r10, r8, asl #6 - - add r11, r8, r8, asl #1 @ Cr*51 + Cb*24 - add r11, r11, r11, asl #4 - add r11, r11, r7, asl #3 - add r11, r11, r7, asl #4 - - add r12, r7, #2 @ r12 = bu = (Cb*128 + 256) >> 9 - mov r12, r12, asr #2 - add r10, r10, #256 @ r10 = rv = (Cr*101 + 256) >> 9 - mov r10, r10, asr #9 - rsb r11, r11, #128 @ r11 = guv = (-r11 + 128) >> 8 - mov r11, r11, asr #8 - -@ pixel_1 - ldrb r7, [r0], #1 @ *ysrc++ - sub r7, r7, #16 @ Y = (Y' - 16) * 37 - add r8, r7, r7, asl #2 - add r7, r8, r7, asl #5 - - add r9, r10, r7, asr #8 @ R = (Y >> 8) + rv - add r8, r11, r7, asr #7 @ G = (Y >> 7) + guv - add r7, r12, r7, asr #8 @ B = (Y >> 8) + bu - - cmp r9, #31 @ clamp R - mvnhi r9, r9, asr #31 - andhi r9, r9, #31 - - cmp r8, #63 @ clamp G - mvnhi r8, r8, asr #31 - andhi r8, r8, #63 - - cmp r7, #31 @ clamp B - mvnhi r7, r7, asr #31 - andhi r7, r7, #31 - - orr r6, r7, r8, lsl #5 @ pack pixel - orr r6, r6, r9, lsl #11 - - mov r7, r6, lsl #8 @ swap bytes - and r7, r7, #0xff00 - add r6, r7, r6, lsr #8 - -@ pixel_2 - ldrb r7, [r0], #1 @ *ysrc++ - sub r7, r7, #16 @ Y = (Y' - 16) * 37 - add r8, r7, r7, asl #2 - add r7, r8, r7, asl #5 - - add r9, r10, r7, asr #8 @ R = (Y >> 8) + rv - add r8, r11, r7, asr #7 @ G = (Y >> 7) + guv - add r7, r12, r7, asr #8 @ B = (Y >> 8) + bu - - cmp r9, #31 @ clamp R - mvnhi r9, r9, asr #31 - andhi r9, r9, #31 - - cmp r8, #63 @ clamp G - mvnhi r8, r8, asr #31 - andhi r8, r8, #63 - - cmp r7, #31 @ clamp B - mvnhi r7, r7, asr #31 - andhi r7, r7, #31 - - orr r7, r7, r8, lsl #5 @ pack pixel - orr r7, r7, r9, lsl #11 - - orr r6, r6, r7, lsl #24 @ swap bytes and add pixels simultaneously - mov r7, r7, lsr #8 - orr r6, r6, r7, lsl #16 - -11: @ while (!(LCD2_BLOCK_CTRL & LCD2_BLOCK_TXOK)); - ldr r11, [r4, #0x20] @ - tst r11, #0x1000000 @ - beq 11b @ - - str r6, [r5] @ send two pixels - - subs r3, r3, #2 @ decrease width - bgt 10b @ loop - - ldmpc regs=r4-r11 @ restore regs - .ltorg @ dump constant pool - .size lcd_yuv_write_inner_loop, .-lcd_yuv_write_inner_loop |