Jump to content

Known DSP bug?


Recommended Posts

I'm going back to my 3D engine and I'm moving part of it to the DSP.

I encountered a strange behaviour:

  movei #_nTriAdd,r0
  store rNAdd,(r0)

This randomly craps out. The correct value is not always stored at _nTriAdd.

I found a fix:

  movei #_nTriAdd,r0
  or  r0,r0
  store rNAdd,(r0)

Does it ring a bell to anyone?



Link to comment
Share on other sites

I don't have read or uncounter this sort of bug (from what I remind, but I haven't play much with the DSP)


Does _nTriAdd in external memory ?

Is there a load somewhere before ?

Does rNAdd comes from a long instruction (as div?)


I would suspect the #1 or  #7 in the "Hardware Bugs" reference manual.


Edited by SCPCD
  • Like 3
Link to comment
Share on other sites

Yes, _nTriAdd is in external memory.


About the load instruction, this was my first suspicion but any load instruction is complete before the store.


rNAdd comes from a short instruction (addq #1,rNAdd).


Thank you for your feedback! It indeed looks a bit like one of the hardware bugs in the manual but it doesn't match exactly one.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...