1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-07-10 10:28:55 +00:00
millfork/docs/stdlib/other.md

67 lines
1.4 KiB
Markdown
Raw Normal View History

2019-07-15 12:21:50 +00:00
[< back to index](../doc_index.md)
2019-06-26 13:51:09 +00:00
## keyboard
The `keyboard` module provides support for reading keypresses from the keyboard.
Not supported on all targets.
#### `byte readkey()`
Waits for and reads a single keypress.
The returning values may vary between platforms:
* letters may be uppercase or lowercase
* modifier keys may be applied or ignored
Available for:
Commodore 64 (requires KERNAL),
Commodore 16 or Plus/4 (requires KERNAL),
Commodore 128 (requires KERNAL),
VIC 20 (requires KERNAL),
Atari,
Amstrad CPC,
ZX Spectrum,
NEC PC-88.
#### `const byte KEY_ENTER`
Key code for the Enter/Return key. Usually 13, but not always.
2018-12-19 18:01:53 +00:00
## err
2018-12-19 18:01:53 +00:00
#### `enum error_number`
Standard error codes. All codes other than `err_ok` suggest that the last operation failed.
#### `error_number errno`
The result of the last operation.
## random
A simple and reasonably fast random number generator. Not suitable for cryptographic or simulation uses.
#### `word rand_seed`
Random number generator state.
#### `byte rand()`
Get a random byte (0255) and update the state of the generator.
#### `void init_rand_seed()`
Initializes the random number generator state.
This may take a long time, even several frames, depending on the target.
Current implementation:
* On C64, spends two frames reading noise data from the SID chip.
* On Z80, reads the refresh register.
* On all other targets, sets the seed to 1.