From 2d62bed94f84e315b87bf0b1d5ba16b8f5adcd58 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Wed, 10 Apr 2019 16:09:05 +0200 Subject: [PATCH] Add a file with SQRT, SIN, and COS for WAR. --- src/spcwar/math.1 | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/spcwar/math.1 diff --git a/src/spcwar/math.1 b/src/spcwar/math.1 new file mode 100644 index 00000000..a9a592bf --- /dev/null +++ b/src/spcwar/math.1 @@ -0,0 +1,78 @@ +RELOCA +TITLE WAR MATH + +B==3 +C==4 + +COS": FADR A",[1.57079631847] +SIN": MOVM B,A + CAMGE B,[.001] + POPJ P, + FDV B,[1.57079631847] + CAMG B,[1.0] + JRST SINS2 + MULI B,400 + ASH C,-202(B) + MOVEI B,200 + ROT C,3 + LSHC B,33 + FAD B,[0] + JUMPE C,SINS2 + TLCE C,1000 + FSB B,[1.0] + TLCE C,3000 + TLNN C,3000 + MOVNS B + +SINS2: SKIPGE A + MOVNS B + MOVEM B,A + FMPR B,B + MOVE C,[.00015148419] + FMP C,B + FAD C,[-.00467376557] + FMP C,B + FAD C,[.07968967928] + FMP C,B + FAD C,[-.64596371106] + FMP C,B + FAD C,[1.57079631847] + FMPR A,C + POPJ P, + + +;FLOATING POINT SQUARE ROOT FUNCTION + +SQRT": MOVEM B,BSAV + MOVMS A + JUMPLE A,SQ2 + ASHC A,-33 + SUBI A,201 + ROT A,-1 + HRRM A,SQ1 + LSH A,-43 + ASH B,-10 + FSC B,177(A) + MOVEM B,ST + FMP B,S1(A) + FAD B,S2(A) + MOVE A,ST + FDV A,B + FAD B,A + FSC B,-1 + MOVE A,ST + FDV A,B + FADR A,B +SQ1: FSC A,0 +SQ2: MOVE B,BSAV + POPJ P", + +S1: 0.8125 + 0.578125 +S2: 0.302734 + 0.421875 + +ST: 0 +BSAV: 0 + +END