Six bit capture code improvements

pull/63/head
IanSB 2019-03-28 05:31:47 +00:00
rodzic e72415a19e
commit 42be1941ec
2 zmienionych plików z 14 dodań i 32 usunięć

Wyświetl plik

@ -78,7 +78,6 @@ loop:
stmia r0, {r7}
tst r3, #BIT_SCANLINES
movne r7, #0
movne r10, #0
tst r3, #BIT_NO_LINE_DOUBLE
addeq r0, r0, r2
stmeqia r0, {r7}

Wyświetl plik

@ -41,7 +41,11 @@ loop:
CAPTURE_2_BITS_WIDE // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_3_BITS_WIDE r7 // input in r8, result in r7, corrupts r9
cmp r1, #1
stmeqia r0!, {r7}
popeq {r0, pc}
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_0_BITS_WIDE r11 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
@ -52,21 +56,9 @@ loop:
CAPTURE_3_BITS_WIDE r10 // input in r8, result in r10, corrupts r9
stmia r0!, {r7, r10}
sub r1, r1, #2
cmp r1, #1
bgt loop
popne {r0, pc}
subs r1, r1, #2
bne loop
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_0_BITS_WIDE r11 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_1_BITS_WIDE // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_2_BITS_WIDE // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_3_BITS_WIDE r7 // input in r8, result in r7, corrupts r9
stmia r0!, {r7}
pop {r0, pc}
preload_capture_line_fast_sixbits:
@ -100,7 +92,11 @@ loop_8bpp:
CAPTURE_LOW_BITS_8BPP_WIDE r12 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_HIGH_BITS_8BPP_WIDE r6 // input in r8, result in r6, corrupts r9
cmp r1, #1
stmeqia r0!, {r5, r6}
popeq {r0, pc}
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_LOW_BITS_8BPP_WIDE r11 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
@ -112,22 +108,9 @@ loop_8bpp:
CAPTURE_HIGH_BITS_8BPP_WIDE r10 // input in r8, result in r10, corrupts r9
stmia r0!, {r5, r6, r7, r10}
sub r1, r1, #2
cmp r1, #1
bgt loop_8bpp
popne {r0, pc}
subs r1, r1, #2
bne loop_8bpp
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_LOW_BITS_8BPP_WIDE r11 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_HIGH_BITS_8BPP_WIDE r5 // input in r8, result in r5, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_LOW_BITS_8BPP_WIDE r12 // input in r8, result in r10, corrupts r9
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_HIGH_BITS_8BPP_WIDE r6 // input in r8, result in r6, corrupts r9
stmia r0!, {r5, r6}
pop {r0, pc}
preload_capture_line_fast_sixbits_8bpp: