platform ps2, handle audio similar to psp
[picodrive.git] / pico / misc.c
CommitLineData
cff531af 1/*\r
2 * rarely used EEPROM code\r
3 * (C) notaz, 2006-2008\r
4 *\r
5 * This work is licensed under the terms of MAME license.\r
6 * See COPYING file in the top-level directory.\r
7 */\r
cc68a136 8\r
efcba75f 9#include "pico_int.h"\r
cc68a136 10\r
c55a44a8 11\r
cea65903 12#ifndef _ASM_MISC_C\r
eff55556 13PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count)\r
0a051f55 14{\r
15 unsigned char *src_ = src;\r
16\r
17 for (; count; count--, src_ += 2)\r
18 *dest++ = (src_[0] << 8) | src_[1];\r
19}\r
20\r
b542be46 21#ifndef _ASM_MISC_C_AMIPS\r
fbba0ff6 22PICO_INTERNAL_ASM void memset32(void *dest_in, int c, int count)\r
cea65903 23{\r
fbba0ff6 24 int *dest = dest_in;\r
25\r
70357ce5 26 for (; count >= 8; count -= 8, dest += 8)\r
27 dest[0] = dest[1] = dest[2] = dest[3] =\r
28 dest[4] = dest[5] = dest[6] = dest[7] = c;\r
29\r
a20300bf 30 switch (count) {\r
31 case 7: *dest++ = c;\r
32 case 6: *dest++ = c;\r
33 case 5: *dest++ = c;\r
34 case 4: *dest++ = c;\r
35 case 3: *dest++ = c;\r
36 case 2: *dest++ = c;\r
37 case 1: *dest++ = c;\r
38 }\r
cea65903 39}\r
b542be46 40void memset32_uncached(int *dest, int c, int count) { memset32(dest, c, count); }\r
41#endif\r
cea65903 42#endif\r
43\r