Difference between revisions of "MSXmath"

From MSX Game Library

(Command line options)
(Command line options)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
== Command line options ==
 
== Command line options ==
<syntaxhighlight>
+
<syntaxhighlight lang="txt">
MSXmath 1.6.1 - Math Table Generator
+
MSXmath 1.7.1 - Mathematics table generator
 
Usage: MSXmath [options] [tables]
 
Usage: MSXmath [options] [tables]
 
Options:
 
Options:
Line 22: Line 22:
 
   cos              Cosinus table [0:Pi*2]
 
   cos              Cosinus table [0:Pi*2]
 
   tan              Tangente table [-Pi/2:Pi/2]
 
   tan              Tangente table [-Pi/2:Pi/2]
 +
  cot              Cotangente table [-Pi/2:Pi/2]
 
   asin            Arc-sinus table [-1:1]
 
   asin            Arc-sinus table [-1:1]
 
   acos            Arc-cosinus table [-1:1]
 
   acos            Arc-cosinus table [-1:1]
Line 31: Line 32:
 
   log              Natural logarithm (to the base e)
 
   log              Natural logarithm (to the base e)
 
   log10            Common logarithm (to the base 10)
 
   log10            Common logarithm (to the base 10)
   proj W H         3d projection tables (W/H: screen width/height)
+
  hdx              Hypotenuse length when dX=1 [0:Pi*2]
 +
  hdy              Hypotenuse length when dY=1 [0:Pi*2]
 +
   proj N F         3d projection tables (N/F: near/far scale)
 
   rot              Rotation vector table
 
   rot              Rotation vector table
 
   equa A B C D E  Equation of type y=A+B*(C+x*D)^E
 
   equa A B C D E  Equation of type y=A+B*(C+x*D)^E
 
   map  A B        Map [0:num[ values to [A:B] space
 
   map  A B        Map [0:num[ values to [A:B] space
 +
  muls            Full 8-bit signed integer multiplication table (bytes should be 2
 +
  mulu            Full 8-bit unsigned integer multiplication table (bytes should be 2)
 +
  divs            Full 8-bit signed integer division table
 +
  divu            Full 8-bit unsigned integer division table
 
Note: All number can be decimal or hexadecimal starting with '0x', '$' or '#'.
 
Note: All number can be decimal or hexadecimal starting with '0x', '$' or '#'.
 
</syntaxhighlight>
 
</syntaxhighlight>
 
[[Category:Tool]][[Category:MSXtk]]
 
[[Category:Tool]][[Category:MSXtk]]

Latest revision as of 16:35, 6 February 2025

MSXmath mathematics precomputed table generator (for trigonometry or custom operations).

Command line options

MSXmath 1.7.1 - Mathematics table generator
Usage: MSXmath [options] [tables]
Options:
  -o <filename>    Filename of the output file (default: use input filename with .h/.asm/.bin extension)
  -num   <N>       Entries Number (Precision. Default=128)
  -shift <S>       Shift value (Fixed-point position. Default=4)
  -bytes <B>       Bytes Number (1: 8bits, 2: 16 bits, 4: 32 bits. Default=2)
  -prefix <str>    Table name prefix (0: Disable. Default=g_)
  -format ?        Output file format
    auto           Auto-detected using output file extension (default)
    c              C header file format
    asm            Assembler file format
    bin            Raw binary data file
  -at     X        Data base address
  -help            Display this help
Tables:
  sin              Sinus table [0:Pi*2]
  cos              Cosinus table [0:Pi*2]
  tan              Tangente table [-Pi/2:Pi/2]
  cot              Cotangente table [-Pi/2:Pi/2]
  asin             Arc-sinus table [-1:1]
  acos             Arc-cosinus table [-1:1]
  atan             Arc-tangente table [-num:num]
  sq               Square table [0:1]
  sqrt             Square-root table [0:num]
  pow  A           Power of A [0:num]
  exp              Exponential
  log              Natural logarithm (to the base e)
  log10            Common logarithm (to the base 10)
  hdx              Hypotenuse length when dX=1 [0:Pi*2]
  hdy              Hypotenuse length when dY=1 [0:Pi*2]
  proj N F         3d projection tables (N/F: near/far scale)
  rot              Rotation vector table
  equa A B C D E   Equation of type y=A+B*(C+x*D)^E
  map  A B         Map [0:num[ values to [A:B] space
  muls             Full 8-bit signed integer multiplication table (bytes should be 2
  mulu             Full 8-bit unsigned integer multiplication table (bytes should be 2)
  divs             Full 8-bit signed integer division table
  divu             Full 8-bit unsigned integer division table
Note: All number can be decimal or hexadecimal starting with '0x', '$' or '#'.