Zehn and Main Page: Difference between pages

From Hackspire
(Difference between pages)
Jump to navigation Jump to search
(Created page with "Zehn is a new executable format, which supports: * Full relocation (No "-fpic" or similiar needed) * Every kind of section in an ELF file (E.g. ARM unwind information for C++ exc...")
 
 
Line 1: Line 1:
Zehn is a new executable format, which supports:
Welcome to you on Hackspire, the TI-Nspire Hacking wiki.
* Full relocation (No "-fpic" or similiar needed)
The goal of this wiki is to federate all research efforts about the Texas Instruments's TI-Nspire calculator series.
* Every kind of section in an ELF file (E.g. ARM unwind information for C++ exceptions)
* Executable files up to 16MB in size (can be larger if no relocations after 0xFFFFFF)
* Various flags and extra information about the executable:
** Maximum and minimum version and revision of ndless needed to run (https://cloud.githubusercontent.com/assets/1622084/3762493/a7ed3a22-1897-11e4-8d94-77f82ecfa239.png)
** HW types (Clickpad/Touchpad/CX/CM) supported
** Application name, version, author, description (these can be viewed by holding down the "catalog" key when opening the executable: https://cloud.githubusercontent.com/assets/1622084/3762440/0d70af1a-1897-11e4-860b-cf07b6521634.png)


== Name ==
Feel free to add your contribution, the more details we get, the better software the community can create.
"Zehn" is German for 10 while ELF is German for 11.
TI Software is great for mathematics, physics, ... but independent developers are needed for all the rest, because TI does not have time for it!
__NOTOC__
== Site news ==


== Format ==
* '''June 21, 2019 - ([[User:Jim Bauwens|Jim Bauwens]]):''' The Hackspire wiki is back online after a downtime of over a month due to a server failure
The main header file (https://github.com/ndless-nspire/Ndless/blob/master/ndless-sdk/include/zehn.h) contains everything needed to parse a Zehn file.
* '''July 2, 2017 - ([[User:Jim Bauwens|Jim Bauwens]]):''' The Hackspire wiki is 10 years old today! Many thanks to all the contributors for making Hackspire what it is today!
The Zehn header (identified by ZEHN_SIGNATURE) may be everywhere (4-byte aligned) in the first 4KiB if the file starts with "PRG\0" to support backwards-compatibility.
* '''June 15, 2016 - ([[User:Jim Bauwens|Jim Bauwens]]):''' hackspire.org is now the main domain name
* '''March 10, 2016 - ([[User:Jim Bauwens|Jim Bauwens]]):''' hosting on new server


== genzehn tool ==
== Pages ==
The "genzehn" tool (https://github.com/ndless-nspire/Ndless/blob/master/ndless-sdk/toolchain/genzehn/genzehn.cpp) converts ELF files with embedded relocation info (needs to be linked with "--emit-relocs") to relocatable Zehn files. Run "genzehn --help" to get version and usage information.
For basic conversion it's sufficient to only specify "--input input.elf" and "--output output.tns". The resulting executable will open on every version of OS, ndless and type of hardware and the version will be 1.


== make-prg tool ==
<div style="overflow-x:auto">
The "make-prg" tool (https://github.com/ndless-nspire/Ndless/blob/master/ndless-sdk/bin/make-prg) adds zehn_loader.tns at the top of the file, so that older versions of ndless without native support for Zehn. "zehn_loader.tns" is also used to boostrap ndless_resources, which is a Zehn file itself. It doesn't support any of the flags, so your executable may be executed on unsupported hardware or significantly too old OS versions! To use it, execute "make-prg <input> <output>".
{| style="min-width: 700px; width: 100%; line-height:1.5em; border-spacing:20px 0px; margin-top: 1em;"
It compiles zehn_loader.tns if needed.
|- style="text-align:left; background-color:#EEEEFF;"
! style="width:20%; padding:0 1em;"|Projects, programs and tools
! style="width:20%; padding:0 1em;"|Ndless
! style="width:20%; padding:0 1em;"|Development resources
! style="width:20%; padding:0 1em;"|OS information
! style="width:20%; padding:0 1em;"|Miscellaneous
|- style="color:black; vertical-align:top;"
|
*[[Emulators]]
*[[Lua Programs]]
*[[Linux]]
|
*[[Ndless]]
*[[Ndless features and limitations]]
*[[C and assembly development introduction]]
*[[libndls|libndls - TI-Nspire-specific library]]
*[[Syscalls|Syscalls and standard libraries]]
*[[Zehn]]
*[[CAS Programming]]
*[[Debugging programs]]
|
*[[Lua Programming]]
*[[Memory-mapped I/O ports]]
*[[Virtual Memory]]
*[[Clock speed]]
*[[Keypads]]
*[[Interrupts]]
*[[Hardware]]
*[[Jazelle]]
|
*[[Operating System]]
*[[OS upgrade files]]
*[[TNS File Format]]
*[[Document management]]
*[[TI-84 Plus Emulation]]
*[[Internal Filesystem]]
*[[NAND Memory Layout]]
*[[USB Protocol]]
|
*[[Site History]]
*[[Miscellaneous Information]]
*[[TI-Nspire CAS Software]]
*[[Links]]
|}
</div>
 
== Registering / Contacting the Hackspire administration ==
 
If you would like to register on Hackspire or contact the administration team you can do so by sending a mail to 'admin' on hackspire.org.
 
Don't forget to '''add''' the name of this wiki in your message '''subject''', and clearly mention what your request is and why, otherwise your e-mail will be ignored.
 
== Other TI-Nspire developer communities ==
===Forums and News sites===
Although not specific to the TI-Nspire, these web sites are visited by many TI-Nspire hackers and developers.
 
[https://codewalr.us CodeWalrus] ([https://codewalr.us/index.php?action=forum forum]) (English spoken)
 
[https://tiplanet.org TI-Planet] ([https://tiplanet.org/forum/index.php forum]) (French spoken)
 
[https://www.omnimaga.org Omnimaga] ([https://www.omnimaga.org/index.php?action=forum forum]) (least active - English spoken)
 
===Independent TI-Nspire Developers IRC channels===
General discussion: <code>#inspired at efnet.xs4all.nl:6667</code> (SSL on port 6697), or another server listed on http://www.efnet.org/?module=servers .
 
More specifically aimed at Lua programming: <code>#nspire-lua at efnet.xs4all.nl:6667</code> (SSL on port 6697), or another server listed on http://www.efnet.org/?module=servers .
 
==Disclaimer==
Hackspire is in no way affiliated with Texas Instruments Inc., or any of its subsidiaries. All data included in or accessible from the wiki is provided "as is" and without warranties of any kind. We do not guarantee the accuracy of it and any use is at own risk.

Revision as of 09:03, 22 June 2019

Welcome to you on Hackspire, the TI-Nspire Hacking wiki. The goal of this wiki is to federate all research efforts about the Texas Instruments's TI-Nspire calculator series.

Feel free to add your contribution, the more details we get, the better software the community can create. TI Software is great for mathematics, physics, ... but independent developers are needed for all the rest, because TI does not have time for it!

Site news

  • June 21, 2019 - (Jim Bauwens): The Hackspire wiki is back online after a downtime of over a month due to a server failure
  • July 2, 2017 - (Jim Bauwens): The Hackspire wiki is 10 years old today! Many thanks to all the contributors for making Hackspire what it is today!
  • June 15, 2016 - (Jim Bauwens): hackspire.org is now the main domain name
  • March 10, 2016 - (Jim Bauwens): hosting on new server

Pages

Projects, programs and tools Ndless Development resources OS information Miscellaneous

Registering / Contacting the Hackspire administration

If you would like to register on Hackspire or contact the administration team you can do so by sending a mail to 'admin' on hackspire.org.

Don't forget to add the name of this wiki in your message subject, and clearly mention what your request is and why, otherwise your e-mail will be ignored.

Other TI-Nspire developer communities

Forums and News sites

Although not specific to the TI-Nspire, these web sites are visited by many TI-Nspire hackers and developers.

CodeWalrus (forum) (English spoken)

TI-Planet (forum) (French spoken)

Omnimaga (forum) (least active - English spoken)

Independent TI-Nspire Developers IRC channels

General discussion: #inspired at efnet.xs4all.nl:6667 (SSL on port 6697), or another server listed on http://www.efnet.org/?module=servers .

More specifically aimed at Lua programming: #nspire-lua at efnet.xs4all.nl:6667 (SSL on port 6697), or another server listed on http://www.efnet.org/?module=servers .

Disclaimer

Hackspire is in no way affiliated with Texas Instruments Inc., or any of its subsidiaries. All data included in or accessible from the wiki is provided "as is" and without warranties of any kind. We do not guarantee the accuracy of it and any use is at own risk.