DEADSOFTWARE

kos32: efficiently implement main loop
[flatwaifu.git] / src / kos32 / kos32.h
index 9686f1266867949210985c5f187e720706509785..a11e7911fd13aae6abcb4512d638a93738aec162 100644 (file)
@@ -186,6 +186,18 @@ static inline int CheckEvent (void) {
   return ret;
 }
 
+/* --- fn 23 --- */
+static inline int WaitEventTimeout (int timeout) {
+  int ret;
+  __asm__ __volatile__ (
+    "int $0x40"
+    : "=a" (ret)
+    : "a" (23),
+      "b" (timeout)
+  );
+  return ret;
+}
+
 /* --- fn 2 --- */
 static inline int GetKey (void) {
   int ret;
@@ -246,6 +258,26 @@ static inline int GetSkinHeight (void) {
   return ret;
 }
 
+/* --- fn 68.1 --- */
+static inline void SwitchTask (void) {
+  __asm__ __volatile__ (
+    "int $0x40"
+    :
+    : "a" (68),
+      "b" (1)
+  );
+}
+
+/* --- fn 5 --- */
+static inline void Delay (int time) {
+  __asm__ __volatile__ (
+    "int $0x40"
+    :
+    : "a" (5),
+      "b" (time)
+  );
+}
+
 #define KOS32_SC_UNKNOWN 0x00
 #define KOS32_SC_ESCAPE  0x01
 #define KOS32_SC_1       0x02