< back to index

Definitions on the following list are frequently provided by the default automatically-imported modules.

However, as they are not the part of the standard library, they might not be available on all targets:

void init_rw_memory()

Initializes all writable arrays and variables with their initial values.

If the preprocessor feature INIT_RW_MEMORY is defined and non-zero, then init_rw_memory is available and should be called before accessing any preinitialized writable object.

If the preprocessor feature INIT_RW_MEMORY is not defined or is zero, then init_rw_memory is not available.

void putchar(byte char)

Prints a single character.

Available for: all computer targets.
Uses ROM routines, so requires the appropriate ROM to be enabled if applicable.

Note that this function may obey typical platform idiosyncrasies, for example:

  • on Commodore PET targets the quote character toggles the quotation mode

  • printing past the end of line might insert a blank line below the current one

  • printing past the end of the screen might ask the user to confirm scrolling

The exact behaviour is platform-dependent. Future library versions will strive to eliminate those issues.

void new_line()

Moves the cursor to the next line.

Available for: all computer targets.
Uses ROM routines, so requires the appropriate ROM to be enabled if applicable.

pointer readline()

Reads a line from the console and returns a pointer to a null-terminated string. The string is valid only until next read from the console.

Available for: ZX Spectrum, NEC PC-88, MSX, Apple II, Robotron Z1013 (always trims trailing spaces), TRS-80, VIC-20 (except for vic20_a000), Commodore 64 with c64_basic module (requires KERNAL and BASIC; empty input is treated like a single space), Commodore 16 or Plus/4 with c264_basic module (requires KERNAL and BASIC; empty input is treated like a single space).

word readword()

Reads a 16-bit unsigned integer from the console.

Available for: ZX Spectrum, NEC PC-88, MSX, Apple II, Robotron Z1013, TRS-80, VIC-20 (except for vic20_a000), Commodore 64 with c64_basic module (requires KERNAL and BASIC), Commodore 16 or Plus/4 with c264_basic module (requires KERNAL and BASIC).

void bell()

Beeps.

Available for: Apple 2, ZX Spectrum. Uses ROM routines, so requires the appropriate ROM to be enabled if applicable.

void set_bg_color(byte color)

Sets the screen background color.

Available for: C64, VIC-20, C64, C128, C264 series.

void set_border(byte color)

Sets the screen border color.

Available for: VIC-20, C64, C128, C264 series, ZX Spectrum.

const byte black, white, red, green, blue, cyan, purple, yellow

Various colour constants.

Available for: VIC-20, C64, C128, C264 series, ZX Spectrum.