Skip to content

Commit 86768fe

Browse files
committed
Update README.
1 parent ece12dc commit 86768fe

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

README.md

+16-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# z8lua
22

3-
This is a fork of Lua that implements the PICO-8 dialect and adds useful features for
4-
emulator implementations.
3+
This is a fork of Lua that implements the [PICO-8](https://www.lexaloffle.com/pico-8.php)
4+
dialect and adds useful features for emulator implementations.
55

66
### Branches
77

@@ -10,13 +10,14 @@ try to submit patches and PRs against the corresponding feature branch instead o
1010

1111
There are three main feature branches:
1212

13-
- `pico8`: the PICO-8 syntax branch.
13+
- `pico8`: this is a “clean” branch that only implements the PICO-8 syntax and type system,
14+
with no extra fancy features; a good start if you’re writing your own emulator.
1415
- `eris`: a branch imported from the [eris persistence patch](https://github.com/fnuecke/eris)
1516
with bug fixes and improvements ([my pull requests have received little attention so
1617
far](https://github.com/fnuecke/eris/pulls)); this library provides serialisable snapshots
1718
of the Lua state (quite useful for emulators).
18-
- `oua`: allow to switch on-the-fly to zero-based indices in Lua, using the `base(0)` function
19-
and back with `base(1)`. I call this the **Oua** language.
19+
- `oua`: experimental branch allowing to switch on-the-fly to zero-based indices in Lua, using
20+
the `base(0)` function and back with `base(1)`. I call this the **Oua** language.
2021

2122
## PICO-8 features
2223

@@ -30,6 +31,16 @@ There are three main feature branches:
3031
- binary literals: `0b1001001.10010`
3132
- works in Windows, Linux, OS X, and many embedded systems
3233

34+
### Limitations
35+
36+
- Lua functions that rely on the PICO-8 state, particularly the VM memory, are beyond the scope
37+
of this software; for a more complete PICO-8 implementation, see the [zepto8
38+
emulator](https://github.com/samhocevar/zepto8) which is based on z8lua. The only exceptions
39+
are the `@`, `%` and `$` operators (see next section).
40+
- the `sqrt`, `sin`, `cos` and `atan2` functions are implemented using floating point, which
41+
is inelegant and a potential performance issue, but which also means the results are not
42+
bit-by-bit equivalent to the original PICO-8.
43+
3344
## API extensions
3445

3546
```c

0 commit comments

Comments
 (0)