I've ported Upsilon to the Casio CG50 (and likely CG10/20 too but it's not tested). Upsilon is a fork of Omega, which is a fork of an older version of the Epsilon OS used by Numworks on their calculators. It runs as an addin, so it doesn't overwrite the Casio OS or anything, but if you stay in it you can use it as an alternate OS.

What advantages does Upsilon have over the Casio OS? Well, in my opinion the UI is nicer and easier to use, the source code is available so you can customise it more, the Python support is better etc. On the other hand, it’s missing a few features like 3D graphing and you can’t use it in exam mode so you would probably want to use it alongside the Casio OS.

Photos:






There are a few issues with it at the moment, like graphing being really slow and the battery indicator not working, but it's good enough that I think people might find it useful. I've submitted a PR so hopefully it can become part of Upsilon soon but here's a g3a file that you can try:

Upsilon.g3a

To get back to the Casio OS's main menu, you need to press and hold the menu button for a bit. Also no settings or programs you make in Python are saved persistently at the moment

Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 as required by the license inherited from version 15 of Epsilon. The source is in the PR I linked
Cool! I guess this is mostly a testament to Numworks' code having a good hardware abstraction layer that means it's easy to tell what you need to implement in order to target a new platform?
Heath wrote:
(and likely CG10/20 too but it's not tested).

Great work!
Unfortunatelly it does not work on my CG 20 (03.10.0200). It is not visible in the main menu Sad
Seems like a great project!
Unfortunately I can't find it in the main menu of my Graph 90+E Emulator (OS 03.60.2202).
I can reproduce that on the CG50 emulator, I'll try to see what's wrong.
OK, I see what I did wrong, I accidentally uploaded a .bin file renamed to .g3a. Here's a valid g3a:

Upsilon.g3a

I also updated the link in the main post
Tari wrote:
Cool! I guess this is mostly a testament to Numworks' code having a good hardware abstraction layer that means it's easy to tell what you need to implement in order to target a new platform?


Yes, and also the fact that someone ported it to the TI-Nspire before so I could use that as an example
Heath wrote:
OK, I see what I did wrong, I accidentally uploaded a .bin file renamed to .g3a. Here's a valid g3a:

Upsilon.g3a

I also updated the link in the main post

Thanks, it's working now!
Heath wrote:
OK, I see what I did wrong, I accidentally uploaded a .bin file renamed to .g3a. ...

It works now on cg20!Smile
And it is far better than the original CASIO FW! Smile
I there any catalog, so I can see all the commands?
MPoupe wrote:
Heath wrote:
OK, I see what I did wrong, I accidentally uploaded a .bin file renamed to .g3a. ...

It works now on cg20!Smile
And it is far better than the original CASIO FW! Smile
I there any catalog, so I can see all the commands?


Try pressing OPTN, which is mapped to Toolbox which has all the commands

I should probably map the Catalog shortcut to it too
Heath wrote:
Try pressing OPTN, which is mapped to Toolbox which has all the commands
I should probably map the Catalog shortcut to it too

Yes, I found it before, but think there is not everything. Can I do (e.g.) Plot, Line and similar commands? How do I enter special symbols (I got stuck on '!', when I wanted to try factorial).
MPoupe wrote:
Heath wrote:
Try pressing OPTN, which is mapped to Toolbox which has all the commands
I should probably map the Catalog shortcut to it too

Yes, I found it before, but think there is not everything. Can I do (e.g.) Plot, Line and similar commands? How do I enter special symbols (I got stuck on '!', when I wanted to try factorial).


You’d probably need to do those from the Python app? I haven’t used it much but I think the Kandinsky module handles drawing

It looks like I haven’t mapped the ! key to anything, I’ll probably make a combination with one of the function keys and also add it to the catalog but for now I’m not sure if it’s possible to type. For other special characters try the function keys, things like <> and : are mapped to those
Heath wrote:
...You’d probably need to do those from the Python app? I haven’t used it much but I think the Kandinsky module handles drawing

No, I do not Python:-) Does this calculator support commands (like CASIO and TI ones do)?
Or is it just a calculator and any scripting must be done in Python?
Does Python support CAS (e.g. expression simplifying)?

