Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - compu

Pages: [1] 2
TI-Nspire / [Ndless] CoreTemp Remote
« on: May 18, 2014, 03:20:29 pm »
I wrote a small library to forward a TCP socket from a computer to an Nspire via USB (NavNet).

This is a demo program that connects to a CoreTemp Remote Server (see ).
Currently it works with Windows and the official TI-Nspire software, TiLP and Linux support might come later.

Anyways, here is a video:

Github repo:
The library itself is a work in progress and can only forward one TCP socket at the moment.
It could be used for a variety of things like browsers, IRC clients, etc.

Thanks to ExtendeD for giving me the source of his Google demo.

Nspire I/O / Nspire I/O - Now with C++ support
« on: November 19, 2013, 03:30:07 pm »
After ExtendeD added support for C++ to Ndless some months ago, I have added experimental C++ support to Nspire I/O now.
It has an iostream-like interface, so it should be easy to use (at least I hope it is :P )

The obligatory "Hello World":
Code: [Select]
#include <nspireio/console.hpp>

int main(void)
  nio::console c;
  c << "Hello World!" << nio::endl;

  return 0;

A more complete demo can be found here.
The output of that demo is attached below.

The source code can be found on Github and in the attached zip file (that contains the compiled library file and demos as well).

Calculator C / [Ndless/C++] Problems with inheritance
« on: November 16, 2013, 06:09:32 pm »
I am trying to make a C++ class for Nspire I/O that works like the standard iostream class.
For this purpose, I have the class console, which is just a simple C++ wrapper for Nspire I/O, and the class nio_base, that provides stuff from the standard ios_base class.
The class iostream inherits from both console and nio_base, so we can use the <<, >> operators and more for Nspire I/O consoles.

My problem is, when I am trying to set the field width with the function width() from nio_base to 10, it stays 0 when I read it from inside the iostream class.
Also, using setf() crashes the emulator.

This is the code I'm trying to run.
Basically everything works, except the field width change and the unsetf/setf stuff.

The code works fine on the other branch where the nio_base stuff is integrated into iostream, but I wanted to separate it so I don't have to duplicate the code for RS232 communcication.

Download the code
To build, make lib install in the root dir
make lib install demo in niostream
Make sure there are no old versions of Nspire I/O in your Ndless SDK.

Other / Cheap Software Defined Radio
« on: August 30, 2013, 02:30:16 pm »
So, do you guys know about RTL-SDR?
Basically it turns cheap DVB-T-Sticks into a Software Defined Radio with a frequency range of 52-2200 MHz / 24-1766 MHz (depending on tuner).

You can do some cool stuff with it, like getting images from weather satellites or listening to unencrypted voice transmissions (e.g. pilots talking to ground stations etc.)

A compatible DVB-T-Stick costs $10-$20, so it is really cheap for what you can do with it.
You can find more information (and more possible use cases) on

I attached a screenshot showing the position, speed, altitude, etc. of nearby aircrafts by receiving ADS-B signals at 1090 MHz using my Terratec T-Stick Plus (with E4000 tuner). I can receive transmissions from planes that are up to 120km away from me using the supplied antenna.

I'm trying to make some kind of package manager for the TI-Nspire.
The goal is to make installing/removing programs on an Nspire very easy, e.g. for games that need a large amount of other files/resources.
In its current state pacspire can install zip files and register file extensions on installation time.

For testing purposes I made a package of Tile World which can be installed with one click ;)

To do this, you have to send pacspire.tns and tworld.pcs.tns to your calc and start pacspire once. Now you can click on tworld.pcs.tns to install it.
Source code and more information is available on github.
This is an early version so please let me know if you have suggestions, find bugs, etc.

TI-Nspire / TI-Nspire Task Manager
« on: March 17, 2013, 11:00:48 am »
Yesterday I started to fiddle around with Nucleus OS (the underlying Operating System of the Nspire) and here is the first tool I wrote for it: A Task Manager :P
It shows the currently running tasks, infos about them and it can kill tasks ;D

Currently it only works on classic non-CAS Nspires (it shouldn't be hard to add support for other models, but I am lazy...)
More features will come.

Known tasks:
gui - User Interface. Killing it crashes calc
KPD_TASK, KPT_TASK - Handle keypad input. Killing them makes the keypad unusable
wcm_* - probably related to the wireless cradle?
OffMon - When killed you can't turn the calc off

Introduce Yourself! / Hi!
« on: January 15, 2013, 03:25:18 pm »
since I recently had my Omnimaga 2-year anniversary, I thought I should finally introduce myself ;)

My name is Julian, I am 17 years old and I live in Germany, near Hamburg.
I am in the 12th grade of a grammar school with focus on information technology.
The only calculator I own is an Nspire Classic Touchpad, and the reason why I signed up here 2 years ago was that I wanted to play GB games on it (this is my first post, when I failed to compile Ndless :P )
eventually this got me into Nspire C programming and I worked on some projects since then :)

Also, I have some basic knowledge in other programming languages like PHP/JS/Python/C++.
Other things I do in my free time are playing the piano, badminton, gaming, going to LAN parties... ;D

Till now, I enjoyed being here and I hope I'll be here for some more years :)

TI-Nspire / - List of all native Nspire projects
« on: October 24, 2012, 09:35:06 am »
This is a list of (almost?) all native Nspire projects (-> programs that require Ndless)
with a short description, required Ndless version, Classic/CX compatibility and download link.
There are also some general statistics about Nspire development :)


