pouët.net

Monscape by Escape [web]


                                - MONSCAPE -

                                 by Escape


This is a little entry for the demo compo at the wonderful Sommarhack in 2022.
Once I got note of the announcement of a dedicated high-resolution monochrome
competition at this party, I glanced over the Atari TT that did just such a
magnificent job decorating my living room for the past twenty years. The TT
glanced back and we both understood our call to mission. When it comes to
monochrome high-resolution displays, we could not leave the show to the SM124
alone.

The six weeks following this moment of mututal understanding sucked me back
into the mc68k universe. At daylight, the spinning hard disk of the TT became
the soundtrack of my life. At night, the ST Profibuch was my pillow. Never
slept better.

To spice things up a little bit, I just had to add my newfound fondness
for the Forth programming language into the mix. Ever since the book
"eForth and Zen" by C.H. Ting sent seismic waves through my brain, I knew
that my life could never be complete without a custom Forth interpreter.
Concerning the question which pixels to push in which direction, I was
intrigued by https://github.com/s-macke/VoxelSpace, which is a captivating
description of how voxel landscapes work. The demo is the sum of these
inspirations.


System requirements

The demo needs an Atari TT with at least 4 MiB of RAM and an ECL monitor
displaying 1280x960 in monochrome.


Cheat codes

The Forth interpreter is active while the demo is running. That means, you
can type magic spells of the guild of Forth interactively. Here are some
examples of what to do.

 stop        stops the current effect so that the command prompt
             becomes better accessible

 cls         clears the screen

 home        moves the prompt to the top of the screen

 words       list the available forth words

 stopmod     stops the music

 greetings   go directly to the greetings screen

 1 2 + .     print the result of a scientific calculation

 bye         exit the program, control-d can be used as a shortcut


Credits

The excellent MOD replay routine is the work of Lance/Impulse, which got
adapted to the TT by Ray/TSCC.

The perfectly paced tune that magically makes slow effects enjoyable to
watch was created by 505/SMFX.

The demo code including the Forth interpreter was created in spring 2022
using GNU binutils, Vim, and Hatari. All code is new.

The voxel map is based on the C19W and D19 map provided by the VoxelSpace
git repository linked above.


Source code

You can find the source code in the src/ directory. The tools needed to build
it on Linux can be downloaded and compiled via the tool/Makefile. Note that
only binutils are required, so you can skip installing GCC. The source code
of the Forth interpreter can be found at src/forth/forth.s. You can create
a stand-alone executable of only the interpreter by issuing 'make' in this
directory. The accompanied app.f file contains some arbitrary experiments.
The adaptation of the replay routine to the GNU assembler can be found in
the src/replay/gas/ directory. To build the actual demo, issue 'make' in
src/monscape/. The assembly routines for the effects - the meat of the demo
so to speak - are located at src/lib/. I kept a loose collection of notes
during development, which you can find at src/forth/notes.txt. Please don't
take those notes too seriously, they may be full of misconceptions and bugs.


Cheers

Norman <[email protected]>