Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => Casio PRIZM => Topic started by: AngelFish on October 12, 2010, 10:42:24 pm
-
Here's the first part of my tutorial on Casio-BASIC for TI programmers. It deals with the text and I/O commands.
-
Nice to see you decided to work on this :D
Btw the TI manual is about 900 pages large, I think. It just doesn't come with the 84+ series. You need to download it online. The 83+ came with an extremly large manual explaining each commands, although not a lot of decent code examples. Hopefully maybe it could help people transition between both language. :D
-
Oh nowonder I could not get my manual with my calc. ;)
-
Mine came with one, but that was an original black 84+, not an SE. i wish I still had it, but without it I would never have had my awesome 86, nor my nspire!
-
Hopefully maybe it could help people transition between both language. :D
I'm planning a second version for Casio-->TI as well.
I realized that I forgot the output command! That's kind of important, even though it's pretty much useless in a final program.
EDIT: And I got the part about code locking wrong. Looks like I'm going to have to be more careful about what I write.
-
Er I am sure output can be useful in a program. See Illusiat series. You can make rather good games with it even if it's ASCII. You cannot use the 8th row of text, though.
-
The officially named Casio-BASIC Output command (represented by a little triangle that kind of looks like ▲) is slightly different than the TI-BASIC Output( command. When you use it, it will display the string "-DISP-" where the data is supposed to be UNTIL you press EXE, whereupon which it will change to the data. Then you have to press EXE again to return to the program flow. It doesn't look very nice and it's really useful only for debugging, as far as I can tell.
-
Oh ok I thought you were talking about the TI one. On Casio Output() is Locate. I tried writing in FX-9x50G BASIC before and remember messing around with it. I remember on the 9860G it was about 4x times faster than on a 83+SE, so much that I could do grayscale. The downside is that it doesn't support word-wrap, so to display 7 lines of text, you have to use 7 Locate commands.
-
Casio also included a command that they officially called the "Output Command" in the language. But yes, Locate is the Casio equivalent of the TI Output(. It's kind of confusing grammatically. Output( is Locate. "Hello World" is Disp. ▲ is its own little thing that's a cross between Pause and Disp.
-
Yeah at first I thought it had no text command like the TI output then I saw it was locate. And yeah I remember the triangle command.
One thing I hate about old Casio calcs is that insert mode is disabled by default and since on Casio, linebreaks disappears as you type stuff, it gets really annoying to type programs without accidentally erasing everything below.
-
That'll be good to know. I haven't experienced it yet, but I do know that TI's programming environment is much better. All of TI-OS is really much prettier than Casio's stuff. Whatever their code is like, they can design nice stuff.
-
Yeah and Casio BASIC is 20x slower than TI BASIC in some cases. It was not as optimized as on TI calcs I think, except maybe the Nspire. The cool thing about Casios, though, is the TI-85/86 style menus.
-
SLOWER than TI-BASIC! :o
Is that even possible?
-
Yes. TI may not be that great, but Casio is even worse on that point. On a AFX 1.0, which has a 4 MHz processor, a For(Z,0,999):Disp Z:End loop ran 20x slower than a 83+SE and 10x slower than their calcs that had no flash memory/asm capabilities. The FX-9860G runs at like 83+ BASIC speed except Locate which runs about 5x faster but it has a considerably faster CPU.
-
Casio BASIC...
I've tried it before..
I used f(x)-9750(I think this is right model name)
I made text-based decision-making game before..and nothing else
-
That reminds me... did Casio FX-9750G even had a getkey function?
-
Since the fx-9750 is second generation, it most likely did.
Speaking of which...
-
Ah ok, I don't remember since it has been so long since I last used one and the manual was not very detailed about it if I remember.
Also nice, I'll check that attachment soon :)
-
Update: I will be resuming this project after the conclusion of the Team Battle. Also, since Casio has released the User's guide for the fx-CG10/20 series (AKA the Prizm), the command set of those models will be included in the tutorials.
-
WOW they did? I need to find it ASAP! I wonder if there is a getkey and Input function?
Nice to see this is still progressing, by the way. :)
-
Yep, the Prizm has the full command set of all previous models, as well as the same keyboard layout, and a few new features. Casio obviously put some thought into backwards compatibility and ease of transition for users. I haven't taken the time to look all the way through it, but here's the User's guide:
http://edu.casio.com/products/cg_series/data/fxcg10_20_E.pdf (http://edu.casio.com/products/cg_series/data/fxcg10_20_E.pdf)
-
Oh cool, I remember the 9860G also ran most CFX and 9750G programs, I wonder if it will be easy to port them to the new calc.
At least I am glad their BASIC is more complete than TI-Nspire BASIC for Casio development (in terms of game stuff). Now if only they would fix its incredibly slow speed... (unless they did on the Prizm?) Casio BASIC major problem on the older models was that it was between 10 and 20 times slower than TI-BASIC. On the 9860G it's at the same speed as a regular 83+, but the 83+ manages to achieve the same speed with a 5 times slower processor...
And wow that's a large file O.O. Lots of details on the commands.
By the way, one amazing feature the Casio BASIC editor had on the 9860 (I forgot if the older models had it) was search features. We could find lines of code in a program, if I remember.
-
They kept the search feature :)
One thing I've realized while making these tutorials is that Casio-BASIC is MUCH better than TI-BASIC in terms of functions. But given that the Prizm runs an ARM processor, it will at the very least achieve 84+ SE speeds. The TI community has shown that that's enough to make some fairly impressive games.
-
Yeah, it improved a lot since the 9860G-I days. II added string support and other commands. The Prizm seems even more complete now. I hope it runs faster than it did on their older calcs, even if not ASM-like.
I wish TI still wrote their manuals (the paper copies) as detailled as Casio's programming section. Now they don't even have a programming section sometimes!
-
I would hate to be stuck with any of the first generation languages. Those were like programming in Brainf***, at least in terms of how much they could do.
-
Yeah I tried programming on a Casio FX-7000G and I must say it was hectic...
But on the FX-9750G they had the 2nd gen one. Just no string support and fewer commands. We had getkey, though.
One freaking amazing thing with the 9860G is how incredibly fast the Output() equivalent is (even thought it doesn't word-wrap). If it's even faster on the Prizm, we might be able to have animated homescreen graphics. ;D
-
That would be awesome. I wish Casio would release the SDK so we could try out the emulator and see.
-
Yeah me too. From what I saw in the guide, we will only be limited to a few colors when displaying stuff, not the 65536 colors, but it's possible to have cool-looking stuff with so few colors anyway. Dithering can also do the trick. Plus maybe someone will write a 3rd-party ASM/C app that adds new functions to TI-BASIC. :D
I can,t wait for Jan 1st 2010. I hope it's sold over here, otherwise I'll grab one on Ebay.
-
Yeah me too. From what I saw in the guide, we will only be limited to a few colors when displaying stuff, not the 65536 colors, but it's possible to have cool-looking stuff with so few colors anyway.
I'd have to look to be sure, but I think it's only three or four colors. That's still more than what we're used to and if the commands have any of the speed of the processor behind them, those few could probably be used to make a good portion of the rest of those 65,536 colors.
Let's just hope Casio doesn't lock all of the processor functions down like TI did and make a useless SDK.
EDIT: Forget everything I said about Casio-BASIC being more complete than TI-BASIC. Casio did a horrible job coding their interpreter. It appears that that multiple commands have buggy code behind them, so they're useless.
-
I swear I saw 6 or 7 colors. There's also auto and something else, but I forgot what. Nonetheless, if Locate X,Y,"Text" is as fast as on the 9860G, we'll just have to quickly swap between colors to create other ones, I guess.
And yeah Casio did an even worse job at coding BASIC, except maybe the TI-Nspire is worse in some points. That said, they really did a great job with Locate.
-
Someone is going to have to write a new OS for the Prizm to get rid of all of those weird technicolor graphics and the buggy interpreter code.
-
Yeah. That said, maybe the Prizm has no bugs? Maybe it was just in old calcs? Also, even with the limited colors, if the screen is a bit blurry, we could simply do the following to display graphics:
-
Yeah. That said, maybe the Prizm has no bugs?
Wasn't that what we said about the Nspire? :P
I like the graphics though.
-
I looked through the PDF file. It looks like there's some pretty good stuff. This thing's gonna be fun to play around with. =)
Edit:(saw quote)
EDIT: Forget everything I said about Casio-BASIC being more complete than TI-BASIC. Casio did a horrible job coding their interpreter. It appears that that multiple commands have buggy code behind them, so they're useless.
Well, it's not like it couldn't be updated or patched by a third party right? =)
-
It was, but what I am saying is that just because the old Casios had bugs doesn't mean the Prizm BASIC will be as bad. Also, if you haven't noticed, FX-9860GII added more functions in 2008-09 than it had in 2005. It used to lack string support completly. Also it was mostly the Classpad that was buggy, if I remember.
Anyway, here's another example of how graphics could look like if even in C/ASM we were locked down to 7 colors or if someone ported Celtic III to Casio Prizm, with dithering:
-
Also it was mostly the Classpad that was buggy, if I remember.
You haven't seen the Break command, then... :P
By the way, what seven colors are in there? I can only see White, Black, light blue, darker blue, field green, and tree green.
-
I can't believe people are wondering how to jailbreak the prizm before it has even come out yet :P
It's kinda funny actually :D
And DJ -- that second pic would be acceptable for BASIC; for C/ASM I'm sure that it would have full 16 bit color support ;)
-
Also it was mostly the Classpad that was buggy, if I remember.
You haven't seen the Break command, then... :P
By the way, what seven colors are in there? I can only see White, Black, light blue, darker blue, field green, and tree green.
green, cyan, white, black, red, magenta and yellow. Actually there is blue too, so that would be 8, but I don't use it in that screenshot.
And there's no tree green: I just quickly swap between black and field green. For the character face I swap between magenta and yellow.
Btw the images above were modified from Final Fantasy 1 for the Nintendo
-
Wow, I never would have guessed at some of those colors.
By the way, that's the size of the Prizm's screen :o
*drools at the possibilities*
*realizes that he's typing this on a screen many times larger and more powerful than that*
-
384x216 pixels
-
The second tutorial is almost completed. Only two more program flow commands to document. As far as I have been able to turn up, this will be the first comprehensive documentation of the language since Casio.
-
Cool! We really need something like this. maybe this will encourage Casio development as well. I would like to eventually port some of my TI games to Casio. :)
-
This is halted, along with all other projects.
-
Sorry to hear, I hope you can eventually find time to resume it soon. :(
-
It's not time that's the [main] problem, it's that I'm not liking programming lately. I agreed to test some software today for the Comp. Sci department that's supposed to be user friendly. It was so horribly written that I literally ended up having to define some of the program variables while it was running and wrestle with internal variables that conflicted with the ones I wanted to use. That was amongst numerous other faults, such as it telling me to do the action that it was preventing me from doing. To phrase it bluntly, I've been put off of programming for a while.
That said, the $20 dollars an hour I got for it was nice.
-
Aaah ok, well I hope you don't quit programming for good, it would suck to see you go :(
I sometimes get those phases when I don't feel coding at all anymore, like since July. I got some ideas recently, though, but I am busy. (well, too busy to sit down hours, coding, and I need to not be tired when doing it)
I used to code non-stop from 2001 to early 2005 but then my interest became sporadic. I usually released a new calc game every 8 month, working on it during 2 months. My last fully finished major release that is not an update/remake of something else I made dates back in 2006. X.x
-
This project has been resumed. However, due to the lack of support for GIF images in PDF format, I will instead be using CSS modified HTML for the tutorials. This has the fortunate side effect of being more widely viewable.
-
No gif support in PDFs? O.O
Weird... oh well, in HTML format they can be hosted online as well as in downloads . (That reminds me I'll need to add a Casio section eventually there...)
-
You can't have animated GIFs in PDF format. You can have static ones, though.
-
Oh ok animated ones. I guess that's the same as doc files, then, since it's mostly for printing purposes. I guess HTML would be the best way to go, then.
-
Yeah. It's also a lot easier to format everything in HTML too. I've never used it before, but it's really nice how much control it gives you over the layout.
-
I don't like editing HTML very much because it's kinda an hassle when all you have is text and some images, but compatibility is much better and it does a better job most of the time.
-
I think it looks a lot better, personally.
(http://farm6.static.flickr.com/5127/5206248132_697f052e50_b.jpg)
(http://farm6.static.flickr.com/5207/5206248134_cee52137da_b.jpg)
-
Ah yeah I agree. The thing with documents is that the size remains the same regardless of your resolution and zooming in gives poor image quality.
-
Is that a problem with PDF or HTML documents?
-
PDF and doc. In doc it's worse, but in PDF you still end up with blurry images. Sometimes, in doc, it can become as bad as this:
(http://www.omnimaga.org/index.php?action=dlattach;topic=1579.0;attach=789;image)
-
I can't tell what any of those are.
-
THat's the 2nd dungeon map in Zelda Dark Link Quest for the 83+. It's an homescreen ASCII game, but OpenOffice totally murdered the image quality. The red stuff was added afterward.
-
Here is the first lesson. Note that this is NOT a final copy, mostly because the legal documentation is almost entirely absent. I'm just looking for feedback on the style, length, and formatting. It contains some information the previous versions did not and it corrects some factual inaccuracies.
-
Pretty nice so far I think, except that at the beginning, Disp "Hello World" should be changed to Output(1,1,"Hello World" to reflect what the Locate functions really is.
-
Okay, that's a good suggestion.
-
Okay, that's a good suggestion.
Ok, I've been noticing your sign many times, and decided to check this project.
I have one question: how different is CASIO-Basic from TI-Basic?
-
It's hard to tell, some stuff isn't that different except command name. Normally, if you know 83+ basic, you should be able to pick up the basics of Casio FX-9860G BASIC language by checking doc. Qwerty's guide will help you do that or hopefully help Casio coders to transition to TI-BASIC.
-
Okay, that's a good suggestion.
Ok, I've been noticing your sign many times, and decided to check this project.
I have one question: how different is CASIO-Basic from TI-Basic?
Casio-BASIC was designed like TI-BASIC should have been. It has a lot of useful commands, the company doesn't hate third party programmers, and the underlying hardware actually increases the capabilities of the language. In theory, it's like an extended version of TI-BASIC. In reality, it's still a lot more capable than TI-BASIC, but you'll pay the price in speed. Most Casio-BASIC commands operate even more slowly than TI-BASIC.
EDIT: Wait, I answered another question entirely :P
Real answer: It's not terribly different. There are a few quirks to get used to and more commands, but that's about it.
-
Also, to get string support, you must install OS 2.0 on your 9860G calc, unless you got the 9860GII that has a backlight, which has string support by default. OS 2.0 basically turns your calc into a 9860GII, but with no backlight.
I think the faster commands are display ones, but all math/control commands seems much slower.
-
Casio-BASIC was designed like TI-BASIC should have been. It has a lot of useful commands, the company doesn't hate third party programmers, and the underlying hardware actually increases the capabilities of the language. In theory, it's like an extended version of TI-BASIC. In reality, it's still a lot more capable than TI-BASIC, but you'll pay the price in speed. Most Casio-BASIC commands operate even more slowly than TI-BASIC.
EDIT: Wait, I answered another question entirely
Real answer: It's not terribly different. There are a few quirks to get used to and more commands, but that's about it.
Is there Assembly? Any third-party progamming language?
Like Casio is not very famous, they bet on what Texas won't give, it seems
-
Okay, that's a good suggestion.
Ok, I've been noticing your sign many times, and decided to check this project.
I have one question: how different is CASIO-Basic from TI-Basic?
Casio-BASIC was designed like TI-BASIC should have been. It has a lot of useful commands, the company doesn't hate third party programmers, and the underlying hardware actually increases the capabilities of the language. In theory, it's like an extended version of TI-BASIC. In reality, it's still a lot more capable than TI-BASIC, but you'll pay the price in speed. Most Casio-BASIC commands operate even more slowly than TI-BASIC.
EDIT: Wait, I answered another question entirely :P
Real answer: It's not terribly different. There are a few quirks to get used to and more commands, but that's about it.
Is there Assembly too (probable)? Any third-party programming language? Oh! Is there C?
It looks like Casio bets on what Texas won't give programmers
-
Yes, there's Assembly and C available on the later generation Casio calcs. But the community is pretty quiet. I'm not aware of any [popular] third party languages.
-
Yes, there's Assembly and C available on the later generation Casio calcs. But the community is pretty quiet. I'm not aware of any [popular] third party languages.
Unlike the TI Community who is always blaming and blaming and making great software and programming
/me whistles as if he wasn't part of it
-
I suspect the Casio community won't as quiet by the end of January ;)
-
I suspect the Casio community won't as quiet by the end of January ;)
Hum... Why?
-
Several TI developers will be joining it. I'm also in the VERY early stages of an on-calc language for the Prizm.
-
I wonder if we will get some new Casio users, though, because there are already some established Casio-exclusive boards, while we're mostly TI-related, so maybe even if we get Casio Prizm stuff Casio coders won't be interested in joining. In the past, we had some Casio members, but they made like 2 posts.
We would also need to make sure there won't be some sort of TI vs Casio war, lol. :P
-
TI would win that war, I think
-
Nah, I mean between forum members. The French TI community have a long past history of bashing Casio users and I saw some TI bashing on Casio forums, so we would need to make sure no one starts a troll war or something. :P
-
Nice job so far, and I like your new avatar as well :D
-
I haven't forgotten about this project.
Here's a PDF for the first page. I fixed a bunch of technical errors.
EDIT: Oops, attachment is too large. Here's a mediafire link instead.
http://www.mediafire.com/?6z843ddw88uzqo1 (http://www.mediafire.com/?6z843ddw88uzqo1)
-
The PDF is over 4 MB? ???
Anyway I'm glad you're still working on this. It might help those who want to stick to BASIC to transition from the 83+ to the PRIZM or vice-versa.