Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TI-Nspire support #131

Draft
wants to merge 17 commits into
base: upsilon-dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ help:
@echo " make PLATFORM=simulator TARGET=web"
@echo " make PLATFORM=simulator TARGET=windows"
@echo " make PLATFORM=simulator TARGET=3ds"
@echo " make PLATFORM=simulator TARGET=nspire"

.PHONY: doc
doc:
Expand Down
30 changes: 27 additions & 3 deletions README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,29 @@ Vous pouvez ensuite copier epsilon.3dsx sur une carte SD pour l'exécuter depuis

</details>

<details>
<summary><b>Simulateur TI-Nspire</b></summary>

***Mes excuses, mais cette section est traduite automatiquement. Merci de nous aider à le localiser.***

Tout d'abord, construisez et installez [Ndless SDK](https://hackspire.org/index.php/C_and_assembly_development_introduction);

Compilez ensuite Upsilon en spécifiant la cible:

```bash
make clean
make PLATFORM=simulator TARGET=nspire -j4
```

Copiez epsilon.tns sur Nspire Touchpad ou CX avec [Ndless](https://ndless.me) installé et exécutez-le à partir de Mes documents.

Veuillez noter que l'exécutable est au [format Zehn](https://hackspire.org//index.php?title=Zehn) donc
Ndless 3.1 ou une version ultérieure est requise.

La méthode de mappage du clavier n'est pas parfaite et est susceptible de changer.

</details>

Si vous avez besoin d'aide, n'hésitez pas à rejoindre notre serveur discord : https://discord.gg/Q9buEMduXG

<a href="https://discord.gg/Q9buEMduXG"><p align="center"><img alt="Omega Banner Discord" src="https://user-images.githubusercontent.com/12123721/86287349-54ef5800-bbe8-11ea-80c1-34eb1f93eebd.png" /></p></a>
Expand Down Expand Up @@ -177,9 +200,10 @@ Vous pouvez essayer Epsilon depuis votre navigateur sur le [simulateur en ligne]

## Licence

NumWorks est une marque déposée de NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France.
Nintendo est Nintendo 3DS sont des marques déposées de Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, Etats-Unis.
NumWorks SAS et Nintendo of America Inc ne sont en aucun cas associés avec ce projet.
NumWorks est une marque déposée de NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France.<br>
Nintendo est Nintendo 3DS sont des marques déposées de Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, Etats-Unis.<br>
NumWorks SAS et Nintendo of America Inc ne sont en aucun cas associés avec ce projet.<br>
Comment on lines +203 to +205
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you add <br> ?

Suggested change
NumWorks est une marque déposée de NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France.<br>
Nintendo est Nintendo 3DS sont des marques déposées de Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, Etats-Unis.<br>
NumWorks SAS et Nintendo of America Inc ne sont en aucun cas associés avec ce projet.<br>
NumWorks est une marque déposée de NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France.
Nintendo est Nintendo 3DS sont des marques déposées de Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, Etats-Unis.
NumWorks SAS et Nintendo of America Inc ne sont en aucun cas associés avec ce projet.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The
must be a relic of a mix between markdown and HTML

TI-Nspire est une marque déposée de Texas Instruments, Inc.

* NumWorks Epsilon est disponible sous [Lisense CC BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
* Omega est disponible sous [Lisense CC BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
Expand Down
28 changes: 25 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,27 @@ You can then put epsilon.3dsx on a SD card to run it from the HBC or use 3dslink

</details>

<details>
<summary><b>TI-Nspire Simulator</b></summary>

First, build and install [Ndless SDK](https://hackspire.org/index.php/C_and_assembly_development_introduction);

Then compile Upsilon specifying the target:

```bash
make clean
make PLATFORM=simulator TARGET=nspire -j4
```

Copy epsilon.tns to either Nspire Touchpad or CX with [Ndless](https://ndless.me) installed and run it from My Documents.

Please note that the executable is in [Zehn format](https://hackspire.org//index.php?title=Zehn) thus
Ndless 3.1 or a later version is required.

Keyboard mapping method is not perfect and is subject to change.

</details>

<br>

Important: Don't forget the `--recursive` tag, because Upsilon relies on submodules.
Expand Down Expand Up @@ -371,9 +392,10 @@ You can try Epsilon straight from your browser in the [online simulator](https:/

## 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.
NumWorks is a registered trademark of NumWorks SAS, 24 Rue Godot de Mauroy, 75009 Paris, France.<br>
Nintendo and Nintendo 3DS are registered trademarks of Nintendo of America Inc, 4600 150th Ave NE, Redmond, WA 98052, USA.<br>
NumWorks SAS and Nintendo of America Inc aren't associated in any shape or form with this project.<br>
TI-Nspire is a registered trademark of Texas Instruments, Inc.

* NumWorks Epsilon is released under a [CC BY-NC-SA License](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
* Omega is released under a [CC BY-NC-SA License](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
Expand Down
6 changes: 6 additions & 0 deletions build/platform.simulator.nspire.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TOOLCHAIN = nspire-gcc
EXE = elf

EPSILON_TELEMETRY ?= 0

HANDY_TARGETS_EXTENSIONS = tns
4 changes: 4 additions & 0 deletions build/targets.simulator.nspire.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ZEHNFLAGS = --name "epsilon"

$(BUILD_DIR)/%.tns: $(BUILD_DIR)/%.elf
$(GENZEHN) --input $^ --output $@ $(ZEHNFLAGS)
10 changes: 10 additions & 0 deletions build/toolchain.nspire-gcc.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CC = nspire-gcc
CXX = nspire-g++
LD = nspire-ld
GDB = arm-none-eabi-gdb
OBJCOPY = arm-none-eabi-objcopy
SIZE = arm-none-eabi-size
AS = nspire-as
GENZEHN = genzehn

SFLAGS += -U__STRICT_ANSI__ -D_NSPIRE -marm
2 changes: 2 additions & 0 deletions ion/src/simulator/external/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
The sdl directory contains a snapshot of the SDL source code at revision
13105:db9d0d0b7ebc

The n2DLib directory contains a fork of n2DLib at https://github.com/gameblabla/n2DLib with prefix 'GRAFX_' attached to macro 'min' and 'max'

Note that parts of SDL source code are also copied into the path
ion/src/simulator/android/src/java because Gradle expects Java code to live
there...
9 changes: 9 additions & 0 deletions ion/src/simulator/external/config.nspire.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

undefine sdl_src
undefine ion_simulator_sdl_src

sdl_src += $(addprefix ion/src/simulator/external/n2DLib/, \
n2DLib.c \
)

SFLAGS += -Iion/src/simulator/external/n2DLib
Loading