aboutsummaryrefslogtreecommitdiff
path: root/iDSK/src/endianPPC.h
diff options
context:
space:
mode:
authorJuan J. Martinez <jjm@usebox.net>2025-02-01 08:50:40 +0000
committerJuan J. Martinez <jjm@usebox.net>2025-02-01 08:50:40 +0000
commit6cb4b6673e8e5aa5c0101e179cc7afcdcf07236c (patch)
tree9e304cb4abbbedc0dcb323d8fd95bf1b192b691b /iDSK/src/endianPPC.h
downloadpc-cpc-basic-6cb4b6673e8e5aa5c0101e179cc7afcdcf07236c.tar.gz
pc-cpc-basic-6cb4b6673e8e5aa5c0101e179cc7afcdcf07236c.zip
Initial import
Diffstat (limited to 'iDSK/src/endianPPC.h')
-rw-r--r--iDSK/src/endianPPC.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/iDSK/src/endianPPC.h b/iDSK/src/endianPPC.h
new file mode 100644
index 0000000..9def637
--- /dev/null
+++ b/iDSK/src/endianPPC.h
@@ -0,0 +1,22 @@
+#ifndef __ENDIANPPC_H__
+#define __ENDIANPPC_H__
+
+/* macros convertion little endian convertion to big endian convertion */
+
+
+#define SWAP_2(x) ( (((x) & 0xff) << 8) | ((unsigned short)(x) >> 8) )
+#define SWAP_4(x) ( ((x) << 24) | \
+ (((x) << 8) & 0x00ff0000) | \
+ (((x) >> 8) & 0x0000ff00) | \
+ ((x) >> 24) )
+#define FIX_SHORT(x) (*(unsigned short *)&(x) = SWAP_2(*(unsigned short *)&(x)))
+#define FIX_INT(x) (*(unsigned int *)&(x) = SWAP_4(*(unsigned int *)&(x)))
+#define FIX_FLOAT(x) FIX_INT(x)
+
+
+
+/* endianness test function */
+
+bool isBigEndian(void);
+
+#endif