SCÿ› ;SAVE"D:DZONE4.SYN";(;‚Mathsroutines<; F;„14/5/85P;‚Updated9/6/85Z;d;‚Storageinpage0x;‚;‚16BITMULTIPLYŒ;–;‚MATH1*MATH2 ; ªMULT16"´‰JSRSET.POSmakebothops+ve ¾‰LDX#16ÈMULT…ASLRESLOÒ‰ROLRESLO+1܉ROLRESHIæ‰ROLRESHI+1ð;ú‰ASLMATH1‰ROLMATH1+1‰BCCNO.ADD;"‰LDAMATH2,‰CLC6‰ADCRESLO@‰STARESLOJ‰LDAMATH2+1T‰ADCRESLO+1^‰STARESLO+1h‰BCCNO.ADDr;|‰INCRESHI†;NO.ADDƒDEX š‰BNEMULT¤;®‰JMPCOMP.RESifneededà;ê;16BITDIVIDEô;þ;MATH1/MATH2;DIV16„JSRSET.POS‰LDAMATH1&‰ORAMATH1+10‰BNE.1†math1<>0:‰JMPRES01D;N.1‡LDAMATH2X‰ORAMATH2+1b‰BNE.2†math2<>0l‰JMPRESINF€; Š.2‡LDX#0”‰STXTEMP1ž‰STXTEMP1+1¨‰STXTEMP2²‰STXTEMP2+1Æ;ÐCOMPARE‚LDAMATH2Ú‰SECä‰SBCMATH1 î‰STAHOLDø‰LDAMATH2+1‰SBCMATH1+1 ‰BCSTWOGT; TIMES2ƒINX*‰ASLMATH24‰ROLMATH2+1>‰JMPCOMPAREH;R;\TWOGT„ORAHOLD f‰BNE.1p‰JMPPOWER2z; „.1‡CPX#0Ž‰BEQONLYREM˜;¢DIVIDEƒLSRMATH2+1¬‰RORMATH2¶‰LDAMATH1À‰SECʉSBCMATH2Ô‰PHAÞ‰LDAMATH1+1è‰SBCMATH2+1ò‰PHAü; ‰BCSOK‰PLA‰PLA$‰BCCITOVFLOW8; BOK‡PLAL‰STAMATH1+1V‰PLA`‰STAMATH1j‰SECt;~ITOVFLOWROLRESHIˆ‰ROLRESHI+1’‰DEXœ‰BNEDIVIDE¦;°; ºONLYREM ĉLDX#16ÎDIVREMƒLSRMATH2+1؉RORMATH2â‰RORTEMP2+1ì‰RORTEMP2ö;‰LDAMATH1 ‰SEC‰SBCMATH2 ‰STAHOLD(‰PHA2‰LDAMATH1+1<‰SBCMATH2+1F‰PHAP‰BCCTOTOBIGZ; d‰ORAHOLDn‰BNEMUCHSMALx;‚‰LDATEMP1Œ‰SEC–‰SBCTEMP2 ‰PHAª‰LDATEMP1+1´‰SBCTEMP2+1¾‰PHAȉBCCTOBIGÒ;܉PLAæ‰STATEMP1+1ð‰PLAú‰STATEMP1‰PLA‰STAMATH1+1‰PLA"‰STAMATH1,‰SEC6‰BCSCONTDIV@;JMUCHSMALPLAT‰STAMATH1+1^‰PLAh‰STAMATH1r‰LDATEMP1|‰SEC†‰SBCTEMP2‰STATEMP1š‰LDATEMP1+1¤‰SBCTEMP2+1®‰STATEMP1+1¸‰BCSNOTOVFLÂ;̉LDAMATH1 Ö‰BNE.1à‰DECMATH1+1ê.1‡DECMATH1ô;þNOTOVFL‚SEC‰BCSCONTDIV; TOBIG„PLA&‰PLA0TOTOBIG‚PLA:‰PLAD‰CLCN;XCONTDIV‚ROLRESLOb‰ROLRESLO+1l‰DEXv‰BNEDIVREM€;ŠSETSGNƒJMPCOMP.RES¨;²POWER2ƒINX¼‰SECÆ.1‡ROLRESHIЉROLRESHI+1Ú‰DEX ä‰BNE.1î‰BEQSETSGNø;RES01„LDAMATH2 ‰ORAMATH2+1 ‰BNERES0 ‰INCRESHI *RES0…RTS4;>RESINFƒLDX#$80 H‰LDY#0R‰LDAMATH1+1\‰EORMATH2+1f‰BMISTOREp;z‰DEX„‰DEYŽSTORE„STXRESHI+1˜‰STYRESHI¢‰RTSÀ; ÊSET.POSÔ‰LDAMATH1+1Þ‰EORMATH2+1è‰STAMSIGNò‰LDAMATH1+1 ü‰BPL.1 ‰LDXMATH1 ‰JSRCOMPL16 ‰STXMATH1$ ‰STAMATH1+1. ;8 .1‡LDAMATH2+1 B ‰BPL.2L ‰LDXMATH2V ‰JSRCOMPL16` ‰STXMATH2j ‰STAMATH2+1t ; ~ .2‡LDA#0ˆ ‰STARESLO’ ‰STARESLO+1œ ‰STARESHI¦ ‰STARESHI+1° ‰RTSÄ ; Î COMPL16Ø ‰STAMTEMP+1â ‰STXMTEMP ì ‰LDA#0ö ‰SEC ‰SBCMTEMP ‰TAX  ‰LDA#0 ‰SBCMTEMP+1( ‰RTS< ; F COMP.RESP ‰LDARESLO Z ‰BPL.1d ‰INCRESLO+1 n ‰BNE.1x ‰INCRESHI ‚ ‰BNE.1Œ ‰INCRESHI+1– .1‡LDAMSIGN  ‰BPLPOS.RESª ; ´ ‰LDY#0¾ ‰SEC È .2‡LDA#0Ò ‰SBCRESLO,YÜ ‰STARESLO,Yæ ‰INY ð ‰CPY#$4 ú ‰BNE.2 ; POS.RES‚RTS" ;6 ‰SEC @ ‰SBC#0J ‰STAMATH1T SINE…LDAMATH1+1V ‰SEC ^ ‰SBC#$40h ‰STAMATH1+1r COSINEƒLDA#0| ‰STAMSIGN† ‰LDAMATH1+1 ‰BPL.1š ‰LDXMATH1¤ ‰JSRCOMPL16® ‰STXMATH1¸ ‰STAMATH1+1 ;Ì .1‡LDAMATH1+1 Ö ‰AND#$C0à ‰BEQLOOK.COSê ; ô ‰LDA#0þ ‰SEC ‰SBCMATH1 ‰STAMATH1  ‰LDA#$80& ‰SBCMATH1+10 ‰STAMATH1+1 : ‰LDA#$FFD ‰STAMSIGNN ; X LOOK.COSb ‰ASLMATH1l ‰ROLMATH1+1v ‰ROLMATH1€ ‰ROLMATH1+1 Š ‰BCSZRES” ;ž ‰ROLMATH1¨ ‰BCCNORDUP² ‰INCMATH1+1 ¼ ‰BEQZRESÆ ;Ð NORDUPƒLDXMATH1+1Ú ‰LDACOS.TABLE,Xä ‰CLC î ‰ADC#$1ø ‰STARESHI  ‰LDA#0 ‰ADC#0 ‰STARESHI+1 ;* .0‡LDAMSIGN 4 ‰BPL.1> ;H ‰LDARESHI+1R ‰LDXRESHI\ ‰JSRCOMPL16f ‰STXRESHIp ‰STARESHI+1z ; „ .1‡RTSŽ ;˜ ZRES…LDA#0¢ ‰STARESHI¬ ‰STARESHI+1¶ ‰RTSÊ ; Ô INVTAN Þ ‰LDA#0è ‰STAMSIGNò ‰LDXMATH1ü ‰LDAMATH1+1 ‰BPL.1‰STAMSIGN‰JSRCOMPL16$.1‡LDAINV.TAN.HI,X.‰PHA8‰LDAINV.TAN.LO,XB‰TAXL‰PLAV‰LDYMSIGN `‰BPL.2j‰JSRCOMPL16t.2‡STARESHI+1~‰STXRESHIˆ‰RTS’;œSET256ƒLDXRESHI+1¦‰INX °‰CPX#2º‰BCSSET.INFÄ;ΉDEX؉TXAâ‰EORRESHIì‰BMISET.INFö;‰LDARESHI ‰STARESHI+1‰LDARESLO+1‰STARESHI(‰RTS2;<SET.INF‚LDX#$7F F‰LDY#$FFP‰LDARESHI+1Z‰BMINEG.INFd;nSAVE…STXRESHI+1x‰STYRESHI‚‰RTSŒ;–NEG.INF‚INX ‰INY ª‰BEQSAVEÒ; ÜCOS.TABLEæ†.HSFFFFFFFFFFFFFFFFFFð†.HSFFFFFEFEFEFEFEFEFEú†.HSFDFDFDFDFDFCFCFCFC†.HSFBFBFBFBFAFAFAF9F9†.HSF9F8F8F8F7F7F7F6F6†.HSF5F5F4F4F4F3F3F2F2"†.HSF1F1F0F0EFEEEEEDED,†.HSECECEBEAEAE9E8E8E76†.HSE6E6E5E4E4E3E2E2E1@†.HSE0DFDFDEDDDCDBDBDAJ†.HSD9D8D7D6D6D5D4D3D2T†.HSD1D0CFCECECDCCCBCA^†.HSC9C8C7C6C5C4C3C2C1h†.HSC0BFBEBDBCBBB9B8B7r†.HSB6B5B4B3B2B1B0AEAD|†.HSACABAAA9A7A6A5A4A3††.HSA1A09F9E9C9B9A9997†.HS9695949291908F8D8Cš†.HS8B8988878584838180¤†.HS7F7D7C7A7978767574®†.HS72716F6E6C6B6A6867¸†.HS65646261605E5D5B5A†.HS5857555452514F4E4C̆.HS4B494846454342403FÖ†.HS3D3C3A393736343231à†.HS2F2E2C2B2928262523ê†.HS21201E1D1B1A181715ô†.HS1312100F0D0C0A0807þ†.HS05040201&;0INV.TAN.HI)D†.HS00000000000000010101010101020202)N†.HS02020203030303030303040404040404)X†.HS05050505050506060606060606070707)b†.HS07070708080808080808090909090909)l†.HS090A0A0A0A0A0A0B0B0B0B0B0B0B0C0C)v†.HS0C0C0C0C0C0D0D0D0D0D0D0D0E0E0E0E)€†.HS0E0E0E0F0F0F0F0F0F0F0F1010101010)Š†.HS10101111111111111111121212121212)”†.HS12131313131313131314141414141414)ž†.HS14141515151515151515161616161616)¨†.HS16161617171717171717171718181818)²†.HS18181818181919191919191919191A1A)¼†.HS1A1A1A1A1A1A1A1A1B1B1B1B1B1B1B1B)Ɔ.HS1B1B1B1C1C1C1C1C1C1C1C1C1C1D1D1D)І.HS1D1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E)Ú†.HS1E1E1E1E1F1F1F1F1F1F1F1F1F1F1F1Fî;øINV.TAN.LO) †.HS0029517AA3CCF41D466F97C0E9113A62)†.HS8BB4DC052D567EA7CFF720487099C1E9) †.HS11396189B1D901295178A0C8EF173E66)*†.HS8DB5DC032A51789FC6ED143B6188AED5)4†.HSFB22486E94BAE0062C51779DC2E70D32)>†.HS577CA1C6EB1034597DA2C6EA0F33567A)H†.HS9EC2E5092C507396B9DCFF21446789AB)R†.HSCEF01234567799BBDCFD1F406182A3C3)\†.HSE40525456686A6C6E60525446483A2C1)f†.HSE0FF1E3D5B7A98B7D5F3112F4C6A88A5)p†.HSC2E0FD1A3754708DAAC6E2FE1B37536E)z†.HS8AA6C1DDF8132E49647F9AB4CFE9041E)„†.HS38526C869FB9D3EC051F38516A839CB4)Ž†.HSCDE5FE162E465E768EA6BED5ED041B33)˜†.HS4A61788EA5BCD3E9FF162C42586E849A)¢†.HSB0C5DBF0061B30455A6F8499AEC3D7EC