[< back to index](../doc_index.md) 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.