MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / fetch64

Function fetch64

src/custom.cpp:8958–8991  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8956}
8957
8958static uae_u64 fetch64(struct rgabuf *r)
8959{
8960 uae_u64 v;
8961 uaecptr p = r->pv;
8962 uaecptr pm = p & ~7;
8963 uaecptr pm1, pm2;
8964 if (p & 4) {
8965 pm1 = pm + 4;
8966 pm2 = pm + 4;
8967 } else {
8968 pm1 = pm;
8969 pm2 = pm + 4;
8970 }
8971 if (p & 2) {
8972 uae_u32 v1 = chipmem_lget_indirect(pm1) & 0x0000ffff;
8973 uae_u32 v2 = chipmem_lget_indirect(pm2) & 0x0000ffff;
8974 v1 |= v1 << 16;
8975 v2 |= v2 << 16;
8976 v = (((uae_u64)v1) << 32) | v2;
8977 } else {
8978 v = ((uae_u64)chipmem_lget_indirect(pm1)) << 32;
8979 v |= chipmem_lget_indirect(pm2);
8980 }
8981#ifdef DEBUGGER
8982 if (memwatch_enabled) {
8983 debug_getpeekdma_value_long((uae_u32)(v >> 32), p - pm1);
8984 debug_getpeekdma_value_long((uae_u32)(v >> 0), p - pm2);
8985 }
8986 if (debug_dma) {
8987 record_dma_read_value_wide(v, true);
8988 }
8989#endif
8990 return v;
8991}
8992
8993static void process_copper(struct rgabuf *r)
8994{

Callers 2

do_scandoubleFunction · 0.85
handle_rga_outFunction · 0.85

Calls 2

Tested by

no test coverage detected