Site Feedback and Questions / Deletion of PTTKiller topics
« on: June 08, 2012, 01:46:31 am »
Since I was offline when both topics about PTTKiller were deleted, I'd like to get an explanation from one of the managers (or whoever did it) why this had to be done (there would've been several other ways of "solving" this, for example removing the attachments, deleting specific posts or locking it and deleting the complete topic is definitely the worst of them in my opinion, but maybe I'm wrong)

I don't want to discuss here, I just want to get a statement from one of the managers.

TI-Nspire / PTTKiller - Enable access to documents in PTT mode
« on: June 07, 2012, 01:44:59 am »
This tool gives you access to selected Nspire documents while in Press-To-Test mode.


- Place pttkiller.tns in ndless/startup
- Create a folder called "ptt"
- Drop documents you want to use in it

On every boot you will be asked if you want to enable access to documents.
If you are not in PTT mode, just press "No" or hold ESC while booting to skip the popup.

Sadly, Ndless programs won't work in PTT mode.

Edit: Files removed by administrative decision.

TI-Nspire / IRC on the Nspire
« on: March 24, 2012, 05:17:07 pm »
Hi :)

I have written a tiny IRC client for the Nspire using RS232.
It requires a program on the PC to be running that forwards a TCP connection to the calculator.
The IRC protocol is completely handled by the Nspire.

At the moment it is really limited, it can join one channel and read/write messages, it can view status changes, joins/parts and receive PMs.
It is based on Nspire I/O (1.0) and I'm currently updating it to work with 2.0 which would make it possible to have multiple channels, IRC color codes and more.
I won't release the source of this version, because it is really messy and buggy, but maybe I'll release a better version of it in the next days :P

The PC software is written in Python. It waits for IP/Host and port to be sent from the calc and then opens a socket.

And this is how the next version will probably look like :)

TI-Nspire / OSLauncher 3.1
« on: March 08, 2012, 12:00:33 pm »
OSLauncher is deprecated; Use nLaunch or nLaunch CX instead.

I decided to port OSLauncher to OS 3.1 some weeks ago, because it would only require one line of code change. However, memory allocation failed because a decompressed OS 3.1 doesn't fit into RAM.
ATM OSLauncher decompresses directly from a file to allocated memory, and then copies the decompressed OS to the OS base address (0x10000000). This requires a lot of memory (around 11MB for OS 3.1 CAS).
So I decided to change the way OSLauncher decompresses the OS; It loads the compressed OS into RAM and directly overwrites the old OS at 0x1000000. Using this method requires a port of zlib because syscalls won't be available with disabled interrupts.

Basically my code works, I can launch DummyOS and it works fine, but OS 3.1 CAS reboots. I have calculated some checksums to see if there are any errors at decompressing, but the decompressed OS is okay.

BTW, CX compatibility isn't far away, but DummyOS won't compile anymore which I would need for testing purposes.
Spoiler For Error:
$ make clean all
rm -f *.o *.elf
rm -f ./phoenix.raw.tns
nspire-gcc -Os -g3 -Wall -W -Wwrite-strings -marm -c dummyos.c
nspire-ld --no-startup -T ldscript dummyos.o -o phoenix.raw.elf
z:/Nspire/ndless/bin/../system/osstub.o: In function `exit.clone.0':
osstub.c:(.text+0x28): undefined reference to `__crt0_savedsp'
osstub.c:(.text+0x2c): undefined reference to `__crt0exit'
collect2: ld returned 1 exit status
make: *** [phoenix.raw.tns] Error 1
I think it stopped working after updating SVN.

If anyone is interested in helping me, here is my code (+ executable).

Calculator C / Find syscalls
« on: January 23, 2012, 03:30:17 pm »
I would really like to know, how do you find syscalls in the Nspire OS/boot2?
I have seen long lists of functions with addresses and names, but how do you get them?

When I launch a program via my shell, is it possible to make functions and variables of it available for the launched program?

TI-Nspire / rshell - A simple RS232 shell for the Nspire
« on: August 18, 2011, 03:51:12 pm »
rshell is a command-line interface for Nspire using the RS232 port.

It has the ability to launch ndless executables and pass C's argc and argv to them.

I have included some programs for filesystem operations:

ls - list content of a directory
cp - Copy a file
mkdir - Create a directory
stat - Show size and type of a file
rm - Remove a file (for some reason buggy sometimes)

All these commands are in their own TNS-File that has to be located in /documents/bin or the current directory.

Built-in commands are:

cd - Change directory
exit - Exit rshell


Code: [Select]
A:\documents\>ls.tns /

Code: [Select]
Copies a file from SOURCE to DESTINATION.
A:\documents\>cp.tns bin/stat.tns copied.tns

Code: [Select]
USAGE: mkdir.tns NAME
Creates a directory named NAME.
A:\documents\>mkdir.tns lol

Code: [Select]
USAGE: stat.tns FILE
Shows stat data for FILE.
A:\documents\>stat.tns copied.tns
Mode: File
Size: 0 KBytes
(Shows 0KB here, because it is smaller than 0.5KB and got rounded down...)

Code: [Select]
USAGE: rm.tns FILE
Removes the FILE.
A:\documents\>rm.tns copied.tns

Code: [Select]
A:\documents\>cd examples
A:\documents\examples\>cd ..
A:\documents\>cd /
A:\>cd phoenix
A:\phoenix\>cd /documents
A:\documents\>cd \

Pages: [1] 2