Omega for Numworks
I present to you a project that we have been working on for almost a year with, among others: MixedMatched, RedGl0w, boricj, M4x1m3, 0b101, zardam, LeGmask, Gegenter, citorva and PyJaC++, as well as a team of 8 beta testers.
This project is open-source, called Omega and aims to greatly improve Epsilon, the firmware present by default on Numworks calculators.Omega adds :
- An RPN app (by boricj)
- A periodic table app (by M4x1m3)
- Symbolic computation
- A theming engine, highly customizable (JSON+PNG)
Here are 2 examples of themes
- External (by zardam) : a way to install new applications on the fly
There are 4 apps : KhiCAS, Nofrendo, Peanut-GB and Periodic. Note that Periodic is the same app as Atom, already installed on Omega by default. These apps can be installed on https://zardam.github.io/nw-external-apps/ (https://zardam.github.io/nw-external-apps/)
- Molar masses (chemistry)
- Physics constants
- Your name can be displayed in the settings
Note: your name cannot be changed until you reinstall Omega. To change it, use `USERNAME='Your name'` during installation. See https://github.com/Omega-Numworks/Omega/wiki/Installation
- More steps for brightness (16 instead of 5)
- Choosing the multiplication sign
- Accessibility settings
- Compact display
- AND MORE!
The complete changelog
can be found here : https://github.com/Omega-Numworks/Omega/wiki/Changelog
You can try it online
can be done in a couple of seconds here : getomega.web.app
Or can be done manually from source here https://codewalr.us/index.php?topic=2589 (or here https://github.com/Omega-Numworks/Omega/wiki/Installation)
The source code
can be found here : https://github.com/Omega-Numworks/Omega and our team
You can come talk with us on our Discord
if you have suggestions or issues with the installation : https://discord.gg/dHySh8w
Hope you enjoy!NumWorks is a registered trademark. Omega is not affiliated with NumWorks.The Omega Team
Been playing with this last night, that's pretty cool :)
I haven't tried it much yet but I do like the great additions, especially the chemistry/physic apps. This gotta be the most advanced third-party calculator firmware/OS out there.
Quote from: DJ Omnimaga on June 12, 2020, 06:10:44 PMI haven't tried it much yet but I do like the great additions, especially the chemistry/physic apps. This gotta be the most advanced third-party calculator firmware/OS out there.
It's without a doubt the most advanced third-party fork of Epsilon, but I doubt it's the most advanced third-party calculator firmware out there. Projects like newRPL and KnightOS are far more ambitious in both their scope and achievements as alternative firmware built from the ground up.
True, but on the Z80 calculators all OS projects never came to fruition. I guess it helps that the Numworks is open-source. I have never heard of newRPL, though.
One thing to be sure is that due to the open-source nature of Epsilon, Numworks won't try to shut it down (like TI does with almost every custom firmware).
From what I see, the code is under a Creative Commons BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode), which is kinda weird for code, but eh, it's legit.
Wonder what happened with KnightOS, though. The guy probably gave all of his time to his Linux window manager. Which I currently use as a daily driver.
Edit: I see a bunch of commits from this week, looks like someone picked it back up. Nice.
Quote from: Yuki on June 12, 2020, 07:35:43 PMFrom what I see, the code is under a Creative Commons BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode), which is kinda weird for code, but eh, it's legit.
It used to be worse (https://github.com/numworks/epsilon/issues/38), but it got better.
Whew. Looks like they picked a specific set of requirements no open source licence can adequately cover. At this point they could create a new license.
I'm unsure if I'm missing something, but I checked the Numworks manual and the Omega fork via the emulator, as well as Github for documentation and I could not find any way to access a memory management menu. ???
Quote from: DJ Omnimaga on June 16, 2020, 04:13:35 PMI'm unsure if I'm missing something, but I checked the Numworks manual and the Omega fork via the emulator, as well as Github for documentation and I could not find any way to access a memory management menu. ???Do not try and manage memory. That's impossible. Instead, only try to realize the truth: there is no memory.
There is no memory management in epsilon because NumWorks believes an user should not have to worry about that. There is a record system to keep track of variables, functions and scripts, but it is not exposed to the user. That being said, it should be possible to create a memory app for Omega and it will probably be required anyway when storage in Flash gets implemented.
So if someone absolutely wants to delete or add files it has to be done via a computer, right?
Quote from: DJ Omnimaga on June 16, 2020, 05:01:23 PMSo if someone absolutely wants to delete or add files it has to be done via a computer, right?
No, they do it by adding or deleting scripts from the Python app. The three dots next to each script opens a menu for operations. Also, storing "undef" to variables and functions in the Functions app will delete them.
I should've said no central
memory management in epsilon. There simply is no dedicated menu for that unlike with TI calculators.
From what I understand, you basically only have Python scripts to care of, and apps have to be compiled into the firmware as of now, so memory management isn't super useful as you probably wouldn't fill your calc full of Python scripts. (But eh, knowing DJ he would xD) That is, until there's a way to do file transfers without recompiling and transfering the firmware again.
Quote from: Yuki on June 16, 2020, 05:34:18 PMThat is, until there's a way to do file transfers without recompiling and transfering the firmware again.
You can transfer Python scripts without having to flash the firmware since version 1.4.0. That's what the workshop (https://workshop.numworks.com/) is for.
Quote from: Jean-Baptiste Boric on June 16, 2020, 05:47:58 PM
Quote from: Yuki on June 16, 2020, 05:34:18 PMThat is, until there's a way to do file transfers without recompiling and transfering the firmware again.You can transfer Python scripts without having to flash the firmware since version 1.4.0. That's what the workshop (https://workshop.numworks.com/) is for.
Oh, that's cool, then.
Hello ! Here is the Omega 1.20 update at last! It is based on version 14.4.1 of Epsilon.
Two big things: Omega 1.20 first, where we give you new constants, new units, an open function for Python, community themes, new shortcuts, and much more to discover in the changelog below. below.
But in addition to that, we present to you the new Omega site (with translations fr/en/de/it), equipped among other things with an alternative to the Numworks Workshop, which will not confuse the regulars of Visual Studio Code :) We still have a lot to do on it, but we already wanted to give you access to this 100% functional beta!
Here are the main new features of Omega 1.20, available now:Changelog
- Update to Epsilon 14.4.1
- 67 new constants
- 3DS simulator support
- External applications are displayed directly on the home screen.
- Support for the "open" function and the resulting object functions (see documentation here: https://docs.python.org/fr/3/library/functions.html#open and here https: //docs.python.org/fr/3/library/io.html#class-hierarchy)
- Physical constants now use Epsilon units
- The unnecessary "undef" result of symbolic calculations has been removed. Now, a symbolic calculation returns only the desired result.
- Display of the weight of a script in the parameters of a script
- Now anyone can create a GitHub Repo containing their Omega themes (colors and icons), and the THEME_REPO="" and THEME_NAME="" compilation flags will automatically download the desired community theme.
- The SHIFT + HOME shortcut immediately opens the calculation application from anywhere. (note: in reality it is not the calculation app but the first application of the home screen. But in our precompiled versions the first app is always the calculation application).
- In Parameters> Math> Expression format, it is now possible to modify the default behavior of "log" and "sqrt"
- Shortcut: ALPHA + x10 ^ x gives a backslash
- Shortcut: ALPHA + ANS gives an @
- Shortcut: SHIFT + 7 gives µ
- Shortcut: SHIFT + 9 gives Ω
- The web simulator wallpaper has been adapted to the Omega image.
- The simulators have been renamed (Epsilon -> Omega)
- Support for RGB icons without alpha channel for third-party themes.
- New units (this feature has been "broken" by Epsilon 14, it will be fixed for final release)
Regarding the website:
- Possibility to choose the language (French/German/English/Italian).
- Omega simulator now integrated into the site
- Omega IDE (BETA): this is the Omega Workshop-like, which saves scripts on GitHub Gist. Possibility to test (simulator integrated into the IDE) and possibility to transfer the scripts to the calculator. The big advantage of the IDE is that it works by "Project" and not by "Script". Thus, a project can contain several scripts. We hope this will help you with your bigger Python projects.
- Added download of 3DS simulator
- Big improvement in design
- Google Chrome only: Ability to receive notifications when an update is available.
You can now install Omega 1.20 on your Numworks n0100 or n0110 directly here: https://getomega.web.app
You can also install Omega yourself by following the steps described here: https://codewalr.us/index.php?topic=2589.0 (or on https://github.com/Omega-Numworks/Omega)
If you find bugs, never hesitate to report them to us! : wat: (either here, or on GitHub, or on our Discord server https://discord.gg/hjH3gtd)
A big thank you to the rest of the Omega team and everyone who contributes from near and far. Thanks also to you for being more and more numerous to use Omega!
Good fun! The Omega Team.
Very nice features addition! By 3DS simulator support, does it mean that Omega can now be ran on a Nintendo 3DS console?
Yes, Omega can be run on the 3DS. You only need either a 3DS with a custom firmware (https://3ds.hacks.guide/) (with the homebrew channel installed) or an entry exploit (soundhax, ninjhax, etc... See here (https://www.3dbrew.org/wiki/Homebrew_Exploits) for more details).
My first goal with that thing was to make it exam-mode compliant (at least in France) and go pass the math test of the Baccalauréat (high school graduation in France) with it. Sadly, due to Covid-19, I couldn't. This is why it's not compliant (doesn't save exam mode state in the flash of the 3DS, doesn't build as a CIA replacing the home menu, etc.)
Hello ! Here is the Omega 1.20 update at last! It is based on version 14.4.1 of Epsilon.
Hello! Yesterday we released Omega update 1.20.0 (new constants, new units, an open function for Python, community themes, new shortcuts, and much more to discover in the changelog above). We also have released a multi-script python project editor (beta) on our new website. Today we bring you Omega 1.20.1 with the following changes: Changelog
- New: "os" module for Python (uname, listdir, remove, rename)
- Fix: A crash when using the open function in "append" mode on a new file
- Change: Color of the fractal of mandelbrot.py
To update and find the new script editor: https://getomega.web.app/The Omega Team.
Omega 1.20.2 & 1.20.3
Hello! The Omega Android Application
is now available on Google Play, and it saves your scripts
(compared to the Numworks app).Changelog
- New: Persistence of scripts for the simulator
- New: OS module documented in the toolbox
- Change: The \ @ Ω µ keys are displayed on the simulator's keyboard
- Change: Constants based on the CODATA 2018
- Change: Visual keyboard only change state on keydown
- Change: USERNAME to OMEGA_USERNAME
To update : https://getomega.web.app/
Google Play link: https://play.google.com/store/apps/details?id=io.github.omega.simulatorThe Omega Team