X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=Pico%2Fcd%2Fmisc_arm.s;fp=Pico%2Fcd%2Fmisc_arm.s;h=0000000000000000000000000000000000000000;hb=1cfc5cc4ce06642b9bc45ca3b9d32793718e9455;hp=b8268d6447a2f85e4d9ad1ac6d8c0208a9774de3;hpb=d158df697da66bcda57307e35fc77929cfa5053c;p=picodrive.git diff --git a/Pico/cd/misc_arm.s b/Pico/cd/misc_arm.s deleted file mode 100644 index b8268d6..0000000 --- a/Pico/cd/misc_arm.s +++ /dev/null @@ -1,76 +0,0 @@ -@ vim:filetype=armasm - -@ Memory converters for different modes -@ (c) Copyright 2007, Grazvydas "notaz" Ignotas - - -@ r10 is tmp, io1 is lsb halfword, io2 is msb -@ | 0 1 | 2 3 | -> | 0 2 | 1 3 | (little endian) -.macro _conv_reg io1 io2 - mov r10, \io2, lsl #16 - and \io2, \io2, r11, lsl #16 - orr \io2, \io2, \io1, lsr #16 - and \io1, \io1, r11 - orr \io1, \io1, r10 -/* - mov \io2, \io2, ror #16 - mov r10, \io1, lsl #16 - orr r10, r10, \io2, lsr #16 - mov \io1, \io1, lsr #16 - orr \io1, \io1, \io2, lsl #16 - mov \io2, r10, ror #16 -*/ -.endm - - -.global wram_2M_to_1M -wram_2M_to_1M: - stmfd sp!,{r4-r11,lr} - add r1, r0, #0x60000 @ m1M_b1 - add r0, r0, #0x40000 @ m1M_b0 - mov r2, r0 @ m2M - - mov r11, #0xff - orr r11, r11, r11, lsl #8 - mov r12, #(0x40000/8/4) - -_2Mto1M_loop: - ldmdb r2!,{r3-r9,lr} - _conv_reg r3,r4 - _conv_reg r5,r6 - _conv_reg r7,r8 - _conv_reg r9,lr - subs r12, r12, #1 - stmdb r0!,{r3,r5,r7,r9} - stmdb r1!,{r4,r6,r8,lr} - bne _2Mto1M_loop - - ldmfd sp!,{r4-r11,pc} - - - -.global wram_1M_to_2M -wram_1M_to_2M: - stmfd sp!,{r4-r11,lr} - mov r2, r0 @ m2M - add r1, r0, #0x40000 @ m1M_b1 - add r0, r0, #0x20000 @ m1M_b0 - - mov r11, #0xff - orr r11, r11, r11, lsl #8 - mov r12, #(0x40000/8/4) - -_1Mto2M_loop: - ldmia r0!,{r3,r5,r7,r9} - ldmia r1!,{r4,r6,r8,lr} - _conv_reg r3,r4 - _conv_reg r5,r6 - _conv_reg r7,r8 - _conv_reg r9,lr - subs r12, r12, #1 - stmia r2!,{r3-r9,lr} - bne _1Mto2M_loop - - ldmfd sp!,{r4-r11,pc} - -