Libndls

From Hackspire
Revision as of 18:27, 8 October 2010 by ExtendeD (talk | contribs) (Created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

libndls is a set of macros and functions available as a static library when building with Ndless.

These definitions are available in Ndless 1.7. Definitions marked with (C) are only available in C. Definitions marked with (asm) are only available in assembly.

Common types

  • typedef enum bool {FALSE = 0, TRUE = 1} BOOL;

Math

  • number abs(number)
  • number min(number, number)
  • number max(number, number)

Screen

  • SCREEN_BASE_ADDRESS: address of the screen buffer. Each grayscaled pixel is 4-bit long. 1111 is white, 0000 is black.
  • SCREEN_BYTES_SIZE: size of the screen buffer
  • SCREEN_WIDTH: screen width in pixels
  • SCREEN_HEIGHT: screen height in pixels

Keyboard

isKeyPressed(key): non-blocking key press test. key must be one of the KEY_NSPIRE_* constants defined in ndls.h.

Time

  • void idle(void): switch to low-power state until the next interrupt occurs. The use of this function is encouraged when waiting in loops for something to save the batteries.

Debugging

  • void halt(void): stops the execution flow with an endless loop. If you are using the Ncubate emulator, use the j debugger command to jump over the instruction.
  • halt (asm) (macro): similar to halt()