PS2DEV network    

  > HOME
  > ABOUT

  > FORUMS
  > VIEW SVN
  > MAILING LIST
  > WIKI
  > QUOTES
  > DOCS

 PS2
  > TUTORIALS
  > LOADERS
  > TOOLS
  > SAMPLE CODE
  > DEMOS
  > PROJECTS

 PSP
  > TUTORIALS
  > TOOLS
  > DEMOS
  > PROJECTS

 PS3
  > LINKS
  > TUTORIALS
  > TOOLS
  > DEMOS
  > PROJECTS

   RSS


 USER ID (register)
 
 PASSWORD
 



 
  Foot Of Perpendicular
void FootOfPerpendicular(void *v0, const void *va, const void *vb, const void *vp)
{
    asm __volatile__ ("
        lqc2        vf16,0x00(%1)       # va
        lqc2        vf17,0x00(%2)       # vb
        lqc2        vf18,0x00(%3)       # vp

        vsub.xyz    vf19,vf17,vf16      # v = vb - va

        vsub.xyz    vf20,vf16,vf18      # vf20 = (va - vp) * v
        vmul.xyz    vf20,vf20,vf19

        vmulax.w    ACC,vf00,vf20x      # vf20.w = vf20x + vf20y + vf20z
        vmadday.w   ACC,vf00,vf20y
        vmaddz.w    vf20,vf00,vf20z

        vmul.xyz    vf21,vf19,vf19      # vf21 = v^2
        vsuba.w     ACC,vf00,vf00       # vf21.w = 0 - vf21.x - vf21.y - vf21.z
        vmsubax.w   ACC,vf00,vf21x
        vmsubay.w   ACC,vf00,vf21y
        vmsubz.w    vf21,vf00,vf21z

        vdiv        Q,vf20w,vf21w       # Q = vf20.w / vf21.w

        vadda.xyz   ACC,vf00,vf16       # vf18 = va + v * Q
        vwaitq
        vmaddq.xyz  vf18,vf19,Q

        sqc2        vf18,0x00(%0)
        "
        : /* No Output */
        : "r"(v0), "r"(va), "r"(vb), "r"(vp)
        : "memory"
    );
}
	


  > Locked
  > Edit Topic
  > Add Topic
  > Add Link
  > Add File
  > Move Topic
  > Delete Topic
  > Order Topics
  > Versions

Owned by oobles
last updated by oobles on Fri Dec 07 00:00:00 GMT 2001
 
Site Content Copyright 2001-2007 © Authors. Read Legal Statement for Information
LiveKnowledge Software by Live Media