pouët.net

Go to bottom

Edgedancer by Icebird [web]

                   _             __    /~\       __
                  / \  ___ _____/ (__ /___\ ____ ) \__
               . /___\/x__\)  __\ .  \_ ___/ x  \  _  \ .
              :::___ / \/  \  _\ \ x   \   \     ) /   \:::.
             :::/    \______|____/_____/____\_/  \_____/::::.
         ------/______|-----  presents   -----\___\------------
                              _    __

                         -================-
                         =-{ Edgedancer }-=
                         -================-

a 90 byte intro by exoticorn/icebird for RISC OS on modern hardware, for
example Raspberry PI 2 or later. It requires a CPU which supports the Thumb-2
instruction set. The target platform is a Raspberry Pi 3B+ where it runs at a
reasonable framerate.

This is the final version, the party version was shown at Outline Online 2020
and was pretty much unoptimized 112 bytes. To exit this intro you need to
kill it using alt+break.

NOTES: This intro runs in 320x256 (Mode 13, for those who still remember the
       Acorn Archimedes days), so you'll have to make sure your system supports
       this resolution. The easiest way to do so is to have
       'disable_mode_changes' in your cmdline.txt and to have the 'anymode'
       module loaded. RISC OS Direct comes set up like this, so if you are
       running Direct and haven't changed the cmdline.txt you should already
       be good to go.
       This intro uses Thumb mode (16bit instructions, rather than the original
       32bit ARM instructions) and does system calls from this mode. RISC OS
       fully supports this, but a commonly used 3rd party module called
       SpecialFX intercepts system calls (mostly to force enable anti-aliasing
       in old applications) and is not Thumb aware. So having this module loaded
       causes the intro to crash immediately. A simple 'RMKill SpecialFX'
       remedies this. I have also provided an Obey file you can run which does
       just that.

Bonus versions:
---------------

EdgeARM:       ARM mode version in 128 bytes. Runs (or possibly crawls) on every
               RISC OS machine out there. Showing that this intro can fit in
               128 bytes even without using Thumb.
EdgeARMSlow:   Somewhat pointless, half as fast as EdgeARM @ 124 bytes. Only
               neat thing about it is that it uses just a single branch
               instruction.
Edgedancer480: Same as the main version, only in 640x480. It's a little slow
               on my Pi 3B+, but according to Kuemmel, it's fast enough on a
               Pi 4.
EdgedancerCentered: The final version saves two bytes by not having the camera
               perfectly centered. This version looks identical to the
               party version at 92 bytes.
EdgedancerXS:  Saving two more bytes by throwing the correct aspect ratio
               out of the window.

Building the intro from source:
-------------------------------

To bulid the intro yourself, you'll have to first run !GCC to set the run-path
for the gcc binutils, then just run !BuildAndRun.

Special thanks have to go to:
-----------------------------

- giZMo/icebird for reminding me to do a backup of my old RiscPC HD before
  it is too late. Taking a look at my old code again inspired me to check out
  RISC OS on Raspberry PI.
- Kuemmel for his RISC OS 256 byte intro '3dball' @ Revision 2020 which also
  motivated me to release something for this platform again.
- Phlamethrower for pointing out (via Kuemmel) that RISC OS fully supports
  Thumb mode, as long as the 3rd party 'SpecialFX' module isn't running to
  mess things up.

Also a big thanks to anyone involved in keeping RISC OS alive, 20 years after
the death of Acorn. It still is a really fun platform to code on.

Contact: dennis.ranke@gmail.com
Go to top