Another little demo written in #durexforth for the #c64. This one is an experiment with extended background colour mode and uses 56 unique character tiles.

#forth #generativeart #8bit #retroprogramming

https://www.youtube.com/watch?v=cmLVNIp5qoI

C64 Ribbons demo (DurexForth)

YouTube
DurexForth - C64-Wiki

@maxdevjs Yes, that's right. It's actively developed and complies with the Forth 2012 standard.
@amuletofyendor interesting... further curiosity: is it generally run in an emulator or actual hardware?
@maxdevjs It can run on either real or emulated hardware. I find it convenient to run in an emulator as you can paste code in from the likes of vscode. I'm sure it's personal preference though.
DurexForth provides both a cartridge and a disk image. Some additional libraries are only on the disk image, so I like to have both the cartridge and the disk images attached in Vice emulator.
Programs can also be saved to self contained files for distribution so the user doesn't need to know about Forth

@amuletofyendor @amuletofyendor The following is probably more a vice thing, but

- to have both the cartridge and the disk images attached in Vice emulator I can "Attach disk image" (d64) and before/after "Attach cartridge image" (crt). I guess is this. What is the usefulness to have both attached? I wonder how I can discriminate between them...
- programs can also be saved to self contained files (with "Create/attach" datasette image, right? Or do you refer to something else?

@maxdevjs The usefulness of having both attached is simply that you can avoid typing load"*",8,1 every time you reset the computer, and the resulting wait for Forth to load, but you can still access the optional modules from the disk if you need them (I save my own programs to this disk too, while I'm learning).
@maxdevjs The manual contains details of saving a self-contained program. Essentially you can save the entire Forth runtime including your own newly defined words to a new disk. Further to this, you can define a word to run automatically after loading, and further to this, there is the "Turnkey" module for stripping out everything you wouldn't need in a distributed program, such as the interpreter.
@maxdevjs There is perhaps a bit of an art to this process. I haven't tried it yet 😂