2 @* Memory converters for different modes
3 @* (C) notaz, 2007-2008
5 @* This work is licensed under the terms of MAME license.
6 @* See COPYING file in the top-level directory.
10 @ r10 is tmp, io1 is lsb halfword, io2 is msb
11 @ | 0 1 | 2 3 | -> | 0 2 | 1 3 | (little endian)
12 .macro _conv_reg io1 io2
13 mov r10, \io2, lsl #16
14 and \io2, \io2, r11, lsl #16
15 orr \io2, \io2, \io1, lsr #16
19 mov \io2, \io2, ror #16
20 mov r10, \io1, lsl #16
21 orr r10, r10, \io2, lsr #16
22 mov \io1, \io1, lsr #16
23 orr \io1, \io1, \io2, lsl #16
24 mov \io2, r10, ror #16
32 add r1, r0, #0x60000 @ m1M_b1
33 add r0, r0, #0x40000 @ m1M_b0
37 orr r11, r11, r11, lsl #8
38 mov r12, #(0x40000/8/4)
47 stmdb r0!,{r3,r5,r7,r9}
48 stmdb r1!,{r4,r6,r8,lr}
59 add r1, r0, #0x40000 @ m1M_b1
60 add r0, r0, #0x20000 @ m1M_b0
63 orr r11, r11, r11, lsl #8
64 mov r12, #(0x40000/8/4)
67 ldmia r0!,{r3,r5,r7,r9}
68 ldmia r1!,{r4,r6,r8,lr}