|
|
1.1.1.2 ! root 1: /* 1.1 root 2: * UAE - The Un*x Amiga Emulator 1.1.1.2 ! root 3: * 1.1 root 4: * Memory access functions 5: * 6: * Copyright 1996 Bernd Schmidt 7: */ 8: 9: static __inline__ uae_u32 do_get_mem_long(uae_u32 *a) 10: { 11: uae_u8 *b = (uae_u8 *)a; 1.1.1.2 ! root 12: 1.1 root 13: return (*b << 24) | (*(b+1) << 16) | (*(b+2) << 8) | (*(b+3)); 14: } 15: 16: static __inline__ uae_u16 do_get_mem_word(uae_u16 *a) 17: { 18: uae_u8 *b = (uae_u8 *)a; 1.1.1.2 ! root 19: 1.1 root 20: return (*b << 8) | (*(b+1)); 21: } 22: 23: static __inline__ uae_u8 do_get_mem_byte(uae_u8 *a) 24: { 25: return *a; 26: } 27: 28: static __inline__ void do_put_mem_long(uae_u32 *a, uae_u32 v) 29: { 30: uae_u8 *b = (uae_u8 *)a; 1.1.1.2 ! root 31: 1.1 root 32: *b = v >> 24; 1.1.1.2 ! root 33: *(b+1) = v >> 16; 1.1 root 34: *(b+2) = v >> 8; 35: *(b+3) = v; 36: } 37: 38: static __inline__ void do_put_mem_word(uae_u16 *a, uae_u16 v) 39: { 40: uae_u8 *b = (uae_u8 *)a; 1.1.1.2 ! root 41: 1.1 root 42: *b = v >> 8; 43: *(b+1) = v; 44: } 45: 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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.