Annotation of previous/src/dimension/nd_mem.h, revision 1.1.1.1

1.1       root        1: typedef uae_u32 (*nd_mem_get_func)(uaecptr) REGPARAM;
                      2: typedef void (*nd_mem_put_func)(uaecptr, uae_u32) REGPARAM;
                      3: 
                      4: typedef struct {
                      5:        /* These ones should be self-explanatory... */
                      6:        mem_get_func lget, wget, bget;
                      7:        mem_put_func lput, wput, bput;
                      8:        mem_get_func cs8geti;
                      9:        int flags;
                     10: } nd_addrbank;
                     11: 
                     12: #define nd_bankindex(addr) (((uaecptr)(addr)) >> 16)
                     13: 
                     14: #define nd_call_mem_get_func(func, addr) ((*func)(addr))
                     15: #define nd_call_mem_put_func(func, addr, v) ((*func)(addr, v))
                     16: 
                     17: extern nd_addrbank *nd_mem_banks[65536];
                     18: #define nd_get_mem_bank(addr) (*nd_mem_banks[bankindex(addr)])
                     19: #define nd_put_mem_bank(addr, b) (nd_mem_banks[bankindex(addr)] = (b))
                     20: 
                     21: #define nd_longget(addr) (nd_call_mem_get_func(nd_get_mem_bank(addr).lget, addr))
                     22: #define nd_wordget(addr) (nd_call_mem_get_func(nd_get_mem_bank(addr).wget, addr))
                     23: #define nd_byteget(addr) (nd_call_mem_get_func(nd_get_mem_bank(addr).bget, addr))
                     24: #define nd_longput(addr,l) (nd_call_mem_put_func(nd_get_mem_bank(addr).lput, addr, l))
                     25: #define nd_wordput(addr,w) (nd_call_mem_put_func(nd_get_mem_bank(addr).wput, addr, w))
                     26: #define nd_byteput(addr,b) (nd_call_mem_put_func(nd_get_mem_bank(addr).bput, addr, b))
                     27: #define nd_cs8get(addr) (nd_call_mem_get_func(nd_get_mem_bank(addr).cs8geti, addr))
                     28: 
                     29: void nd_memory_init(void);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.