Files
WolfensteinVB/libs/libgccvb/mem.c
2026-02-19 23:28:57 +01:00

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);
}
}