1  /*
2   * UAE - The Un*x Amiga Emulator
3   *
4   * Memory access functions
5   *
6   * Copyright 1996 Bernd Schmidt
7   */
8 
do_get_mem_long(uae_u32 * a)9 STATIC_INLINE uae_u32 do_get_mem_long(uae_u32 *a)
10 {
11     uae_u8 *b = (uae_u8 *)a;
12 
13     return (*b << 24) | (*(b+1) << 16) | (*(b+2) << 8) | (*(b+3));
14 }
15 
do_get_mem_word(uae_u16 * a)16 STATIC_INLINE uae_u16 do_get_mem_word(uae_u16 *a)
17 {
18     uae_u8 *b = (uae_u8 *)a;
19 
20     return (*b << 8) | (*(b+1));
21 }
22 
do_get_mem_byte(uae_u8 * a)23 STATIC_INLINE uae_u8 do_get_mem_byte(uae_u8 *a)
24 {
25     return *a;
26 }
27 
do_put_mem_long(uae_u32 * a,uae_u32 v)28 STATIC_INLINE void do_put_mem_long(uae_u32 *a, uae_u32 v)
29 {
30     uae_u8 *b = (uae_u8 *)a;
31 
32     *b = v >> 24;
33     *(b+1) = v >> 16;
34     *(b+2) = v >> 8;
35     *(b+3) = v;
36 }
37 
do_put_mem_word(uae_u16 * a,uae_u16 v)38 STATIC_INLINE void do_put_mem_word(uae_u16 *a, uae_u16 v)
39 {
40     uae_u8 *b = (uae_u8 *)a;
41 
42     *b = v >> 8;
43     *(b+1) = v;
44 }
45 
do_put_mem_byte(uae_u8 * a,uae_u8 v)46 STATIC_INLINE void do_put_mem_byte(uae_u8 *a, uae_u8 v)
47 {
48     *a = v;
49 }
50 
51 #define call_mem_get_func(func, addr) ((*func)(addr))
52 #define call_mem_put_func(func, addr, v) ((*func)(addr, v))
53 
54 #undef NO_INLINE_MEMORY_ACCESS
55 #undef MD_HAVE_MEM_1_FUNCS
56 
57