Jump to content



Photo
- - - - -

Compatibility Between Models


  • Please log in to reply
15 replies to this topic

#1 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 09 February 2007 - 06:00 PM

Collected together below, is a list of compatibility issues. Any more to add ?

(When visiting pages hosted by Lycos, if adverts obscure the page then press the reload button on your browser.)

Limitations of Early 9850 Models
-------------------------------------

* On the early 9850G models the Plot command if used just prior to a Text command.
e.g. Plot 1,1: Text 10,10,"HELLO" will plot a point just above and to the right of "HELLO" instead of at 1,1.

* On the early 9850G models the Text command won't display anything until the next graphics command is
reached. Force it to display by adding PxlTest 1,1 or Text 1,1,"" after each occurance of a Text command.

* On the 9750G, 9850G and 9950G dimensioning a list or matrix from within a program required tricks with
the Seq( or Identity commands. The GB and later models can setup the dimension using the Dim command.

* The Drawstat command can speed up graphics but it behaves slightly differently on different models.

New Features shared by the Algebra FX 2.0 and 9860
-------------------------------------------------------------

* The Afx and the 9860 can accept user input into Vars Graph Y and f-mem.

* The Afx and the 9860 can append a new item to the end of a list simply by using the index of
the next element: e.g. 1->List 14 when only 3 elements currently exist. Similarly the Afx and the 9860
can add two lists together using Augment(. On previous models these things required tricks with the Seq(
command.

* Compared to the 9850, the 9860 has additional complex number capabilities:
The 9860 can store complex numbers in lists, and use them with log, ln, e^, 10^, sqrt, and ^.
The Afx can also store complex numbers in matrices and use them with the trig commands.

* Afx and 9860 programs can setup and convert the display format for fractions and for complex numbers,
and have the commands ClrMat, EngOn, EngOff, minX, maxX, minY, maxY, VarList, ZoomAuto,
and three sets of reccurance relations and predetermined lists of pseudo random numbers.

9860 Specific Features
--------------------------

* The main new 9860 commands are: logab(, RndFix(, spreadsheet cell commands and commands for
sketching different line styles: dot, broken, thick or normal.

* The 9860 runs much faster than previous models, so loops should contain dummy statements such as
For 1->A To 100, to slow it down to the same speed and allow Getkey to detect only one press at a time.
On the other hand this speed opens up new possibilities for a program to do calculations that previously
would have taken an unfeasibly long time.

-----

And finally ... the cfx models have colours while the 9750, Afx and 9860 are black and white.
The early 9850s had 32k ram, later models had 64k, the Afx has 128k and the 9860 has 64k.

#2 TyYann

TyYann

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Gender:Male
  • Location:Seoul, South Korea

  • Calculators:
    Casio fx-4000P (since 1988)
    Casio CFX-9850GB PLUS
    Sharp EL-9900
    Casio fx-9860G SD
    Casio fx-9860GII SD
    Casio Graph 90+E
    TI-83 Premium CE (no Python)
    and a 25-column abacus...

Posted 10 February 2007 - 04:51 PM

* The 9860 runs much faster than previous models, so loops should contain dummy statements such as
For 1->A To 100, to slow it down to the same speed and allow Getkey to detect only one press at a time.

I never use a dummy FOR loop to allow getkey to detect only one press.

I use a double while loop :
Do
LpWhile Getkey≠0
Do
Getkey->A
LpWhile A=0
Then you don't have to wonder if your FOR loop is too long or too short AND you can use it with any calc, whatever its speed.

In the basic, there is a compatibility problem when you press twice <span class=EXE' /> to get a new line.

?->A :newline:
:newline:
A

This will work on 9860, but not on 9850

#3 tutti

tutti

    Casio Addict

  • Members
  • PipPipPip
  • 65 posts

  • Calculators:
    FX-9860G SD

Posted 11 February 2007 - 11:09 AM

I've noticed the Ran# command is different on the 9860 (it has a space built into the command), but I don't know what the difference is.

#4 eew

eew

    Casio Freak

  • Members
  • PipPipPipPip
  • 139 posts
  • Gender:Female
  • Location:Netherlands

  • Calculators:
    recent calculators:
    Casio fx-9860G SD
    Casio fx-82ms

    old calculators:
    HP 41C (1979)
    TI SR-40 (1976)
    Commodore [unkown type] (-+1970)

Posted 11 February 2007 - 01:36 PM

If my CFX was still there I could chek it. I can't remember it. But I know: Ran# X^2=X^2Ran#. Ran# 1=Ran# Ran# 10 is syn error :huh:

#5 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 11 February 2007 - 08:22 PM

I've noticed the Ran# command is different on the 9860


Yes, the Ran# space was spotted by CFX Master.
Click on the above link about pseudo random numbers.

In the basic, there is a compatibility problem when you press twice <span class=EXE' /> to get a new line.


That's a curious feature. Checking the Afx, it turns out that it does this too.
Did casio deliberately introduce this feature or is it a bug?


About Getkey:

I wrote a game for the 9850 called Pax
where you move the character around which is detected by Getkey, but at the same time there is
a timer counting down to zero. On the 9860 when you move the character it zooms right across the screen instead of being able to control it one move at a time.
I haven't rewritten it yet, but I'll see if I can incorporate the LpWhile method.

There is also the problem that it was written for the 9850G which has the cursor keys on 4 separate buttons whereas the 9860 and most other models have a single button which makes things clumsy to control.
Need to introduce user-defined keys or just use the number keys instead.

#6 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 13 February 2007 - 03:25 PM

Do
LpWhile Getkey≠0
Do
Getkey->A
LpWhile A=0

TyYann, that code gets stuck in the first loop. Did you mean LpWhile Getkey=0 ?


With this code you can see how many times a button is detected
if you leave your finger on the button too long:

Locate 1,1,"Getkey"
Locate 1,4,"TIMES PRESSED"
0->X
Lbl 1
'
Do
LpWhile Getkey=0
Do
Getkey->A
LpWhile A=0
'
Locate 1,2,A
Isz X
Locate 1,5,X
Goto 1

This code doesn't seem to work on the 9860 emulator though, because clicking and holding down on one
of the keys does not keep sending keypresses, and this behaviour also means that the emulator takes one click for the first loop and then another for the second loop and therefore doesn't display each keypress.

Btw, what about the new commands RclCapt and >DMS ?
What about the special characters? Does the AFX support those?

And don't forget the new setup things:


The Afx accepts "Test"?->fn1, one-sided intervals and has >DMS and all the setup stuff except for Y=DrawSpeed.. and has the same RclV-Win behaviour.

However, the special characters are 9860 only as is List 1[0] as is RclCapt.

#7 TyYann

TyYann

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Gender:Male
  • Location:Seoul, South Korea

  • Calculators:
    Casio fx-4000P (since 1988)
    Casio CFX-9850GB PLUS
    Sharp EL-9900
    Casio fx-9860G SD
    Casio fx-9860GII SD
    Casio Graph 90+E
    TI-83 Premium CE (no Python)
    and a 25-column abacus...

Posted 14 February 2007 - 04:34 AM

TyYann, that code gets stuck in the first loop. Did you mean LpWhile Getkey=0 ?

No, the first loop is meant to wait until no key is pressed, what people usually do with a For loop instead.


On 9850, there is a Stat graph called MeanBox that doesn't exist any more on 9860...

#8 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 14 February 2007 - 12:20 PM

@ CFX Master

List ?[Mat ?[List ?[X],Mat ?[A,B]]]

That's a good one.
List or Matrix elements used as a List or Matrix index.
Checking the afx .... yes - the afx does this too.

---------

@ TyYann

Do
LpWhile Getkey≠0

This code doesn't work on the cfx models that I've tested.

On the cfx Getkey≠0 doesn't evaluate to 0 when Getkey=0
so the loop is never exited.

Try this code to see what I mean:
Do
Locate 1,1,"  "		  ; 2 spaces
Locate 1,1,Getkey
Locate 1,3,Getkey≠0
LpWhile Getkey≠0

Another bug in the cfx.

-----

The original 9750G/9850G/9950G did not have TVM Finance mode or the stats tests and distributions.
All the later plus, GB, GC etc models have Z,t,chi F tests and anov and distributions.

However on the 9850GC+ the VARS STAT menu has the submenus: PTS, TEST, RESLT
but the AFX2+ only has the submenu PTS,
and the 9860 doesn't have any of these submenus.

#9 TyYann

TyYann

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Gender:Male
  • Location:Seoul, South Korea

  • Calculators:
    Casio fx-4000P (since 1988)
    Casio CFX-9850GB PLUS
    Sharp EL-9900
    Casio fx-9860G SD
    Casio fx-9860GII SD
    Casio Graph 90+E
    TI-83 Premium CE (no Python)
    and a 25-column abacus...

Posted 14 February 2007 - 07:52 PM

On the cfx Getkey≠0 doesn't evaluate to 0 when Getkey=0
so the loop is never exited.

Another bug in the cfx.

I don't think so. Or I don't understant what you mean.
Try your program, but when you launch it, keep the <span class=EXE' /> key depressed, then release it. After a few tries you will get some zeroes on your screen.

Let's test the Getkey value with this :

1->A
Do
(Getkey≠0)?1->A
LpWhile A≠0
A

You will see that Getkey≠0 evaluates to 0 when Getkey=0

Actually, you can event try this :

Do
LpWhile Getkey

(actually a better version for the loop)

Try it, and, the same, when you launch it, keep the <span class=EXE' /> key depressed, then release it.

The idea of the first loop is to empty the buffer, waiting until no key is pressed, then, let the second loop wait for a key to be pressed, avoiding this way unwanted repeating of a key. Of course, if no key is depressed, the first loop is skipped right away.

#10 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 14 February 2007 - 08:44 PM

Do
LpWhile Getkey

(actually a better version for the loop)


Yeaaaahhy !! This works on the cfx !

I understand now what you originally meant.
This allows one keypress at a time no matter how long you hold the key down.
-----------------------------------------------------------------------------------------------------------------------

Do
Getkey->A
LpWhile A≠0


This also works.
-----------------------------------------------------------------------------------------------------------------------


Do
LpWhile Getkey≠0


But this doesn't work on the cfx.
You don't believe me ? Try it.
-----------------------------------------------------------------------------------------------------------------------

#11 TyYann

TyYann

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Gender:Male
  • Location:Seoul, South Korea

  • Calculators:
    Casio fx-4000P (since 1988)
    Casio CFX-9850GB PLUS
    Sharp EL-9900
    Casio fx-9860G SD
    Casio fx-9860GII SD
    Casio Graph 90+E
    TI-83 Premium CE (no Python)
    and a 25-column abacus...

Posted 15 February 2007 - 02:57 PM

-----------------------------------------------------------------------------------------------------------------------
Do
LpWhile Getkey≠0
But this doesn't work on the cfx.
You don't believe me ? Try it.
-----------------------------------------------------------------------------------------------------------------------

You are right, it doesn't work on my CFX-9850 :o . , althought it works on fx-9860. Does it work on fx-9750 ? Probably not, but I'd like to have confirmation.

Also, I have a tendency to put CFX and fx in the same category vs AFX, because between CFX-9850 and fx-9750 there is not much difference. But it's actually a mistake, everybody knows there is a huge difference between fx-9750 and fx-9860... I'll be more carefull :unsure:

#12 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 18 February 2007 - 08:10 AM

Anyone with a 9750 reading this? If I get hold of one I'll test it.

* There are also the french models to consider.

* Scratty's FX-GL raised some compatibility issues. Need to go back and document them.

* Most of the time trailing brackets can be omitted:
e.g. {1,2->List 1
3->List 12br /> Int (A+B

However on some models the Pol( and Rec( commands need to have closing brackets.

e.g.

Pol(1,1->List 1

produces different effects depending on
whether List 1 exists, if it has dim=2 and what the values in List 1 are,
but it doesn't actually alter List 1 or List Ans.

On the 7400 and cfx models there are weird effects.

On the 9860 and the Afx, Pol(1,1->List 1 works fine.

Another example where trailing brackets are required is List->Mat(
although again the 9860 and the Afx handle this with no problems.

#13 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 23 February 2007 - 11:31 AM

I've just gotten hold of a 9750G and can confirm that Do:LpWhile Getkey<>0 does not work.

Also the Plot and Text bugs of the 9850G are not present in the 9750G.

#14 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 14 April 2007 - 11:11 AM

On the 9850G and 7400G, using the Return command inside a loop (For, Do, While) causes a Syn error.
As does reaching the end of a subroutine after jumping out of a loop.

e.g.
---------------------------------------
Program "AA"
----------------

Prog "BB"

---------------------------------------
Program "BB"
----------------

Do
Goto J
LpWhile 1
Lbl J
---------------------------------------

This doesn't cause an error on later models such as the 7400G-Plus or 9750G.

#15 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 05 April 2009 - 04:22 PM

Just a quick question:

"DAT"->List 1
31337->List "DAT"[1]
List "DAT" | <- Was this possible before OS 2.00?


#16 caspro

caspro

    Casio Freak

  • Members
  • PipPipPipPip
  • 216 posts

Posted 09 April 2009 - 06:13 PM

Interesting.
No it doesn't work on earlier 9860 versions.
"DAT"->List 1 works but List "DAT" doesn't.

I wonder if the new 9750GII and 7400GII will have 9860 style list functions like "DAT"->List 1, "DAT"->List 1[0]
and 77->List 12 when List 1 only has 1 element.

And if 'you know who' is reading this, then "HELLO AGAIN". The flow of this thread is a bit disrupted after you deleted your posts.

Edited by 2072, 09 April 2009 - 08:04 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users