Cogl: Opengl Dialect For Casio Calculators
#81
Posted 23 August 2006 - 10:20 PM
Perhaps I should communicate here instead.
I was thinking about those txt-files... one solution would be if I send you the rar-file which I've prepared so that all you need to do is to alter those lines of code yourself which you see fit.. then upload the modified rar-file to me or upload to FS yourself. Any preferences? Of course, this is only if you feel you're up for the task, else just say no.
P.S. Never mind the AFX/FX-9860G confusion. I must have mixed them up somehow .
#82
Posted 24 August 2006 - 12:38 AM
I haven't had much time to play around with FX-GL2 yet, I just uploaded it to my 9860 this afternoon, however as I siad, I did found a couple of bugs.
Right now I do not have the time for a long post(sorry) but tomorrow I'l make and edit and explain my problems:)
About the other thing, no worrys about spaming my inbox , as you might have noticed I too, posesse an gmail acount, and with those the more the better, pratically ilimited space.
You could e mail me the .zip or .rar with everything packed up providing you don't mind, if you haven't done it already (haven't checked out my mail yet).
I'll then change some lines of code that I see fit (color issues)
Sorry for spamming your inbox NPS
And please do not adress me with NPS, you may call me what most of my friends do Sousa. Thing is , I actually like the Lord thing (since I am from an ancient portuguese "lineage" of nobility,even though portugal has been a republic for now nearly 100 years, and it looks cool on on-line gaming) but NPS alone is just plain lame so use Sousa, which is more a little more close than Lord
#83
Posted 24 August 2006 - 04:55 PM
Well actually I feel pretty up for the task and I have a few "bugs" that might be errors from my calculator in specific, nonetheless, i would like to check out .
Sure, they're probably just typos since my calc-PC interface doesn't work and I type it in manually.
Ah, I'm looking forward to hear about them.I haven't had much time to play around with FX-GL2 yet, I just uploaded it to my 9860 this afternoon, however as I siad, I did found a couple of bugs.
Of course. Take your time.Right now I do not have the time for a long post(sorry) but tomorrow I'l make and edit and explain my problems:)
Sure, I'll send it ASAP.You could e mail me the .zip or .rar with everything packed up providing you don't mind, if you haven't done it already (haven't checked out my mail yet).
I'll then change some lines of code that I see fit (color issues)
Oh, my sincere apologies for my ignorance mi'lord. LordNPS it will be.And please do not adress me with NPS, you may call me what most of my friends do Sousa. Thing is , I actually like the Lord thing (since I am from an ancient portuguese "lineage" of nobility,even though portugal has been a republic for now nearly 100 years, and it looks cool on on-line gaming) but NPS alone is just plain lame so use Sousa, which is more a little more close than Lord
#84
Posted 24 August 2006 - 11:24 PM
No need.. just call me Sousa as I said, it's my real surname, now that I mentioned about that "real" Lord thing it is not aprotpriate, it would seam as if I intended people to recognize myself a superior social status or something (wich is not nice, people might get the feeling that I am "full of myslef" of sorts)Oh, my sincere apologies for my ignorance mi'lord. LordNPS it will be.
Well let's start with this bug and its (hopefull) coreection:
Bug numero uno :
In the program GLINITE , you have in the second line of code :
Seq(0,Y,1,@+not@,1)->list 6Well this does always return a sintax error, I deleted that Not @ part and it worked just fine, any problem in removing "not @"?
Sorry I had in mind posting a few more bugs , but meanwhile decided to read the e-mail and saw plenty to be done, so sorry for this postpostpone.(and Dr. House is now starting)
And by the way, some of the text files in the zip were all messed up.The Fx-Gl and Readme are not, yet all others are witha simple "end of line" problem, as my notepad, apears not to recognize the square as an enter.
Thinking about it, I'll rather mail about it
I've worked a bit already on the cat thing... I think I'll be ready for a release tomorrow
#85
Posted 25 August 2006 - 02:01 AM
You could try replacing the @+Not @ expression with @+(@<>0) if that works better, but it should really work with Not.
Now, the reason for this expression has to do with when @ = 0 and @ = 1. They both produce a single edge element, but @ = 0 also sets the value via X. As you can see, 0+Not 0 = 0+1 = 1, and 1+Not 1 = 1+0 = 1.
Thus you get a one element list in both cases.
Try typing it in by hand if you used your link. If memory serves, when I used my link some years back, I got a syntax error for a entirely correct program. I checked the code multiple times, token by token, and couldn't find anything wrong. Then I replaced the tokens just at the marker where the Syn Error appeared, and that did the trick. This is a very odd kind of bug (there probably is a sound explanation for it) and retyping that line might solve it, unless you've already tried it. Other than that I don't have any further suggestions as of now.
#86
Posted 25 August 2006 - 12:33 PM
Well,Why can't you just type "1" then, if both results are "1" unless you are counting with other values of course 5,6 for example.Now, the reason for this expression has to do with when @ = 0 and @ = 1. They both produce a single edge element, but @ = 0 also sets the value via X. As you can see, 0+Not 0 = 0+1 = 1, and 1+Not 1 = 1+0 = 1.
Thus you get a one element list in both cases.
About
Try typing it in by hand if you used your link. If memory serves, when I used my link some years back, I got a syntax error for a entirely correct program. I checked the code multiple times, token by token, and couldn't find anything wrong. Then I replaced the tokens just at the marker where the Syn Error appeared, and that did the trick. This is a very odd kind of bug (there probably is a sound explanation for it) and retyping that line might solve it, unless you've already tried it. Other than that I don't have any further suggestions as of now.
I have tryied out tha already, sorry didn't work.
Well, I guess I can always make an If statement ... perhaps it will not be so optimized, nonetheless it might work.
Now other things, just a few problems :
In GLGENGLP " Not Ans=>Goto 0
"not ans" it always returns a Ma Error. (Bloody Calc )
In the program Walk, with the Lists sugested in the documentation,the image output is this :
Well just seams a little bit to messy to be on purpose
oh there was a small typo in 3D Graph too, just replaced f1 with fn1 and it worked fine...
and by the way now I see what you fully mean with surface ploter. this is tottaly difrent from my 3D grapher, it takes a whole lot more of time, but displays the whole surface... mine displays the surface as a grid, so it uses infinitly less points, which alows an easier and faster manipulation, of course the result in not as complete as the one your displays, that sin(x2+y2... gives up a pretty amazing result.
#87
Posted 25 August 2006 - 11:25 PM
Well,Why can't you just type "1" then, if both results are "1" unless you are counting with other values of course 5,6 for example.
Yes, it is because you can tell it to produce several edge elements, like 5 or 6 as you suggested. This is how it works. Assume X = 2.5 then:
@ = 0 => {2.5} @ = 1 => {0} @ = 2 => {0,0} @ = 3 => {0,0,0} etc..The GLINITV function works in the same manner.
So, did you try exchanging Not @ with (@<>0) in the sequence statement? That didn't help?About
I have tryied out tha already, sorry didn't work.
Well, I guess I can always make an If statement ... perhaps it will not be so optimized, nonetheless it might work.
I can understand your frustration. This whole thing is making me suspect the Basic code is parsed differently in FX-9860G compared to the CFX-9950G.Now other things, just a few problems :
In GLGENGLP " Not Ans=>Goto 0
"not ans" it always returns a Ma Error. (Bloody Calc )
Also here... try change it to Ans<>0=>Goto 0, that should work.
Hm... it appears there is a fundamental difference in how stat draw works between our two machines.In the program Walk, with the Lists sugested in the documentation,the image output is this :
...
Well just seams a little bit to messy to be on purpose
I think it is the skip-line elements in the edge list (those elements with zero in it) that has been rendered somehow.
In the Fill(-statement in GLDRAW, try to change -1 to some even larger number, like -100. I suspect it wont make much difference, but it's worth a shot. You might also want to try to add an extra line under the fill statement: List 4->List 5, that might help. If neither of these hacks works, then it appears that StatDraw actually performs linear interpolation for lines outside the view, just like GLLINE works. This is both bad and good. The good thing is that the boxes doesn't dissapear when they intersect the borders of the screen, the bad thing is that all objects will be connected to each other no matter what you do.
Btw, set AxesOff to get rid of the black lines at the left and bottom of the screen.
Interresting. In my calculator it is called f1. Seems to be an upgrade in the Basic language.oh there was a small typo in 3D Graph too, just replaced f1 with fn1 and it worked fine...
Oh, thanxand by the way now I see what you fully mean with surface ploter. this is tottaly difrent from my 3D grapher, it takes a whole lot more of time, but displays the whole surface... mine displays the surface as a grid, so it uses infinitly less points, which alows an easier and faster manipulation, of course the result in not as complete as the one your displays, that sin(x2+y2... gives up a pretty amazing result.
The plotter is on the one hand quite configurable, but on the other hand it isn't very easy to make the clipping planes follow the camera views and x,y-limits, this must be tweaked manually... or alternatively one could make a heuristic for altering the clipping planes with respect to the point of view and the surface parameter limits.
Btw you can increase the step size to produce surfaces with fewer points in them.
#88
Posted 25 August 2006 - 11:47 PM
About the basic, yes there might be some small little changes (there should be plenty of them as casio basic does totaly sucks as we all know, oh well I guess I shouldn't complain, after all, they are some kind of asian people so I guess that the fact that it is in english and similiar to basic is in itself something to rejoyce)
Now About the Gldraw , I use -300, because the draw stat draws until a ceirtan value , I think it is roughly a view window in every direction...
anyways
I am going to work a bit on the .cat then I'll e-mail it to you.
I changed somethings in the documentation, simply removed the bloody coulor issues ( even thought it is not necessary as my calc ignores them, yet this way it will stay cleaner)
#89
Posted 26 August 2006 - 08:20 PM
Oops!!! My bad. It should be @ = 0, not @<>0. (Yes, @<>1 won't work either).That <>1 does not work shame.
That is, in GLGENGLP: Ans=0=>Goto 0
and in GLINITE: Seq(0,Y,1,@+(@=0,1->list 6
Try that, and it'll probably work better .
Seems I forgot to enable my brain back there.
Now About the Gldraw , I use -300, because the draw stat draws until a ceirtan value , I think it is roughly a view window in every direction...
anyways
I am going to work a bit on the .cat then I'll e-mail it to you.
Oh, so you're gonna make cat files instead of g1m-files?
Anyway, it is good that you've found a hack for making GLDRAW work. That's wonderful news!
So, how does the WALK program perform?
Sure. I'll run a diff on the files l8r to see what exactly you've changed.I changed somethings in the documentation, simply removed the bloody coulor issues ( even thought it is not necessary as my calc ignores them, yet this way it will stay cleaner)
#90
Posted 27 August 2006 - 03:06 PM
I can understand your frustration. This whole thing is making me suspect the Basic code is parsed differently in FX-9860G compared to the CFX-9950G.
Also here... try change it to Ans<>0=>Goto 0, that should work.
That did work
About that problem in GLINITE none of those worked out, but amazingly @+(@=0) does work. (with parenthesis only)
Well I got the CAT files, after spending 10 m copy pasting text, I found out all I had to do was to go to tools, conversion, Fx9860 - AFX and it did it all automaticly.well done myself.
And sorry for the late response ended up in the hospital last night
Edit : And the wlak program performs quite slowly... I don't know what frame rate you get, but I am sure it must be impeditive.I get something like 3spf or perhaps even more... didn't crhonmetered it...
#91
Posted 27 August 2006 - 04:28 PM
About that problem in GLINITE none of those worked out, but amazingly @+(@=0) does work. (with parenthesis only)
Yes... it should . The parenthesis must be there or else the Basic interpreter think you mean (@+@)=0. Note that you don't need trailing parentheses. You can save a few extra bytes by instead writing:
Seq(0,Y,1,@+(@=0,1->List 6
Hmm.. you know, you don't need to convert to any other format. If the previous format works ok, then we can use that. Only important thing is that it works.Well I got the CAT files, after spending 10 m copy pasting text, I found out all I had to do was to go to tools, conversion, Fx9860 - AFX and it did it all automaticly.well done myself.
And sorry for the late response ended up in the hospital last night.
Sorry to hear you've been hospitalized. How serious was it?
Hehe, I never said it was fast . Well, it does something about 10-12 spf on mine, and you say it is slow with 3 spf *pfft* . Then you should try enabling the GLLINE mode by setting the If 0-statement to If 1. Then we can really talk about slo-mo!And the wlak program performs quite slowly... I don't know what frame rate you get, but I am sure it must be impeditive.I get something like 3spf or perhaps even more... didn't crhonmetered it...
#92
Posted 29 August 2006 - 04:01 AM
--------------------------------------------------------------------
Rasmus, I've downloaded all the fx-gl programs to the calculator.
The 3D surface of sin(X^2+Y^2)/(X^2+Y^2) is very impressive.
The Shapedemo is pretty good too.
I tested in on the 9860 and then on a 9850GC+
The 9850 is much slower.
But the 9860 is great. It looks like you could program Elite to run on it.
I couldn't get everything to work.
The pyramid in shapedemo has lines going to the origin.
In GLGENGLP there are a couple of lines:
r=91=>1245+4545i
Not Ans=>Goto 0
which cause a Ma Error due to Not'ing a complex number
I don't know if LordNPS has already done this but
I've put FX-GLUT into .cat which I can email you.
However I found that FA-124 and 123 and 122 all corrupted the GLTEAPOT
program area. Perhaps they don't like lines that long.
I downloaded fx-gl.cat and fx-gl_ex.cat from your website and found
fx-gl.cat had syn errors a number of times where there was the variable polar 'r'.
It didn't happen at every 'r' which makes me think the cat files were manually
altered after the txt->cat or g1m conversion. You can type r into txt but
not into fxi/cat/g1m after its been converted- the r on the keyboard is not the same
as the variable r even though the fxi/cat/g1m fonts do not show much difference in
appearance. I can email you a modified fx-gl.cat with the r's put back in.
--------------------------------------------------------------------
What follows below is about using Casform to do the conversion.
I think it's best to just use search..replace.. in a text editor
to change unrecognised symbols into CTF.
To get FX-GL to work in Casform:
Search for
&
replace with
\10^
E Exponential operator (wherever appropriate).
This can be replaced using regular expressions.
e.g. 5E5 can only mean the EXP button as E5 with a variable would be a syn error.
Using the editor TextPad (http://www.textpad.com/)
which has regular expressions:
Search for
\([0-9]\)E\([0-9]\)
replace with
\1\\exp\2
Using E for the EXP button is something I could add to Casform
although it would only work for positive exponents:
e.g. 5E-5 could not be distinguished from 5*E - 5.
--------------------------------------------------------------------
To get the program titles in CTF form to make the output easier to read
I used regular expressions in TextPad:
Search for
--.*$
replace with
@@ Program
then
Search for
\(^.*$\)\n@@ Program
replace with
@@ Program "\1"
This changes for example
GLCYLNDR
--------
into
@@ Program "GLCYLNDR"
This doesn't change the output of each program, it just means you can
paste the whole lot into Casform in one go and it is easier to pick out each
program area from the output for copying.
--------------------------------------------------------------------
#93
Posted 29 August 2006 - 07:52 PM
Oh, thanx Roy! I'm glad you liked it!Rasmus, I've downloaded all the fx-gl programs to the calculator.
The 3D surface of sin(X^2+Y^2)/(X^2+Y^2) is very impressive.
The Shapedemo is pretty good too.
The lookat-parameters got a little complicated so it might be hard for some people to learn from, but at least the app serves as a decent tool for evaulating models, I guess.
The flight simulator, right?I tested in on the 9860 and then on a 9850GC+
The 9850 is much slower.
But the 9860 is great. It looks like you could program Elite to run on it.
Yeah, at least in theory. It would be a pain to fly a plane, don't you think? .
Hmm.. that is odd. The other models doesn't share this bug do they?I couldn't get everything to work.
The pyramid in shapedemo has lines going to the origin.
Hmm.. judging by LordPNS's bugreport about Not Ans above, it seems that 9850 and 9950 can handle logical operations on complex numbers whereas 9860 can't. I think LordPNS has sent me the FX-GL 2.0 release for 9860, but I haven't checked my mail for a while (had my first day at work this monday, so I'm working on adjusting myself to this new situation).In GLGENGLP there are a couple of lines:
r=91=>1245+4545i
Not Ans=>Goto 0
which cause a Ma Error due to Not'ing a complex number
A fix for this is to replace the statement with Ans=0=>Goto 0
Aha, I think he has, but please send it to me anyway... I'll make a diff between the two and pick the goodies (no offense meant).I don't know if LordNPS has already done this but
I've put FX-GLUT into .cat which I can email you.
Oh, how interesting!! . Hmm... annoying too, since that is one of those programs you really want to avoid typing in manually . Is it possible to salvage something from the transfered program, or do you have to type it all in manually?However I found that FA-124 and 123 and 122 all corrupted the GLTEAPOT
program area. Perhaps they don't like lines that long.
Oh, I wasn't aware of that! Thanks for pointing that out!I downloaded fx-gl.cat and fx-gl_ex.cat from your website and found
fx-gl.cat had syn errors a number of times where there was the variable polar 'r'.
It didn't happen at every 'r' which makes me think the cat files were manually
altered after the txt->cat or g1m conversion. You can type r into txt but
not into fxi/cat/g1m after its been converted- the r on the keyboard is not the same
as the variable r even though the fxi/cat/g1m fonts do not show much difference in
appearance. I can email you a modified fx-gl.cat with the r's put back in.
Yes please do that. I've realized that having a job has a certain impact on the timespan for my sparetime .
Ahh.. good that you pointed that out. I should put that information in the readme.--------------------------------------------------------------------
What follows below is about using Casform to do the conversion.
---8<--- snip ---8<---
#94
Posted 29 August 2006 - 08:44 PM
...And yes, the edge generation is optimal.
Here's the code for those of you who have little patience to wait for a future rerelease of FX-GLUT (byte "optimizations" currently disregarded):
File5 Dim List 5->M 'N=SLICES Rad For 0->I To M-1 For 0->J To N-1 File5 List 5[I+1]->Z List 6[I+1]->r rcos (2piJ/N)->X rsin (2piJ/N)->Y If (I+J)=0 Then 0->@:Prog "GLINIT" 1->X:Prog "GLINITE" Else Prog "GLADDV" NI+J+1->X:Prog "GLADDE" If J=N-1 Then NI+1->X:Prog "GLADDE" IfEnd IfEnd Next Next For 1->J To N-1 For 0->I To M-1 If Frac (J/2) Then N(M-1-I)+J+1->X Else NI+J+1->X IfEnd Prog "GLADDE" Next Next
Arguments:
segment offset = File5:List 5
segment radius = File5:List 6
tube slices = N
This example produces a rocket nozzle (well almost) which is axis-aligned with the x-axis:
File5 {0,1,1.5,1.7,2.2}->List 5 %offsets {1,.7,.2,.33,.33}->List 6 %radiuses 9->N %slices Prog "GLTUBE" -1.1->Z:0->X~Y:Prog "GLTRANSL" %center about origin Deg:90->@:0->X~Z:1->Y:Prog "GLROTATE" %align with x-axis instead of z-axis Mat RMat TMat X->Mat Xview with the SHAPEDMO app.
Enjoy...
#95
Posted 30 August 2006 - 02:34 AM
Nothing to do again at least in the next 2 months...
Sorry for not being around, and not e-mailing you those .cat and .g1m, i will do so right away, they were ready about 4 days ago or something, just haven't had time since
#96
Posted 30 August 2006 - 07:06 PM
---8<---
... and smoked cigars which pissed the crap out of my parents, well as I said, We ended all in the hospital in prospects of alcoholic coma...
Nothing to do again at least in the next 2 months...
---8<---
#97
Posted 31 August 2006 - 09:50 PM
#98
Posted 01 September 2006 - 01:09 AM
Are there any complains something I might have skiped or forgotten or missdone?
If there are it's cool, you can say so , I have e-mailed the CAT's to you... I assume you have recieved them... right?
#99
Posted 01 September 2006 - 06:39 AM
Did I forgot something in the cat files?
Are there any complains something I might have skiped or forgotten or missdone?
If there are it's cool, you can say so , I have e-mailed the CAT's to you... I assume you have recieved them... right?
There is a problem with the 'r' variable. See quote:
I downloaded fx-gl.cat and fx-gl_ex.cat from your website and found
fx-gl.cat had syn errors a number of times where there was the variable polar 'r'.
It didn't happen at every 'r' which makes me think the cat files were manually
altered after the txt->cat or g1m conversion. You can type r into txt but
not into fxi/cat/g1m after its been converted- the r on the keyboard is not the same
as the variable r even though the fxi/cat/g1m fonts do not show much difference in
appearance. I can email you a modified fx-gl.cat with the r's put back in.
Rasmus, I sent you files to your hotmail address and they were bounced back,
so I sent them also to your etek.chalmers address.
Perhaps you could confirm which is your working address.
In the meantime I've put a file called rfx-gl.cat on the page:
http://members.lycos.co.uk/rfam/
My calculator collection now includes the Algebra FX 2.0 Plus
Here's a comparative test:
The below results are for the CUBETEST1
Speed:
---------
AFX2+ - Slowest
9850G, 9850GC+, 9970G - all the same
9860G - Fastest
Not Ans (for complex Ans):
------------------------------
AFX2+, 9860 - Ma Error
9850G, 9850GC+, 9970G - works fine
Other Differences:
---------------------
9850G - displays StatGraph3 at top of screen
#100
Posted 02 September 2006 - 11:09 PM
Ah, ok. I thought you would use my gmail-address. I'll check my etek account. Just for further notice, since I've graduated, I'll try to close my account there eventually. Rather use my gmail account (stated in the header of the FX-GL doc).Rasmus, I sent you files to your hotmail address and they were bounced back,
so I sent them also to your etek.chalmers address.
Perhaps you could confirm which is your working address.
I'll check etek .
Ah nice! Thx. I've already downloaded them.In the meantime I've put a file called rfx-gl.cat on the page:
http://members.lycos.co.uk/rfam/
Oh, so it wasn't just me that didn't succeed in getting rid of that text. Oh, well. If it is only the 9850/9950 that is affected, there isn't much to worry about I guess. It is just a matter of cosmetics.My calculator collection now includes the Algebra FX 2.0 Plus
Here's a comparative test:
The below results are for the CUBETEST1
Speed:
---------
AFX2+ - Slowest
9850G, 9850GC+, 9970G - all the same
9860G - Fastest
Not Ans (for complex Ans):
------------------------------
AFX2+, 9860 - Ma Error
9850G, 9850GC+, 9970G - works fine
Other Differences:
---------------------
9850G - displays StatGraph3 at top of screen
About that Not Ans thing.. Changing it to Ans=0 might work. If even that doesn't work, either of the following drastic measures might work: (ReP Ans)=0 or Not ReP Ans.
So, A third platform aye? That's neat. Only sad that the AFX2+ is even slower. I only wonder, how much of the API:s did you need to change to make them work with the AFX2+?
Did I forgot something in the cat files?
Are there any complains something I might have skiped or forgotten or missdone?
If there are it's cool, you can say so , I have e-mailed the CAT's to you... I assume you have recieved them... right?
Yes I've got the files alright .
I cannot complain about anything as of now, since I haven't had the time to look at the contents.
I expect to do that tomorrow (sunday). Hopefully, it is ready to be released tomorrow too.
And then we have the CFX-backend. Gotta make a 2.0.1 for that one too. So I think there'll be a 2.0.1 release for both CFX and 9860. Seems to be fair.
It is quite a new situation for me to have a job. So all the sparetime I used to have disappeared all of a sudden . Well I got some sparetime, but not in the same extent as before. So considering me having other hobbies as well, maintaining the code will be a bit crippled for now on.
#101
Posted 03 September 2006 - 12:03 PM
About that Not Ans thing.. Changing it to Ans=0 might work. If even that doesn't work, either of the following drastic measures might work: (ReP Ans)=0 or Not ReP Ans.
So, A third platform aye? That's neat. Only sad that the AFX2+ is so slow. I only wonder, how much of the API:s did you need to change to make them work with the AFX2+?
The cubetest works on afx without any changes.
But on AFX File5 seems to have to be entered as File 5 when done manually,
but still accepts File5 from a transfer program.
9860 can get File5 from the catalog function, but File 5 from the usual set-up menu.
I've just run
'DISPLAYS THE TEXT "CASIO"
File6
{56,76,43,55,54}->List 2
Prog "GLGENTXT"
changing File6 to File5 as per forum post (File 5 on the afx)
and got the following results:
9850G -immediately says Arg Error and takes me back to line 2 of GLGENTXT
-so I change it to File6 and Run it again
-it takes a second and then says Ma Error and takes me to the Not Ans
-in RUN mode checking Ans, it is 5115+1177i, Not Ans gives 0,
and Not Ans=>Goto 0 does nothing except display Ans which is now zero
-so I change the line to Ans=0=>Goto 0 and Run it again
- it takes a couple of seconds and then says Syn Error and takes me to GLINITV
to Then X->Mat X 1 with the cursor at Mat
-in RUN mode checking X it is 0.7+0.7i which is complex so won't go in a Matrix
-I get the idea to clear all lists in all files and then rerun
-it goes Syn Error in GLINITV as above
9850GC - with File5 in the example it behaves like the 9850G
- changeing it to File6 and clearing all files and lists beforehand
it says Dim Error and goes to GLCPYOBJ to line 2 at the -> where it says List 6->List 3
9970G - with File5 it behaves like 9850G,
- changing it to File6 it does the Not Ans Ma Error,
- changing to Ans=0 and rerunning it tuns without error messages but does nothing
except display Matrix Y which only contains a single entry 1
- clearing all files and lists and rerunning, it takes several seconds and then displays Matrix Y
9860G - start by changing to Ans=0, clearing all lists, using File6 in the Example
- all it does is display Matrix Y which is 1
- doing the same but with File 5 in the example gives Dimension Error in GLGENTXT
AFX - start by changing to Ans=0, clearing all lists, using File6 in the Example
- does nothing except say Done
I used the fx-gl.cat and fx-gl_ex.cat from
http://rasmus.anthin...0_programs.html
editing the fx-gl to put \r back in, in a few places
and got fx-glut.txt from
http://81.216.168.22...eng/fx-glut.txt
which I converted to g1m for the 9860 using casform
and then converted g1m to cat using FA-124 and downloaded to other calcs using FA-123.
I guess it will take a while to figure out what's going on.
I'm going to reread this whole thread to see what's been said about making changes
for different models, and also check that the g1m and cat files contain the same data.
P.S. Not related but: the different models use different amounts of memory
for program areas. A new program with no data in it:
9850G doesn't display, but if I remember from the System Memory it is 17 bytes
9850GC+,9970G 17 bytes
afx2+ 24 bytes
9860G 32 bytes
#102
Posted 03 September 2006 - 02:45 PM
1) On the GC I had used Ans<>0 instead of Ans=0, and I had a missing -> somewhere
2) By clearing all data before running the program: all lists, all matrices, all variables etc
Now the example:
File6
{56,76,43,55,54}->List 2
Prog "GLGENTXT"
runs the same on all models:
it does nothing except display the contents of Matrix Y which is 1,
except the afx which just says Done.
#103
Posted 03 September 2006 - 07:31 PM
Ah, that would be it. Some posts ago, I stated that Not Ans could be replaced with Ans<>0 which is quite wrong .Okay, all those differences between models are illusions, they are solved by:
1) On the GC I had used Ans<>0 instead of Ans=0, and I had a missing -> somewhere
Hmm... that's strange. That shouldn't be necessary really. The GLINIT* routines should initialize lists and matrices properly. Perhaps other models except for the CFX ones need to be initialized in a different way.2) By clearing all data before running the program: all lists, all matrices, all variables etc
Yes this is correct. Now the geometry is loaded into memory. Once this is done, you can render the geometry with an application such as SHAPEDMO or use some other routine which sets up the projection matrix and calls GLDRAW or GLFDRAW.Now the example:
File6
{56,76,43,55,54}->List 2
Prog "GLGENTXT"
runs the same on all models:
it does nothing except display the contents of Matrix Y which is 1,
except the afx which just says Done.
To render, simply run SHAPEDMO and select option 10.
Now, I discovered a typo in FX-GLUT concerning GLTEAPOT. The big matrix chunk should be assigned to Mat X. As it is now, there is a File6 there instead:
....,.8,.6][1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1File6 ...But it should rather be
,.8,.6][1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1->Mat X File6 ...
Now, the teapot should hopefully work for you.
#104
Posted 03 September 2006 - 08:23 PM
I'll see if I can work more on the CFX files tomorrow and wrap it up for version 2.0.1. Then I'll take care of the 9860 stuff.
#105
Posted 03 September 2006 - 08:46 PM
I'll investigate it.Perhaps other models except for the CFX ones need to be initialized in a different way.
Thanks. I suppose it would help if I :r-t-f-m:Yes this is correct. Now the geometry is loaded into memory. Once this is done, you can render the geometry with an application such as SHAPEDMO or use some other routine which sets up the projection matrix and calls GLDRAW or GLFDRAW.
To render, simply run SHAPEDMO and select option 10.
Now, I discovered a typo in FX-GLUT concerning GLTEAPOT. The big matrix chunk should be assigned to Mat X. As it is now, there is a File6 there instead:
Now, the teapot should hopefully work for you.
Yes, I could see from the .txt file what it should have been, but if you type that into
FA-124/123 or 122 it corrupts it when you save it by deleting that bit and merging the lines.
Do you have any of this software yourself, to confirm that it is not just happening on my computer.
LordNPS: what about you - does the GLTEAPOT get corrupted on your computer ?
Anyway I tried typing it into the calculator manually a couple of times and just got
errors so I gave up and moved on. I'll try again later.
It may have been the trouble with initialising all lists,mats,vars again.
#106
Posted 04 September 2006 - 12:44 AM
No file corruption nor anything ....
LordNPS. Only thing I could find that you've missed is in GLLINE, don't recall which line it was but there's no bug or anything, just one byte less in size
Well that's weird... it should contain a some bytes less as I removed 2 color lines related lines...
1 Byte eh? when I found myslef beholdding such an astonishing number of bytes I got confused...1 byte, does not really make much sense... oh well...
#107
Posted 04 September 2006 - 05:06 AM
Haha, don't worry. I do that myself all the time .I'll investigate it.
Thanks. I suppose it would help if I :r-t-f-m:
I use one of the oldest versions, FA-122 or something. Since my moms computer runs win98 and the l8r models didn't seem to work on that OS. (My computer uses Ubuntu and wine + FA-122 doesn't appear to work for me).Yes, I could see from the .txt file what it should have been, but if you type that into
FA-124/123 or 122 it corrupts it when you save it by deleting that bit and merging the lines.
Do you have any of this software yourself, to confirm that it is not just happening on my computer.
Now, the reason I've missed all those r symbols is because I've initially manually typed in everything into FA-122. Then when I discovered that your casform work as a charm after rebooting the computer, I used that instead for the FX-GLUT and FX-GL_EX files, hence the lack of r-errors in those. I will use casform henceforth (it speeded up the workflow at least tenfold).
Hmm... I'm sad to hear that .Anyway I tried typing it into the calculator manually a couple of times and just got
errors so I gave up and moved on. I'll try again later.
It may have been the trouble with initialising all lists,mats,vars again.
Just thinking, perhaps I should go back to the version of the teapot that uses GLADDV/GLADDE calls instead. It is much larger, but at least it will hopefully transfer well to the calc.
Hmm.. perhaps you used another version of FA-12* to upload it?Well I don't know if I fully understand your problem about the GLTeapot, but it works fine on my calculator...
No file corruption nor anything ....
In GLLINE:Well that's weird... it should contain a some bytes less as I removed 2 color lines related lines...
1 Byte eh? when I found myslef beholdding such an astonishing number of bytes I got confused...1 byte, does not really make much sense... oh well...
\If D<0 \Then E-D/(A-D)*(B-E\->E 0\->D \IfEndIt should look like this:
\If D<0 \Then E-D*(B-E)/(A-D\->E 0\->D \IfEndThis is of course as you say, of no concern, it just looks more.. hmm... consistent .
#108
Posted 05 September 2006 - 09:58 AM
I honestly never thought anyone would get real 3d going on the old casio basic calcs.
I tried once, but got a little too confused with all the matrix algeba, but i had never studied matrix algebra back then, i was a newbie at all of it.
Its sorta sad in a way thought, that we have too program in such slow and limiting casio basic, but in some ways thats what makes it a real challenge and fun when you get something working.
It would've been so cool if they allowed assymbler for the cheap calcs, I was really dissapointed when i first tried to program in casio basic, i remember seeing it draw at one pixel per second, and it broke my heart!
#109
Posted 07 September 2006 - 12:56 PM
Thanx! It's very nice to hear some positive feedback. Good for my programming mojo .Hey id just like to say i really like what your doing here.
Ah, well... I was playing with the idea and concluded that it would be very much doable. I made an attempt to make another doom clone in true 3d one year ago, but didn't get it right. I guess it was because 3d programming was new for me then. After having taken the sequel course in computer graphics at my university, my knowledge in the subject had matured somewhat and I felt I should make another attempt, and this is the result. Of course, to my aid I had the reference pages for GLU and GLUT and the OpenGL website.I honestly never thought anyone would get real 3d going on the old casio basic calcs.
I tried once, but got a little too confused with all the matrix algeba, but i had never studied matrix algebra back then, i was a newbie at all of it.
Actually, before I decided doing FX-GL, I had another project going which was a raytracer for Casio calcs, which I have written about earlier.
My colleague at work suggested that FX-GL should use some simple shading, like normal flat diffuse shading or so, but we both immediately realized that it would be too slow for a semi-realtime application. In such cases shading is required - like diffuse and specular - the raytracer I did is more appropriate. It can be extended to work on other primitives and to use refraction, etc. Only battery life time and ones patience sets the limit in that case .
Absolutetly. On the one hand, programming basic sucks in performance, but on the other hand making a program super-optimized in basic is quite rewarding. However, the reward doesn't quite pay off for the price of lack in performance, naturally.Its sorta sad in a way thought, that we have too program in such slow and limiting casio basic, but in some ways thats what makes it a real challenge and fun when you get something working.
I absolutely concur! It broke my heart too.It would've been so cool if they allowed assymbler for the cheap calcs, I was really dissapointed when i first tried to program in casio basic, i remember seeing it draw at one pixel per second, and it broke my heart!
We should start a manifesto for incorporating assembly support in newer calcs.
(reservation: I'm not aware of the status of current calculator development.)
Once again, thank you for your comments Liquid!
This weekend, I'll be away launching my rocket with some other guys, just to keep the hobby alive. Also, the graphics card from my ol' computer has cored, so I cannot do any work/update on FX-GL & c:o in the near days. I apologise for the inconvenience.
#110
Posted 07 September 2006 - 03:35 PM
This weekend, I'll be away launching my rocket with some other guys, just to keep the hobby alive. Also, the graphics card from my ol' computer has cored, so I cannot do any work/update on FX-GL & c:o in the near days. I apologise for the inconvenience.
Thats great what class of rocket engine? Solid fuel?
Here in portugal amateur rocketry is rather opressed by stupid laws... we cant use rocket engines above the G class...
Which sucks, my father and I have been building a pseudo "scale" rocket of the Soyuz TM.31 at a small hangar in an aviation field nearby, it is desproportionate though, as you may well know, in rocketry, things aren't proportional, it has a much smaller engine thrust area, and does not use the standard 5 * 4 small engines of the soyuz... we thought doing that however it would be much expensive, because you would need 20 class E engines wich are only a little cheaper than class G.
It uses 5 G80's from aerotech.
For it to work properly we would need 5 K engines which as I state are not allowed here, nontheless we are using a little trick, in the fuel output which allows us the G80's long period duration, and allows a pretty start Impulsion, which is to use 2 aditional E4 from aeorotech as well, wich provide plenty of purpolsion for the period of time that the G engines do not, then they are discarded, as they burn out...
It is a big boy, that rocket
I bet it's gonna blow on launch
The main problem is the sincronization of the engines, for the rocket to go straight up...
Of course that this project is not only mine and my father's, we have 2 other rocketrist helping us.
#111
Posted 10 September 2006 - 11:50 AM
We just launched LPR rockets from A to D that is. I had an E motor too. We were three guys, and we launched 28 rockets altogether. One guy was a total newcomer but nontheless had no bad luck at all (in contrast to the other guy who lost two rockets). In our society SAMRA (which isn't quite so active anymore) some people launch HPR rockets.. that's H and upwards. The highest impulse we've used was an M class motor. Some of us use hybrids.Thats great what class of rocket engine? Solid fuel?
Yeah I can understand that. Then we also have the new EU-regulations. Engines have to be CE-certified and that process seems to be very slow.Here in portugal amateur rocketry is rather opressed by stupid laws... we cant use rocket engines above the G class...
Mmm.. clustering is nice. Never tried it though. We talked a little about it yesterday. Think I'm gonna try on multistaging next though.Which sucks, my father and I have been building a pseudo "scale" rocket of the Soyuz TM.31 at a small hangar in an aviation field nearby, it is desproportionate though, as you may well know, in rocketry, things aren't proportional, it has a much smaller engine thrust area, and does not use the standard 5 * 4 small engines of the soyuz... we thought doing that however it would be much expensive, because you would need 20 class E engines wich are only a little cheaper than class G.
It uses 5 G80's from aerotech.
5 G80's? Wow! That's nearly an I-motor!
From the sounds of it,... yeah! . Impressive!For it to work properly we would need 5 K engines which as I state are not allowed here, nontheless we are using a little trick, in the fuel output which allows us the G80's long period duration, and allows a pretty start Impulsion, which is to use 2 aditional E4 from aeorotech as well, wich provide plenty of purpolsion for the period of time that the G engines do not, then they are discarded, as they burn out...
It is a big boy, that rocket
I bet it's gonna blow on launch
Yep synching ignition and pressure buildup is probably the hardest bit when clustering. Hope you'll get it up and flying . You must show a video on the launch l8r!The main problem is the sincronization of the engines, for the rocket to go straight up...
Of course that this project is not only mine and my father's, we have 2 other rocketrist helping us.
---
Hmm... I'm been thinking about FX-GL. I think I will have to split the package up in three parts. It just won't work having FX-GL, FX-GLUT and FX-GL_EX in the same distribution.
I've only got 6 hours sleep each night, hence I'm quite tired after this week's work. I'm not really used to this. Oh, well. I'll try to be more productive today, but can't make any promises though.
#112
Posted 10 September 2006 - 02:29 PM
About converting txt -> cat:
The GLGENGLP routine contains quite a few complex real part: ReP's.
Casform usually took lower case e to mean exponential e^ if it is not adjacent to other lower
case letters. There are a couple of exceptions but I missed the exception ReP.
So new version 9, takes care of this, as well as E where appropriate e.g. 5E5.
#113
Posted 11 September 2006 - 05:39 AM
Nice feature with the exponential! I'll download the new revision asap.
#114
Posted 16 September 2006 - 03:17 PM
Sorry for taking so long (rearranging files and documentation took some time).
There's not much updated in these revisions, hence the patch-numbers.
I'll soon add GLTUBE, GLANIMMK and GLANIMPL to the FX-GLUT API. The two last programs are used for making animations using pictures (quite simple really).
Just curious to know, how many frames or pictures are available in the FX-9860G calculator?
Please let me know if you notice any peculiarities, oddities or bugs in these relases.
#115
Posted 17 September 2006 - 12:48 AM
Lately I haven't been paying much atention to the topci (well, we are a few steps closer to a SDK, we now praticly everything we need).
9860, sadly is capable of only 20 simultaneus pictures, however you can store them in the flash memory, and then transfer them to the picture memory in RAM, which is kind of nice...
I don't know any way to interact with the file system through Basic though
#116
Posted 17 September 2006 - 09:25 AM
Btw, I've finished working on the GLARCBAL program (GL ArcBall). Now you can interactively rotate the scene by "clicking" at two points on the screen. Only limitation is that you have to define your up-vector as (0,1,0) and eye position along the z-axis. You might be able to bypass this somehow though.
Now, I've thought about making a GLUNPROJ program too (GL UnProject) which enables you to click on points in view space and locate the corresponding vertices. This opens up the possibility to make a 3D modeling application. Now, the problem is, how on earth do I get the screen z-coordinate?
glReadPixels(winX, winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ);
As far as FX-GL goes, yes I think it is pretty much complete (Ok, a glViewport would be useful). Regarding FX-GLUT though, there might still be a few programs that could be added to it.
#117
Posted 17 September 2006 - 10:06 AM
GLUNPROJ:
Dim Mat Y List Ans[2 For 1->Z To Ans+1 Z<=Ans=>(X-Mat Y[1,Z])^2+(Y-Mat Y[2,Z])^2<=r^2=>Break Next Z=Ans+1=>0->Z Z->@where @ is the index of the vertex that match the screen coordinate. If @ = 0, then no matching vertex was found.
r is the tolerance radius.
In your application:
Plot _ 2->r:Prog "GLUNPROJ"
#118
Posted 17 September 2006 - 05:54 PM
Just wanna say that I've made a modeling application now. I've chosen to call it 3DFX . You can zoom in/out the scene, you can pan the scene and of course rotate the scene (uses the ArcBall program). The world coordinate axes is displayed in the upper right corner of the screen (blue=x, green=y, orange=z). You can switch between default camera views such as front, back, left, right, top, bottom (this resets the arcball rotation state).
The only actual modeling feature available is the possibility to edit single vertices. Just click on a vertex (within a two pixels range) and the vertex number along with its coordinates will be displayed in text mode. Then you'll be asked to enter new vertex coordinates. In order to preserve coordinate values simply type X, Y or Z whenever appropriate.
Since vieports are not supported by FX-GL just yet, you'll have to live with one main view of the scene .
Therefore, it'll be a perspective projection for that view (it can rather easily be modified to use ortho view instead. Just mind the zooming!).
Next feature will be the ability to scale vertices around some centre point or so.
Ray tracing isn't supported yet .
If you use the GLTUBE program posted earlier in this thread, you have an IMHO a quite powerful tool to model just about anything you can think of. This is the intended workflow:
- Load the raw object (the tube) into memory using GLTUBE, or load any other primitive or primitive compound.
- Modify the tube-object using 3DFX.
- If you want to save the geometry data, either:
- Write down the contents from the X-matrix on a piece of paper (and optionally put the data into a new file in your calculator).
- Transfer the data to your PC.
#119
Posted 19 September 2006 - 05:25 AM
They seem to be gone from the FS.
For those of you who want FX-GLUT and FX-GL_EX for the FX-9860G can take a look at:
http://rasmus.anthin...0_programs.html
Check at the near bottom of the page.
#120
Posted 20 September 2006 - 04:33 PM
If any of you admins deleted them due to having the same name as those archives available in the CFX folder, then you were presumtious. The archives do differ even though they are very similar. For example, logic operations and colours are handled differently.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users