2019-10-09 07:08:12 +02:00
|
|
|
# Python-based fx-92 Scientifique Collège+ interpreter
|
|
|
|
|
|
|
|
This is an alternate imlementation of the fx-92 SC+ Algorithmic application. It
|
|
|
|
interprets programs read from QR code URLs or text files, and renders images
|
|
|
|
using the SDL.
|
|
|
|
|
|
|
|
Requirements:
|
|
|
|
* Python ≥ 3.5 (may work with older versions)
|
|
|
|
* PySDL2 (`pip3 install --user PySDL2`)
|
|
|
|
|
|
|
|
## Running programs
|
|
|
|
|
|
|
|
To run programs, execute `fx92.py` and specify an input file:
|
|
|
|
|
|
|
|
```
|
|
|
|
./fx92.py [-s|-u] <input file> [options...]
|
|
|
|
```
|
|
|
|
|
|
|
|
* If the input file contains text instructions (for example `goto 12,35`),
|
|
|
|
specify `-s` (this is the default).
|
|
|
|
* If the input file contains a QR code URL (for example
|
|
|
|
`https://...F908313200333500`), specify `-u`.
|
|
|
|
|
|
|
|
The input can also be set to `-`, in which case the interpreter reads from
|
|
|
|
standard input. Typical use case is for URLs:
|
|
|
|
|
|
|
|
```
|
|
|
|
echo -n "F908313200333500" | ./fx92.py -u -
|
|
|
|
```
|
|
|
|
|
|
|
|
## Output options
|
|
|
|
|
|
|
|
* `--scale <n>` lets you set the (integer) scaling ratio of the output.
|
|
|
|
* `--save <bmp>` will save a screenshot of the output to the designated file.
|
|
|
|
* `--quiet` will "hide" the window while executing. _(At the moment the window
|
|
|
|
is still shown, but closed immediately, due to SDL subtleties.)_
|
2019-10-26 13:51:54 +02:00
|
|
|
* `--stream <dir>` will stream window frames as a series of bitmap images to
|
|
|
|
the specified directory. Use your favorite tool to make a GIF.
|
2019-10-09 07:08:12 +02:00
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
|
|
|
A few units tests are provided. Run `tests.py` to execute them.
|