mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-06-03 00:58:47 +02:00
53 lines
934 B
C
53 lines
934 B
C
/*
|
|
* UAE - The Un*x Amiga Emulator
|
|
*
|
|
* Memory access functions
|
|
*
|
|
* Copyright 1996 Bernd Schmidt
|
|
*/
|
|
|
|
STATIC_INLINE uae_u32 do_get_mem_long(uae_u32 *a)
|
|
{
|
|
uae_u8 *b = (uae_u8 *)a;
|
|
|
|
return (*b << 24) | (*(b+1) << 16) | (*(b+2) << 8) | (*(b+3));
|
|
}
|
|
|
|
STATIC_INLINE uae_u16 do_get_mem_word(uae_u16 *a)
|
|
{
|
|
uae_u8 *b = (uae_u8 *)a;
|
|
|
|
return (*b << 8) | (*(b+1));
|
|
}
|
|
|
|
STATIC_INLINE uae_u8 do_get_mem_byte(uae_u8 *a)
|
|
{
|
|
return *a;
|
|
}
|
|
|
|
STATIC_INLINE void do_put_mem_long(uae_u32 *a, uae_u32 v)
|
|
{
|
|
uae_u8 *b = (uae_u8 *)a;
|
|
|
|
*b = v >> 24;
|
|
*(b+1) = v >> 16;
|
|
*(b+2) = v >> 8;
|
|
*(b+3) = v;
|
|
}
|
|
|
|
STATIC_INLINE void do_put_mem_word(uae_u16 *a, uae_u16 v)
|
|
{
|
|
uae_u8 *b = (uae_u8 *)a;
|
|
|
|
*b = v >> 8;
|
|
*(b+1) = v;
|
|
}
|
|
|
|
STATIC_INLINE void do_put_mem_byte(uae_u8 *a, uae_u8 v)
|
|
{
|
|
*a = v;
|
|
}
|
|
|
|
#define call_mem_get_func(func, addr) ((*func)(addr))
|
|
#define call_mem_put_func(func, addr, v) ((*func)(addr, v))
|