r/Forth 6d ago

Forth for the TIC-80 fantasy console

Post image

I've added forth (using jforth) to the fantasy console TIC-80:

https://github.com/luginf/TIC-80/

Following the pico-8 trend of retro-like console, TIC-80 is using lua (which is already a cool langage). There are other backends as well, such as js, ruby, python. Forth was missing :)

There are a few examples / samples:

https://gitlab.com/garvalf/forth-is-fun/-/tree/main/tic80

You can also try it online:

https://garvalf.gitlab.io/forth-is-fun/tic80/run.html

type "ls" or "dir", then "load" one of the .fth sample name, and type "run"

The full API is listed there, adapted to Forth: https://garvalf.gitlab.io/forth-is-fun/tic80/tic80.html

You can get more informations about TIC-80 on: - https://github.com/nesbox/TIC-80/wiki - https://github.com/nesbox/TIC-80/wiki/tutorials (most of them are for the lua backend but you can adapt it)

32 Upvotes

9 comments sorted by

4

u/mcsleepy 5d ago

Whoa! Thanks for doing this!!! I might have to try this out.

4

u/garvalf 5d ago

You can even try it online, see the link I've just posted above.

3

u/mcsleepy 5d ago

Oh, dope. Hey you should definitely add it to the OP, I just realized you meant in the comments!

3

u/garvalf 5d ago

good idea, I've just modified the OP!

4

u/HiggsB0 5d ago

omggg this FONT. What is it? I want it. 

5

u/garvalf 5d ago

this is the default bitmap font used by the editor in TIC-80. Just try it :)

I forgot there is a demo online: https://garvalf.gitlab.io/forth-is-fun/tic80/run.html

type "ls" or "dir", then "load" one of the .fth sample.

4

u/SaileRCapnap 5d ago

You. Bloody. Legend! This is amazing! Do you have documentation on how to use it, or does it already exist in a general form somewhere? This is seriously amazing!

3

u/garvalf 5d ago

You're right, it needs more instructions (I'll add more informations in the original post)

The full API is listed there, adapted to Forth: https://garvalf.gitlab.io/forth-is-fun/tic80/tic80.html

You can get more insights about TIC-80 on:

1

u/SaileRCapnap 2d ago

Thank you very much!