No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
SDL @ 821bb63
TouchControlOverlay @ d7f5318
external
icons
libconfig @ f9f23d7
scripts
share
signing
src
.gitignore
.gitmodules
Makefile
README.md
bar-descriptor.xml

README.md

Term48 is a terminal emulator for BlackBerry. It implements (relevant parts of) the ECMA-48 standard, but also includes some other control sequences to make it compliant with the xterm-256color terminfo specification. It is a work in progress, but is good enough to be used regularly by the author.

You can get Term48 from BB World.

http://appworld.blackberry.com/webstore/content/26272878/

The current version runs on BB10 devices, and requires version >= 10.3. An older version is available for the Playbook.

To compile Term48, you will need some additional libraries:

Prebuilt versions of these shared libraries are available in external/lib (see Makefile); to build from source you will need to check out the submodules (call git clone with the --recursive option) and build them with the Momentics IDE. Note that when compiling SDL, you must define -D__PLAYBOOK__ -DRAW_KEYBOARD_EVENTS.

You can build and deploy Term48 without using Momentics IDE:

  • Load the proper bbndk-env file
  • Copy your debug token to signing/debugtoken.bar (or see section below on generating a debug token)
  • Populate the BBIP and BBPASS fields in signing/bbpass with your device's dev-mode IP address and device password
  • Update the <author> and <authorId> tags in bar-descriptor.xml to match the Package-Author and Package-Author-Id for your debug token: unzip -p signing/debugtoken.bar META-INF/MANIFEST.MF | grep 'Package-Author:\|Package-Author-Id:'
  • make
  • make deploy

You can set whatever PackageID and whatnot that you like in the bar-descriptor.xml file. If you want to be able to access shared files on the device, check the 'Files' box under Application/Permissions.

As this is a work in progress, pull requests or feature requests are welcome. Please report any bugs with an Issue.

Generating a Debug Token

  • Use this form to obtain your bbidtoken.csk file: https://developer.blackberry.com/codesigning/
  • Copy bbidtoken.csk to signing/bbidtoken.csk
  • In signing/bbpass, fill in:
    • CNNAME: the Common Name for your signing cert (usually your name)
    • KEYSTOREPASS: CSK password you entered in step 1 signup
    • BBPIN: target device's PIN
    • BBPASS: target device's password
  • Run make in signing/Makefile to request and deploy the token to your device.

Important: any symbols need to be escaped according to bash / Makefile rules e.g. backslashes before symbols \! and double dollar signs \$$.

Debugging with GDB

To connect to the target device and enable debug tools such as GDB, the blackberry-connect tool must be started with the right arguments. For this, two terminals must have the correct bbndk-env environment loaded (or run the make connect command in the background).

Terminal 1: blackberry-connect

  • Start in the Term48 root directory.
  • cd signing
  • If the SSH key hasn't been generated yet, run make ssh-key.
  • make connect
  • Leave terminal running until done debugging.

Terminal 2: gdb

  • Start in the Term48 root directory.
  • make launch-debug
  • The package will be built, deployed to target device, and launched stopped. On host, ntoarm-gdb will start, connect to target device, and attach to the application process. To continue execution, run the GDB command continue. Further information on GDB can be found online.