|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * Memory access functions
5: *
6: * Copyright 1996 Bernd Schmidt
7: */
8:
1.1.1.2 ! root 9: #ifndef UAE_MACCESS_H
! 10: #define UAE_MACCESS_H
! 11:
! 12:
1.1 root 13: static __inline__ uae_u32 do_get_mem_long(uae_u32 *a)
14: {
15: uae_u8 *b = (uae_u8 *)a;
16:
17: return (*b << 24) | (*(b+1) << 16) | (*(b+2) << 8) | (*(b+3));
18: }
19:
20: static __inline__ uae_u16 do_get_mem_word(uae_u16 *a)
21: {
22: uae_u8 *b = (uae_u8 *)a;
23:
24: return (*b << 8) | (*(b+1));
25: }
26:
27: static __inline__ uae_u8 do_get_mem_byte(uae_u8 *a)
28: {
29: return *a;
30: }
31:
32: static __inline__ void do_put_mem_long(uae_u32 *a, uae_u32 v)
33: {
34: uae_u8 *b = (uae_u8 *)a;
35:
36: *b = v >> 24;
37: *(b+1) = v >> 16;
38: *(b+2) = v >> 8;
39: *(b+3) = v;
40: }
41:
42: static __inline__ void do_put_mem_word(uae_u16 *a, uae_u16 v)
43: {
44: uae_u8 *b = (uae_u8 *)a;
45:
46: *b = v >> 8;
47: *(b+1) = v;
48: }
49:
50: static __inline__ void do_put_mem_byte(uae_u8 *a, uae_u8 v)
51: {
52: *a = v;
53: }
54:
55: #define call_mem_get_func(func, addr) ((*func)(addr))
56: #define call_mem_put_func(func, addr, v) ((*func)(addr, v))
57:
58: #undef NO_INLINE_MEMORY_ACCESS
59: #undef MD_HAVE_MEM_1_FUNCS
60:
1.1.1.2 ! root 61:
! 62: #endif /* UAE_MACCESS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.