Skip to content

delwink/liberti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

354 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiberTI

Libre TI-83 calculator emulator designed for LibreCalc.

Build Instructions

You must first satisfy the build dependencies of LiberTI.

Library/Tool Purpose
POSIX Make Build scripts
C99 Compiler (Prefer GCC or Clang) Source compilation
GNU Scientific Library Complex math calculations and data structures
Simple DirectMedia Layer 2 Graphics and threading
SDL2 Image Image loading support
Delwink's libpfxtree Keyword parsing for the encoder
libconfig Calculator states and configurations

On Debian GNU/Linux and derivatives, you can install these with the following command:

# apt-get install build-essential libgsl0-dev  libsdl2-dev \
libsdl2-image-dev libconfig-dev

For libpfxtree, download the latest stable source from Delwink's site, and build/install according to the README inside.

After the dependencies are installed, you can build LiberTI as follows:

$ make

If you wish to install LiberTI to the system, you can run the following:

# make install

Fonts

The font files used in LiberTI are compiled statically into the program in font.c. This was done to reduce the need for file IO at runtime (just one more way the program can fail). However, some users might want to change the fonts for one reason or another.

font.png at the root of this repository contains the primary font. If you wish to modify it, you can take the following steps to include them in the finished program:

Use your favorite hex dumping program to dump the changed file. With xxd:

$ xxd -i font.png ti83.c

This will create a C file with the dumped bytes. For font.png, rename the array to FONT_PNG_DATA. For both, change the length variable to a #define as done in font.c, then paste the new array into place. Make sure to change the length constants at the top of font.c to be the new lengths, or you will get errors when running liberti.

The reason this was not added as part of the build script is because these fonts are not supposed to change for the official release of LiberTI, and it would be an extra dependency to add xxd which is part of vim-common just for these hex dumps.

Disclaimer

This project was created independently by David McMackins for Delwink, LLC as a replacement for LibreCalc's existing TI emulator. LiberTI is not (yet) officially endorsed or supported by LibreCalc.

Hacking

Copy the style you see in the code. Do not use spaces for indentation.

To submit a patch, submit your diff to Delwink, or use GitHub's pull request system.

License

LiberTI is free (libre) software, released under the terms of version 3 of the GNU Affero General Public License. You are free to copy, modify, and redistribute this software and use it for whatever purpose. See COPYING for details.

About

Libre TI calculator emulator designed for LibreCalc

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages