summaryrefslogtreecommitdiffstats
path: root/src/common.h
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-07-05 22:19:52 +0200
committeraap <aap@papnet.eu>2019-07-05 22:20:28 +0200
commit49d97f0033c4406a359cba88e988c7311241a76a (patch)
tree912011b0a39707e90c0f1cbdf8a165939bbed2fd /src/common.h
parentMerge pull request #108 from ShFil119/audio3 (diff)
downloadre3-49d97f0033c4406a359cba88e988c7311241a76a.tar
re3-49d97f0033c4406a359cba88e988c7311241a76a.tar.gz
re3-49d97f0033c4406a359cba88e988c7311241a76a.tar.bz2
re3-49d97f0033c4406a359cba88e988c7311241a76a.tar.lz
re3-49d97f0033c4406a359cba88e988c7311241a76a.tar.xz
re3-49d97f0033c4406a359cba88e988c7311241a76a.tar.zst
re3-49d97f0033c4406a359cba88e988c7311241a76a.zip
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/common.h b/src/common.h
index 3d260f6e..79626acb 100644
--- a/src/common.h
+++ b/src/common.h
@@ -49,6 +49,19 @@ typedef uint16_t wchar;
#define ALIGNPTR(p) (void*)((((uintptr)(void*)p) + sizeof(void*)-1) & ~(sizeof(void*)-1))
+// PDP-10 like byte functions
+#define MASK(p, s) (((1<<(s))-1) << (p))
+inline uint32 dpb(uint32 b, uint32 p, uint32 s, uint32 w)
+{
+ uint32 m = MASK(p,s);
+ return w & ~m | b<<p & m;
+}
+inline uint32 ldb(uint32 p, uint32 s, uint32 w)
+{
+ return w>>p & (1<<s)-1;
+}
+
+
// little hack
extern void **rwengine;
#define RwEngineInstance (*rwengine)