1
0
mirror of https://github.com/KarolS/millfork.git synced 2026-04-20 18:16:35 +00:00

Library improvements:

– random module
– ensure_mixedcase() function
This commit is contained in:
Karol Stasiak
2018-12-30 18:59:32 +01:00
parent fc56c11b31
commit 75e572f58c
9 changed files with 158 additions and 54 deletions
+30
View File
@@ -14,6 +14,10 @@ Prints a string of length `len` located at address `str`.
Prints a null-terminated string located at address `str`.
If the string is longer than 255 bytes, then the behaviour is undefined (might even crash).
#### `void ensure_mixedcase()`
On targets that have separate all-caps and mixed-case modes (like most Commodore machines), switches to the mixed-case mode.
## err
@@ -24,3 +28,29 @@ Standard error codes. All codes other than `err_ok` suggest that the last operat
#### `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.