Please map clear (currently mapped to F6) to AC, if possible Smile
Excellent work, and I agree with Tari that this is also quite the compliment to the NumWorks' team's coding, that their work is so portable.
MPoupe wrote:
Heath wrote:
...You’d probably need to do those from the Python app? I haven’t used it much but I think the Kandinsky module handles drawing

No, I do not Python:-) Does this calculator support commands (like CASIO and TI ones do)?
Or is it just a calculator and any scripting must be done in Python?
Does Python support CAS (e.g. expression simplifying)?

Please map clear (currently mapped to F6) to AC, if possible Smile


In this build I've mapped clear to AC. F6 is now factorial, shift + F6 is question mark, and factorial has been added to the catalog. It also improves the font
Heath wrote:
In this build I've mapped clear to AC. F6 is now factorial, shift + F6 is question mark, and factorial has been added to the catalog. It also improves the font

Thank you, it works:-) Factorial is computed in exact mode, I like it Smile

There is another (minor) problem. Press [Shift], then [Alpha]. "ALPHA" will be shown on the top. Now none key is working (except [shift] or [alpha], obviously). Probably missing mapping(?) )
I've played around a bit, and I really like it!

A few issues/questions (that haven't already been mentioned):
- I'm not sure what Built-in is supposed to do, but for now it just shows a black box.
- I couldn't change the time/date without using an external app (i.e. Utilities).
- How do I import files (i.e. Python scripts, Reader files)?
- Can I, and if so, how can I make custom apps?
- Is there somewhere I can find user documentation for the OS (e.g. information about each toolbox item)?

Having said that, this is a really cool project and I will be making good use of it.
dr-carlos wrote:
I've played around a bit, and I really like it!

A few issues/questions (that haven't already been mentioned):
- I'm not sure what Built-in is supposed to do, but for now it just shows a black box.
- I couldn't change the time/date without using an external app (i.e. Utilities).
- How do I import files (i.e. Python scripts, Reader files)?
- Can I, and if so, how can I make custom apps?
- Is there somewhere I can find user documentation for the OS (e.g. information about each toolbox item)?

Having said that, this is a really cool project and I will be making good use of it.


Built-in doesn’t do anything. Apparently it’s an example of a custom app, I’ve been trying to get rid of it but I can’t work out how.

The date/time thing is known, I’ll need to add support for that.

You can’t import files yet and they don’t save, that’s another thing I need to add.

I think custom apps are possible but I haven’t looked into it. It would be nice to be able to use the GUI library from it though.

I think NumWorks have a manual for their OS, try Googling it. Though note that this is based on version 15 and not the latest

This is a list of things I need to work on:

Persistent saving of things like settings and Python files
Some things are cut off at the bottom in the distribution and atomic apps
Curve/graph drawing is slow as it uses floating point
Gamma correction is slow and the magnifier doesn’t work properly
I'm not sure if external apps can work
The date/time can be read but not set
Battery level reporting
Maybe put something for the serial number and FCC ID
The key mapping can be improved slightly
Clipboard integration
Congratulations! That's really a very nice port. Once you have persistence, a nice addition would be access to Casio flash file system (there is no flash filesystem on Epsilon, something really missing I believe, I had to implement some sort of replacement in my own fork of Epsilon/Omega, Khi, using a tar file).
The Casio processor is slow compared to Numworks processor (about 10* I would say, when I compare KhiCAS 3D drawing on the Casio and Numworks). I'm afraid you won't be able to speed up curve drawing...
parisse wrote:
Congratulations! That's really a very nice port. Once you have persistence, a nice addition would be access to Casio flash file system (there is no flash filesystem on Epsilon, something really missing I believe, I had to implement some sort of replacement in my own fork of Epsilon/Omega, Khi, using a tar file).
The Casio processor is slow compared to Numworks processor (about 10* I would say, when I compare KhiCAS 3D drawing on the Casio and Numworks). I'm afraid you won't be able to speed up curve drawing...


Thanks! Interestingly filesystem access already sort of works because I based this on gint/fxsdk which supports the C standard library’s file access functions, so the reader app can already see text files without me having had to do anything.

Is KhiCAS using floating point for 3D at all? I know that’s extremely slow because of no FPU in the Casio CPU. Or is it really just that much slower? I guess that wouldn’t be that surprising considering how old the SH4 architecture is now

Great work on KhiCAS by the way, I just wish the UI was a little easier to use for beginners
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement