Post Reply 
[wp34s] The Matrix Reloaded patches
07-02-2015, 11:52 AM (This post was last modified: 07-02-2015 12:16 PM by emece67.)
Post: #10
RE: [wp34s] The Matrix Reloaded patches
(07-02-2015 06:46 AM)Paul Dale Wrote:  It would be easy enough to add an extra xIN flag to avoid the switch to double which could be useful elsewhere.

I tried that and it worked indeed. But my big concern with the xIN/xOUT approach was my inability, despite my efforts, to be able to access matrices stored in local register from inside the xIN/xOUT environment.

(07-02-2015 06:46 AM)Paul Dale Wrote:  I thought matrices could be allocated in locals, the code looks like it tries to allow that. Maybe this isn't useful inside xIN/xOUT which creates a very limited stack in volatile RAM.

They can. The "built-in" matrix commands are written in C and they can reach such matrices without problems. The issue is reaching such matrices from inside xIN/xOUT, or from inside LocR, as the new frame these environments create hides the frame where the matrices are stored.

(07-02-2015 06:46 AM)Paul Dale Wrote:  The big issue I see with IINIT is it destroys the I register which isn't good for the user. You could allocate a local register frame with the LocR command and use those flags/registers if xIN/xOUT aren't working.

I agree with you, I tried my best to circumvent the problem of accessing matrices stored in locals from XROM code and ended up with this sub-optimal solution. As I said before, using LocR will also prevent access to such matrices.

Edited: perhaps adding a i[->], [->]i pair working as A..D[->] and [->]A..D would do the trick. Not elegant, but better for the user.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: [wp34s] The Matrix Reloaded patches - emece67 - 07-02-2015 11:52 AM



User(s) browsing this thread: 2 Guest(s)