37 lines
880 B
C
37 lines
880 B
C
#include "types.h"
|
|
#include "mem.h"
|
|
|
|
|
|
u8* const EXPANSION = (u8*)0x04000000; // Expansion bus area
|
|
u8* const WORKRAM = (u8*)0x05000000; // Scratchpad RAM; USE WITH CAUTION! (In fact, just leave it alone!)
|
|
u16* const SAVERAM = (u16*)0x06000000; // Cartridge's Battery-backed SRAM
|
|
|
|
|
|
/***** Ancillary Functions *****/
|
|
|
|
// Copy a block of data from one area in memory to another.
|
|
void copymem (u8* dest, const u8* src, u16 num)
|
|
{
|
|
u16 i;
|
|
for (i = 0; i < num; i++) {
|
|
*dest++ = *src++;
|
|
}
|
|
}
|
|
|
|
// Set each byte in a block of data to a given value.
|
|
void setmem (u8* dest, u8 src, u16 num)
|
|
{
|
|
u16 i;
|
|
for (i = 0; i < num; i++) {
|
|
*dest++ = src;
|
|
}
|
|
}
|
|
|
|
// Copy a block of data from one area in memory to another, adding a given value to each byte, first.
|
|
void addmem (u8* dest, const u8* src, u16 num, u8 offset)
|
|
{
|
|
u16 i;
|
|
for (i = 0; i < num; i++) {
|
|
*dest++ = (*src++ + offset);
|
|
}
|
|
} |