Skip to content

Xi, an OS forked from Upsilon (You might not actaully want Xi running on your device, use Upsilon instead)

License

Notifications You must be signed in to change notification settings

Trixciel/Xi

 
 

Repository files navigation

cc by-nc-sa 4.0

Vous ne comprenez pas l'anglais ? Vous êtes francophone ? Regardez le LISEZ-MOI français !

About

Xi is a fork of Upsilon, and more like a weekend project than an actual OS.

Installation

Manual

As of today, only the manual installation is available. You can refer to this website for the first step if you get errors.

1. Install SDK


1.1 Linux
Debian or Ubuntu

You just have to install dependencies by running these command with superuser privileges in a Terminal:

apt-get install build-essential git imagemagick libx11-dev libxext-dev libfreetype6-dev libpng-dev libjpeg-dev pkg-config gcc-arm-none-eabi binutils-arm-none-eabi

And there you can go to step 2!


Fedora

First install basics dev tools.

dnf install make automake gcc gcc-c++ kernel-devel

Then install required packages.

dnf install git ImageMagick libX11-devel libXext-devel freetype-devel libpng-devel libjpeg-devel pkg-config

Then, install GCC cross compiler for ARM.

dnf install arm-none-eabi-gcc-cs arm-none-eabi-gcc-cs-c++


1.2 Mac

It's recommended to use Homebrew. Once it's installed, just run:

brew install numworks/tap/epsilon-sdk

and it will install all dependencies.


And there you can go to step 2!


1.3 Windows

Msys2 environment is recommended to get most of the required tools on Windows easily. It's where you'll paste all the commands of this tutorial. Once it's installed, paste these commands into the Msys2 terminal.

pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-freetype mingw-w64-x86_64-pkg-config mingw-w64-x86_64-libusb git make python
echo "export PATH=/mingw64/bin:$PATH" >> .bashrc

Next, you'll need to install the GCC toolchain for ARM. When prompted for an install location, choose C:\msys64\home\User\gcc-arm\. You'll then need to add this folder to your $PATH. Just enter:

echo "export PATH=$PATH:$HOME/gcc-arm/bin" >> .bashrc

Just restart and you can go to step 2!


2. Set up repo

Clone repo and use 'xi-dev' branch by pasting these two commands:

git clone --recursive https://github.com/Trixciel/Xi.git
cd Xi
git checkout xi-dev

3. Choose the target

Model n0100

(note: you can change the EPSILON_I18N=en flag to fr, nl, pt, it, de, es or hu).

make MODEL=n0100 clean
make MODEL=n0100 EPSILON_I18N=en OMEGA_USERNAME="{Your name, max 15 characters}" -j4

Now, run either:

make MODEL=n0100 epsilon_flash

to directly flash the calculator after pressing simultaneously reset and 6 buttons and pluging in.


or:

make MODEL=n0100 OMEGA_USERNAME="" binpack -j4

to make binpack wich you can flash to the caculator from Ti-planet's webDFU. Basically, binpacks lets everyone that can access the numworks webdfu install Xi, which you don't really want to do but eh, whatever.

Model n0110
make clean
make OMEGA_USERNAME="{Your name, max 15 characters}" -j4

Now, run either:

make epsilon_flash

to directly flash the calculator after pressing simultaneously reset and 6 buttons and pluging in.


or:

make OMEGA_USERNAME="" binpack -j4

to make binpack wich you can flash to the caculator from Ti-planet's webDFU. Basically, binpacks lets everyone that can access the numworks webdfu install Xi, which you don't really want to do but eh, whatever.

Web simulator

First, install emsdk :

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest-fastcomp
./emsdk activate latest-fastcomp
source emsdk_env.sh

Then, compile Xi :

make clean
make PLATFORM=simulator TARGET=web OMEGA_USERNAME="{Your name, max 15 characters}" -j4

The simulator is now in output/release/simulator/web/simulator.zip

3DS Simulator

You need devkitPro and devkitARM installed and in your path (instructions here)

git clone --recursive https://github.com/Trixciel/Xi.git
cd Xi
git checkout --recursive xi-dev
make PLATFORM=simulator TARGET=3ds -j

You can then put epsilon.3dsx on a SD card to run it from the HBC or use 3dslink to launch it over the network:

3dslink output/release/simulator/3ds/epsilon.3dsx -a <3DS' IP ADDRESS>

Important: Don't forget the --recursive tag, because Upsilon relies on submodules. Also, you can change the number of processes that run in parallel during the build by changing the value of the -j flag. Don't forget to put your pseudo instead of {your pseudo, max 15 char}. If you don't want one, just remove the OMEGA_USERNAME="" argument.


If you need help, you can join our Discord server here : https://discord.gg/NFvzdCBTQn

Omega Banner Discord

Useful links

Contributing

To contribute, please refer to Omega's Wiki, the same rules apply here.

Related repositories

Here are the main links toward Omega's different websites and repositories, that have been used for the creation of Upsilon.

About Epsilon

Xi is a fork of Upsilon, that aims to create a few useful features for students in higher studies.

Upsilon is a fork of Omega, after the project's discontinuation.

Omega is a fork of Epsilon, a high-performance graphing calculator operating system. It includes eight apps that cover the high school mathematics curriculum.

You can try Epsilon straight from your browser in the online simulator.

License

NumWorks is a registered trademark of NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France. Nintendo and Nintendo 3DS are registered trademarks of Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, USA. NumWorks SAS and Nintendo of America Inc aren't associated in any shape or form with this project.

Special Thanks

Thanks to the entire Omega and Upsilon community from introducing me to the world of Numworks OS creation. Also thanks to Laury, because this readme is just Upsilon's with a thing or two switched.

About

Xi, an OS forked from Upsilon (You might not actaully want Xi running on your device, use Upsilon instead)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 52.8%
  • C 40.7%
  • Python 2.9%
  • Java 1.9%
  • Makefile 1.1%
  • CSS 0.4%
  • Other 0.2%