rnd-20100303-1-src
[rocksndiamonds.git] / src / game_sp / ASM.c
index 9cad09d548a65f105ce0c765b3d27142486c994c..d31edfaed7f626ce516986d9f13a500b38b1fbc0 100644 (file)
@@ -4,19 +4,6 @@
 
 #include "ASM.h"
 
-// static char *VB_Name = "modASM";
-
-// --- Option Explicit
-
-// PseudoRegisters:
-// Public ax%, bx%
-// --- const int ByteMask = 0xFF;
-int cmpFlag;
-
-void Neg(int *Val)
-{
-  *Val = -*Val;
-}
 
 void Mov(int *Var, int Val)
 {
@@ -34,6 +21,7 @@ void MovHighByte(int *Var, int Val)
 
   Tmp = Val & 0x7F;
   Tmp = 0x100 * Tmp;
+
   if ((Val & 0x80) != 0)
     Tmp = Tmp | 0x8000;
 
@@ -44,9 +32,7 @@ int LowByte(int Var)
 {
   int LowByte;
 
-  // Dim Tmp As Byte
   LowByte = (Var & 0xFF);
-  // LowByte = ByteToInt(Tmp)
 
   return LowByte;
 }
@@ -56,13 +42,9 @@ int HighByte(int Var)
   int HighByte;
 
   if (Var & 0x8000)
-  {
     HighByte = ((Var & 0x7FFF) / 0x100) | 0x80;
-  }
   else
-  {
     HighByte = Var / 0x100;
-  }
 
   return HighByte;
 }
@@ -76,57 +58,30 @@ int SgnHighByte(int Var) // extends the signum to 16 bit
 #endif
 
   if (Var & 0x8000)
-  {
     SgnHighByte = ((Var & 0x7FFF) / 0x100) | 0xFF80;
-  }
   else
-  {
     SgnHighByte = Var / 0x100;
-  }
 
   return SgnHighByte;
 }
 
-boolean Less()
-{
-  boolean Less;
-
-  Less = (cmpFlag < 0);
-
-  return Less;
-}
-
-boolean GreaterOrEqual()
-{
-  boolean GreaterOrEqual;
-
-  GreaterOrEqual = (0 <= cmpFlag);
-
-  return GreaterOrEqual;
-}
-
-boolean Equal()
+int SHL(int *Var, int Count)
 {
-  boolean Equal;
-
-  Equal = (0 == cmpFlag);
+  int SHL;
 
-  return Equal;
-}
+  int i;
 
-void CMP(int A, int B)
-{
-  cmpFlag = A - B;
-}
+  for (i = 1; i <= Count; i++)
+  {
+    *Var = *Var & 0x7FFF;
 
-void Add(int *A, int B)
-{
-  *A = *A + B;
-}
+    if ((*Var & 0x4000) != 0)
+      *Var = (2 * (*Var & 0x3FFF)) | 0x8000;
+    else
+      *Var = 2 * *Var;
+  }
 
-void MySub(int *A, int B)
-{
-  *A = *A - B;
+  return SHL;
 }
 
 int SHR(int *Var, int Count)
@@ -136,56 +91,24 @@ int SHR(int *Var, int Count)
   int i;
 
   if (*Var & 0x8000)
-  {
     *Var = ((*Var & 0x7FFF) / 2) | 0x4000;
-  }
   else
-  {
     *Var = *Var / 2;
-  }
 
   for (i = 2; i <= Count; i++)
-  {
     *Var = *Var / 2;
-  }
 
   return SHR;
 }
 
-int SHL(int *Var, int Count)
-{
-  int SHL;
-
-  int i;
-
-  for (i = 1; i <= Count; i++)
-  {
-    *Var = *Var & 0x7FFF;
-    if ((*Var & 0x4000) != 0)
-    {
-      *Var = (2 * (*Var & 0x3FFF)) | 0x8000;
-    }
-    else
-    {
-      *Var = 2 * *Var;
-    }
-  }
-
-  return SHL;
-}
-
 int ByteToInt(byte B)
 {
   int ByteToInt;
 
   if ((B & 0x80) == 0x80)
-  {
     ByteToInt = -(0xFF - B + 1);
-  }
   else
-  {
     ByteToInt = B;
-  }
 
   return ByteToInt;
 }
@@ -194,17 +117,7 @@ byte IntToByte(int i)
 {
   byte IntToByte;
 
-  // IntToByte = CByte(i & 0xFF);
   IntToByte = (byte)(i & 0xFF);
 
   return IntToByte;
 }
-
-void XCHG(int A, int B)
-{
-  int Tmp;
-
-  Tmp = B;
-  B = A;
-  A = Tmp;
-}