\r
// sram_reg: LAtd sela (L=pending SCL, A=pending SDA, t=type(1==uses 0x200000 for SCL and 2K bytes),\r
// d=SRAM was detected (header or by access), s=started, e=save is EEPROM, l=old SCL, a=old SDA)\r
-void SRAMWriteEEPROM(unsigned int d) // ???? ??la (l=SCL, a=SDA)\r
+PICO_INTERNAL void SRAMWriteEEPROM(unsigned int d) // ???? ??la (l=SCL, a=SDA)\r
{\r
unsigned int sreg = Pico.m.sram_reg, saddr = Pico.m.sram_addr, scyc = Pico.m.sram_cycle, ssa = Pico.m.sram_slave;\r
\r
Pico.m.sram_slave= (unsigned char) ssa;\r
}\r
\r
-unsigned int SRAMReadEEPROM()\r
+PICO_INTERNAL_ASM unsigned int SRAMReadEEPROM(void)\r
{\r
unsigned int shift, d=0;\r
unsigned int sreg, saddr, scyc, ssa;\r
return d;\r
}\r
\r
-void SRAMUpdPending(unsigned int a, unsigned int d)\r
+PICO_INTERNAL void SRAMUpdPending(unsigned int a, unsigned int d)\r
{\r
unsigned int sreg = Pico.m.sram_reg;\r
\r
\r
\r
#ifndef _ASM_MISC_C\r
-void memcpy16(unsigned short *dest, unsigned short *src, int count)\r
+PICO_INTERNAL_ASM void memcpy16(unsigned short *dest, unsigned short *src, int count)\r
{\r
while (count--)\r
*dest++ = *src++;\r
}\r
\r
\r
-void memcpy32(int *dest, int *src, int count)\r
+PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count)\r
+{\r
+ unsigned char *src_ = src;\r
+\r
+ for (; count; count--, src_ += 2)\r
+ *dest++ = (src_[0] << 8) | src_[1];\r
+}\r
+\r
+\r
+PICO_INTERNAL_ASM void memcpy32(int *dest, int *src, int count)\r
{\r
while (count--)\r
*dest++ = *src++;\r
}\r
\r
\r
-void memset32(int *dest, int c, int count)\r
+PICO_INTERNAL_ASM void memset32(int *dest, int c, int count)\r
{\r
while (count--)\r
*dest++ = c;\r