Annotation of previous/src/dimension/nd_mem.h, revision 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.