summaryrefslogtreecommitdiff
path: root/arm9/source/bang.h
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2024-11-18 14:57:19 +1300
committerBen Bridle <ben@derelict.engineering>2024-11-18 14:57:19 +1300
commit722d5509178fa5bdaa488fbbd9196f21377f8775 (patch)
tree112b39cd80cb8e074d9e71d1def4d8de33c9eefa /arm9/source/bang.h
downloadbedrock-nds-722d5509178fa5bdaa488fbbd9196f21377f8775.zip
Initial commit
Diffstat (limited to 'arm9/source/bang.h')
-rw-r--r--arm9/source/bang.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arm9/source/bang.h b/arm9/source/bang.h
new file mode 100644
index 0000000..1e13f9f
--- /dev/null
+++ b/arm9/source/bang.h
@@ -0,0 +1,27 @@
+#ifndef BANG_H_
+ #define BANG_H_
+
+ #define SET_HIGH(v,high) v = high << 8 | (v & 0x00ff)
+ #define SET_LOW(v,low) v = (v & 0xff00) | low
+ #define HIGH(v) (u8)((v) >> 8)
+ #define LOW(v) (u8)((v) )
+
+ #define H_HIGH(v) (u8)((v) >> 24)
+ #define H_LOW(v) (u8)((v) >> 16)
+ #define L_HIGH(v) (u8)((v) >> 8)
+ #define L_LOW(v) (u8)((v) )
+
+ #define LEFT(x) ((x) >> 4)
+ #define RIGHT(x) ((x) & 0xf)
+
+ #define SHF(x,y) (x >> RIGHT(y) << LEFT(y))
+ #define TAL(x) __builtin_popcount(x)
+
+ #define TEST(x,m) ((x & m) == m)
+ #define BOOL(v) ((u8)-(v))
+ #define DOUBLE(h,l) ((u16)(h) << 8 | (u16)(l))
+
+ u8 rev(u8 x);
+ u8 shc(u8 x, u8 y);
+ u16 shcd(u16 x, u8 y);
+#endif