mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-04 14:57:45 -04:00
43 lines
971 B
C
43 lines
971 B
C
/*
|
|
* rarely used EEPROM code
|
|
* (C) notaz, 2006-2008
|
|
*
|
|
* This work is licensed under the terms of MAME license.
|
|
* See COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#include "pico_int.h"
|
|
|
|
|
|
#ifndef _ASM_MISC_C
|
|
PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count)
|
|
{
|
|
unsigned char *src_ = src;
|
|
|
|
for (; count; count--, src_ += 2)
|
|
*dest++ = (src_[0] << 8) | src_[1];
|
|
}
|
|
|
|
#ifndef _ASM_MISC_C_AMIPS
|
|
PICO_INTERNAL_ASM void memset32(void *dest_in, int c, int count)
|
|
{
|
|
int *dest = dest_in;
|
|
|
|
for (; count >= 8; count -= 8, dest += 8)
|
|
dest[0] = dest[1] = dest[2] = dest[3] =
|
|
dest[4] = dest[5] = dest[6] = dest[7] = c;
|
|
|
|
switch (count) {
|
|
case 7: *dest++ = c;
|
|
case 6: *dest++ = c;
|
|
case 5: *dest++ = c;
|
|
case 4: *dest++ = c;
|
|
case 3: *dest++ = c;
|
|
case 2: *dest++ = c;
|
|
case 1: *dest++ = c;
|
|
}
|
|
}
|
|
void memset32_uncached(int *dest, int c, int count) { memset32(dest, c, count); }
|
|
#endif
|
|
#endif
|
|
|